Created
June 28, 2019 09:42
-
-
Save elliotdavies/7c1a502ee6b700123f988500b56edc85 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# DNA sequences | |
You're working in a scientific laboratory that specialises in DNA research. Cool! | |
Each sequence of DNA is made up of four bases: A, C, G and T. Your job is to count how many times each base appears in a particular sequence. You quickly get bored of doing this by hand and decide to write a program to do it for you. | |
You have the following sequence: | |
`"GCAACTCTCTATTGTGCCGGAAGTTAATATGCAAAGAGTAATTTCCCATCCCCACTACCGAATCCCTGACCAACCGCCTTCTTCAGGGTGATTACGTGCTAAGCTTATTAGCGCTCTCTTTTCCGATTCACTGTTCAAGATCGTCATTTTCGGGACCATTCCTTGATTCACACACTGAACGATTATGAGGTGTATACGAAACGGGTAGAGGCCCGCAAATGCGTCCTCGATACAGATGCTCGGGTCTGTTCCTGCACGGGCACGTAAACAGCGTGTTAAGGGAGAAAGTGTGAGTGTGAAGATGAATTAAAGGCTTATCAGCCACGGCTTCAAAGACTATAGCAACGCAGAGGAACCGAGCATTTCCATCCCAGCTCATGGTAATTTACTACGGGAGCTAACGCCAGAGGTAATATTTCTG TCTGGCAGGTTTTATTAGCCGGGTGGGAGGGAGGAAGGAGTTGAAACTCGTTACCCAATTACTCGAAGGTGTACTATTACTTCTTTGGAGATCAACTGCAGTTTGCTTGGTAACACTCACATATAAATTGTGTACTGGGTCCCATTACTTTTTCTAGGGAGTAATTAAGTTATCCCTTAGCGAATATGATGCGGCTTTGGCTTTTGGCTTAACTACCCGAAAACCAGTCATGGCGTGCTACTTAAGAGGTCCCTAGTTACGTGCGCCAGGCTTGATCACCTGTGCAATAAACGCTAGCTCCACCCGATCTTATCAAGATCGATCACTATCCCTACGCCTTCAGAGGCCATGAGACGACAGCTCTGTCGTTCGCAGCCCTTTACACTGAATGCTGTGCGACCACGGATCTTTACTACGTGAT ATAGATAATTTTATAATCGAGACCATCATTGCGTCTTTTCGTTTCGCACTATGCCCTTAACACGCACCCGCCTAGATCGAACAAAGGCGCGCGGAAATCCAGCTGGTACCTCTTTATGAAAATCGTGCGGGCGACGCCATAGAGAGTAAATCGTTTGA"` | |
Write a program that counts how many times each of the bases appears in the string. | |
## Expected results | |
A: 258 | |
C: 241 | |
G: 228 | |
T: 273 | |
## Extension | |
Now your boss asks you to work out how different two sequences are. Extend your program so that it accepts two DNA sequences and returns the difference in their base counts. | |
For example, given the sequence above and this new sequence: | |
`"CGCAAGCCTCTATGAGTGTTACTAACCACCTCCTGAGCGTTTCGTAGCCTGTCAACTTGCGGATCGGTGATGGCGTCTATGTTGCCCAGTCCCGCCCCCCATCAAATCAGACATACTATAATTTCTGTAAAGTAACAACACCTTTTCAGGGTCGGACGTGAATGTACGATTACATCGCTAGCATCATTACAGACGATGCATTGTCCTTGAGACAAAACTCGTGGTATACCCTTACGATCCCAGTGACAACAAATTCCATACAAGCTACGACGGACCCCTACCAACACTACCTTCAAGGAGCACGCAGTTAAAGCAACGAGCGGTTCAGACCTCCATGGTTATACTACGACTAAACACAGGTATCTATTAGTTTCGTTTCCATGAGAGAATTATGTTGCAAGCATGTGGTCCTCTATGCGTC AAGGATGAGATAGCTGTTAGTTCATTTTATTGTTGGCCACCTGATGATTCACGTTTCGCCGAAATTCAGGCATTAACGCTAAAAAATGTTCTCTGTATTTTTTGTTCTGTGGCAATGTATAGCCTCGACTCCGGCAGACCAGGGAACGTTCTTGAAACTAAAGCACGCTGCTTCTAGGGGGGCATGCGTGTTATCGCCTTCAAGGAATTTCAGACAGGGGCAGTATCAGAGCATCGGCCACCTCGACAATTCCGTGTACTAGGCGGGCCACCATCGTCATGAGTGGAACACTTTTGGCGTATAATGTTCAATTAATCAGAGCCCTTGAGGTCTGTAGTCAGAATATGGGTTTAGTGACCTTCTGTCATGCCGAACGCGCCTCCTCCTAATTATTGGTCGTATGTCAATTAGACCCGTGATA TTGCCTAATTACATCTGCGTCAGAGCCAAAGTGGAGCGCCAGGCTGAACACCCCTGCACAATCTACCCTAAGAACCACTTTAAGTGTGGAATCATCAACTTAATAGTGCGCCGTAACGTACCCCAACCTTCATCCTGTCCAGAGCGTTTCAATCTGCC"` | |
The second sequence's results should be: | |
A: 261 | |
C: 255 | |
G: 214 | |
T: 270 | |
And your program should return the differences like so: | |
A: 3 | |
C: 14 | |
G: 14 | |
T: 3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment