Biopython常用功能模块
Biopython项目是旨在减少计算生物学中代码重复的开源项目之一,由国际开发人员协会创建。 它包含表示生物序列和序列注释的类,并且能够读取和写入各种文件格式(FASTA,FASTQ,GenBank和Clustal等), 支持以程序化方式访问生物信息的在线数据库(例如,NCBI)。 独立的模块扩展了Biopython的序列比对,蛋白质结构,群体遗传学,系统发育,序列基序和机器学习等功能。
序列操作
>>> # This script creates a DNA sequence and performs some typical manipulations
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> dna_sequence = Seq('AGGCTTCTCGTA', IUPAC.unambiguous_dna)
>>> dna_sequence
Seq('AGGCTTCTCGTA', IUPACUnambiguousDNA())
>>> dna_sequence[2:7]
Seq('GCTTC', IUPACUnambiguousDNA())
>>> dna_sequence.reverse_complement()
Seq('TACGAGAAGCCT', IUPACUnambiguousDNA())
>>> rna_sequence = dna_sequence.transcribe()
>>> rna_sequence
Seq('AGGCUUCUCGUA', IUPACUnambiguousRNA())
>>> rna_sequence.translate()
Seq('RLLV', IUPACProtein())
序列注释
特征可以是'基因','CDS'(编码序列),'repeat_region','mobile_element'或其他,并且序列中特征的位置可以是精确或近似的。
>>> # This script loads an annotated sequence from file and views some of its contents.
>>> from Bio import SeqIO
>>> seq_record = SeqIO.read('pTC2.gb', 'genbank')
>>> seq_record.name
'NC_019375'
>>> seq_record.description
'Providencia stuartii plasmid pTC2, complete sequence.'
>>> seq_record.features[14]
SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element')
>>> seq_record.seq
Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())
输入与输出
Biopython可以读写许多常见的序列格式,包括FASTA,FASTQ,GenBank,Clustal,PHYLIP和NEXUS等,可将一种文件格式的记录转换为其它文件格式。在读取数据时,根据计算机的内存资源和文件的大小,它们可以完全加载到内存中,以内存使用为代价提供快速访问。或者从磁盘读取文件,虽然性能较差但内存要求较低。
>>> # This script loads a file containing multiple sequences and saves each one in a different format.
>>> from Bio import SeqIO
>>> genomes = SeqIO.parse('salmonella.gb', 'genbank')
>>> for genome in genomes:
... SeqIO.write(genome, genome.id + '.fasta', 'fasta')
在线数据库数据搜索和下载
>>> # This script downloads genomes from the NCBI Nucleotide database and saves them in a FASTA file.
>>> from Bio import Entrez
>>> from Bio import SeqIO
>>> output_file = open('all_records.fasta', "w")
>>> Entrez.email = 'my_email@example.com'
>>> records_to_download = ['FO834906.1', 'FO203501.1']
>>> for record_id in records_to_download:
... handle = Entrez.efetch(db='nucleotide', id=record_id, rettype='gb')
... seqRecord = SeqIO.read(handle, format='gb')
... handle.close()
... output_file.write(seqRecord.format('fasta'))
进化树
Bio.Phylo模块提供了用于处理和可视化系统发生树的工具,支持Newick,NEXUS和phyloXML等文件格式读写。
Genome Diagram<
GenomeDiagram模块提供了Biopython中可视化序列的方法,序列可以以线性或圆形的形式绘制,支持许多输出格式,包括PDF和PNG。
蛋白质结构
Bio.PDB模块可以从PDB和mmCIF文件加载分子结构,使用Bio.PDB,可以浏览大分子结构文件的各个组件,例如检查蛋白质中的每个原子。 可以进行常见分析,例如测量距离或角度,比较残留物和计算残留物深度。
群体遗传学
Bio.PopGen模块可以分析Hardy-Weinberg平衡,连锁不平衡和群体等位基因频率的其他特征。
包装一些生信分析工具
Biopython包装了包括BLAST,Clustal,PhyML,EMBOSS和SAMtools等工具,用户可以继承一个通用的包装类,以添加对其他命令行工具的支持。
参考资料
https://en.wikipedia.org/wiki/Biopython
http://biopython.org/
转载请标明《http://www.cnblogs.com/yahengwang/p/9017041.html》
Biopython常用功能模块的更多相关文章
- KeilC51常用功能模块使用说明
本文档包括单片机系统中常用到的时钟中断.通讯及键盘扫描等模块(见所附源程序)的说明.这些模块使用前后台系统模型.为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参 ...
- PHP常用功能模块
错误异常模块 错误处理 1. 系统定义了一些二进制码,用来表示错误报告的级别: 在 /etc/php5/apache2/php.ini中修改php配置文件,其中display_errors默认 ...
- python常用功能模块
路径相关:os.pathlib Windows注册表相关:winreg 系统cpu.内存.线程相关:psutil 文件.文件夹处理:shutil 解析和生成ini文件:ConfigParser:(co ...
- 使用Teigha.net读取CAD的常用功能模块
Teigha中实体旋转 代码: using (var trans = database.TransactionManager.StartTransaction()) { Entity ent = tr ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
- CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档……
功能模块.业务架构.需求分析.用户需求.系统分析.功能设计.详细设计.文档.业务.技术--很多被随口使用的名词,其实是含糊甚至错误的. 到底含糊在哪里,错误在哪里,不仅仅是新手软件开发人员糊涂,许多入 ...
- [转]WebPack 常用功能介绍
概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...
- FastReport.Net 常用功能总汇
一.常用控件 文本框:输入文字或表达式 表格:设置表格的行列数,输入数字或表达式 子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表.系统在打印处理时,先按主报表打印,当碰到 ...
- WebPack常用功能介绍
概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...
随机推荐
- JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程
概述 JBossWeb 是JBoss 中的 Web 容器.他是对 Tomcat 的封装,本文以 Http 连接器为例.简单说明 JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程 ...
- npm ERR! fatal: unable to connect to github.com
https://blog.csdn.net/baidu_30809315/article/details/86520093 git config --global url."https:// ...
- TensorFlowSharp
https://github.com/migueldeicaza/TensorFlowSharp
- 【BZOJ3601】一个人的数论 高斯消元+莫比乌斯反演
[BZOJ3601]一个人的数论 题解:本题的做法还是很神的~ 那么g(n)如何求呢?显然它的常数项=0,我们可以用待定系数法,将n=1...d+1的情况代入式子中解方程,有d+1个方程和d+1个未知 ...
- Node.js面试题
Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听80端口? 什么是事件循环? 哪些工具可以用来保证一致的编程风格? 什么是测试金字塔?对于HTTP API ...
- vue+vuex构建单页应用
基本 构建工具: webpack 语言: ES6 分号:行首分号规则(行尾不加分好, [ , ( , / , + , - 开头时在行首加分号) 配套设施: webpack 全家桶, vue 全家桶 项 ...
- java参数的值传递和引用传递
今天抽了点时间继续啃java核心基础,即使出来做web挺长时间了,始终觉得基础极其重要. 遇到了java参数的传递类型,豁然开朗之时不忘写下记录. java中采用的总是值传递,包括对对象参数的传递,采 ...
- 我的Android进阶之旅------>Android图片处理(Matrix,ColorMatrix)
本文转载于:http://www.cnblogs.com/leon19870907/articles/1978065.html 在编程中有时候需要对图片做特殊的处理,比如将图片做出黑白的,或者老照片的 ...
- 《CSS权威指南(第三版)》---第六章 文本属性
本章主要的内容是: 1.文本缩进: text-indent.行内元素无法缩进,一般用左内边距或外边距来创造这种效果. 2.文本对齐:text-align .只应用于块状元素. 3.行高:一般line- ...
- math worksheet作业纸生成器
https://www.education.com/worksheet-generator/math/ https://www.mathgoodies.com/worksheets/generator ...