在上一章中我们已经学习了如何在 NCBI 中获取数据并解析,这一章节中我们将进一步了解如何对获取的序列信息进行进一步的分析。
这一章节中我们使用到的是人乳糖酶基因,获取方法与上一章节相同。
from Bio import Entrez, SeqIO
Entrez.email = "your@email.here"
hdl = Entrez.efetch(db='nucleotide', id=['NM_002299'], rettype='fasta') # Lactase gene
seq = SeqIO.read(hdl, 'fasta')
我们现在将获取到的序列保存在FASTA文件中。
from Bio import SeqIO
w_hdl = open('example.fasta', 'w')
w_seq = seq[11:5795]
SeqIO.write([w_seq], w_hdl, 'fasta')
w_hdl.close()
在很多情况下,你会直接从硬盘中读取数据,在这里我们用刚保存的数据模拟一下这一过程。
recs = SeqIO.parse('example.fasta', 'fasta')
for rec in recs:
seq = rec.seq
print(rec.description)
print(seq[:10])
print(seq.alphabet)
你应该会得到如下结果。
gi|32481205|ref|NM_002299.2| Homo sapiens lactase (LCT),
mRNA
GTTCCTAGAA
SingleLetterAlphabet()
我们修改一下序列的alphabet。
from Bio import Seq
from Bio.Alphabet import IUPAC
seq = Seq.Seq(str(seq), IUPAC.unambiguous_dna)
现在我们已经有了 unambiguous DNA,我们可以将其进行转录。
rna = Seq.Seq(str(seq), IUPAC.unambiguous_dna)
rna = seq.transcribe()
print(rna)
最后我们可以翻译得到蛋白质序列。
prot = seq.translate()
print(prot)
小结
在这一章中我们学习了:
- 读写 FASTA 格式文件
- 转录和翻译序列
网友评论