循环处理fq格式基因 并将其转录翻译及biopython第四章阅读笔记

循环处理fq格式基因 并将其转录翻译及biopython第四章阅读笔记

from Bio import SeqIO  
from Bio import SeqIO

with open("input.fq") as inp, open("output.fasta", "w") as out:
    for record in SeqIO.parse(inp, "fastq"):
        rc_record = record.reverse_complement(id=record.id+"_rc")
        rc_record.letter_annotations = record.letter_annotations
        protein_record = rc_record.translate(id=rc_record.id+"_translated")
        SeqIO.write([rc_record, protein_record], out, "fasta")

4.1 SeqRecord对象

SeqRecord (Sequence Record) 类包含在 Bio.SeqRecord 模块中。该类是 Bio.SeqIO 序列输入/输出交互界面 (详见第 5 章)的基本数据类型。可以把identifiers 和features等高级属性与序列关联起来 (参见第 3 章)。

4.2 创建 SeqRecord

使用 SeqRecord 对象非常简单,因为所有的信息都存储在该类的属性中;通常不必手动新建,用 Bio.SeqIO 从序列文件读取即可(见第 5 章)。 当然新建 SeqRecord 也不

4.3. SeqFeature对象

序列特征是描述一条序列不可或缺的部分。抛开序列本身,你需要一种方式去组织和获取关于这条序列的 “抽象” 信息。 尽管设计一个通用的类囊括序列的所有特征看似是不可能的,但是Biopython的 SeqFeature 类试图尽可能多的囊括序列的所有特征。Biopython主要依据 GenBank/EMBL 特征表来设计相应的对象,认识到这一点,将有助于你更快更好的理解Biopython SeqFeature 对象。

SeqFeature 对象的关键目的在于描述其相对于父序列(parent sequence,通常为 SeqRecord 对象)所处的位置(location), 通常是介于两个positions间的一个区域(region)

4.4 References

对一条序列的注释还包括参考文献(reference),Biopython通过 Bio.SeqFeature.Reference 对象来储存相关的文献信息。

References属性储存了 期刊名 、 题名 、 作者 等信息。此外还包括 medline_id 、 pubmed_id 以及 comment 。

通常reference 也有 location 对象,便于文献涉及研究对象在序列中的定位。该 location 有可能是一个fuzzy location(见第 4.3.2 节)。

文献对象都以列表储存在 SeqRecord 对象的 annotations 字典中。 字典的键为 “references”。reference对象也是为了方便处理文献而设计,希望能满足各种使用需求。

4.5 格式化方法

SeqRecord 类中的 format() 能将字符串转换成被 Bio.SeqIO 支持的格式,如FASTA:

4.6 SeqRecord切片

通过切片截取 SeqRecord 的部分序列可得到一条新的 SeqRecord 。此处需引起注意的是per-letter annotations也被取切片, 但新序列中的features保持不变 (locations相应调整)。

4.7 SeqRecord对象相加

SeqRecord 对象可相加得到一个新的 SeqRecord 。注意:per-letter annotations也相加, features (locations 调整);而其它annotation 保持不变(如id、name和description)。

4.8 反向互补SeqRecord对象

为消除序列反向互补后annotation改变带来的困难,Biopython 1.57 SeqRecord 对象加入了 reverse_complement 方法。这也成为Biopython 1.57的新特性之一。

序列用Seq对象中的reverse_complement方法反向互补。Features随location而改变,strand也被重新计算。复制并反转per-letter-annotation(通常情况下这种做法比较合适,如对质量分数注释的反转)。然而多数annotation的转变却存有问题。

-annotation(通常情况下这种做法比较合适,如对质量分数注释的反转)。然而多数annotation的转变却存有问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值