public void TranscribeRnaTest() { // Arrange var dna = new Dna("GATGGAACTTGACTACGTAAATT"); var expectedRna = new Rna("GAUGGAACUUGACUACGUAAAUU"); // Act var resultRna = dna.TranscribeRna(); // Assert Assert.That(expectedRna, Is.EqualTo(resultRna)); }
public void ReversedDnaTest() { // Arrange var dna = new Dna("AAAACCCGGT"); var expectedDna = new Dna("ACCGGGTTTT"); // Act var resultDna = dna.ReverseComplementDna(); // Assert Assert.That(expectedDna, Is.EqualTo(resultDna)); }
public void HammingDistanceTest() { // Arrange var dna = new Dna("GAGCCTACTAACGGGAT"); var mutatedDna = new Dna("CATCGTAATGACGGCCT"); const int expectedMutationCount = 7; // Act var mutationCount = dna.HammingDistance(mutatedDna); // Assert Assert.That(expectedMutationCount, Is.EqualTo(mutationCount)); }
public void NucleotidesCountTest() { // Arrange var dna = new Dna("AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC"); var expectedResult = new Dictionary<char, int> { { 'A', 20 }, { 'C', 12 }, { 'G', 17 }, { 'T', 21 } }; // Act var actualResult = dna.NucleotidesCount(); // Assert Assert.That(expectedResult, Is.EqualTo(actualResult)); }
/// <summary> /// Solves the REVC problem (http://rosalind.info/problems/revc/). /// </summary> private static void SolveRevc() { var dna = new Dna(File.ReadAllText(@"Data\REVC\rosalind_revc.txt")); var reverseComplement = dna.ReverseComplementDna(); SaveResult(@"Results\rosalind_revc_results.txt", reverseComplement.Symbols); }
/// <summary> /// Solves the RNA problem (http://rosalind.info/problems/rna/). /// </summary> private static void SolveRna() { var dna = new Dna(File.ReadAllText(@"Data\RNA\rosalind_rna.txt")); var rna = dna.TranscribeRna(); SaveResult(@"Results\rosalind_rna_results.txt", rna.Symbols); }
private static void SolveDna() { var dna = new Dna(File.ReadAllText(@"Data\DNA\rosalind_dna.txt")); var nucleotidesCount = dna.NucleotidesCount(); var result = String.Format("{0} {1} {2} {3}", nucleotidesCount['A'], nucleotidesCount['C'], nucleotidesCount['G'], nucleotidesCount['T']); SaveResult(@"Results\rosalind_dna_results.txt", result); }
/// <summary> /// Solves the HAMM problem (http://rosalind.info/problems/hamm/). /// </summary> private static void SolveHamm() { var lines = File.ReadAllLines(@"Data\HAMM\rosalind_hamm.txt"); var firstDna = new Dna(lines[0].Trim()); var secondDna = new Dna(lines[1].Trim()); var hammingDistance = firstDna.HammingDistance(secondDna); SaveResult(@"Results\rosalind_hamm_results.txt", hammingDistance.ToString(CultureInfo.InvariantCulture)); }
public int HammingDistance(Dna dna) { return(Symbols.Where((t, i) => t != dna.Symbols[i]).Count()); }
public int HammingDistance(Dna dna) { return Symbols.Where((t, i) => t != dna.Symbols[i]).Count(); }