Des analyses avec des BAM ne fonctionnent pas
Je tombe depuis quelques jours sur des bugs lors de lancement d'analyses de fichiers BAM
.
Au début, comme il y avait des souci avec le missing id, je pensais à un lien. Il apparaît très clairement maintenant que le souci est ailleurs. En regardant le log complet de vidjil, je me rend compte qu'il est incapable de traiter le fichier :
vidjil-algo: bam.cpp:77: virtual void OnlineBAM::next(): Assertion `(bam_entry->core.flag & (1 | 64 | 128)) == 0' failed.
Je ne comprend pas vraiment l'erreur. Comme je n'ai pas d'autres fihciers bam en main, j'en ai téléchargé un depuis le serveur vidjil poru faire des tests. Il se trouve que sur celui-ci vidjil fonctionne parfaitement. J'ai alors pensé à des fichiers corrompus. J'ai alors voulu lancé une analyse via la commande suivante:
samtools quickcheck -v *.bam > bad_bams.fofn && echo 'all ok' || echo 'some files failed check, see bad_bams.fofn'
Le résultat montre que les deux fichiers (celui compatible vidjil et l'autre) sont à priori correctement formatés.
En soit, il ne semble donc pas être corrompus. Je vais quand même demander à l'utilisateur de me fournir un md5sum au cas ou. Le souci est que si l'erreur est en amont, a sa propore génération par le séquenceur, ca ne résoudra pas le souci. en attendant, si ce n'est pas la source de l'erreur, je ne sais pas quoi faire d'autre.
@mikael-s : Toi qui a dev la fonction pour les BAM, tu as une idée de la raison ?