Each deconvolution methods has their own output categories. Therefore we aggregated the different categories to negative, doublet or singlet/hto-label to make results comparable. However, sometimes deconvolution methods had unexpected output categories (e.g. the assignment "" in demuxem, see #81 ) or a module changed hto labels (see #75). To check for that we could add a testing method to all modules in hash_summary.py and gene_summary.py.
For example as done here (hash_summary.py)
def classify_value(x):
if x in valid_values:
return x
elif x in args.hash_list:
return args.singlet_str
else:
raise ValueError(f"Value '{x}' in BFF is not 'Negative', 'Doublet', or one of the hashes in the used hashes list")
Each deconvolution methods has their own output categories. Therefore we aggregated the different categories to negative, doublet or singlet/hto-label to make results comparable. However, sometimes deconvolution methods had unexpected output categories (e.g. the assignment
""in demuxem, see #81 ) or a module changed hto labels (see #75). To check for that we could add a testing method to all modules inhash_summary.pyandgene_summary.py.For example as done here (
hash_summary.py)