biopython:2:序列组成

本文详细介绍了Biopython中关于序列的操作,包括序列的特性、序列属性alphabet、序列相关模块的使用,以及序列与字符串的相似性和不同特性。重点讲解了反向序列、反向互补序列、DNA序列的转录和翻译,以及如何使用Bio.SeqUtils模块计算GC含量。此外,还介绍了如何处理不同的序列类型,如明确和模糊的DNA序列,以及氨基酸序列。最后,讨论了密码子表(Translation Tables)和如何处理fasta和fastq格式的文件。
摘要由CSDN通过智能技术生成

第一章:biopython

第二节:序列组成

SeqIO同时读取两个文件read1文件和read2文件,利用itertools
from Bio import SeqIO
import itertools
for r1, r2 in itertools.izip(SeqIO.parse(gzip.open('*.R1.fine.fastq.gz'),'fastq'), SeqIO.parse(gzip.open('*.R2.fine.fastq.gz'),'fastq')):
····r1,r2

1,序列的特性

生物信息当中的序列(DNA、RNA、amino acid)与python当中的字符串有两点不同(其余属性大致相同,比如序列长度,可以进行切片等)
第一点不同:序列有 translate() ,即翻译;序列有reverse_complement() ,即反向互补序列(反向互补序列一般对DNA序列而言)
第二点不同:序列存在一定的字母排列规则,即为alphabet;例如,DNA序列为“TAGC”表示四种碱基,而氨基酸序列也可以为“AGCT”表示不同的氨基酸简写,一般在文件中会显示氨基酸的一个字母的简写

2,序列属性alphabet

Bio包当中存在Bio.Alphabet模块,其作用是定义DNA、RNA及amino acid序列
amino acid序列,有 ExtendedIUPACProtein 用法,能够区分该大写字母为哪种氨基酸,例如:“U”表示“Sec”,“B”表示“Asx”,(这两种均为稀有氨基酸)而“X”表示“Xxx”表示为未知氨基酸
DNA序列,有IUPACAmbiguousDNA及ExtendedIUPACDNA用法
RNA序列,有IUPACAmbiguousRNA及IUPACUnmbiguousDNA用法

3,与序列相关的模块使用

>>> from Bio.Seq import Seq#该模块用于构建序列
>>> from Bio.Alphabet import IUPAC#该模块用于判断序列类型
>>> my_seq=Seq("AGTACA", IUPAC.unambiguous_dna)#根据Alphabet()特性将Seq定义为DNA序列
>>> my_prot=Seq("AGTACA", IUPAC.protein)#定义一个氨基酸序列
>>> my_seq.alphabet
IUPACUnambiguousDNA()
IUPAC.unambiguous_dna表示确定的DNA序列,不允许存在模糊碱基
IUPAC.ambiguous_dna表示允许存在模糊碱基
函数Seq()(首字母大写)加字符串,再加IUPAC特性,可表示DNA或氨基酸序列
构建序列方法:
Seq(str("AGTACA"), IUPAC.unambiguous_dna)

4,序列与字符串存在一些相同的特性

>>> my_seq=Seq("GATCG", IUPAC.unambiguous_dna)#定义一段DNA序列
>>> for index, letter in enumerate(my_seq):
>>> ····print "%d\t%s"%(index, letter)#index为序列编号值为0,letter为Seq
>>> len(my_seq)#序列长度
>>> my_seq[0]#序列的第一个碱基,返回一个字符串,方法类似于字符串的切片
>>> my_seq.count("A")#返回序列当中“A”碱基的个数
>>> my_seq.count("G")#计算“G”碱基个数
>>> float(my_seq.count('G')+my_seq.count('C'))/len(my_seq)*100#计算序列的GC含量
但其实在Bio.SeqUtils模块中有一个GC函数,可计算序列GC含量
>>> from Bio.SeqUtils import GC
>>> GC(my_seq)#返回一个百分数数值并不带百分号
序列的split方法和字符串的切片方式相同
>>> my_seq=Seq("GATC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值