最近在上生物信息学原理,打算记录一些课上的作业。第一次作业:如题。
基本思路:
1.从GFF中读取CDS的起始终止位置以及正负链信息。GFF格式见 http://blog.sina.com.cn/s/blog_8a4f556e0102yd3l.html.
2.利用起始/终止位置等信息从FNA文件中提取CDS序列。FNA格式见 http://boyun.sh.cn/bio/?p=1192.
3.利用CDS序列及密码子表得到FAA文件并输出。
注意:最需要注意的一点是:当GFF中CDS位于负链时,需要进行碱基互补配对,即反向互补(5'到3'配3'到5')。
下面给出python代码。python3.6
转载请保留出处
1 #bioinformatics homework
2 import re
3 class CDS2AA():
4 pa = re.compile(r'\s+')
5 Pa = re.compile(r'[TCAG]TG') # 细菌起始密码子NTG
6 def __init__(self,fna,gff):
7 self.fna = fna
8 self.gff = gff
9 def N2M(self,sequence):
10 hash = {
'A': 'T', 'T': 'A', 'C': 'G', '