因此,我有一个tsv文件,格式如下:
Gene version start end
ADK 1 23,45,67,89 30,51,79,96
ADK 2 23,67,89 30,79,96
ADK 3 23,89 30,96
我想创建一个字典,只包含一个特定基因的所有3个版本中通用的开始和结束。词典应采用以下格式:
{'ADK':{'start':[23,89], 'end':[30.96]}
我目前正在尝试的代码是:
def get_strong_ranges(file):
for entry in utils.records_iterator(file):
if entry['gene'] not in gene_exons:
gene_exons[entry['gene']] = {'start': list(),'end': list()}
gene_exons[entry['gene']]['start'].append(entry['start'])
gene_exons[entry['gene']]['end'].append(entry['end'])
然而,我还没有整理出常见的问题。关于如何做的任何建议
将“开始”列从列表转换为数字:
计算每个“开始”值的版本数:
将其与唯一版本的数量进行比较:
仅取以下值:
现在,按基因分组并转换为列表:
最后,我们可以将其转换为dict:
现在,您可以对结束列应用相同的设置
希望有帮助:)
相关问题 更多 >
编程相关推荐