public static IGene Read(IExtendedBinaryReader reader, IDictionary <ushort, IChromosome> indexToChromosome) { ushort referenceIndex = reader.ReadOptUInt16(); int start = reader.ReadOptInt32(); int end = reader.ReadOptInt32(); bool onReverseStrand = reader.ReadBoolean(); string symbol = reader.ReadAsciiString(); int hgncId = reader.ReadOptInt32(); var entrezId = CompactId.Read(reader); var ensemblId = CompactId.Read(reader); return(new Gene(indexToChromosome[referenceIndex], start, end, onReverseStrand, symbol, hgncId, entrezId, ensemblId)); }
public static IGeneAnnotationSource Read(IExtendedBinaryReader reader) { var dataSource = reader.ReadAsciiString(); var isArray = reader.ReadBoolean(); var jsonStringLength = reader.ReadOptInt32(); var jsonStrings = new string[jsonStringLength]; for (int i = 0; i < jsonStringLength; i++) { jsonStrings[i] = reader.ReadString(); } return(new GeneAnnotationSource(dataSource, jsonStrings, isArray)); }