NCGG-MGC / IMSindel

IMSindel: An accurate intermediate-size indel detection tool incorporating de novo assembly and gapped global-local alignment with split read analysis
https://www.nature.com/articles/s41598-018-23978-z
MIT License
15 stars 0 forks source link

mafft : progressive method #8

Closed mitchellcheung8 closed 4 years ago

mitchellcheung8 commented 4 years ago

I was running a targeted ngs experiment using the IMSindel tool. I got an error that indicates that mafft should be run in progressive mode (see error below). I am not familiar with Ruby, how do you add the "--retree 1" argument to the Ruby script that calls the mafft program. Thanks.

=============================================== Traceback (most recent call last):

5: from /home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:85:in `block (2 levels) in make_consensus_with_threads'
4: from /home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:100:in `make_consensus'
3: from /home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:100:in `with_index'
2: from /home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:100:in `each'
1: from /home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:101:in `block in make_consensus'

/home/manager/Desktop/IMSindel-master/lib/ims_indel/consensus.rb:163:in `mafft_consensus': mafft exec error: pid 51562 exit 1 (RuntimeError) mafft stderr: Too many sequences to perform iterative refinement! Please use a progressive method.

holrock commented 4 years ago

Thanks for report. Would you edit line 153-160 in consensus.rb as shown below.

      res, err, status = Open3.capture3(env,
                                        @mafft,
                                        '--nuc',
                                        '--ep', '0.0',
                                        '--op', '1',
                                        '--genafpair',
                                        '--maxiterate', '1000',
                                        tmp.path)
      res, err, status = Open3.capture3(env,
                                        @mafft,
                                        '--nuc',
                                        '--ep', '0.0',
                                        '--op', '1',
                                        '--genafpair',
                                        '--maxiterate', '1000',
                                        '--retree', '1',
                                        tmp.path)
mitchellcheung8 commented 4 years ago

Thank you so much for showing me how to modify the parameters.

Best, Mitchell

holrock commented 4 years ago

Thanks a lot!