- Biopython 教程
- Biopython - 首頁
- Biopython - 簡介
- Biopython - 安裝
- 建立簡單應用程式
- Biopython - 序列
- 高階序列操作
- 序列 I/O 操作
- Biopython - 序列比對
- Biopython - BLAST 概述
- Biopython - Entrez 資料庫
- Biopython - PDB 模組
- Biopython - 基序物件
- Biopython - BioSQL 模組
- Biopython - 群體遺傳學
- Biopython - 基因組分析
- Biopython - 表型微陣列
- Biopython - 繪圖
- Biopython - 聚類分析
- Biopython - 機器學習
- Biopython - 測試技術
- Biopython 資源
- Biopython - 快速指南
- Biopython - 有用資源
- Biopython - 討論
Biopython - 建立簡單應用程式
讓我們建立一個簡單的 Biopython 應用程式來解析生物資訊學檔案並列印其內容。這將幫助我們理解 Biopython 的基本概念以及它如何在生物資訊學領域提供幫助。
步驟 1 − 首先,建立一個示例序列檔案,“example.fasta”,並將以下內容放入其中。
>sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin) MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKSTTTTTTTKGT >sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin) MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIKGGGTKKGTTDKK
副檔名 fasta 指的是序列檔案的格式。FASTA 源於生物資訊學軟體 FASTA,因此得名。FASTA 格式包含一個接一個排列的多個序列,每個序列都有其自己的 ID、名稱、描述和實際序列資料。
步驟 2 − 建立一個新的 Python 指令碼,“simple_example.py”,輸入以下程式碼並儲存。
from Bio.SeqIO import parse
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
file = open("example.fasta")
records = parse(file, "fasta") for record in records:
print("Id: %s" % record.id)
print("Name: %s" % record.name)
print("Description: %s" % record.description)
print("Annotations: %s" % record.annotations)
print("Sequence Data: %s" % record.seq)
print("Sequence Alphabet: %s" % record.seq.alphabet)
讓我們更深入地瞭解一下程式碼 −
第 1 行 匯入 Bio.SeqIO 模組中可用的 parse 類。Bio.SeqIO 模組用於讀取和寫入不同格式的序列檔案,而 `parse` 類用於解析序列檔案的內容。
第 2 行 匯入 Bio.SeqRecord 模組中可用的 SeqRecord 類。此模組用於操作序列記錄,SeqRecord 類用於表示序列檔案中特定序列。
第 3 行 匯入 Bio.Seq 模組中可用的 Seq 類。此模組用於操作序列資料,Seq 類用於表示序列檔案中特定序列記錄的序列資料。
第 5 行 使用常規 Python 函式 open 開啟 “example.fasta” 檔案。
第 7 行 解析序列檔案的內容,並將內容作為 SeqRecord 物件列表返回。
第 9-15 行 使用 Python for 迴圈遍歷記錄,並列印序列記錄 (SeqRecord) 的屬性,例如 id、名稱、描述、序列資料等。
第 15 行 使用 Alphabet 類列印序列的型別。
步驟 3 − 開啟命令提示符並轉到包含序列檔案 “example.fasta” 的資料夾,然後執行以下命令 −
> python simple_example.py
步驟 4 − Python 執行指令碼並列印樣本檔案 “example.fasta” 中所有可用的序列資料。輸出將類似於以下內容。
Id: sp|P25730|FMS1_ECOLI
Name: sp|P25730|FMS1_ECOLI
Decription: sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
Annotations: {}
Sequence Data: MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSD
KGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTA
GQYQGLVSIILTKSTTTTTTTKGT
Sequence Alphabet: SingleLetterAlphabet()
Id: sp|P15488|FMS3_ECOLI
Name: sp|P15488|FMS3_ECOLI
Decription: sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
Annotations: {}
Sequence Data: MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVSNTLVGVLTLSNTSIDTVS
IASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDKNAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGN
YRANITITSTIKGGGTKKGTTDKK
Sequence Alphabet: SingleLetterAlphabet()
在這個例子中,我們看到了三個類:parse、SeqRecord 和 Seq。這三個類提供了大部分功能,我們將在接下來的章節中學習這些類。