使用biopython处理序列数据

欢迎关注”生信修炼手册”!

序列是基因组学数据的基本单位,对于序列先关信息的存储,有以下两种常用的文件格式

1. fasta

2. genebank

通过biopython, 我们可以方便的读取这些格式的文件,并提取其中的信息。具体地,通过以下3个子模块来处理序列数据

1. Bio.Seq

2. Bio.SeqRecore

3. Bio.SeqIO

其中Bio.Seq表示最原始的序列对象,是最核心的模块,提供了序列的格式化,反向互补,碱基计数等基本功能;Bio.SeqRecord表示序列记录,在序列对象的基础上,进一步添加了序列的id, 名称,属性等各种注释信息;Bio.SeqIO模块则用于读取特定的文件格式,返回 SeqRecord对象。

1. Bio.Seq

Bio.Seq提供了最核心的序列对象,即由基本字符构成的序列,比如核酸序列和蛋白质序列,初始化方式如下

>>> from Bio.Seq import Seq
>>> my_seq = Seq('ATCGTACGATCT')
>>> my_seq
Seq('ATCGTACGATCT')

在该模块中,为序列对象提供了python字符的基础操作,比如比较,大小写转换,切片,切分,连接, 格式化等操作,具体用法如

# 切片
>>> my_seq[1]
'T'
>>> my_seq[1:3]
Seq('TC')
>>> my_seq[::-1]
Seq('TCTAGCATGCTA')
# 小写转换
>>> my_seq.lower()
Seq('atcgtacgatct')
# 大写转换
>>> my_seq.upper()
Seq('ATCGTACGATCT')
# split, 序列分隔
>>> my_seq.split('A')
[Seq(''), Seq('TCGT'), Seq('CG'), Seq('TCT')]
# join, 序列连接
>>> my_seq2 = Seq('ACGACTGACTAGCT')
>>> Seq('NNN').join([my_seq, my_seq2])
Seq('ATCGTACGATCTNNNACGACTGACTAGCT')
# 格式化
>>> 'id:1,seq:{}'.format(my_seq)
'id:1,seq:ATCGTACGATCT'

除了基本用法之外,还提供了生物学序列特有的功能,比如互补,反向互补,转录,翻译等,具体用法如下

# 互补
>>> my_seq.complement()
Seq('TAGCATGCTAGA')
# 反向互补
>>> my_seq.reverse_complement()
Seq('AGATCGTACGAT')
# 转录
>>> my_seq.transcribe()
Seq('AUCGUACGAUCU')
# 翻译
>>> my_seq.translate()
Seq('IVRS')

2. Bio.SeqRecord

Bio.SeqRecord在序列的基础上,进一步存储了相关的注释信息,初始化的方式如下

>>> from Bio.SeqRecord import SeqRecord
>>> my_seq = Seq('AGCTACGT')
>>> my_seqrecord &
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值