演示如何创建一个简单的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)
下面我们更深入地研究代码-
Bio.SeqIO
模块中可用的解析类。Bio.SeqIO
模块用于读取和写入不同格式的序列文件,而parse
类用于解析序列文件的内容。Bio.SeqRecord
模块中的SeqRecord
类。该模块用于处理序列记录,而SeqRecord
类用于表示序列文件中可用的特定序列。Bio.Seq
模块中的Seq
类。此模块用于操纵序列数据,Seq
类用于表示序列文件中可用的特定序列记录的序列数据。example.fasta
文件。SeqRecord
对象的列表返回。SqlRecord
)的属性,例如id,名称,描述,序列数据等。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
。这三个类提供了大多数功能,我们将在下一节中学习这些类。