mirror of
https://codeberg.org/andyscott/exercism.git
synced 2024-11-14 07:10:48 -05:00
60 lines
No EOL
1.6 KiB
Markdown
60 lines
No EOL
1.6 KiB
Markdown
# Hamming
|
|
|
|
Welcome to Hamming on Exercism's C 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
|
|
|
|
### Created by
|
|
|
|
- @sunzenshen
|
|
|
|
### Contributed to by
|
|
|
|
- @bcc32
|
|
- @Gamecock
|
|
- @gea-migration
|
|
- @h-3-0
|
|
- @hintjens
|
|
- @JacobMikkelsen
|
|
- @kytrinyx
|
|
- @lpil
|
|
- @patricksjackson
|
|
- @QLaille
|
|
- @RealBarrettBrown
|
|
- @ryanplusplus
|
|
- @siebenschlaefer
|
|
- @sjwarner
|
|
- @wolf99
|
|
|
|
### Based on
|
|
|
|
The Calculating Point Mutations problem at Rosalind - https://rosalind.info/problems/hamm/ |