1.如何使用python把fasta序列进行反向互补
后续还要再优化
def fasta2dict(fasta_name):
with open(fasta_name) as fa:
fa_dict = {}
for line in fa:
# 去除末尾换行符
line = line.replace('\n','')
if line.startswith('>'):
# 去除 > 号
seq_name = line[1:]
fa_dict[seq_name] = ''
else:
# 去除末尾换行符并连接多行序列
fa_dict[seq_name] += line.replace('\n','')
return fa_dict
def DNA_rever_complement(sequence):
trantab = str.maketrans('ACGTacgt', 'TGCAtgca') # trantab = str.maketrans(intab, outtab) # 制作翻译表
string = sequence.translate(trantab) # str.translate(trantab) # 转换字符
string_tmp = list(string)[::-1]
string_fin = ''.join(string_tmp)
return string_fin
a=fasta2dict('40.txt')
# b=[]
b1=open("41.txt","w")
for i in a.keys():
b1.write(">"+str(i)+"\n")
a1=DNA_rever_complement(a[i])
b1.write(a1+"\n")