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

FilterEdgesByCluster Segmentation faults #108

Closed JustGitting closed 10 years ago

JustGitting commented 10 years ago

Hi,

I've downloaded metAMOS from github and installed everything as I was having issues with programs not being found. However, I'm now getting a seg fault by "FilterEdgesByCluster"

In the PROPAGATE.log:

Options summary: Bank = /metAMOS/Test/test1/Scaffold/in/proba.bnk Read in edge 2 AND 3 WEIGHT 558 Read in edge 3 AND 1 WEIGHT 499 WARNING: link 8 is marked as bad in the bank, skipping WARNING: link 9 is marked as bad in the bank, skipping NODE 1 HAS 499 LINKS NODE 2 HAS 558 LINKS NODE 3 HAS 1057 LINKS Iteration 0 /bin/sh: line 1: 11216 Segmentation fault /local/bin/FilterEdgesByCluster -b /metAMOS/Test/test1/Scaffold/in/proba.bnk -clusters /metAMOS/Test/test1/Propagate/in/proba.clusters -noRemoveEdges > /metAMOS/Test/test1/Propagate/out/proba.clusters

I'm not sure how to recompile or replace this component, any advice would be appreciated.

Cheers

treangen commented 10 years ago

Hi,

Thanks for your interest in MetAMOS & feedback.

I was having issues with programs not being found

could you please be a bit more specific? This might be a new issue so would be helpful a few more details on which programs were not being found etc

However, I'm now getting a seg fault by "FilterEdgesByCluster"

To try to get to the bottom of this I have a few quick questions:

1) could you please provide a few more details on your environment? Linux 64-bit & dist (or OSX version), etc.

2) how was the install performed? via the INSTALL.py script? If so, is this a clone from master or a previous release (v1.3)? Also, were there any warnings/errors output during install?

3) can you run either ldd (or otool) on your FilterEdgesByCluster binary and send the output?

4) which test did you run? run_test.sh? If so, is this a fresh run of run_test.sh or is it a relaunch using same directory?

best,

Todd

JustGitting commented 10 years ago

Dear Dr Treangen,

"could you please be a bit more specific? This might be a new issue so would be helpful a few more details on which programs were not being found etc "

Sorry for being vague, I just looked at my notes and it was actually to do with an invalid option being set for the OrientContigs command. I'll add that as another issue soon.

1) could you please provide a few more details on your environment? Linux 64-bit & dist (or OSX version), etc.

Linux 64-bit 2.6.18 kernel, Red Hat Enterprise Linux Server release 5.5 (Tikanga)

2) how was the install performed? via the INSTALL.py script?

Yes, details below.

If so, is this a clone from master or a previous release (v1.3)?

I performed the "git clone" only 5 days ago, then I performed a git pull to get the updates yesterday or the day before.

Also, were there any warnings/errors output during install?

a) During the build it showed warnings about indexing of reference libraries, but I cannot find a build log. There is nothing in the ./Log directory. Do I need to set an option for INSTALL.py for a log of the build to be saved?

b) I cannot find a log, but there was a warning for one particular program that warned that the version of gcc was 4.1, and it required version 4.4. It advices to update and re-run the install. I cannot update gcc on the system.

This is the sequence of commands as close as I can reconstruct from my notes that I used for installing AMOS and MetAMOS.

A) Install AMOS prerequisite.

$ wget http://sourceforge.net/projects/amos/files/amos/3.1.0/amos-3.1.0.tar.gz/download $ tar -xvf amos-3.1.0.tar.gz $ cd amos-3.1.0 $ ./configure --prefix="/myproject/local/" $ make $ make check $ make install

export PATH="/myproject/local/bin/:${PATH}"

B) Install MetAMOS

$ git clone https://github.com/treangen/metAMOS.git $ cd metAMOS

There was an error when I initially ran "python INSTALL.py" (which I don't have a copy of) relating to python modules. The problem was solved by exporting the following:

export PYTHONPATH="/usr/local/lib/python2.7/site-packages/:${PYTHONPATH}" export PYTHONPATH="/myproject/src/metAMOS/src/:${PYTHONPATH}"

$ python INSTALL.py

took 4-5 hours to run through.

$ python INSTALL.py optional

$ cd Test $ ./run_test.sh

I got the following Perl error:

Could not find a suitable Class::Load implementation: Can't locate Class/Load/XS.pm in @INC (@INC contains:

Because I don't have root access, I've needed to install a number of perl modules locally:

$ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Class::Load)' $ perl -MCPAN -Mlocal::lib -e 'CPAN::install(Package::Stash)'

which solved the above error.

I updated metAMOS by:

$ git pull

I then tried to install all packages by the following command:

$ python INSTALL.py iMetAMOS but got this error even with version 1.5rc1:

python INSTALL.py iMetAMOS <> Unknown program or workflow iMetAMOS specified. Available workflows: iMetAMOS core optional deprecated Available packages: pysam ^^^^^^

I then bit the bullet and installed everything: $ python INSTALL.py \ core \ optional \ depreciated \ pysam \ fastqc \ ca \ ale \ sga \ freebayes \ abyss \ lap \ frcbam \ quast \ metaphyler \ eautils \ ray \ numpy \ fcp \ edena \ uniprot \ cython \ cgal \ mira \ matplotlib \ prokka \ soap2 \ masurca \ kronatools \ sra \ glimmer-mg \ kraken \ psutil \ phymm \ setuptools \ amos \ phylosift \ phmmer \ phymmbl \ reapr

The install completed, but with the warning about gcc being version 4.1 as mentioned above.

3) can you run either ldd (or otool) on your FilterEdgesByCluster binary and send the output?

Sure, here it is:

$ ldd /group/metagen/dbtools/local/bin/FilterEdgesByCluster linux-vdso.so.1 => (0x00007fffa29c9000) libz.so.1 => /usr/lib64/libz.so.1 (0x00002b11ed848000) libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002b11eda5c000) libm.so.6 => /lib64/libm.so.6 (0x00002b11edd61000) libc.so.6 => /lib64/libc.so.6 (0x00002b11edfe5000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002b11ee33c000) /lib64/ld-linux-x86-64.so.2 (0x00002b11ed62b000)

4) which test did you run? run_test.sh?

yes, $ ./run_test.sh

If so, is this a fresh run of run_test.sh or is it a relaunch using same directory?

I did a fresh run, each time I deleted the test1 directory as follows: $ rm -rf test1 so it was a fresh run.

Cheers

skoren commented 10 years ago

This is likely the same issue as #110 due to an old version of AMOS being used.

skoren commented 10 years ago

As far as the iMetAMOS not being a valid workflow name, this is likely due to a bug fixed since your pull. The names were case sensitive (you would have to specify INSTALL.py imetamos) but was fixed by commit 61b044000654e1d68a0ec817b6bc82889c67cf7f yesterday. The 1.5rc1 release is not officially available yet, it will be available later this week or early next week.