📅  最后修改于: 2020-11-09 04:57:36             🧑  作者: Mango
让我们创建一个简单的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模块中可用的解析类。 Bio.SeqIO模块用于读取和写入不同格式的序列文件,而“ parse”类用于解析序列文件的内容。
第2行导入Bio.SeqRecord模块中可用的SeqRecord类。该模块用于处理序列记录,而SeqRecord类用于表示序列文件中可用的特定序列。
*“第3行”导入Bio.Seq模块中可用的Seq类。此模块用于操纵序列数据,Seq类用于表示序列文件中可用的特定序列记录的序列数据。
第5行使用常规Python函数open打开“ example.fasta”文件。
第7行解析序列文件的内容,并将该内容作为SeqRecord对象的列表返回。
第9-15行使用Python for loop遍历记录,并打印序列记录(SqlRecord)的属性,例如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。这三个类提供了大多数功能,我们将在下一节中学习这些类。