How to run delly with multi-threading mode?
1
1
Entering edit mode
22 months ago
Xi ▴ 10

Hi,

I am wondering how to run delly with multi-threading mode? Actually there is a guideline on the manually page, which indicates to use openMP API to do this. But the manually guideline is too simple to follow for me. This is the github manual page: https://github.com/dellytools/delly.

They just said:

Delly supports parallel computing using the OpenMP API (www.openmp.org).

make PARALLEL=1 -B src/delly

You can set the number of threads using the environment variable OMP_NUM_THREADS.

export OMP_NUM_THREADS=2 Delly primarily parallelizes on the sample level. Hence, OMP_NUM_THREADS should be always smaller or equal to the number of input samples.*

But I don't know how to use OpenMP API. Does anyone know exactly how to do?

SV calling delly • 1.8k views
ADD COMMENT
0
Entering edit mode

is it worth running with MPI ? delly is quite fast anyway.

ADD REPLY
0
Entering edit mode
22 months ago
lennykovac ▴ 90

The code will utilize the API. You have to set the environment var and enable the compile flag nothing more. Here you can see the omp directives that the compiler will utilize if you enable parallelism. And if you take a look into the makefile, you will see that:

ifeq (${PARALLEL}, 1)
CXXFLAGS += -fopenmp -DOPENMP

Which includes the flag needed for the compiler. That's all you gotta do! :D (If you run under unix, take a look at htop while running delly in parallel.)

ADD COMMENT
0
Entering edit mode

Thanks a lot for your reply. Could you tell me the exact command lines or codes that needs to be used for setting the environment var and enabling the compile flag? If you don't mind. Sorry that I am not familiar with API.

ADD REPLY
0
Entering edit mode

Assuming you run under Ubuntu or some Unix-Distro and all the dependencies are met, build the Library:

git clone --recursive https://github.com/dellytools/delly.git
cd delly/
make PARALLEL=1

Then set the environment variable:

export OMP_NUM_THREADS= *SampleSize-1*

Set OMP_NUM_THREADS to any number > SampleSize. And you have to set this var for every shell, if you want it to persist after reboot, write it in your bashrc. You should read the docs, its exactly the same thing.

ADD REPLY
0
Entering edit mode

Thank you for your answer!

ADD REPLY
0
Entering edit mode

Hello, I am also trying to install delly by following the instructions provided by the author in GitHub. I was able to install delly successfully. However, when I tried to install the parallel one, it showed the following error. I am using the following code: git clone --recursive https://github.com/dellytools/delly.git cd delly/ sudo make all [Everything is fine up to this part. Then I tried to install parallel using the following command. sudo make PARALLEL=1 -B src/delly also sudo make PARALLEL=1 In both cases, it gives me the following error.

#

config.status: config.h is unchanged config.status: linking htscodecs_bundled.mk to htscodecs.mk make[1]: Entering directory '/Programs/Structural_Variants/delly/src/htslib' htscodecs_bundled.mk:2: Too many open files. Stop. make[1]: Leaving directory '/Programs/Structural_Variants/delly/src/htslib' make: [Makefile:57: .htslib] Error 2

Any help would be truly appreciated!

ADD REPLY

Login before adding your answer.

Traffic: 2311 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6