Biopython
1.序列赋值 转录(反转录) 翻译 反向互补
2.读取序列文件,识别序列的属性信息。SeqRecord提供序列及其注释的容器
属性:
seq :一条生物序列
id:基本ID,标识这条序列
name:常用分子的名称
description:序列分子的描述
letter_annotation:是一个有给每个碱基注释的字典,键是注释类型,值是每个残基序列注释的列表
annotations:序列附件信息的字典。键是信息的类型,值包含信息
features:是SeqFeature对象的列表

2.1 读取序列文件 。
只包含一个序列条目的文件,Bio.SeqIO.read(文件句柄,序列格式) #最新版都可以直接用文件,不过用with 句柄也可以更加规范 如:

>>> from Bio import SeqIO
>>> record = SeqIO.read("Fasta/f001", "fasta")
>>> print("%s %i" % (record.id, len(record)))
gi|3318709|pdb|1A91| 79
多条序列的文件,Bio.SeqIO.parse(文件句柄,序列格式),返回SeqRecord 对象迭代器如:
from Bio import SeqIO
for seq_record in SeqIO.parse("ls_orchid.fasta", "fasta"):
print seq_record.id
print repr(seq_record.seq)
print len(seq_record)
还可以用next() 遍历序列条目
如:from Bio import SeqIO
record_iterator = SeqIO.parse("ls_orchid.fasta", "fasta")

first_record = record_iterator.next()
print first_record.id
print first_record.description

second_record = record_iterator.next()
print second_record.id
print second_record.description

保存为序列条目列表 list()即可
from Bio import SeqIO
records = list(SeqIO.parse("ls_orchid.gbk", "genbank"))

print "Found %i records" % len(records)

print "The last record"
last_record = records[-1]

2.2 提取序列条目信息
annotations 属性 得到序列条目的注释信息如:
print first_record.annotations

2.3 gzip文件提取,先gzip模块得句柄,再操作
>>> import gzip
>>> from Bio import SeqIO
>>> handle = gzip.open("ls_orchid.gbk.gz", "r")
>>> print sum(len(r) for r in SeqIO.parse(handle, "gb"))
67518
>>> handle.close()

2.4 保存序列文件到字典,默认序列id作为key,value是序列的Seq对象
Bio.SeqIO.to_dict()内存占用大,每个条目以 SeqRecord 对象形式存储在内存中,你修改这些条目。
Bio.SeqIO.index() 处于中间水平,类似于只读字典,当需要时解析序列到 SeqRecord 对象。
Bio.SeqIO.index() ,工作原理上略有不同。尽管仍然是返回一个类似于字典的对象,它并不将所有的信息存储在内存中。相反,它仅仅记录每条序列条目在文件中的位置 - 当你需要读取某条特定序列条目时,它才进行解析。注:index()只接受文件名,不接受句柄。如:
>>> from Bio import SeqIO
>>> orchid_dict = SeqIO.index("ls_orchid.gbk", "genbank")
>>> len(orchid_dict)
94
Bio.SeqIO.index_db() 也类似于只读字典,但是将文件中的ID和文件偏移值存储到硬盘(SQLite3数据库),这意味着它对内存需求很低(请见第 5.4.3 节),但会慢一点。
如:>>> from Bio import SeqIO
>>> orchid_dict = SeqIO.to_dict(SeqIO.parse("ls_orchid.gbk", "genbank"))

2.5 来自 Bio.SeqIO.index() 的字典样对象以 SeqRecord 对象形式返回序列条目。但是,有时候从文件中直接获取原始数据非常有用。对于此种情况,使用 get_raw() 方法获取文件原始数据,方便选择序列再写入

>>> from Bio import SeqIO
>>> uniprot = SeqIO.index("uniprot_sprot.dat", "swiss")
>>> handle = open("selected.dat", "w")
>>> for acc in ["P33487", "P19801", "P13689", "Q8JZQ5", "Q9TRC7"]:
... handle.write(uniprot.get_raw(acc))
>>> handle.close()

2.6 序列写入,序列文件格式转换
Bio.SeqIO.write() 输出序列(写入文件)。该函数需要三个参数:某些 SeqRecord 对象,要写入的句柄或文件名,和序列格式

from Bio import SeqIO
records = SeqIO.parse("ls_orchid.gbk", "genbank")
count = SeqIO.write(records, "my_example.fasta", "fasta")
print "Converted %i records" % count
或:
from Bio import SeqIO
count = SeqIO.convert("ls_orchid.gbk", "genbank", "my_example.fasta", "fasta")
print "Converted %i records" % count

转载于:https://www.cnblogs.com/koujiaodahan/p/8443992.html

Biopython SeqIO 读取序列文件,读取信息,写入序列相关推荐

  1. C语言读取mp3文件的信息

    MP3文件的ID3V1信息与ID3V2信息结构的分析 --吴俊涛2005/05/05 E-mail:bo_tao@126.com QQ:29248671 主 页:http://wjt276.home4 ...

  2. javascript读取xml文件读取节点数据的例子

    分享下用javascript读取xml文件读取节点数据方法. 读取的节点数据,还有一种情况是读取节点属性数据. <head> <title></title> < ...

  3. 使用Dom4j读取指定文件,并写入指定文件

    导入dom4j的包,然后写入代码如下 package com.dom4j.cn;import java.io.FileOutputStream;import org.dom4j.Document; i ...

  4. numpy如何对txt文件读取_NumPy——文件读取与写入

    一维及二维数据的存取 CSV(Comma-Separated Value,逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据. 将数据写入CSV文件: np.savetxt(file,arra ...

  5. jackson Read 读取 json 文件和 Write 写入 json 文件 读写 json 文件

    jackson Read Write 读取 json 文件和写入 json 文件 jackson 可以由这里获得 http://repo1.maven.org/maven2/com/fasterxml ...

  6. python读取txt文件内容,写入csv文件中去。

    txt文件中的内容大概是这样的: 2.在图3中,当开关断开时,R1.R2_______(串联/并联),当开关闭合时,被短路.开关由断开转为闭合时,总电阻,总电流_______,通过R2的电流_____ ...

  7. java获取音乐_Java读取MP3文件的信息(歌曲名,歌手...)

    还记得之前写一款Android播放软件时,为了让APP获得MP3音乐文件的相关信息,上网找了很多Java库.搞的APP满身赘肉.后来我研究了一下MP3文件的结构后发现,获取MP3文件信息根本不需要什么 ...

  8. c# 读取INI文件(将内容写入INI文件)

    c#读取INI文件实例 读取ini文件内容,将读取的内容放在指定位置:将内容写入到ini文件中 如图为项目界面 1 c# 读取ini文件方法 1.1 在类中配置API #region API函数声明- ...

  9. unity3D读取Txt文件中信息

    unity读取txt文件 方法1: 1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 public ...

  10. Jmeter读取CSV文件读取不到解决方法

    读取CSV文件配置全都正确,然后查看响应结果没有正确返回,注意避坑-- *** 一定要用.txt写入测试数据,然后在转换成csv格式. 当时读取的时候一直是用电子表格转化csv格式,就一直读取不到,在 ...

最新文章

  1. go net.conn读取请求头信息_go语言网络编程socket sever的实现
  2. [深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解
  3. matlab 多文件编程,是否有可能在MATLAB中为每个文件定义多个函数,并从该文件外部访问它们?...
  4. 如何计算Python中列表项的出现次数?
  5. angular4 跨域携带cookie的设置
  6. C#之回到了最初的起点----解决方案、项目、程序集、命名空间
  7. android logo颜色渐变,华为Logo悄然换新:去掉渐变色,更加扁平化
  8. echarts 地图自定义图标_echarts自定义图标的点击事件怎么添加
  9. 单电机板机模型,f22
  10. 修改服务器的ip地址的命令,使用命令提示符更改IP地址和DNS服务器 | MOS86
  11. 数据分析常用的Excel函数合集
  12. selenium的webdrive驱动安装(谷歌浏览器)
  13. 股票公式成功率测试软件,超牛指标,成功率95%(同花顺公式 副图 源码 测试图)...
  14. marquee标签_html滚动文字
  15. 三屏合一技术 html5,HTML5的跨屏台技术解决了HTML5游戏那些问题!
  16. 为什么戏说php,戏说PHP——1. 1切的开始
  17. IDEA提示“程序包xxx不存在“
  18. 2020年教师计算机培训计划,2020年教师继续教育个人学习计划(精选3篇)
  19. 全国身份证身份数据库sql(2021最新)
  20. 权限 授权之 - License

热门文章

  1. Oracle Library cache 内部机制 说明
  2. 解决Eclipse 鼠标悬停提示框是黑色的
  3. SQL Server数据库查询sql去掉小数后点后末尾的0
  4. printf() 输出控制符
  5. Hibernate之一级缓存
  6. 对象数组题目 Student类
  7. 在html标签中写css样式,html style样式标签元素教程
  8. Java雨水计量_雨水24小时的降雨量怎么计算?
  9. java 解析栅格数据_使用Rasterio读取栅格数据的实例讲解
  10. Java编程:哈希表