abyss-pe and abyss-map
1
1
Entering edit mode
9.0 years ago
malabady ▴ 30

Hi,

In my abyss-pe command line, I use "np=10" since I am running abyss-mpi. At the mapping stag in which abyss-pe calls abyss-map, it work only on on thread!

Here is the leading part of the abyss-pe command:

$ /usr/local/abyss/1.9.0/bin/abyss-pe np=10 k=64 name=AbC -d \

Here is the abyss-map command that abyss-pe executes:

$ abyss-map -j1 -l64 P_R2_001_val_2.fq.gz P_R1_001_val_1.fq.gz Ab10_10-3.fa \
  | abyss-fixmate -l64 -h pe150_1-3.hist \
  | sort -snk3 -k4 \
  | DistanceEst -j1 -k64 -l64 -s200 -n10 -o pe150_1-3.dist pe150_1-3.hist

Is there any way to make abyss-pe run abyss-map multi-threaded, i.e j10 for instance? I thought that abyss-pe will always make j=np, but this is not true. I am using abyss v1.9.

Thanks

Abyss next-gen Assembly genome sequence • 4.0k views
ADD COMMENT
1
Entering edit mode

my wild guess is that abyss-pe is a wrapper to abyss-map, hence the abyss-pe executes 10 abyss-map commands in parallel. Can you check with top and see how many programs are being executed ? If you are using np=10, either you should see 10 abyss-map processes or 1 abyss-pe process with 1000% CPU usage. If you just see one process of abyss-map with 100% CPU usage, you need to install the mpirun (openMPI) program properly. If openMPI is not configured properly, some programs silently skips the parallel running and uses single core.

ADD REPLY
0
Entering edit mode

It is on abyss-map with 100% CPU usage!

But if openMPI isn't installed properly, shouldn't I have had the same problem in the earlier stages in the assembly? All steps before abyss-map were parallelized on the 10 nodes and worked just fine!

What do you think about running abyss-pe np=10 j=10 ......? I tried it in a dry run and abyss-map commands has j10. still didn't test this in a real run.

ADD REPLY
0
Entering edit mode

np=10 should ideally use 10 cores. But in past I saw few programs that silently run on single CPU, without any errors or warnings if mpi is not installed properly. I am not sure about the previous steps, but can you verify that your openmpi is installed properly ?

ADD REPLY
3
Entering edit mode
9.0 years ago
benv ▴ 730

Hi malabady,

Use j=10 in addition to np=10 in your abyss-pe command line.

j specifies the number of threads to use, for programs in the ABySS pipeline that are multithreaded (e.g. abyss-map). np specifies the number of MPI processes (a.k.a. "MPI ranks") to ABYSS-P, which is the first stage of the ABySS pipeline. ABYSS-P is the only program in the assembly pipeline that uses MPI and it is not multithreaded. The remainder of the pipeline runs on only a single machine.

Edit: fix typo and clarify that ABYSS-P is not multithreaded.

Edit 2: Correction: Use j=10 in addition to np=10. Mention that the later stages of the pipeline only run on a single cluster node.

ADD COMMENT
0
Entering edit mode

I see. But if I use j=10 and not np=10, wouldn't this affect how ABYSS-P is run at early stages of the assembly? how about passing both flags, i.e. np=10 j=10 to abyss-pe?

ADD REPLY
0
Entering edit mode

Yep, my mistake. In your case, you should use both np=10 and j=10. (I've corrected my answer.) The j=10 will have no effect on ABYSS-P since it is not a multithreaded program.

ADD REPLY

Login before adding your answer.

Traffic: 2406 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