我有一个像这样行的文件:
NM_198212 chr7 + 115926679 115935830 115927071 11593344 2 115926679,115933260,(对此列感兴趣,这些数字被称为外显子开始) 115927221,115935830,(而这个,这些被称为外显子结束)
最后两列(逗号分隔的列)可以包含可变数量的整数。这意味着它可以有五个用逗号分隔的数字,甚至是 15。
如果我有文件的第一行,我会想要这样一行:
NM_198212|chr7(+):115926679-115935830|115926679-115927221,115933260-115935830(但这可以根据给定的开始和结束的数量继续)
在更简单的范围内:
近乎_???chr12 - 10 110 10 110 3 10,50,100, 20,60,110,
我希望该信息行的结尾是 10-20,50-60,100-110
如何编写代码以使我要输出的行的末尾包括其中的每一个,而不管数字的数量如何。
我有这段代码,如果有帮助的话,它将配对所有的开始和结束。
fp = (infile, 'r')
for line in fp:
tokens = line.split()
exonstarts = tokens[8][:-1].split(',')
exonends = tokens[9][:-1].split(',')
zipped = list(zip(exonstarts, exonends))
对于上面的示例,zipped 将是 [(10, 20), (50, 60), (100, 110)]。我的问题是如何将其合并到我想要的信息行中(我已经写了整个表达式,除了包含开始和结束的部分。
因此,我不知道如何将这些从列表中取出并转换为我想要的格式。