jflucier / ILL_pipelines

Isabelle Laforest-Lapointe Laboratory code
0 stars 1 forks source link

phylogeny sur nodes #74

Open jorondo1 opened 10 months ago

jorondo1 commented 10 months ago

salut, j'essaie de rouler phylophlan sur les noeuds et j'y arrive pas avec ce script : /home/def-ilafores/analysis/boreal_moss/Phylogeny/phylophlan_slurm.sh J'ai essayé avec et sans anchor en suivant les lignes que tu m'avais données pour loader le module, et chaque fois j'ai l'erreur dans le log:

/var/spool/slurmd/job3242814/slurm_script: line 26: phylophlan_write_config_file: command not found
/var/spool/slurmd/job3242814/slurm_script: line 32: phylophlan: command not found

Peux-tu m'aider?

jflucier commented 10 months ago

peux-tu me repaster les instructions ici pour me mettre en contexte stp. as-tu inclut ces commandes dans ton script?

jorondo1 commented 10 months ago

oui les instructions que tu m'avais données:

newgrp def-ilafores
ml gcc/9.3.0 python/3.11.5 muscle/3.8.1551 mafft/7.471 blast+/2.13.0 mugqic/usearch/10.0.240 diamond/2.0.9 trimal/1.4
source /home/def-ilafores/programs/phylophlan/venv/bin/activate
export PATH=/home/def-ilafores/programs/fasttree:$PATH
export PATH=/home/def-ilafores/programs/iqtree-2.2.2.6-Linux/bin:$PATH
export PATH=/home/def-ilafores/programs/standard-RAxML:$PATH
export PATH=/home/def-ilafores/programs/ASTER-Linux/bin:$PATH

cd /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/
mkdir /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/phylophlan
phylophlan_write_config_file \
-o novel_species_config_aa.cfg \
--force_nucleotides -d a --db_aa diamond --map_dna diamond \
--msa mafft --trim trimal \
--tree1 fasttree --tree2 raxml --overwrite

phylophlan --nproc 24 --verbose \
--genome_extension .fa -t a \
-i /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/genomes/ \
-o /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/phylophlan \
--diversity high --fast \
--databases_folder /fast/def-ilafores/phylophlan_db -d phylophlan \
-f novel_species_config_aa.cfg

dans le script /home/def-ilafores/analysis/boreal_moss/Phylogeny/phylophlan_slurm.sh c'est adapté un peu pour la commande.

Aussi, j'ai essayé de le rouler sur ip34 et avec 72 coeurs ça prend genre 8 heures placer 10 génomes, j'en ai ~1000 à faire. J'ai pas l'impression que c'est supposé être aussi lent, mais je sais pas trop où commencer pour comprendre pourquoi ça prend autant de temps.

jflucier commented 10 months ago

si ca prend 8hr sur ip34 direct... ca va etre long sur les noeuds.

Je vais checker ca

jflucier commented 10 months ago

je crois avoir compris l'inefficacite en partie.

la commancde suivante genere le config file:

phylophlan_write_config_file \
-o novel_species_config_aa.cfg \
--force_nucleotides -d a --db_aa diamond --map_dna diamond \
--msa mafft --trim trimal \
--tree1 fasttree --tree2 raxml --overwrite

Si tu ouvre ce fichier, on remarque que par defaut, pour plusieurs program, il specifie un seul threads:

[db_aa]
program_name = /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/diamond/2.0.9/bin/diamond
params = makedb
threads = --threads
input = --in
output = --db
version = version
command_line = #program_name# #params# #threads# #input# #output#

[map_dna]
program_name = /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/diamond/2.0.9/bin/diamond
params = blastx --quiet --threads 1 --outfmt 6 --more-sensitive --id 50 --max-hsps 35 -k 0 --query-gencode 11
input = --query
database = --db
output = --out
version = version
command_line = #program_name# #params# #input# #database# #output#

[map_aa]
program_name = /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/diamond/2.0.9/bin/diamond
params = blastp --quiet --threads 1 --outfmt 6 --more-sensitive --id 50 --max-hsps 35 -k 0
input = --query
database = --db
output = --out
version = version
command_line = #program_name# #params# #input# #database# #output#

[msa]
program_name = /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/mafft/7.471/bin/mafft
params = --quiet --anysymbol --thread 1 --auto
version = --version
command_line = #program_name# #params# #input# > #output#
environment = TMPDIR=/tmp

[trim]
program_name = /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/trimal/1.4/bin/trimal
params = -gappyout
input = -in
output = -out
version = --version
command_line = #program_name# #params# #input# #output#

[tree1]
program_name = /home/def-ilafores/programs/fasttree/FastTreeMP
params = -quiet -pseudo -spr 4 -mlacc 2 -slownni -fastest -no2nd -mlnni 4 -lg
output = -out
command_line = #program_name# #params# #output# #input#
environment = OMP_NUM_THREADS=3

[tree2]
program_name = /home/def-ilafores/programs/standard-RAxML/raxmlHPC-PTHREADS-SSE3
params = -p 1989 -m PROTCATLG
database = -t
input = -s
output_path = -w
output = -n
version = -v
command_line = #program_name# #params# #threads# #database# #output_path# #input# #output#
threads = -T

j'ai creer le fichier novel_species_config_aa.jfl.cfg et relancer. On ve voir si ca accelere le processus.

jflucier commented 10 months ago

non oubli mon precedent comment... pour diamond il creer 24 commande de 24 thread chacun.

Donc crinquer le nombre de threads et potentiellement ecrire et lire sur /fast pourrait aide... a part de ca pas de miracle.

je vais tester ca

jflucier commented 10 months ago

j'ai rouler cette commande:

cd /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species
phylophlan --nproc 48 --verbose --genome_extension .fa -t a -i /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/genomes/ -o /fast/def-ilafores/temp/phylophlan_jfl --diversity high --fast --databases_folder /fast/def-ilafores/phylophlan_db -d phylophlan -f novel_species_config_aa.jfl.cfg

ca terminer en une heure: 1:00:47 real, 94480.97 user, 575.93 sys, 0 amem, 809008 mmem

Je crois que diriger l'output vers le ssd est la solution.

petit truc pour tracker le temps d'exec quand tu tourne en local:

alias time="$(which time) -f '\t%E real,\t%U user,\t%S sys,\t%K amem,\t%M mmem'"
time ta_commande.sh
jorondo1 commented 10 months ago

awesome j'essaie ça avec mon gros set

jorondo1 commented 10 months ago

Bon, j'ai essayé avec ton config; je réussis les premières étapes qui prenaient beaucoup trop de temps (le mapping), mais j'ai un autre crash que je ne comprends pas.

[e] Command '['/home/def-ilafores/programs/fasttree/FastTreeMP', '-quiet', '-pseudo', '-spr', '4', '-mlacc', '2', '-slownni', '-fastest', '
-no2nd', '-mlnni', '4', '-lg', '-out', '/fast/def-ilafores/temp/phylophlan_jrl/genomes.tre', '/fast/def-ilafores/temp/phylophlan_jrl/genome
s_concatenated.aln']' returned non-zero exit status 1.

Le log complet est ici: /home/def-ilafores/analysis/boreal_moss/phylophlan.log Ma commande : phylophlan --nproc 48 \ --verbose --genome_extension .fna \ -t a -i /home/def-ilafores/analysis/boreal_moss/Phylogeny/genomes \ -o /fast/def-ilafores/temp/phylophlan_jrl \ --diversity high --fast \ --databases_folder /fast/def-ilafores/phylophlan_db -d phylophlan \ -f /home/def-ilafores/analysis/boreal_moss/MAG_analysis/novel_species/novel_species_config_aa.jfl.cfg

jflucier commented 9 months ago

c'est un fail du program FastTreeMP

peux-tu reessayer stp voir si ca passe cette fois. Ya eu des glitch electrique dernierement

je veux juste m'assurer que c'est replicable le bug.

Si tu replique je vais essaye de recompiler ou enlever le multithread

JF

jorondo1 commented 9 months ago

la même erreur revient

jflucier commented 9 months ago

Desole du delais.

je crois avec pinpoiter le bug:

(venv) |14:36:04|jflucier@ip34-rockylinux8:[boreal_moss]> /home/def-ilafores/programs/fasttree/FastTree -quiet -pseudo -spr 4 -mlacc 2 -slownni -fastest -no2nd -mlnni 4 -lg -out /fast/def-ilafores/temp/phylophlan_jrl/genomes.tre /fast/def-ilafores/temp/phylophlan_jrl/genomes_concatenated.aln 
Wrong number of characters for GCA_019245115.1: expected 16570 but have 11726 instead.
This sequence may be truncated, or another sequence may be too long.

Il semble avoir un bug avec cette entree dans ton input. C'est la premiere entree du fichier genomes_concatenated.aln

jflucier commented 9 months ago

voir cet issue

jorondo1 commented 8 months ago

Ça semble avoir été ça le problème pour le runtime. J'arrive cependant toujours pas à rouler via les noeuds, c'est peut-être mieux vu que j'ai 1000 génomes à classer. Avec ce script:

/home/def-ilafores/analysis/boreal_moss/Phylogeny/phylophlan_slurm.sh

j'obtiens cette erreur que je ne comprends pas : /nfs3_ib/nfs-ip34/home/def-ilafores/analysis/boreal_moss/Phylogeny/phylophlan_job_3926446.err

comme si j'arrivais pas à loader le programme, pourtant j'ai bien ajouté les anchor à tous les path

jflucier commented 8 months ago

phylophlan est pas loader correctement

as-tu fait le source de ton env avant la commande phylophlan?

newgrp def-ilafores
ml gcc/9.3.0 python/3.11.5 muscle/3.8.1551 mafft/7.471 blast+/2.13.0 mugqic/usearch/10.0.240 diamond/2.0.9 trimal/1.4
source /home/def-ilafores/programs/phylophlan/venv/bin/activate
jorondo1 commented 8 months ago

oui c'est dans mon script, veux-tu dire que je dois pas mettre ça dans mon script slurm mais plutôt le rouler avant de caller mon script slurm?

jflucier commented 8 months ago

essaie d'y aller minimal en 1er pour vois si 'env est loader correctement. Met juste ces lignes dans ton script voir:

newgrp def-ilafores
ml gcc/9.3.0 python/3.11.5 muscle/3.8.1551 mafft/7.471 blast+/2.13.0 mugqic/usearch/10.0.240 diamond/2.0.9 trimal/1.4
source /home/def-ilafores/programs/phylophlan/venv/bin/activate

phylophlan -h

si ca passe c'est ton script le probleme. Si tu as la meme erreur, on dirait que l'env ne fonctionne pu.

Je viens de verifier ton header, pk tu roules pas ca en local? Ca l'air etre lourd comme analyse.

jflucier commented 8 months ago

bon je viens de me logger comme toi et ton login preload deja un env

je viens de commenter ces ligne de ton bashrc

si tu refais un source, tu entre dans un env de env ce qui est pas bon. D'apres moi, c'est ce qui se passait sur les noeud de calcul.

jorondo1 commented 8 months ago

ah je comprends, ça devrait être bon. Live je roule en local, c'est juste que cet automne c'est arrivé que des personnes m'ont écrit parce que je ralentissais ip34 même juste avec 48 cores, une affaire de "switch" que j'ai pas trop compris, donc je voulais essayer de le faire via les noeuds. Mais là j'ai déjà ~12% de fait en environ 1h en local donc ça va finir overnight d'après moi.

jorondo1 commented 8 months ago

Je m'excuse de réouvrir ça, mais j'arrive toujours pas à lancer Phylophlan sur les noeuds.

Lmod has detected the following error: The following module(s) are unknown:
"blast+/2.13.0"

J'utilise copier-coller la commande ci-haut dans mon script pour loader les modules, et je n'ai rien de loadé localement comme tu m'avais recommandé.

newgrp def-ilafores
ml gcc/9.3.0 python/3.11.5 muscle/3.8.1551 mafft/7.471 blast+/2.13.0 mugqic/usearch/10.0.240 diamond/2.0.9 trimal/1.4
source /home/def-ilafores/programs/phylophlan/venv/bin/activate

As-tu une solution? Le script que j'essaie de run : /home/def-ilafores/analysis/boreal_moss/scripts/Phylophlan.sh

jflucier commented 8 months ago

bon, plusieurs module ne sont plus supporter par calcul canada sur mp2.

J'ai donc refait phylophlan mais cette fois ca tourne dans un container singularity.

newgrp def-ilafores
ml apptainer
singularity exec --writable-tmpfs -e \
/home/def-ilafores/programs/ILL_pipelines/containers/phylophlan.3.0.3.sif \
phylophlan --version

oubli pas d'inclue tes bind path (-B) pour tes input output envoyer a phylophlan

Si tu as besoin d'aide ping sur slack

jorondo1 commented 8 months ago

J'ai réussi! Note importante, faut aussi mettre les anchor dans le config, ça m'a fait chercher cette erreur là 🙃 merci pour ton aide

jorondo1 commented 8 months ago

J'ai parlé trop vite... Phylophlan a commencé son travail, mais aussitôt le mapping commencé ça crash:

[e] Command '['/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/diamond/2.0.9/bin/diamond', 'blastx', '--quiet', '--threads', '1', '--outfmt', '6', '--more-sensitive', '--id', '50', '--max-hsps', '35', '-k', '0', '--query-gencode', '11', '--query', '/nfs3_ib/nfs-ip34/fast/def-ilafores/temp/phylophlan_accurate/tmp/clean_dna/Green_AO.bin.6.fna', '--db', '/nfs3_ib/nfs-ip34/fast/def-ilafores/phylophlan_db/phylophlan/phylophlan.dmnd', '--out', '/nfs3_ib/nfs-ip34/fast/def-ilafores/temp/phylophlan_accurate/tmp/map_dna/Green_AO.bin.6.b6o.bkp']' died with <Signals.SIGABRT: 6>.

[e] cannot execute command
    command_line: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/diamond/2.0.9/bin/diamond blastx --quiet --threads 1 --outfmt 6 --more-sensitive --id 50 --max-hsps 35 -k 0 --query-gencode 11 --query /nfs3_ib/nfs-ip34/fast/def-ilafores/temp/phylophlan_accurate/tmp/clean_dna/Green_AO.bin.6.fna --db /nfs3_ib/nfs-ip34/fast/def-ilafores/phylophlan_db/phylophlan/phylophlan.dmnd --out /nfs3_ib/nfs-ip34/fast/def-ilafores/temp/phylophlan_accurate/tmp/map_dna/Green_AO.bin.6.b6o.bkp
           stdin: None
          stdout: None
             env: {'APPTAINER_APPNAME': '', 'APPTAINER_BIND': '/cvmfs,/nfs3_ib/nfs-ip34/fast,/nfs3_ib/nfs-ip34/home', 'APPTAINER_COMMAND': 'exec', 'APPTAINER_CONTAINER': '/nfs3_ib/nfs-ip34/home/def-ilafores/programs/ILL_pipelines/containers/phylophlan.3.0.3.sif', 'APPTAINER_ENVIRONMENT': '/.singularity.d/env/91-environment.sh', 'APPTAINER_NAME': 'phylophlan.3.0.3.sif', 'HOME': '/home/ronj2303', 'LANG': 'C', 'LD_LIBRARY_PATH': '/.singularity.d/libs', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'PROMPT_COMMAND': 'PS1="Apptainer> "; unset PROMPT_COMMAND', 'PS1': 'Apptainer> ', 'PWD': '/nfs3_ib/nfs-ip34/home/def-ilafores/analysis/boreal_moss/Phylogeny_accurate', 'SINGULARITY_BIND': '/cvmfs,/nfs3_ib/nfs-ip34/fast,/nfs3_ib/nfs-ip34/home', 'SINGULARITY_CONTAINER': '/nfs3_ib/nfs-ip34/home/def-ilafores/programs/ILL_pipelines/containers/phylophlan.3.0.3.sif', 'SINGULARITY_ENVIRONMENT': '/.singularity.d/env/91-environment.sh', 'SINGULARITY_NAME': 'phylophlan.3.0.3.sif', 'TERM': 'xterm-256color', 'LC_CTYPE': 'C.UTF-8'}

voir log complet : /home/def-ilafores/analysis/boreal_moss/Phylogeny_accurate/logs/phylophlan-4149615_4294967294.slurm.out

jflucier commented 8 months ago

as-tu loader diamond via les module?

le seul module loader dans ta session devrait etre apptainer. Dans ton log ca indique quil va chercher celui sur le systeme de module

jorondo1 commented 8 months ago

je viens d'essayer avec une session fraîche et pour l'insntant rien ne part; l'environnement load et après 25 minutes sur les noeuds il ne s'est rien passé, voir less Phylogeny_accurate/logs/phylophlan-4149657_4294967294.slurm.out (la job roule toujours). Avec le même script hier j'avais les premières étapes du output phylophlan après 20-30 secondes qui printaient dans le log.