Evolinc / Evolinc-I

2 stars 3 forks source link

Running evolinc on a cluster #16

Closed luciaq21 closed 4 years ago

luciaq21 commented 4 years ago

Hi, I am interested in using the evolinc pipeline. I work on a cluster and that's where all my data is, so I want to run evolinc on a cluster using the command line. I tried to get docker, but it is not possible to get it on a cluster and I cannot install it otherwise. Is there a way I can run evolinc on the commandline on the cluster without docker?

andrew-d-l-nelson commented 4 years ago

Hi - is Singularity installed on your HPC? If so, running the Dockerized Evolinc, RMTA, or Evolinc-II containers are super easy.

We have a bit of verbiage about running docker containers within singularity (on an HPC) in the RMTA readme, but for simplicity I have copied it here (it would essentially work the same, just change containers and flags):

Using RMTA on a High-Performance Computer (HPC) Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way. Singularity is also good friends with Docker, hence the RMTA docker containers can be deployed on HPC using Singularity. See more documentation here.

When using Singularity When using Singularity, you just have to replace docker run --rm $PWD:/data -w /data evolinc/rmta:2.6.3 with singularity run docker://evolinc/rmta:2.6.3. For example:

transcriptome guided assembly using Salmon

singularity run docker://evolinc/rmta:2.6.3 -r athal.fa.gz -s SRR2037320 -y "PE" -e -O final_out -p 6

luciaq21 commented 4 years ago

Hi, yes Singularity is on the HPC! Do I still need to install Docker? I get this error message: singularity run docker pull evolinc/evolinc-i:1.7.5 FATAL: could not open image /home/luciaq/scratch/docker: failed to retrieve path for /home/luciaq/scratch/docker: lstat /scratch/luciaq/docker: no such file or directory

andrew-d-l-nelson commented 4 years ago

What version of singularity is installed on your HPC? When I run the command: singularity pull docker://evolinc/evolinc-i:1.7.5

everything runs correctly (i.e., Evolinc-I gets pulled). I am running Singularity v2.5.2

luciaq21 commented 4 years ago

I am using version 3.5 I ran the exact command that you had and it works at first, but I get these warnings: 2020/05/27 22:49:26 warn rootless{dev/audio} creating empty file in place of device 14:4 2020/05/27 22:49:26 warn rootless{dev/audio1} creating empty file in place of device 14:20 2020/05/27 22:49:26 warn rootless{dev/audio2} creating empty file in place of device 14:36 2020/05/27 22:49:26 warn rootless{dev/audio3} creating empty file in place of device 14:52 2020/05/27 22:49:26 warn rootless{dev/audioctl} creating empty file in place of device 14:7 2020/05/27 22:49:26 warn rootless{dev/console} creating empty file in place of device 5:1 2020/05/27 22:49:26 warn rootless{dev/dsp} creating empty file in place of device 14:3 2020/05/27 22:49:26 warn rootless{dev/dsp1} creating empty file in place of device 14:19 2020/05/27 22:49:26 warn rootless{dev/dsp2} creating empty file in place of device 14:35 2020/05/27 22:49:26 warn rootless{dev/dsp3} creating empty file in place of device 14:51 2020/05/27 22:49:26 warn rootless{dev/full} creating empty file in place of device 1:7 2020/05/27 22:49:26 warn rootless{dev/kmem} creating empty file in place of device 1:2 2020/05/27 22:49:26 warn rootless{dev/loop0} creating empty file in place of device 7:0

andrew-d-l-nelson commented 4 years ago

Hi Luciaq, Unfortunately, this looks like a singularity issue. I have searched for similar issues as yours and they all point to singularity. I will try upgrading to 3.5 to emulate the issues you are having, but you might want to reach out to Singularity developers on their github repo (they have likely seen this many times and it will be easy for them to diagnose).

luciaq21 commented 4 years ago

Hi, Despite the warning the installation seemed to go well. I ran Evolinc with the sample data and I got the input I was supposed to. Do you think it's safe to use on my own data then?

andrew-d-l-nelson commented 4 years ago

Great! If the test data work well then you can absolutely run it on your own data.