示例#1
0
 /// <summary>
 /// writes the translation to the binary writer
 /// </summary>
 public void Write(ExtendedBinaryWriter writer, int peptideIndex)
 {
     CodingRegion.Write(writer);
     ProteinId.Write(writer);
     writer.Write(ProteinVersion);
     writer.WriteOpt(peptideIndex);
 }
示例#2
0
 /// <summary>
 /// writes the regulatory element data to the binary writer
 /// </summary>
 public void Write(ExtendedBinaryWriter writer)
 {
     writer.Write(ReferenceIndex);
     writer.WriteOpt(Start);
     writer.WriteOpt(End);
     writer.Write((byte)Type);
     Id.Write(writer);
 }
示例#3
0
        /// <summary>
        /// writes the transcript to the binary writer
        /// </summary>
        public void Write(ExtendedBinaryWriter writer, Dictionary <Gene, int> geneIndices,
                          Dictionary <SimpleInterval, int> intronIndices, Dictionary <SimpleInterval, int> microRnaIndices,
                          Dictionary <string, int> peptideIndices)
        {
            // transcript
            writer.Write(ReferenceIndex);
            writer.WriteOpt(Start);
            writer.WriteOpt(End);
            Id.Write(writer);

            // gene
            writer.WriteOpt(GetIndex(Gene, geneIndices));

            // encoded data
            var encoded = new EncodedTranscriptData(BioType, Version, TranscriptSource, IsCanonical, SiftIndex != -1,
                                                    PolyPhenIndex != -1, MicroRnas != null, Introns != null, CdnaMaps != null, Translation != null,
                                                    StartExonPhase);

            encoded.Write(writer);

            // exons & introns
            if (encoded.HasIntrons)
            {
                WriteIndices(writer, Introns, intronIndices);
            }
            if (encoded.HasCdnaMaps)
            {
                WriteCdnaMaps(writer);
            }

            // protein function predictions
            if (encoded.HasSift)
            {
                writer.WriteOpt(SiftIndex);
            }
            if (encoded.HasPolyPhen)
            {
                writer.WriteOpt(PolyPhenIndex);
            }

            // translation
            if (encoded.HasTranslation)
            {
                // ReSharper disable once PossibleNullReferenceException
                var peptideIndex = GetIndex(Translation.PeptideSeq, peptideIndices);
                Translation.Write(writer, peptideIndex);
            }

            // attributes
            if (encoded.HasMirnas)
            {
                WriteIndices(writer, MicroRnas, microRnaIndices);
            }
        }
示例#4
0
 /// <summary>
 /// writes the gene data to the binary writer
 /// </summary>
 public void Write(ExtendedBinaryWriter writer)
 {
     writer.Write(ReferenceIndex);
     writer.WriteOpt(Start);
     writer.WriteOpt(End);
     writer.Write(OnReverseStrand);
     writer.WriteOptAscii(Symbol);
     writer.WriteOpt(_hgncId);
     // ReSharper disable ImpureMethodCallOnReadonlyValueField
     EntrezGeneId.Write(writer);
     EnsemblId.Write(writer);
     // ReSharper restore ImpureMethodCallOnReadonlyValueField
     writer.WriteOpt(_mimNumber);
 }