xyaneon / sequence-aligner Goto Github PK
View Code? Open in Web Editor NEWPerforms semi-global alignments on FASTA sequences. Homework 3 for Dr. Miller's Intro to Bioinformatics class.
License: GNU General Public License v3.0
Performs semi-global alignments on FASTA sequences. Homework 3 for Dr. Miller's Intro to Bioinformatics class.
License: GNU General Public License v3.0
Basically, it's page 56 of our class textbook, Putting Your Skills into Practice, part 5.
There must be an off-by-one error somewhere...
From the class notes website:
For extra credit on Homework Assignment 3, add numbers to make longer alignments more readable something like this:
$ ruby semi-global.rb acalifornia2009.fasta acalifornia2009m1.fasta
Alignment 1
Sequence 1 0001 TAGATATTAAAGATGAGTCTTCTAACCGAGGTCGAAACGTACGTTCTTTCTATCATCCCG
||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0001 ____________ATGAGTCTTCTAACCGAGGTCGAAACGTACGTTCTTTCTATCATCCCG
Sequence 1 0061 TCAGGCCCCCTCAAAGCCGAGATCGCGCAGAGACTGGAAAGTGTCTTTGCAGGAAAGAAC
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0049 TCAGGCCCCCTCAAAGCCGAGATCGCGCAGAGACTGGAAAGTGTCTTTGCAGGAAAGAAC
Sequence 1 0121 ACAGATCTTGAGGCTCTCATGGAATGGCTAAAGACAAGACCAATCTTGTCACCTCTGACT
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0109 ACAGATCTTGAGGCTCTCATGGAATGGCTAAAGACAAGACCAATCTTGTCACCTCTGACT
Sequence 1 0181 AAGGGAATTTTAGGATTTGTGTTCACGCTCACCGTGCCCAGTGAGCGAGGACTGCAGCGT
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0169 AAGGGAATTTTAGGATTTGTGTTCACGCTCACCGTGCCCAGTGAGCGAGGACTGCAGCGT
Sequence 1 0241 AGACGCTTTGTCCAAAATGCCCTAAATGGGAATGGGGACCCGAACAACATGGATAGAGCA
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0229 AGACGCTTTGTCCAAAATGCCCTAAATGGGAATGGGGACCCGAACAACATGGATAGAGCA
Sequence 1 0301 GTTAAACTATACAAGAAGCTCAAAAGAGAAATAACGTTCCATGGGGCCAAGGAGGTGTCA
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0289 GTTAAACTATACAAGAAGCTCAAAAGAGAAATAACGTTCCATGGGGCCAAGGAGGTGTCA
Sequence 1 0361 CTAAGCTATTCAACTGGTGCACTTGCCAGTTGCATGGGCCTCATATACAACAGGATGGGA
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0349 CTAAGCTATTCAACTGGTGCACTTGCCAGTTGCATGGGCCTCATATACAACAGGATGGGA
Sequence 1 0421 ACAGTGACCACAGAAGCTGCTTTTGGTCTAGTGTGTGCCACTTGTGAACAGATTGCTGAT
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0409 ACAGTGACCACAGAAGCTGCTTTTGGTCTAGTGTGTGCCACTTGTGAACAGATTGCTGAT
Sequence 1 0481 TCACAGCATCGGTCTCACAGACAGATGGCTACTACCACCAATCCACTAATCAGGCATGAA
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0469 TCACAGCATCGGTCTCACAGACAGATGGCTACTACCACCAATCCACTAATCAGGCATGAA
Sequence 1 0541 AACAGAATGGTGCTGGCTAGCACTACGGCAAAGGCTATGGAACAGATGGCTGGATCGAGT
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0529 AACAGAATGGTGCTGGCTAGCACTACGGCAAAGGCTATGGAACAGATGGCTGGATCGAGT
Sequence 1 0601 GAACAGGCAGCGGAGGCCATGGAGGTTGCTAATCAGACTAGGCAGATGGTACATGCAATG
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0589 GAACAGGCAGCGGAGGCCATGGAGGTTGCTAATCAGACTAGGCAGATGGTACATGCAATG
Sequence 1 0661 AGAACTATTGGGACTCATCCTAGCTCCAGTGCTGGTCTGAAAGATGACCTTCTTGAAAAT
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0649 AGAACTATTGGGACTCATCCTAGCTCCAGTGCTGGTCTGAAAGATGACCTTCTTGAAAAT
Sequence 1 0721 TTGCAGGCCTACCAGAAGCGAATGGGAGTGCAGATGCAGCGATTCAAGTGATCCTCTCGT
|||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence 2 0709 TTGCAGGCCTACCAGAAGCGAATGGGAGTGCAGATGCAGCGATTCAAGTGA_________
Sequence 1 0781 CATTGCAGCAAATATCATTGGGATCTTGCACCTGATATTGTGGATTACTGATCGTCTTTT
Sequence 2 0760 ____________________________________________________________
Sequence 1 0841 TTTCAAATGTATTTATCGTCGCTTTAAATACGGTTTGAAAAGAGGGCCTTCTACGGAAGG
Sequence 2 0760 ____________________________________________________________
Sequence 1 0901 AGTGCCTGAGTCCATGAGGGAAGAATATCAACAGGAACAGCAGAGTGCTGTGGATGTTGA
Sequence 2 0760 ____________________________________________________________
Sequence 1 0961 CGATGGTCATTTTGTCAACATAGAGCTAGAGTAAAAAACTAC
Sequence 2 0760 __________________________________________
Currently, we get yucky misaligned cells like this:
Dynamic programming table:
| | C| A| C| G| T| A| T|
-+--+--+--+--+--+--+--+--+
| | | | | | | | |
| 0|<-1|<-2| -3| -4| -5| -6|<-7|
-+--+--+--+--+--+--+--+--+
| |\ | |\ | | | | |
C| -1| 1|<0|<-1| -2| -3| -4|<-5|
-+--+--+--+--+--+--+--+--+
| | |\ | |\ | | | |
G| -2| 0| 1| 0| 0|<-1| -2|<-3|
-+--+--+--+--+--+--+--+--+
| | | |\ | |\ |\ |\ |
C| -3| -1| 0| 2|<1|<0|<-1|<-2|
-+--+--+--+--+--+--+--+--+
| ^| ^|\ | ^|\ |\ |\ | |
A| -4| -2| 0| 1| 2|<1| 1|<0|
-+--+--+--+--+--+--+--+--+
Perhaps this would be useful?
These were supposed to be cleaned up as well, but they're still there for whatever reason.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.