在阵列中排列DNA碱基对

时间:2011-10-10 04:52:48

标签: python arrays

尝试将一系列碱基对导入数组。

我希望它以['AA','AT','AG','AC'...]

的形式出现

这是我的代码:

paths = [str(x[4:7]) for x in mm_start]

paths
['A A', 'A T', 'A G', 'A C', 'T A', 'T T', 'T G', 'T C', 'G A', 'G T', 'G G', 'G C', 'C A', 'C T', 'C G', 'C C']      

我在字母之间留下了空格! 这个strip命令也没有帮助。

paths = str(paths).replace(" ","")

paths
"['AA','AT','AG','AC','TA','TT','TG','TC','GA','GT','GG','GC','CA','CT','CG','CC']"

现在我在这个数组的开头和结尾得到一个(“)。

非常欢迎任何想法!

文本文件具有布局的碱基对

1 2 3 4 A A
1 2 3 1 A T
...

由于

2 个答案:

答案 0 :(得分:0)

您正在将列表转换为字符串。你真的想说

paths = [pair.replace(" ", "") for pair in paths] 

迭代字符串列表中的每一对并删除空格而不是将整个列表转换为字符串。

答案 1 :(得分:0)

paths = str(paths).replace(" ","")

当然它不起作用,因为您将列表转换为字符串(并且您没有将其转换回来)。您需要做的是将replace应用于列表的每个元素,而不是列表的字符串表达式。

paths = [str(x[4:7]).replace(" ","") for x in mm_start]

(这只是众多的一种方式)。