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)
让我们更深入地看一下代码:
Line 1 导入 Bio.SeqIO 模块中可用的解析类。 Bio.SeqIO 模块用于读取和写入不同格式的序列文件,`parse' 类用于解析序列文件的内容。
Line 2 导入 Bio.SeqRecord 模块中可用的 SeqRecord 类。该模块用于操作序列记录,而 SeqRecord 类用于表示序列文件中可用的特定序列。
*Line 3" 导入 Bio.Seq 模块中可用的 Seq 类。该模块用于操作序列数据,Seq 类用于表示序列文件中可用的特定序列记录的序列数据。
Line 5 使用常规 python 函数打开“example.fasta”文件,打开。
Line 7 解析序列文件的内容并将内容作为 SeqRecord 对象的列表返回。
9-15 号线 使用python for循环遍历记录并打印序列记录(SqlRecord)的属性,例如id,名称,描述,序列数据等。
Line 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。这三个类提供了大部分功能,我们将在下一节中学习这些类。