potential bug quantification_cluster.py
Il me semble qu'il y a un bug dans ce programme l'outil sert à reporter/aggloméré la quantification de chaque gène (feature counts) obtenu à l'échelle de chaque individus au niveau des gènes "graines" obtenus après clustering intra-individus puis inter-individus.
Il y a 2 fonctions qui utilisent les noms des fichiers features_count (l'une stocke les infoslinking_counts_and_clusters
), l'autre écris les résultats (writing_outputs
).
Dans l'une la liste des fichiers est triée linking_counts_and_clusters: for (count_idx,counts_path) in enumerate(sorted(files_of_counts)):
, alors que dans la fonction d'écriture ce n'est pas le cas.
Normalement cela ne pose pas de problème car en input de ce programme on fourni une liste de fichier feature count via une commande ls
qui donc tri les fichiers (https://forgemia.inra.fr/genotoul-bioinfo/metagwgs/-/blob/master/modules/feature_counts.nf#L25).
Sauf que:
ls *feat*test.tsv > List_of_count_files.txt
# AN_coA.featureCounts_test.tsv AN.featureCounts_test.tsv AT_coA.featureCounts_test.tsv AT.featureCounts_test.tsv
with open("List_of_count_files.txt") as fcounts_list:
files_of_counts = fcounts_list.read().split()
print(files_of_counts )
# ['AN_coA.featureCounts_test.tsv', 'AN.featureCounts_test.tsv', 'AT_coA.featureCounts_test.tsv', 'AT.featureCounts_test.tsv']
print(sorted(files_of_counts ))
# ['AN.featureCounts_test.tsv', 'AN_coA.featureCounts_test.tsv', 'AT.featureCounts_test.tsv', 'AT_coA.featureCounts_test.tsv']
dans python il semble que le caractère .
est ordonné avant _
, alors que c'est l'inverse sous unix.
Dans la mesure où tous les noms des échantillons sont très souvent structurés de la même manière cela ne doit pas avoir une forte influence ... mais bon. Mon avis: il est inutile de trier.