- 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。这三个类提供了大部分功能,我们将在接下来的章节中学习这些类。