只用所需的碱清洗序列?

时间:2014-05-02 06:29:39

标签: python

我有一个FastA文件,对于输出我只想要打印文件中的序列。我有这个,但我也只想从那个序列打印某些字母 - (A,C,T,G,N和U)。有人可以给我一个大纲,告诉我如何做这个for循环,任何机会?这就是我在我的"清洁序列"方法,但我认为格式是关闭的。 nucParams是我的班级。:

clean = ''
        for aa in self.fastAsequence:
            if letter in nucParams.base_list:
                clean += letter
                self.clean = clean
            print(self.clean)

以下是我放入代码的 init 部分的列表:

base_list =(" A"," C"," T"," G"," N" ," U")

1 个答案:

答案 0 :(得分:0)

您需要定义letter。大概是:

for letter in self.fastAsequence:

但请注意:

clean += letter
self.fastAsequence越长,

将变得指数级慢。所以你可能想把字母收集到一个数组中,然后在最后做一个join

每次循环打印clean都会减慢速度并产生大量输出。