根据索引的字符从列表列表中提取列表

时间:2019-10-09 22:25:26

标签: python list bioinformatics

我有一个列表列表,称为dregeiSNP:

[['ACmerged_contig_24664', '378', '.', 'T', 'A', '7.30814', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:36,3,0'],
 ['ACmerged_contig_24664', '379', '.', 'G', 'A', '4.38466', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:32,3,0'],
 ['ACmerged_contig_24664', '383', '.', 'G', 'A', '7.30814', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,0,1;MQ=36', 'GT:PL', '1/1:36,3,0']]

我正在尝试根据list[3]list[4]中的字母将其中的列表放入不同的列表中。如果list[3]list[4]中的字符都是'T'或'C',或者都是'A'或'G',我希望这些行进入一个列表dregeiTransitions,否则,我希望这些行进入dregeiTransversions

最后我将将此代码用于更大的数据集。

我已经编写了这段代码:

dregeiTransitions = []
dregeiTransversions = []
for (line, list) in enumerate(dregeiSNPs):
    if list[3] == 'T' or 'C' and list[4] == 'T' or 'C':
        dregeiTransitions.append()
    if list[3] == 'A' or 'G' and list[4] == 'A' or 'G':
        dregeiTransitions.append()
    else:
        dregeiTransversions.append()

但是我得到这个错误:

  File "project1.py", line 42, in <module>
    dregeiTransitions.append()
TypeError: append() takes exactly one argument (0 given)

有人可以解释为什么会这样吗?除非满足以上.appendif的条件,否则我肯定不会到达else的声明吗?

1 个答案:

答案 0 :(得分:2)

您必须告诉它要追加的内容。将附件更改为:dregeiTransitions.append(list),它应该可以工作。