如果发现索引错误,如何将字符串传递给变量?考虑代码:
for l1, l2 in zip(open('file1.list'), open ('file2.list')):
a=fasta1[int(l1)]
b=fasta2[int(l2)]
alignments = pairwise2.align.globalxx(a,b)
top_aln = alignments[0]
aln_a, aln_b, score, begin, end = top_aln
print aln_a+'\n'+aln_b
outfast1 = aln_a
outfast2 = aln_b
必须导入其中许多函数(pairwise2 align),但 file.lists 是单列文本文件,每行有一个序列 ID(文本和数字),用于从 fasta1 和 fasta2 文本文件中提取。
基本上,我想try:
列出每个命令a=fasta1[int(l1)]
(像“GGG”这样的文字:
for l1, l2 in zip(open('file1.list'), open ('file2.list')):
try:
a=fasta1[int(l1)]
except IndexError,e:
a="GGG"
continue
try:
b=fasta2[int(l2)]
except (IndexError):
b="CCC"
continue
这段代码不能很好地工作(当与上面的代码集成时),考虑到我缺乏 python 能力,这并不奇怪,但我不太清楚为什么。尽管有打印调用,我实际上没有得到文本输出......我在想这个吗?如果索引中没有错误,我只希望它继续并进行成对对齐(使用第一个 a 和 b 变量),然后将一些文本打印到标准输出。
有任何想法吗?