public bool TryUpdateSymbol(TranscriptDataSource source, MutableGene gene, string geneId) { var dict = source == TranscriptDataSource.Ensembl ? _ensemblIdToSymbol : _entrezGeneIdToSymbol; UniqueString newSymbol; if (!dict.TryGetValue(geneId, out newSymbol)) return false; if (newSymbol.HasConflict) return false; gene.Symbol = newSymbol.Value; return true; }
public static MutableGene Clone(MutableGene gene) { return(new MutableGene { ReferenceIndex = gene.ReferenceIndex, Start = gene.Start, End = gene.End, OnReverseStrand = gene.OnReverseStrand, Symbol = gene.Symbol, EntrezGeneId = gene.EntrezGeneId, EnsemblId = gene.EnsemblId, HgncId = gene.HgncId, MimNumber = gene.MimNumber, TranscriptDataSource = gene.TranscriptDataSource }); }
private static bool TryUpdateHgncId(string geneId, Dictionary<string, UniqueInt> dict, MutableGene gene) { if (geneId == null) return false; UniqueInt newHgncId; if (!dict.TryGetValue(geneId, out newHgncId)) return false; if (newHgncId.HasConflict) return false; gene.HgncId = newHgncId.Value; return true; }
public bool TryUpdateHgncId(string ensemblId, string entrezGeneId, MutableGene gene) { if (TryUpdateHgncId(ensemblId, _ensemblIdToHgnc, gene)) return true; if (TryUpdateHgncId(entrezGeneId, _entrezGeneIdToHgnc, gene)) return true; return false; }