功能:将fasta格式的序列文件按照特定位置切分为前后两部分,并存为两个新的fasta文件。

其中,f是待切分的序列文件;f1、f2分别是切分后产生的文件;m为切割分界线位置;n为比对后序列全长。

关键知识为将fasta格式序列中的物种名定义为健、序列定义为值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
f = open("PRM2-61.fas")
f1=open("61-qian.fas","a")
f2=open("61-hou.fas","a")
m=144
n=306
seq = {}
for line in f:
if line.startswith('>'):
name=line.replace('>','').split()[0]
seq[name]=''
else:
seq[name]+=line.replace('\n','').strip()
f.close()
#print(seq.keys())
species=seq.keys()
#print(species)
for ecsh_spe in species:
line1=seq[ecsh_spe][0:m]
line2=seq[ecsh_spe][m:n]
#print(line1)
f1.write('>'+ecsh_spe+"\n"+line1+"\n")
#print(line2)
f2.write('>'+ecsh_spe+"\n"+line2+"\n")
f.close()