日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

vpa函数python_Biopython - 序列比对

發(fā)布時間:2023/12/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vpa函数python_Biopython - 序列比对 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

教 程 目 錄

序列比對是按特定順序排列兩個或多個序列(DNA,RNA或蛋白質(zhì)序列)的過程,以確定它們之間的相似區(qū)域.

識別相似區(qū)域使我們能夠推斷出大量信息,例如物種之間保守的性狀,遺傳上不同物種的接近程度,物種如何進(jìn)化等.Biopython為序列比對提供了廣泛的支持.

讓我們在本章中了解Biopython提供的一些重要特性 :

解析序列比對

Biopython提供了模塊,Bio.AlignIO讀取和寫入序列比對.在生物信息學(xué)中,有許多格式可用于指定與早期學(xué)習(xí)的序列數(shù)據(jù)類似的序列比對數(shù)據(jù). Bio.AlignIO提供類似于Bio.SeqIO的API,除了Bio.SeqIO處理序列數(shù)據(jù),Bio.AlignIO處理序列比對數(shù)據(jù).

在開始學(xué)習(xí)之前,讓我們從Internet下載樣本序列比對文件.

要下載樣本文件,請按照以下步驟 : 去;

步驟1 : 打開您喜歡的瀏覽器并轉(zhuǎn)到 http://pfam.xfam.org/family/browse 網(wǎng)站.它將按字母順序顯示所有Pfam系列.

第2步 : 選擇具有較少種子值的任何一個家庭.它包含最少的數(shù)據(jù),使我們能夠輕松地進(jìn)行對齊.在這里,我們選擇/點擊了PF18225并打開了 http://pfam.xfam.org/family/PF18225 并顯示有關(guān)它的完整詳細(xì)信息,包括序列比對.

步驟3 : 轉(zhuǎn)到對齊部分并以斯德哥爾摩格式(PF18225_seed.txt)下載序列比對文件.

讓我們嘗試使用Bio.AlignIO讀取下載的序列比對文件,如下所示 :

導(dǎo)入Bio.AlignIO模塊>>>?from?Bio?import?AlignIO

使用read方法讀取對齊. read方法用于讀取給定文件中可用的單個對齊數(shù)據(jù).如果給定文件包含許多對齊,我們可以使用parse方法. parse方法返回可迭代的對齊對象,類似于Bio.SeqIO模塊中的parse方法.>>>?alignment?=?AlignIO.read(open("PF18225_seed.txt"),?"stockholm")

打印對齊對象.>>>?print(alignment)

SingleLetterAlphabet()?alignment?with?6?rows?and?65?columns

MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVA...EGP?B7RZ31_9GAMM/59-123

AKQRGIAGLEEWLHRLDHSEAIPIFLIDEAGKDLLEREVPADIT...KKP?A0A0C3NPG9_9PROT/58-119

ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMA...KKP?A0A143HL37_9GAMM/57-121

TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMA...NKP?A0A0X3UC67_9GAMM/57-121

AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIM...NRK?B3PFT7_CELJU/62-126

AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVA...NRT?K4KEM7_SIMAS/61-125

>>>

我們還可以檢查對齊中可用的序列(SeqRecord)以及低于和低于;>>>?for?align?in?alignment:

...?print(align.seq)

...

MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVATVANQLRGRKRRAFARHREGP

AKQRGIAGLEEWLHRLDHSEAIPIFLIDEAGKDLLEREVPADITA---RLDRRREHGEHGVRKKP

ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMAPMLIALNYRNRESHAQVDKKP

TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMAPLFKVLSFRNREDQGLVNNKP

AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIMVLAPRLTAKHPYDKVQDRNRK

AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVADLMRKLDLDRPFKKLERKNRT

>>>

多個對齊

通常,大多數(shù)序列比對文件都包含單個比對數(shù)據(jù),它足以使用讀取方法來解析它.在多序列比對概念中,比較兩個或更多序列以獲得它們之間的最佳子序列匹配,并在單個文件中導(dǎo)致多序列比對.

如果輸入序列比對格式包含多個序列比對,然后我們需要使用parse方法而不是read方法,如下所示 :>>>?from?Bio?import?AlignIO

>>>?alignments?=?AlignIO.parse(open("PF18225_seed.txt"),?"stockholm")

>>>?print(alignments)

>>>?for?alignment?in?alignments:

...?print(alignment)

...

SingleLetterAlphabet()?alignment?with?6?rows?and?65?columns

MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVA...EGP?B7RZ31_9GAMM/59-123

AKQRGIAGLEEWLHRLDHSEAIPIFLIDEAGKDLLEREVPADIT...KKP?A0A0C3NPG9_9PROT/58-119

ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMA...KKP?A0A143HL37_9GAMM/57-121

TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMA...NKP?A0A0X3UC67_9GAMM/57-121

AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIM...NRK?B3PFT7_CELJU/62-126

AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVA...NRT?K4KEM7_SIMAS/61-125

>>>

這里,parse方法返回可迭代的對齊對象,可以迭代它以獲得實際的對齊.

成對序列對齊

成對序列比對一次只比較兩個序列,并提供最佳的序列比對. 成對易于理解,并且可以從結(jié)果序列比對中推斷出來.

Biopython提供了一個特殊的模塊,Bio.pairwise2使用成對方法識別比對序列. Biopython應(yīng)用最佳算法來找到比對序列,它與其他軟件相同.

讓我們編寫一個例子,使用成對模塊找到兩個簡單和假設(shè)序列的序列比對.這將有助于我們理解序列比對的概念以及如何使用Biopython對其進(jìn)行編程.

步驟1

導(dǎo)入模塊pairwise2使用下面給出的命令 :>>>?from?Bio?import?pairwise2

步驟2

創(chuàng)建兩個序列,seq1和seq2 :>>>?from?Bio.Seq?import?Seq

>>>?seq1?=?Seq("ACCGGT")

>>>?seq2?=?Seq("ACGT")

步驟3

調(diào)用方法pairwise2.align.globalxx以及seq1和seq2使用下面的代碼行找到對齊 :>>>?alignments?=?pairwise2.align.globalxx(seq1,seq2)

此處,globalxx方法執(zhí)行實際工作并找到最佳效果給定序列中可能的比對.實際上,Bio.pairwise2提供了一系列遵循以下慣例的方法,以在不同情況下找到對齊.XY

這里,序列比對類型是指對齊類型,可以是global或local.全局類型通過考慮整個序列來發(fā)現(xiàn)序列比對.本地類型也通過查看給定序列的子集來尋找序列比對.這將是乏味的,但更好地了解給定序列之間的相似性.X指的是匹配分?jǐn)?shù).可能的值是x(完全匹配),m(基于相同字符的分?jǐn)?shù)),d(用戶提供的帶字符和匹配分?jǐn)?shù)的字典),最后是c(用戶定義的函數(shù),用于提供自定義評分算法).

Y指間隙罰款.可能的值是x(無間隙罰分),s(兩個序列的相同懲罰),d(每個序列的不同懲罰),最后c(用戶定義的函數(shù)提供自定義間隙罰分)

因此,localds也是一個有效的方法,它使用局部對齊技術(shù)找到序列比對,用戶提供的匹配字典和用戶提供的兩個序列的空位罰分.>>>?test_alignments?=?pairwise2.align.localds(seq1,seq2,blosum62,-10,-1)

這里,blosum62指的是pairwise2模塊中可用的字典提供比賽得分. -10表示缺口開放罰分,-1表示缺口延長罰金.

步驟4

循環(huán)遍歷可迭代路線對象并得到每個人對齊對象并打印它.>>>?for?alignment?in?alignments:

...?print(alignment)

...

('ACCGGT',?'A-C-GT',?4.0,?0,?6)

('ACCGGT',?'AC--GT',?4.0,?0,?6)

('ACCGGT',?'A-CG-T',?4.0,?0,?6)

('ACCGGT',?'AC-G-T',?4.0,?0,?6)

步驟5

Bio.pairwise2模塊提供格式方法,format_alignment更好地可視化結(jié)果 :>>>?from?Bio.pairwise2?import?format_alignment

>>>?alignments?=?pairwise2.align.globalxx(seq1,?seq2)

>>>?for?alignment?in?alignments:

...?print(format_alignment(*alignment))

...

ACCGGT

|?|?||

A-C-GT

Score=4

ACCGGT

||?||

AC--GT

Score=4

ACCGGT

|?||?|

A-CG-T

Score=4

ACCGGT

||?|?|

AC-G-T

Score=4

>>>

Biopython還提供另一個模塊進(jìn)行序列比對,Align.這個模塊提供了一組不同的API來簡單地設(shè)置參數(shù),如算法,模式,匹配分?jǐn)?shù),空位罰分等.簡單查看Align對象如下&&;>>>?from?Bio?import?Align

>>>?aligner?=?Align.PairwiseAligner()

>>>?print(aligner)

Pairwise?sequence?aligner?with?parameters

match?score:?1.000000

mismatch?score:?0.000000

target?open?gap?score:?0.000000

target?extend?gap?score:?0.000000

target?left?open?gap?score:?0.000000

target?left?extend?gap?score:?0.000000

target?right?open?gap?score:?0.000000

target?right?extend?gap?score:?0.000000

query?open?gap?score:?0.000000

query?extend?gap?score:?0.000000

query?left?open?gap?score:?0.000000

query?left?extend?gap?score:?0.000000

query?right?open?gap?score:?0.000000

query?right?extend?gap?score:?0.000000

mode:?global

>>>

支持序列比對工具

Biopython通過Bio.Align.Applications提供了許多序列比對工具的接口模塊.一些工具列在下面和下面;ClustalW

MUSCLE

EMBOSS針和水

讓我們在Biopython中編寫一個簡單的例子,通過最流行的對齊工具ClustalW創(chuàng)建序列對齊.

第1步 : 從 http://www.clustal.org/download/current/下載Clustalw程序并安裝它.另外,使用"clustal"安裝路徑更新系統(tǒng)PATH.

步驟2 : 從模塊Bio.Align.Applications導(dǎo)入ClustalwCommanLine.>>>?from?Bio.Align.Applications?import?ClustalwCommandline

步驟3 : 通過使用輸入文件調(diào)用ClustalwCommanLine來設(shè)置cmd,在Biopython包中提供opuntia.fasta. ?https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/opuntia.fasta>>>?cmd?=?ClustalwCommandline("clustalw2",

infile?="/path/to/biopython/sample/opuntia.fasta")

>>>?print(cmd)

clustalw2?-infile?=?fasta/opuntia.fasta

第4步 : 調(diào)用cmd()將運(yùn)行clustalw命令并給出生成的

對齊文件的輸出,opuntia.aln.>?>>?stdout,stderr?=?cmd()

第5步 : 閱讀并打印對齊文件,如下所示;>>>?from?Bio?import?AlignIO

>>>?align?=?AlignIO.read("/path/to/biopython/sample/opuntia.aln",?"clustal")

>>>?print(align)

SingleLetterAlphabet()?alignment?with?7?rows?and?906?columns

TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273285|gb|AF191659.1|AF191

TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273284|gb|AF191658.1|AF191

TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273287|gb|AF191661.1|AF191

TATACATAAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273286|gb|AF191660.1|AF191

TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273290|gb|AF191664.1|AF191

TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273289|gb|AF191663.1|AF191

TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA

gi|6273291|gb|AF191665.1|AF191

>>>

相關(guān)新手教程:

總結(jié)

以上是生活随笔為你收集整理的vpa函数python_Biopython - 序列比对的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。