Problem 863. Genome Sequence 001: Introductory DNA Sequencing
This Challenge series will evolve the complexity of Genome DNA Sequencing. DNA Sequencing and the Shot Gun Method will be naively simplified into Cody Challenges. Genome sizes is another interesting wiki page.
DNA is represented by symbols ACGT, which for Matlab will be encoded as 0123. The basic goal is to reconstruct the original serial string of ACGT given multiple short segments. Segments are gleaned from multiple copies of the Virus/Bacteria/Chromosome thus there are overlapping and duplicative segments. There are potential errors and duplicative stretches in the created segments. Chromosome 20 in its 59,187,298 base pairs has a segment of 820 that is repeated in at least two locations. The data being non-random largely increase lengths of duplicative stretches.
Example: G = ACGTCGGCCATGGACATTACG
Given three overlapping pieces, ACGTCGGCCA, GGCCATGGACAT, and GACATTACG these can be readily seen to overlap and create the original.
ACGTCGGCCATGGACATTACG ACGTCGGCCAsssssssssss sssssGGCCATGGACATssss ssssssssssssGACATTACG
Genome_001 Challenge is to reconstruct a genome under ideal segment creation conditions.
- Length of each segment - 48
- Segments begin at locations 1, 33, 65,...32N+1 (N=0:K, L_Genome=32K+48)
- All segments are provided once (Essentially two copies of a genome were cut into pieces with overlaps)
- Segments read left to right (no flips)
- No errors in the segments
- Genome is random (No duplicate starts or ends for 16 symbols of segments)
- Segments will be scrambled
Input: segs, Array of M rows of 48 value segments. Values are [0, 1, 2, 3].
Output: Gout, Genome vector of values [0,1,2,3]
Example: [0 1 2 2; 2 2 3 1; 3 1 1 2] creates [0 1 2 2 3 1 1 2] M=3,W=4, Overlap=2
Future: Flipped segments, Random Position of Segment start locations, Extra Segments, Phage Phi X174, Parallel Processing Simulation(Shot Gun Approach), Haemophilus Influenza, Sequence with Segment Errors, and Chromosome 20 with its 59M length using 100K 4K-segments (Matlab - 19.2 sec single thread benchmark)
Solution Stats
Problem Comments
-
1 Comment
Be aware that one or more test cases are not shown on the "Solve" page, These may have different values for the parameter L.
Solution Comments
Show commentsProblem Recent Solvers7
Suggested Problems
-
41997 Solvers
-
Project Euler: Problem 6, Natural numbers, squares and sums.
2139 Solvers
-
Poker Series 01: isStraightFlush
121 Solvers
-
Back to basics 25 - Valid variable names
324 Solvers
-
Count letters occurence in text, specific to words with a given length.
165 Solvers
More from this Author308
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!