mrmckain / Fast-Plast

Automated de novo assembly of whole chloroplast genomes.
MIT License
43 stars 14 forks source link

Difficulty in running in shared environment #19

Closed molecules closed 6 years ago

molecules commented 6 years ago

(updated to remove possibly confusing information)

I installed Fast-Plast on one of our clusters for one of our local scientists and, because of directory permissions, it failed when it tried to write to locations located under Fast-Plast's "bin" directory. I haven't noticed any options for installing this in a shared environment, so I'm asking if I've missed something or if this is a feature that needs to be added.

By the way, to work around the issue, I installed Fast-Plast for this user, whom we'll call "person". I made this installation user writable for person, but person did not own any of the original installation files. At least the following files were owned by person after the last run of Fast-Plast. I will update this list if I find more.

Fast-Plast/bin/Angiosperm_Chloroplast_Genes.fsa.nhr
Fast-Plast/bin/Angiosperm_Chloroplast_Genes.fsa.nsq
Fast-Plast/bin/Angiosperm_Chloroplast_Genes.fsa.nin
Fast-Plast/bin/jellyfish-2.2.6/bin/.libs/lt-jellyfish
Fast-Plast/bin/SPAdes-3.9.0-Linux/bin/spades_init.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/support.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/common/alignment.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/common/SeqIO.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/common/sam_parser.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/options_storage.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/truspades/break_by_coverage.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/truspades/generate_quality.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/truspades/moleculo_postprocessing.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/truspades/moleculo_filter_contigs.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/hammer_logic.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/process_cfg.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/spades_pipeline/spades_logic.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/cyaml.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/parser.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/error.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/constructor.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/loader.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/emitter.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/__init__.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/composer.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/tokens.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/dumper.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/reader.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/events.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/representer.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/nodes.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/serializer.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/scanner.pyc
Fast-Plast/bin/SPAdes-3.9.0-Linux/share/spades/pyyaml2/resolver.pyc

Thanks so much for creating and maintaining Fast-Plast! Our scientists are excited to use it.

mrmckain commented 6 years ago

This is a feature that needs to be added. It was recently brought to my attention by another researcher. I will make it so the blastdb is made locally. I wouldn't think the SPAdes files would change ownership or need written each time.

molecules commented 6 years ago

Hi Michael,

Your recent update is so helpful! Our shared jobs make it much further than before.

Currently we get stuck when it is trying to write to the jellyfish installation (e.g. to Fast-Plast/bin/jellyfish-2.2.6/bin/.libs/140133-lt-jellyfish).

Here is the error messages we are getting (I renamed the directories to be more meaningful):

/usr/bin/ld: cannot open output file ../install_954b2cb/Fast-Plast/bin/jellyfish-2.2.6/bin/.libs/140133-lt-jellyfish: Permission denied
collect2: error: ld returned 1 exit statusn/usr/bin/ld: cannot open output file ../install_954b2cb/Fast-Plast/bin/jellyfish-2.2.6/bin/.libs/140152-lt-jellyfish: Permission denied
collect2: error: ld returned 1 exit statusnreadline() on closed filehandle $cppieces at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1828.
Use of uninitialized value $cplens{"lsc"} in subtraction (-) at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1841.
Use of uninitialized value in addition (+) at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1842.
Use of uninitialized value in addition (+) at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1843.
Use of uninitialized value in division (/) at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1863, <$covin> line 153830.
Use of uninitialized value $count_lsc in division (/) at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1863, <$covin> line 153830.
Illegal division by zero at ../install_954b2cb/Fast-Plast/fast-plast.pl line 1863, <$covin> line 153830.

We'll try to figure out how to fix it, but thought we'd let you know in case the solution is obvious to you.

Thanks, Christopher Bottoms

molecules commented 6 years ago

Seems to all be solved by commits 4cdcdf3a33cb2f667eec41dfae5c8654a2033d64 and 4ef8304a326e0243b497f75efb1523c419794c30. Thanks!

mrmckain commented 6 years ago

Great. I have been looking at this today and wasn't sure what was happening.