marbl / merqury

k-mer based assembly evaluation
Other
272 stars 19 forks source link

Merqury installed with conda #49

Closed max1c closed 1 year ago

max1c commented 3 years ago

We are trying to run merqury which has been installed with conda. I am assuming all of the dependencies are provided in the .yml conda recipes. We also have other lmod modules available like R, bedtools, samtools, etc. Which in this case would be incompatible with merqury module. It looks like when running merqury it's trying to load some of these modules with the provided scripts:

share/merqury/merqury-mash.sh: module load mash share/merqury/trio/hapmers.sh: module load R share/merqury/trio/spectra-hap.sh: module load R share/merqury/trio/hapmers_to_bigwig.sh:module load ucsc share/merqury/trio/hap_blob.sh: module load R share/merqury/trio/switch_error.sh: module load R share/merqury/trio/block_n_stats.sh: module load bedtools share/merqury/trio/block_n_stats.sh: module load samtools share/merqury/trio/block_n_stats.sh: module load R share/merqury/util/bed_to_bigwig.sh:module load bedtools share/merqury/util/bed_to_bigwig.sh:module load ucsc/406 share/merqury/eval/asm_multiplicity.sh:module load samtools share/merqury/eval/asm_multiplicity.sh:module load ucsc/396 share/merqury/eval/spectra-cn.sh: module load R share/merqury/eval/read_multiplicity.sh:module load samtools share/merqury/eval/read_multiplicity.sh:module load ucsc/396

My first question is why does this behavior exist? If the software was installed with conda all of the dependencies should be available in the $PATH which they are as far as I can tell. My second question is how can we mitigate this? Merqury is trying to load R which is inside of the container which will not work and the modules ucsc have different version on our cluster.

arangrhie commented 3 years ago

Hello,

  1. The conda version was a voluntary contribution from @EdHarry. My knowledge to conda is very limited. If you have a simple solution for this, suggestions are welcome.

  2. Change this line echo $? to echo 1.

This will permanently turn off all module call behaviors.

Best, Arang

EdHarry commented 3 years ago

All module commands will have to be removed or deactivated from the conda version, sorry I didn't know they were there.

I'd advise caution with editing source code installed by conda, as it could mess up the install with respects to upgrading / uninstalling.

@arangrhie the only thing to do would be for you to create a patch removing or deactivating all the module commands. Then either you or I will have to put in a PR to bioconda, updating the recipe with the patch.

fgvieira commented 1 year ago

Has this been fixed?