DNAscent v4

Bonjour
j’essaie d’installer DNAscent v4 mais j’ai un soucis avec des librairies (llzma lbz2 lz)
La doc est là : Download & Installation — DNAscent 4.0.1 documentation
J’ai fait module load gcc/9.3.0
avant de lancer la commande make car le gcc par défaut est trop ancien. Mais ça plante avec l’erreur :

[mhennion @ core-login1 16:37]$ DNAscent : make
Makefile:96: warning: ignoring prerequisites on suffix rule definition
g++ -o bin/DNAscent -Wall -O2 -fopenmp -std=c++14 -I./hdf5-1.8.14/hdf5/include -I./htslib -I./fast5/include -I./tensorflow/include -fPIC src/main/DNAscent.cpp src/alignment.o src/common.o src/data_IO.o src/detect.o src/event_handling.o src/forkSense.o src/htsInterface.o src/index.o src/probability.o src/tensor.o src/trainCNN.o src/trainGMM.o src/scrappie/event_detection.o src/scrappie/scrappie_common.o src/pfasta/pfasta.o ./htslib/libhts.a ./hdf5-1.8.14/hdf5/lib/libhdf5.a -Wl,-rpath,/shared/ifbstor1/projects/bi4edc/DNAscent/tensorflow/lib -L tensorflow/lib -ltensorflow -ldl -llzma -lbz2 -lm -lz
/shared/ifbstor1/software/miniconda/envs/gcc-9.3.0/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -llzma
/shared/ifbstor1/software/miniconda/envs/gcc-9.3.0/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lbz2
/shared/ifbstor1/software/miniconda/envs/gcc-9.3.0/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
make: *** [Makefile:106: bin/DNAscent] Error 1

Il est indiqué dans la doc qu’il faut installer lzma-dev, liblzma-dev, et libbz2-dev. Est-ce possible de les installer dans l’env gcc-9.3.0 ? Ou de créer un module avec DNAscent v4? ou de me guider pour faire cette installation ?

Merci d’avance!!

Magali

Hello @Magali

Je ne tombe pas sur la même erreur. Tente de charger l’environnement de cette façon plutôt sinon il va manquer des variables d’environnement:

eval "$(/opt/conda/bin/conda shell.bash hook)"
conda activate /shared/software/conda/envs/gcc-9.3.0/

Après j’ai essayé de compiler le programme mais je tombe sur cette erreur:

gcc -g -Wall -O2 -I.  -c -o bgzf.o bgzf.c
In file included from bgzf.c:43:
htslib/bgzf.h:35:10: fatal error: zlib.h: No such file or directory
   35 | #include <zlib.h>
      |          ^~~~~~~~
compilation terminated.
make[1]: *** [Makefile:121: bgzf.o] Error 1
make[1]: Leaving directory '/shared/home/rey/dnascent/DNAscent/htslib'
make: *** [Makefile:48: htslib/libhts.a] Error 255

Mais zlib.h est bien présent dans /shared/software/conda/envs/gcc-9.3.0/include/ donc je pense qu’il y a une bidouille à faire au niveau du Makefile.