def split_genes_by_genomes(genes, genomes):
""" Returns a list of lists [genome1, genome2, ...]
where genome1 = [gene1,gene2,...].
Args:
genes - list of Gene tuples
genomes - list of genome names, e.g. ['hg19', 'mm10']
"""
assert len(genomes) > 0
if len(genomes) == 1:
return [genes]
d = collections.defaultdict(list)
for gene in genes:
genome = get_genome_from_str(gene.id, genomes)
d[genome].append(gene)
genes_per_genome = []
for genome in genomes:
genes_per_genome.append(d[genome])
return genes_per_genome
评论列表
文章目录