geronimp / enrichM

Toolbox for comparative genomics of MAGs
81 stars 22 forks source link

Error: ln: missing file operand when running 'enrichm annotate' #94

Closed signalbash closed 4 years ago

signalbash commented 4 years ago

Working with enrichm 0.5.1

[143470@ermdc14 enrichm_test]$ enrichm annotate --output EAC.bins9.0.out --verbosity 5 --genome_files EAC.bin.9.fa --ko --force [2019-11-08 10:04:16 AM] INFO: Command: enrichm annotate --output EAC.bins9.0.out --verbosity 5 --genome_files EAC.bin.9.fa --ko [2019-11-08 10:04:16 AM] INFO: Running the annotate pipeline [2019-11-08 10:04:16 AM] INFO: Running pipeline: annotate [2019-11-08 10:04:16 AM] INFO: Setting up for genome annotation [2019-11-08 10:04:16 AM] INFO: Calling proteins for annotation [2019-11-08 10:04:16 AM] INFO: Preparing genomes for annotation [2019-11-08 10:04:16 AM] DEBUG: xargs --arg-file=/dev/stdin ln -s --target-directory=EAC.bins9.0.out/genome_bin ln: missing file operand Try `ln --help' for more information. [2019-11-08 10:04:16 AM] INFO: - Calling proteins for 0 genomes [2019-11-08 10:04:16 AM] DEBUG: ls EAC.bins9.0.out/genome_bin/.fna | sed 's/.fna//g' | grep -o '[^/]$' | parallel -j 5 prodigal -q -p meta -o /dev/null -d EAC.bins9.0.out/genome_genes/{}.fna -a EAC.bins9.0.out/genome_proteins/{}.faa -i EAC.bins9.0.out/genome_bin/{}.fna > /dev/null 2>&1 ls: cannot access EAC.bins9.0.out/genome_bin/*.fna: No such file or directory [2019-11-08 10:04:16 AM] DEBUG: Finished [2019-11-08 10:04:16 AM] ERROR: No files found with .fna suffix in input directory [2019-11-08 10:04:16 AM] INFO: Finished running EnrichM

geronimp commented 4 years ago

Hi there. Please replace the .fa suffix on your genome file to .fna, and the annotate pipeline should work. Let me know if that works for you

Thanks, Joel

signalbash commented 4 years ago

Did that, and that resulted in this error File "/shared/homes/143470/enrichM/bin/../enrichm/annotate.py", line 152, in prep_genome os.symlink(gf, os.path.join(genome_directory, os.path.basename(gf))) NameError: name 'os' is not defined I cloned a copy of the enrichm repo and added import os into annotate.py

Now I get this error:

[143470@ermdc22 enrichm_test]$ enrichm annotate --output EAC.bins9.0.out --force --verbosity 5 --genome_files EAC.bin.9.fna --ko [2019-11-14 09:53:44 AM] INFO: Command: enrichm annotate --output EAC.bins9.0.out --force --verbosity 5 --genome_files EAC.bin.9.fna --ko [2019-11-14 09:53:44 AM] INFO: Running the annotate pipeline [2019-11-14 09:53:44 AM] INFO: Running pipeline: annotate [2019-11-14 09:53:44 AM] INFO: Setting up for genome annotation [2019-11-14 09:53:44 AM] INFO: Calling proteins for annotation [2019-11-14 09:53:44 AM] INFO: Preparing genomes for annotation [2019-11-14 09:53:44 AM] INFO: - Calling proteins for 1 genomes [2019-11-14 09:53:44 AM] DEBUG: ls EAC.bins9.0.out/genome_bin/.fna | sed 's/.fna//g' | grep -o '[^/]$' | parallel -j 5 prodigal -q -p meta -o /dev/null -d EAC.bins9.0.out/genome_genes/{}.fna -a EAC.bins9.0.out/genome_proteins/{}.faa -i EAC.bins9.0.out/genome_bin/{}.fna > /dev/null 2>&1 ls: cannot access EAC.bins9.0.out/genome_bin/EAC.bin.9.fna: Too many levels of symbolic links [2019-11-14 09:53:44 AM] DEBUG: Finished [2019-11-14 09:53:44 AM] ERROR: No files found with .fna suffix in input directory [2019-11-14 09:53:44 AM] INFO: Finished running EnrichM

signalbash commented 4 years ago

Using enrichm-0.5.0 - where annotate.py uses cp instead of ln -s seems to have fixed it.