Biopython

作者: 所以suoyi | 来源:发表于2021-03-03 08:31 被阅读0次

2021/03/03

Biopython 常用代码
from Bio import SeqIO
from Bio.seq import Seq

# 一般序列处理
coding_dna = Seq('ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG')
print(type(coding_dna))  # <class 'Bio.Seq.Seq'>  
template_dna = coding.reverse_complement()  # CTATCGGGCACCCTTTCAGCGGCCCATTACAATGGCCAT 
messenger_rna = coding_dna.transcribe()   # AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG
template_dna.reverse_complement().transcribe()  # 生物学意义转录
# AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG
messenger_rna.back_transcribe()  # mRNA逆向转录为DNA编码链
# ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG
messenger_rna.translate()  # 翻译
coding_dna.translate()  # 翻译
# MAIVMGR*KGAR*

# 文件读取
fa_dict = SeqIO.to_dict(SeqIO.parse('example.fastq', 'fasta'))
fq_dict = SeqIO.to_dict(SeqIO.parse('shishi.fastq', 'fastq'))
for record in SeqIO.parse('example.fastq', 'fasta'):
    print(record.id, record.seq)
    print(type(record.seq))  # <class 'Bio.Seq.Seq'>
    print(type(str(record.seq))  # <class 'str'>

# 文件格式转换  
## 将 fastq 文件转为 fasta 文件 count = 序列数
count = SeqIO.convert("example.fastq", "fastq", "result.fasta", "fasta") 
## 将 fastq 文件转为 QUAL 文件
SeqIO.convert("example.fastq", "fastq", "example.qual", "qual") 

# 序列筛选
records = [rec.reverse_complement(id="rc_"+rec.id, description = 
          "reverse complement") for rec in 
          SeqIO.parse("my_example.fasta", "fasta") if len(rec) < 15]
# 统计reads数
rec_count = 0   
for rec in SeqIO.parse("example.fastq", "fastq"):
    rec_count += 1

在python中处理.gz文件 / 生物方面,如 fastq,fasta

如 *.fastq.gz 文件
from Bio import SeqIO  # 导入biopython
from Bio.SeqIO import parse
import gzip
fastq_dt = SeqIO.to_dict(parse(gzip.open(fastq, 'rt'), 'fastq'))  # 不解压构建字典
seq = fastq_dt[id].seq  # Seq(' ') 类型序列   无法写入xlsx
seq = str(fastq_dt[id].seq)  # 普通字符串类型    可以写入xlsx
biopython 读取 genbank文件
from Bio import SeqIO
for rec in SeqIO.parse('exam.gb', 'gb'):
    print(rec.annotations)  # annotations里以字典形式储存了FEATURES上面所有内容

多序列比对
1、PFAM(或者Stockholm)格式的蛋白序列比对文件

Stockholm.png
2、生信修炼手册: 序列比对在biopython中的处理
  https://cloud.tencent.com/developer/article/1771286

相关文章

网友评论

      本文标题:Biopython

      本文链接:https://www.haomeiwen.com/subject/aiztqltx.html