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}.");
         }
     }
 }