bcgsc / ntJoin

🔗Genome assembly scaffolder using minimizer graphs
GNU General Public License v3.0
82 stars 15 forks source link

/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env #85

Closed nick-youngblut closed 2 years ago

nick-youngblut commented 2 years ago
mamba install -p conda_env bioconda::ntjoin
ntJoin assemble target=target.fna target_weight=1 reference_config=refs.csv

Output:

/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/tmp/global2/nyoungblut/code/dev/tmp/genome_embed/ntJoin/conda_env/bin/share/ntjoin-1.0.8-1/src/indexlr --long --pos -k 32 -w 1000 -t 4 GCF_001652705.1_ASM165270v1_genomic.fna > GCF_001652705.1_ASM165270v1_genomic.fna.k32.w1000.tsv
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
[...]

ntJoin assemble finishes successfully, but there are ~50 of the /ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env warnings/error sduring the run.

OS: Ubuntu 18.04.6

nick-youngblut commented 2 years ago

Maybe the output is not correct. Even if I include the target in the set of reference genomes (n=5), I still get Total number of components in graph: 0 and and empty *.assigned.scaffolds.fa file.

lcoombe commented 2 years ago

Hi @nick-youngblut,

Hmm that's a strange error, and one that appears to be related to your environment? Those 'no such file or directory' commands appear to be pointing to environment-related files? Do you have rust installed - I believe cargo is a rust package manager (Although rust isn't a dependency of ntJoin)?

Just to double check that it is your environment (vs. the input data), have you run the test demos (in tests directory)?

Do you only see those errors when running ntJoin in that environment? Do you see it when running any other tools?

Thank you for your interest in ntJoin! Lauren

nick-youngblut commented 2 years ago

Thanks for the quick response!

Do you have rust installed

No, given that it is not part of the bioconda recipe.

Just to double check that it is your environment (vs. the input data), have you run the test demos (in tests directory)?

The warning/error occurs even if I provide files paths that don't exist. For example:

/ebio/abt3/nyoungblut/.zshenv:.:1: no such file or directory: /ebio/abt3/nyoungblut/.cargo/env
make: *** No rule to make target 'assembly_ref1.fa', needed by 'assembly_ref1.fa.k32.w500.tsv'.  Stop.
lcoombe commented 2 years ago

Hi @nick-youngblut,

So just checking, is this a fresh/new environment that you made with ntJoin? And do you see those same errors if you try running any other tool installed in your conda environment?

Also, want to clarify, have you tried running that demo that I suggested? The error that you see no rule to make target is expected if the files specified don't exist, so I'm interested in whether with given a set of data files that we know work with ntJoin you still see the same issue with your output files. I expect that you will still see that cargo error, but whether you get the expected output files with the demo or not will be helpful to know.

Just going through the files involved in that error that you're seeing - The .zshenv file will be an environment file for your zsh that is sourced when you open a new shell instance. .cargo/env is an environment file related to rust (https://github.com/rust-lang/rustup/issues/2578), so it appears you do have rust installed (Or perhaps did at one time? Or an incomplete installation?), but looks like not in your conda environment. If you look in that .zshenv file, does it have a reference to that seemingly non-existent env file?

nick-youngblut commented 2 years ago

So just checking, is this a fresh/new environment that you made with ntJoin? And do you see those same errors if you try running any other tool installed in your conda environment?

This error/warning is specific to ntJoin

The error that you see no rule to make target is expected if the files specified don't exist

Right, but prior to the file doesn't exist error, I still get the .zshenv warning.

The .zshenv file will be an environment file for your zsh that is sourced when you open a new shell instance

The ~/.zshenv must have been created sometime recently when I installed rust for another application. I don't see why the ntJoin code is interactive with the .zshenv, but if I remove the .zshenv, then the warning is removed.

Maybe it has something to do with the use of make. You don't see much bioinformatics software using old-school make anymore, which might be why this issue will not occur for most people.

lcoombe commented 2 years ago

Hi @nick-youngblut,

Right, but prior to the file doesn't exist error, I still get the .zshenv warning.

Apologies if I was unclear - I mean that that isn't an additional error to be concerned with. Just wanted to clarify that.

I don't really see a connection between make directly and the error, just with the information you gave me and what I've looked up online. My best guess is that ntJoin uses zsh if available: https://github.com/bcgsc/ntJoin/blob/27c80eb031aede8934bb8cf8998cc3797d0557e6/ntJoin#L79

When the rules in the file are executed, activating zsh would in turn presumably source the .zshenv, which in it had the reference to the non-existent .cargo/env file. That's my best guess anyway without being able to look at your particular environment!

Anyway, I'm glad that fix solved the error! Hopefully you were able to successfully run the demos for ntJoin to test the installation now. Let me know if you have any other questions/issues.

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your interest in ntJoin!