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模块中可用的解析类。Bio.SeqIO模块用于读取和写入不同格式的序列文件,而parse类用于解析序列文件的内容。
  • 第2行,导入Bio.SeqRecord模块中的SeqRecord类。该模块用于处理序列记录,而SeqRecord类用于表示序列文件中可用的特定序列。
  • 第3行,导入Bio.Seq模块中的Seq类。此模块用于操纵序列数据,Seq类用于表示序列文件中可用的特定序列记录的序列数据。
  • 第5行,使用常规python函数打开example.fasta文件。
  • 第7行,解析序列文件的内容,并将该内容作为SeqRecord对象的列表返回。
  • 第9-15行,使用python for循环遍历记录,并打印序列记录(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()

在此示例中,我们已经使用了三个类,分别是parseSeqRecordSeq。这三个类提供了大多数功能,我们将在下一节中学习这些类。


上一篇:Biopython安装

下一篇:Biopython序列

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程