public NucleotideCount(string sequence) { NucleotideCounts = sequence.ToCharArray().GroupBy(o => o).ToDictionary(o => o.Key, o => o.Count()); foreach (var c in valid.Where(o => !NucleotideCounts.ContainsKey(o))) { NucleotideCounts.Add(c, 0); } if (!NucleotideCounts.Keys.All(o => valid.Contains(o))) { throw new InvalidNucleotideException(); } }
public NucleotideCount(string sequence) { foreach (var letter in sequence) { if (NucleotideCounts.ContainsKey(letter)) { NucleotideCounts[letter] = NucleotideCounts[letter] + 1; } else { throw new InvalidNucleotideException($"Invalid Nucleotide character {letter}."); } } }