序列全局聯配:Pairwise Global Alignment
序列相似性意味著遺傳的同源性是遺傳和進化研究上的一個假說。
給定不完全相同的兩個序列,如果允許錯配和開口(gap)的話,會有無數多的聯配(alignment)方式,為了找到最有可能的聯配方法,我們需要制定一套評價標準,這就是打分機制,打分機制分為三個部分:
- 得分矩陣:用來計算正確配對(match)和錯誤配對(mismatch)的得分
- 開口懲罰(gap opening penalty): 如果聯配中有開口被打開,那么要會對起做相應的懲罰
- 開口延伸懲罰(gap extension penaly): 開口打開后在原先的基礎上進行延伸,也會被懲罰,并且懲罰力度比較小。這是基于如果堿基缺失是獨立時間,如果有兩個堿基缺失,它更有可能是2個堿基同時缺失,而不是兩個獨立時間,也就是先缺失一個,然后在缺失一個
GARFIELDTHEVERYFA-TCAT
:::|||||||| || ||||
WINFIELDTHE----FASTCAT
如上是一個聯配方式,如果的:
表示錯配,得分為-1, |
為正確聯配得分為1, -
gap打開為-5,延伸為-1。那么得分就是14-3-(2*5+3) = -2. 我們可以自己寫程序做這樣的計算,但是目前來說就用別人寫好的工具進行,在Rosalind兵工廠系列結束后再說。
問題:給定兩個GenBank ID,請基于Needl網頁工具https://www.ebi.ac.uk/Tools/psa/emboss_needle/nucleotide.html, 對序列進行聯配。要求
- 使用DNAfull得分矩陣, 參考https://en.wikipedia.org/wiki/Nucleic_acid_notation
- 開口是10分
- 延伸是1分
如果用的是網頁工具,則是先去Genbank查找兩個序列,然后網頁工具不要用默認選項,且EN GAP PENALTY一定設置為True。
參數設置
如果用的EMBOSS命令行,保存兩個序列,設置gap的得分
~/opt/biosoft/emboss-6.6.0/bin/needle a.fasta b.fasta \
-gapopen 10.0 -gapextend 1.0 \
-endweight true -endopen 10 -endextend 1.0
尋找開放閱讀框: Finding Genes with ORFs
在DNA序列上尋找基因的第一步是找到序列上的開放閱讀框(ORF)。開放閱讀框指的是以起始密碼子開始,到終止密碼子結束的一段序列
ORF
對于一條DNA序列,有六種方式來尋找ORF,先對當前DNA鏈從第一個堿基、第二個堿基、第三個堿基開始翻譯密碼子,然后再從反向互補鏈里也從第一個、第二個、第三個堿基進行翻譯。對于真核生物而言,這個方法可能太過簡單了,因為真核生物還有內含子。對于原核生物,由于基因組比較簡單,因此可以試一試。
問題:給你一條DNA序列,找到最長的ORF。
思路: EMBOSS的getorf
能以6種方式尋找給定序列的ORF,注意兩個參數:
-
-table
: 翻譯密碼表,0表示標準翻譯密碼表 -
-find
: 結果輸出哪些氨基酸,0表示從到終止密碼子的所有氨基酸,1表示起始密碼子到終止密碼子中間的氨基酸,2表示到終止密碼子的所有堿基,3示起始密碼子到終止密碼子中間的堿基,4 包含起始密碼子前幾個堿基,5包含第一個終止密碼子后幾個堿基,65包含最后一個終止密碼子后幾個堿基
cat rosalind_orfr.txt | ~/opt/biosoft/emboss-6.6.0/bin/getorf -filter -find 1 \
| bioawk -c fastx '{print length($seq) "\t" $seq}' \
| sort -nrk1,1