/// <summary> /// writes the transcript to the binary writer /// </summary> public void Write(IExtendedBinaryWriter writer, Dictionary <IGene, int> geneIndices, Dictionary <ITranscriptRegion, int> transcriptRegionIndices, Dictionary <IInterval, int> microRnaIndices, Dictionary <string, int> peptideIndices) { // transcript writer.WriteOpt(Chromosome.Index); writer.WriteOpt(Start); writer.WriteOpt(End); // ReSharper disable once ImpureMethodCallOnReadonlyValueField Id.Write(writer); // gene writer.WriteOpt(GetIndex(Gene, geneIndices)); // encoded data var encoded = EncodedTranscriptData.GetEncodedTranscriptData(BioType, CdsStartNotFound, CdsEndNotFound, Source, IsCanonical, SiftIndex != -1, PolyPhenIndex != -1, MicroRnas != null, RnaEdits != null, Selenocysteines != null, TranscriptRegions != null, Translation != null, StartExonPhase); encoded.Write(writer); // transcript regions if (encoded.HasTranscriptRegions) { WriteIndices(writer, TranscriptRegions, transcriptRegionIndices); } writer.WriteOpt(NumExons); // 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); } if (encoded.HasRnaEdits) { WriteItems(writer, RnaEdits, (x, y) => x.Write(y)); } if (encoded.HasSelenocysteines) { WriteItems(writer, Selenocysteines, (x, y) => y.WriteOpt(x)); } }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOptAscii(Name); writer.WriteOptAscii(Version); writer.WriteOpt(ReleaseDateTicks); writer.WriteOptAscii(Description); }
public void Write(IExtendedBinaryWriter writer) { if (_currentNode != null) { _nodes.Add(_currentNode); } writer.WriteOptAscii(ReferenceSequence); writer.WriteOpt(_nodes.Count); foreach (var node in _nodes) { node.Write(writer); } writer.WriteOpt(_largeVariants.Count); if (_largeVariants.Count == 0) { return; } foreach (var interval in _largeVariants.OrderBy(x => x.Begin).ThenBy(x => x.End)) { WriteInterval(interval, writer); } }
public void Write(IExtendedBinaryWriter writer) { writer.Write(KeyName); writer.Write(VcfkeyName); writer.Write(AltAllele); byte flags = 0; if (MatchByAllele) { flags |= 1; } if (IsArray) { flags |= 2; } writer.Write(flags); writer.Write(VcfString); writer.WriteOpt(JsonStrings.Length); foreach (var jsonString in JsonStrings) { writer.Write(jsonString); } }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOptAscii(Id); writer.WriteOptAscii(AnnotationType); writer.WriteOptAscii(SaAltAllele); writer.Write(IsPositional); if (StringFields != null) { writer.WriteOpt(StringFields.Count); foreach (var stringField in StringFields) { writer.WriteOptAscii(stringField.Key); writer.WriteOptAscii(stringField.Value); } } else { writer.WriteOpt(0); } if (BooleanFields != null) { writer.WriteOpt(BooleanFields.Count); foreach (var booleanField in BooleanFields) { writer.WriteOptAscii(booleanField); } } else { writer.WriteOpt(0); } }
private static void WriteIndices <T>(IExtendedBinaryWriter writer, T[] items, IReadOnlyDictionary <T, int> indices) { writer.WriteOpt(items.Length); foreach (var item in items) { writer.WriteOpt(GetIndex(item, indices)); } }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOpt(Start); writer.WriteOpt(End); writer.WriteOpt(CdnaStart); writer.WriteOpt(CdnaEnd); writer.WriteOpt(Length); }
private static void WriteItems <T>(IExtendedBinaryWriter writer, T[] items, Action <T, IExtendedBinaryWriter> writeAction) { writer.WriteOpt(items.Length); foreach (var item in items) { writeAction(item, writer); } }
public void Write(IExtendedBinaryWriter writer) { writer.Write((byte)Type); writer.WriteOpt(Id); writer.WriteOpt(Start); writer.WriteOpt(End); writer.WriteOpt(CdnaStart); writer.WriteOpt(CdnaEnd); }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOptAscii(GlobalMajorAllele); writer.WriteOpt(DataSources.Length); foreach (var dataSource in DataSources) { dataSource.Write(writer); } }
public void Write(IExtendedBinaryWriter writer) { writer.Write(GeneName); writer.WriteOpt(Annotations.Length); for (int i = 0; i < Annotations.Length; i++) { Annotations[i].Write(writer); } }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOpt(Chromosome.Index); writer.WriteOpt(Start); writer.WriteOpt(End); writer.Write((byte)Type); // ReSharper disable once ImpureMethodCallOnReadonlyValueField Id.Write(writer); }
public void Write(IExtendedBinaryWriter writer) { writer.Write(DataSource); writer.Write(IsArray); writer.WriteOpt(JsonStrings.Length); foreach (var jsonString in JsonStrings) { writer.Write(jsonString); } }
private void WriteMaskedEntries(IExtendedBinaryWriter writer) { writer.WriteOpt(_maskedEntries.Length); foreach (var maskedEntry in _maskedEntries) { writer.WriteOpt(maskedEntry.Begin); writer.WriteOpt(maskedEntry.End); } }
private void WriteCytogeneticBands(IExtendedBinaryWriter writer) { writer.WriteOpt(_cytogeneticBands.Length); foreach (var band in _cytogeneticBands) { writer.WriteOpt(band.Begin); writer.WriteOpt(band.End); writer.WriteOptAscii(band.Name); } }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOpt(Chromosome.Index); writer.WriteOpt(Start); writer.WriteOpt(End); writer.Write(OnReverseStrand); writer.WriteOptAscii(Symbol); writer.WriteOpt(HgncId); // ReSharper disable ImpureMethodCallOnReadonlyValueField EntrezGeneId.Write(writer); EnsemblId.Write(writer); }
internal static void WriteItems <T>(IExtendedBinaryWriter writer, IReadOnlyCollection <T> items, Action <T> writeMethod) { if (items == null) { writer.WriteOpt(0); } else { writer.WriteOpt(items.Count); foreach (var item in items) { writeMethod(item); } } writer.Write(CacheConstants.GuardInt); }
private void WriteBlockOffsets(IExtendedBinaryWriter writer) { writer.WriteOpt(_blockPositions.Count); int oldPosition = 0; long oldBlockOffset = 0; foreach (var offset in _blockPositions.OrderBy(x => x.Position)) { int deltaPosition = offset.Position - oldPosition; long deltaBlockOffset = offset.Offset - oldBlockOffset; writer.WriteOpt(deltaPosition); writer.WriteOpt(deltaBlockOffset); oldPosition = offset.Position; oldBlockOffset = offset.Offset; } }
/// <summary> /// writes the cytogenetic bands to the file /// </summary> public void Write(IExtendedBinaryWriter writer) { var numReferences = _cytogeneticBands.Length; writer.WriteOpt(numReferences); for (var refIndex = 0; refIndex < numReferences; refIndex++) { var numRefEntries = _cytogeneticBands[refIndex].Length; writer.WriteOpt(numRefEntries); foreach (var band in _cytogeneticBands[refIndex]) { writer.WriteOpt(band.Begin); writer.WriteOpt(band.End); writer.WriteOptAscii(band.Name); } } }
private static void WriteIntervals <T>(IExtendedBinaryWriter writer, IReadOnlyCollection <IntervalArray <T> > intervalArrays, Action <T> writeMethod) { writer.WriteOpt(intervalArrays.Count); foreach (var intervalArray in intervalArrays) { if (intervalArray == null) { writer.WriteOpt(0); continue; } writer.WriteOpt(intervalArray.Array.Length); foreach (var interval in intervalArray.Array) { writeMethod(interval.Value); } } writer.Write(CacheConstants.GuardInt); }
private void WriteBuffer(IExtendedBinaryWriter writer) { writer.WriteOpt(_buffer.Length); writer.Write(_buffer); }
public void Write(IExtendedBinaryWriter writer) { writer.Write((byte)_id); writer.Write(_version); writer.Write(_info); }
private void WriteMetadata(IExtendedBinaryWriter writer) { writer.WriteOpt(_sequenceOffset); writer.WriteOpt(_numBases); }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOpt(Start); writer.WriteOpt(End); writer.WriteOptAscii(Bases); }
internal void Write(IExtendedBinaryWriter writer) { writer.Write(_info); writer.Write(_contents); }
public void Write(IExtendedBinaryWriter writer) => throw new System.NotImplementedException();
public void Write(IExtendedBinaryWriter writer, int peptideIndex) { CodingRegion.Write(writer); ProteinId.Write(writer); writer.WriteOpt(peptideIndex); }
private static void WriteInterval(Interval <long> interval, IExtendedBinaryWriter writer) { writer.WriteOpt(interval.Begin); writer.WriteOpt(interval.End); writer.WriteOpt(interval.Value); }
public void Write(IExtendedBinaryWriter writer) { writer.WriteOpt(_start); writer.WriteOpt(_end - _start); writer.WriteOpt(FileLocation); }
public static void Write(this IInterval interval, IExtendedBinaryWriter writer) { writer.WriteOpt(interval.Start); writer.WriteOpt(interval.End); }