chrisquince / STRONG

Strain Resolution ON Graphs
MIT License
44 stars 9 forks source link

Dependencies check unsuccesful #114

Open cdiazmun opened 2 years ago

cdiazmun commented 2 years ago

Dear developers,

First of all, thank you for developing this tool, that I hope will be very useful for my research.

I did a manual installation of the conda environment using mamba, following the instructions. On the other hand, I installed/compiled SPAdes (outside conda, the executable is in /usr/local/bin) and the test was successful. DESMAN and BayesPaths were installed with python setup.py install while the STRONG environment was activated (I made sure it was using the correct python). However, when I run python check_on_dependencies.py it gives the following issues:

''' R lapack symlink is not done : check the install readme for more info SPAdes is not compiled bayespath seems to be missing concoct_refine need to be fixed : check the install readme for more info '''

Should I make a sn -l /path/to/spades.py /path/to/STRONG/bin/ to solve the SPAdes issue, or it can be due to another problem? Although /usr/local/bin is part of my $PATH when I have the STRONG environment activated, so it should see it.

Why bayespath seems to be missing and not desman, if I installed both in the same way and both were succesful?

The concoct issue it's okay, I read the bug thing, so I'll tackle it later.

Thank you in advance for your help.

Regards, Cristian

Sebastien-Raguideau commented 2 years ago

Dear Cristian,

Regarding check_on_dependencies.py, all it does is trying to call the dependencies with the -h option. Which will fail either if they are missing or if themselves are missing dependencies. Hence the importance of executing it under the STRONG env. For instance, here is a command line it tries <path/to/strong>/BayesPaths/bin/bayespaths -h The script will just report a "seems to be missing" even when the actual issue could be for instance, missing gfapy dependencies. Can you confirm that the issue persist under the STRONG env, and then can you try that same command line and report the error message?

For SPAdes, we need it at a particular place in the STRONG repos, and the simplest thing would be for you to recompile it there. I'll would advise to just go with the documented way ;) Also to be clear, we also have a SPAdes library which is not part of normal SPAdes releases. That needs to be compiled as well. And this is this what the script test against with the following command. <path/to/strong>/SPAdes/assembler/build_spades/bin/unitig-coverage -h If you did create all those executable at another place, we will need them in that directory:
`<path/to/strong>/SPAdes/assembler/build_spades/bin/

Best, Seb

cdiazmun commented 2 years ago

Dear Seb,

Thank you very much for your answer. By checking the file check_on_dependencies.py I could see where was the problem. Everything was installed/compiled properly but in a different location than expected, so I moved everything to the right place. The R lapack and concoct issues have been also solved following the instructions in the documentation.

python SnakeNest/scripts/check_on_dependencies.py no issue found with install

Regards, Cristian

Sebastien-Raguideau commented 2 years ago

Dear Cristian, Happy your issue was solved. I'm worried about the fact things could get installed in non expected locations is there something we should add to the documentation? Best, Seb

cdiazmun commented 2 years ago

Dear Seb,

I was making sure everything worked before answering your question, but some issues arised. I could run STRONG with the test dataset provided in the documentation without errors. However, when I tried with my own data (paired end reads in fastq.gz format, each sample in a separate folder) this error occurs:

MissingInputException in line 135 of /opt/miniconda2/envs/STRONG/SnakeNest/Common.snake: Missing input files for rule samtools_sort: profile/assembly/F01T096.bam unlocking removed all locks Traceback (most recent call last): File "/opt/miniconda2/envs/STRONG/bin/STRONG", line 94, in call_snake(["--snakefile", "SnakeNest/SCogSubGraph.snake"]) File "/opt/miniconda2/envs/STRONG/bin/STRONG", line 83, in call_snake subprocess.check_call(base_params + extra_params, stdout=sys.stdout, stderr=sys.stderr) File "/opt/miniconda2/envs/STRONG/lib/python3.6/subprocess.py", line 311, in check_call raise CalledProcessError(retcode, cmd)

Somehow the alignment is not done since it has not generated the bam file? Let me know if I should open a new issue for this error. I'm sorry for all the inconvenience caused and once again, thank you for helping!

Regards, Cristian

Sebastien-Raguideau commented 2 years ago

Hi Cristian, Yes, this was a bug on our part. It's fixed. To use the fixed version, please go to our STRONG repository and pull the modifications by using the command: git pull Let me know if there is any issue. Best, Seb

cdiazmun commented 2 years ago

Dear Seb,

We need to solve some issues with the proxy of the server before I can use the git functions. I will let you know as soon as I get this problem fixed.

Regards, Cristian