def _compare_entries(self, ids, selector="maf", selector_list=None):
"""
Gets data from dictionary for each duplicate SNP according to 'selector'
and returns the allele identification of the best entry.
Selector list currently sorts descending, that is all selector values must be ranked highest value ("best") -
this is the case for MAF, Call Rate, Rep, Read Counts ...
Later rank the data by QC Score.
"""
if selector_list is None:
entries_stats = [[i, self.data[i][selector]] for i in ids]
entries_ranked = sorted(entries_stats, key=operator.itemgetter(1), reverse=True)
else:
entries_stats = [[i] + [self.data[i][selector] for selector in selector_list] for i in ids]
entries_ranked = sorted(entries_stats, key=operator.itemgetter(*[i for i in range(1, len(selector_list)+1)]),
reverse=True)
return entries_ranked[0][0]
########################################################################################################################
评论列表
文章目录