marbl / metAMOS

A metagenomic and isolate assembly and analysis pipeline built with AMOS
http://marbl.github.io/metAMOS
Other
93 stars 45 forks source link

Questions for running Newbler in iMetAMOS #214

Closed TakashiKoyama closed 9 years ago

TakashiKoyama commented 9 years ago

Hi. I recently tried to run newbler in iMetAMOS. I've installed newbler ifself before so I could run it without any trouble by just running iMetAMOS with "-a abyss,idba,sga,spades,masurca,velvet,newbler" option. Nevertheless, I have two questions.

First question. How iMetAMOS knows assemblers used by default? I thought that ASSEMBLE.generic specifies the default assemblers but I did not see soapdenovo2, which is used by default, in the file. If possible, I would like to include newbler in default assemblers. Could you tell me the file that specify default assemblers? Second question. Usually, I use the commands "runAssembly" or "newAssembly + addRun + runProject" to run Newbler but iMetAMOS seems to use "newbler" command I have never used. Could you tell me how iMetAMOS uses "newbler" command or tell me useful references?

Than you for your kind helps! Takashi

skoren commented 9 years ago
  1. The default assemblers are specified by the iMetAMOS workflow which is found in Utilities/workflows/imetamos.ini. You can modify the -a command there to add/remove an assembler. You can also create your own custom workflow which inherits from iMetAMOS. You can see an example of this in the Test/test_ima.ini file.
  2. metAMOS uses the addRun + runProject commands to run newbler (for example in test_newbler.sh):
*** metAMOS running command: /fs/wrenhomes/sergek/metAMOS/newbler/Linux-x86_64/newAssembly -force /fs/wrenhomes/sergek/metAMOS/Test/test_newbler/Assemble/out

*** metAMOS running command: /fs/wrenhomes/sergek/metAMOS/newbler/Linux-x86_64/addRun /fs/wrenhomes/sergek/metAMOS/Test/test_newbler/Assemble/out /fs/wrenhomes/sergek/metAMOS/Test/test_newbler/Preprocess/out/lib1.seq

*** metAMOS running command: /fs/wrenhomes/sergek/metAMOS/newbler/Linux-x86_64/runProject -a 0 -ml 60 -m  -l 1000 -ud  -mi 90  -cpu 8 /fs/wrenhomes/sergek/metAMOS/Test/test_newbler/Assemble/out
TakashiKoyama commented 9 years ago

OK. I now see three lines in metAMOS-1.5rc3/Utilities/workflows/imetamos.ini as below:

inherit:core
programs:cmake edena ca spades idba kmergenie eautils reapr mira masurca freebayes frcbam ale cgal quast ray prokka sga abyss soap2
command: -z genus -q -u -I -c kraken -a abyss,idba,sga,soap2,spades,masurca,velvet -n FindScaffoldORFS,FunctionalAnnotation

The names of assembler can be seen in second and third lines. If I want to exclude soap2 from pipeline, should I delete from both lines?

And I have another question. The newbler assembles my samples pretty nicely but is quite slow in some samples. It took more than five days and finally I stopped assembly. This seems to be because of the step where only single thread is used. Do you have any idea to make the newbler faster?

TakashiKoyama commented 9 years ago

correction: The names of assembler can be seen in second and third lines. If I want to exclude soap2 from pipeline, should I delete from both lines? -> The names of assembler can be seen in second and third lines. If I want to exclude soap2 from and include newbler into the pipeline, should I delete from both lines as below?

inherit:core
programs:cmake edena ca spades idba kmergenie eautils reapr mira masurca freebayes frcbam ale cgal quast ray prokka sga abyss newbler
command: -z genus -q -u -I -c kraken -a abyss,idba,sga,newbler,spades,masurca,velvet -n FindScaffoldORFS,FunctionalAnnotation

Thanks

skoren commented 9 years ago

You only need to delete it from the third line but it doesn't hurt anything if you delete it from both (if you erase it from the first line the metAMOS won't try to install soapdenovo2 when you run INSTALL.py but won't do anything if you've already installed it).