Erreur sur sortie longQC

Bonjour,
j'ai utilisé longQC sur des données ONT et j'ai certains runs qui sortent en erreur ... j'arrive a avoir des sorties ok mais d'autres crashent et je ne sais pas pourquoi.
quand je lance une seule ligne pour un fastq j'ai cette erreur :

lq_coverage:2021-03-16 18:57:46,714:374:INFO:Coordinates of coverage analysis were parsed.
Traceback (most recent call last):
  File "/opt/LongQC/longQC.py", line 933, in <module>
    main(args)
  File "/opt/LongQC/longQC.py", line 63, in main
    args.handler(args)
  File "/opt/LongQC/longQC.py", line 598, in command_sample
    lc.plot_length_vs_coverage(fig_path_cl)
  File "/opt/LongQC/lq_coverage.py", line 461, in plot_length_vs_coverage
    self.__check_outlier_coverage(interval)
  File "/opt/LongQC/lq_coverage.py", line 482, in __check_outlier_coverage
    meds = stats['median'][np.where(stats['size']>=LqCoverage.LENGTH_BIN_THRESHOLD)[0]]
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/series.py", line 908, in __getitem__
    return self._get_with(key)
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/series.py", line 943, in _get_with
    return self.loc[key]
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 879, in __getitem__
    return self._getitem_axis(maybe_callable, axis=axis)
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1099, in _getitem_axis
    return self._getitem_iterable(key, axis=axis)
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1037, in _getitem_iterable
    keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1254, in _get_listlike_indexer
    self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing)
  File "/opt/conda/lib/python3.8/site-packages/pandas/core/indexing.py", line 1315, in _validate_read_indexer
    raise KeyError(
KeyError: "Passing list-likes to .loc or [] with any missing labels is no longer supported. The following labels were missing: Int64Index([2, 3], dtype='int64', name='Binned read length'). See https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike"
srun: error: cpu-node-18: task 0: Exited with exit code 1

est ce que je dois en référer sur leur github ? je ne comprends pas ce que ça veut dire ...

Comme d'habitude, merci pour votre retour :smiley:
Chloé

ping @team.ifbcorecluster

OUI :+1:
Cela semble en effet plus être lié à l'outil qu'à l'installation. Si toutefois, ils t'expliquent que c'est un problème d'installation ou d'environnement, nous pourrons réagir.

Tu peux me ping dans ton issue @lecorguille si tu veux.

bonjour @gildaslecorguille ,

suite à nos échanges avec yfukasawa sur longQC, serait-il possible d'installer la version 1.2 de longQC ?
Merci beaucoup dans tous les cas !
bonne journée

Chloé

Yes, je m'y mets

:+1: :+1: merci !!!

Chloé

Hop:

module load longqc/1.2.0b

Merci beaucoup pour l'installation @gildaslecorguille
je viens de le faire tourner avec la ligne suivante
srun longQC.py sampleqc -x ont-rapid -s ${sample} -p 30 -o ${folder_sampleqc}/${sample}_rawreads-rapid ${long_read}
il commence a tourner mais ce met en erreur au bout de quelques minutes avec ce message :
Traceback (most recent call last):
File "/opt/LongQC/longQC.py", line 957, in
main(args)
File "/opt/LongQC/longQC.py", line 63, in main
args.handler(args)
File "/opt/LongQC/longQC.py", line 370, in command_sample
df_mask = pd.read_table(lm.get_outfile_path(), sep='\t', header=None)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 689, in read_table
return _read(filepath_or_buffer, kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 462, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 819, in init
self._engine = self._make_engine(self.engine)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1050, in _make_engine
return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1898, in init
self._reader = parsers.TextReader(self.handles.handle, **kwds)
File "pandas/_libs/parsers.pyx", line 521, in pandas._libs.parsers.TextReader.cinit
pandas.errors.EmptyDataError: No columns to parse from file
srun: error: cpu-node-39: task 0: Exited with exit code 1

est ce compréhensible pour vous ou je dois en référer au github ?
merci pour votre retour !!

Chloé

Désolé, mais je t'enverrais bien encore une fois vers GitHub :crossed_fingers:

Bonjour @gildaslecorguille ,

je suis allée demander à Yoshinori et voici sa réponse ... je vous la transfère car je ne suis pas bien sure de pouvoir vérifier moi même ...
Merci encore pour tout

Chloé

Hi @ChloeAmbroset,

Thank you for letting me know.
The error looks unrelated to the issue revised recently, unfortunately, so let me ask a below question to trouble shoot.

  1. do you get some errors when you execute below? (from the command, I understood LongQC was installed under /opt)
    /opt/LongQC/minimap2-coverage/sdust

the expected message is below:

Usage: sdust [-w 64] [-t 20] <in.fa>.

If you don't get the above message, a program 'sdust' may haven't run in your environment due to some reasons.
This may not be the case, but let me check this point first.

Yoshinori

En effet, my bad !
Je suis en train de réparer l'erreur :

@Chloe Tu peux retenter ! :crossed_fingers:

c'est en cours .... ça tourne ... je vous dirai demain ! :grin:

Bonne soirée

Chloé

Bonjour,
J'ai également depuis quelques jours essayé d'utiliser l'outil LongQC avec des erreurs et ravie de voir que les choses avaient été réglées, j'ai relancé hier mais sans succès...Toujours la même erreur pour moi (voir mess de @Chloe).
Novice j'ai également du mal à gérer l'allocation de la mémoire pour cet outil ...je me fais régulièrement jeter aussi. Un conseil ?

je suis aussi d'accord avec @eflaven , je me fais jeter et je ne sais pas quelle mémoire allouer au calcul. Sur les jobs lancés hier en parallèle, un seul est fini, les autres tournent encore et je pense que je vais me faire jeter car ça risque de tourner plus de 24h et c'est bizarre juste pour une donnée de qualité de raw data (je travaille sur des mycoplasmes, même pas des eucaryotes !!!! ;-))

Chloé

Pouvez-vous me pointer le message d'erreur en question ?

Le problème de sdust devrait être réglé

Oui voici le message :

Traceback (most recent call last):
File "/opt/LongQC/longQC.py", line 957, in
main(args)
File "/opt/LongQC/longQC.py", line 63, in main
args.handler(args)
File "/opt/LongQC/longQC.py", line 603, in command_sample
lc = LqCoverage(cov_path, isTranscript=args.transcript, control_filtering=pb_control)
File "/opt/LongQC/lq_coverage.py", line 88, in init
self.df = pd.read_table(table_path, sep='\t', header=None)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 689, in read_table
return _read(filepath_or_buffer, kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 462, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 819, in init
self._engine = self._make_engine(self.engine)
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1050, in _make_engine
return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
File "/opt/conda/lib/python3.8/site-packages/pandas/io/parsers.py", line 1898, in init
self._reader = parsers.TextReader(self.handles.handle, **kwds)
File "pandas/_libs/parsers.pyx", line 521, in pandas._libs.parsers.TextReader.cinit
pandas.errors.EmptyDataError: No columns to parse from file

Merci !

Il n'y a pas de solution magic :sparkles:

Pour la mémoire, c'est essai erreur. Vous pouvez prendre large et voir par la suite pour réduire. Ou vous pouvez regarder dans la littérature ou dans les différents forums pour voir si il y a des recommendations.

Pour la durée du job, vous pouvez préciser une partition qui autorise plus de temps de calcul.

Un peu de doc : https://ifb-elixirfr.gitlab.io/cluster/doc/slurm_user_guide

Cela devrait ressembler à ça grossièrement :

#!/bin/bash
#SBATCH --partition long
#SBATCH --mem 16GB
#SBATCH --cpus-per-task=4

module load longqc/1.2.0b

longQC.py --ncpu  $SLURM_CPUS_PER_TASK to_be_completed

Pourtant, a priori, ça semble bon pour sdust:

[clust-slurm-client ~]$ singularity exec /shared/software/singularity/images/longqc-1.2.0b.sif /opt/LongQC/minimap2-coverage/sdust
WARNING: Bind mount '/shared/home/glecorguille => /shared/home/glecorguille' overlaps container CWD /shared/home/glecorguille, may not be available
Usage: sdust [-w 64] [-t 20] <in.fa>

Je vais tenter quelque chose avant de solliciter les développeurs :slight_smile:

Merci merci pour les infos !! Et ok on attend de voir :wink: