日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

vpa函数python_Biopython - 序列比对

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

教 程 目 錄

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

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

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

解析序列比對

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

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

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

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

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

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

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

導入Bio.AlignIO模塊>>>?from?Bio?import?AlignIO

使用read方法讀取對齊. read方法用于讀取給定文件中可用的單個對齊數據.如果給定文件包含許多對齊,我們可以使用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

>>>

多個對齊

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

如果輸入序列比對格式包含多個序列比對,然后我們需要使用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方法返回可迭代的對齊對象,可以迭代它以獲得實際的對齊.

成對序列對齊

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

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

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

步驟1

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

步驟2

創建兩個序列,seq1和seq2 :>>>?from?Bio.Seq?import?Seq

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

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

步驟3

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

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

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

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

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

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

步驟4

循環遍歷可迭代路線對象并得到每個人對齊對象并打印它.>>>?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更好地可視化結果 :>>>?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還提供另一個模塊進行序列比對,Align.這個模塊提供了一組不同的API來簡單地設置參數,如算法,模式,匹配分數,空位罰分等.簡單查看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創建序列對齊.

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

步驟2 : 從模塊Bio.Align.Applications導入ClustalwCommanLine.>>>?from?Bio.Align.Applications?import?ClustalwCommandline

步驟3 : 通過使用輸入文件調用ClustalwCommanLine來設置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步 : 調用cmd()將運行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

>>>

相關新手教程:

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。