55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# Hamming
|
|
|
|
Welcome to Hamming on Exercism's Bash Track.
|
|
If you need help running the tests or submitting your code, check out `HELP.md`.
|
|
|
|
## Instructions
|
|
|
|
Calculate the Hamming Distance between two DNA strands.
|
|
|
|
Your body is made up of cells that contain DNA.
|
|
Those cells regularly wear out and need replacing, which they achieve by dividing into daughter cells.
|
|
In fact, the average human body experiences about 10 quadrillion cell divisions in a lifetime!
|
|
|
|
When cells divide, their DNA replicates too.
|
|
Sometimes during this process mistakes happen and single pieces of DNA get encoded with the incorrect information.
|
|
If we compare two strands of DNA and count the differences between them we can see how many mistakes occurred.
|
|
This is known as the "Hamming Distance".
|
|
|
|
We read DNA using the letters C,A,G and T.
|
|
Two strands might look like this:
|
|
|
|
GAGCCTACTAACGGGAT
|
|
CATCGTAATGACGGCCT
|
|
^ ^ ^ ^ ^ ^^
|
|
|
|
They have 7 differences, and therefore the Hamming Distance is 7.
|
|
|
|
The Hamming Distance is useful for lots of things in science, not just biology, so it's a nice phrase to be familiar with :)
|
|
|
|
## Implementation notes
|
|
|
|
The Hamming distance is only defined for sequences of equal length, so an attempt to calculate it between sequences of different lengths should not work.
|
|
|
|
## Source
|
|
|
|
### Contributed to by
|
|
|
|
- @adelcambre
|
|
- @bkhl
|
|
- @budmc29
|
|
- @glennj
|
|
- @guygastineau
|
|
- @IsaacG
|
|
- @kenden
|
|
- @kotp
|
|
- @kytrinyx
|
|
- @platinumthinker
|
|
- @rootulp
|
|
- @sjwarner-bp
|
|
- @Smarticles101
|
|
- @ZapAnton
|
|
|
|
### Based on
|
|
|
|
The Calculating Point Mutations problem at Rosalind - https://rosalind.info/problems/hamm/ |