nextgenusfs / funannotate

Eukaryotic Genome Annotation Pipeline
http://funannotate.readthedocs.io
BSD 2-Clause "Simplified" License
317 stars 83 forks source link

Funannotate Installation : How to configure funannotate app find the Trimmomatic program? #1061

Open jacob-israel opened 3 weeks ago

jacob-israel commented 3 weeks ago

Are you using the latest release? Yes , I am using the latest funannotate version.

Describe the bug funanotate does not find trimmomatic when running the funannotate check command, how can I configure or tell funanotate where trimmomatic is located?

What command did you issue? funannotate check --show-versions

Logfiles ERROR: trimmomatic not installed

OS/Install Information

hyphaltip commented 3 weeks ago

You need the program trimmomatic to be in your $PATH when you run funannotate command.

What does this report in your environment? which trimmomatic

jacob-israel commented 2 weeks ago

@hyphaltip trimmomatic is a java jar, trimmomatic-0.39.jar, at this moment it is in the PATH but it cannot be found, what should the java jar be like so that funannotate can find it? I don't have a trimmomatic binary file

jacob-israel commented 2 weeks ago

@hyphaltip I made a bash script with the following code:

$ cat trimmomatic

!/bin/bash

/data2TB/apps/jdk-22.0.2/bin/java -jar /data2TB/apps/Trimmomatic-0.39/trimmomatic-0.39.jar

and then $chmod a+x to the trimmomatic bash script but it doesn't work

Is there any trimmomatic binary program?

hyphaltip commented 2 weeks ago

I believe the funannotate check is assuming the conda installed version - which is this code linked below which does some checking on java version for wrapping I believe

This is the build script for the trimmomatic conda which takes that python script and renames it as an executable script cp $RECIPE_DIR/trimmomatic.py $outdir/trimmomatic

See https://github.com/bioconda/bioconda-recipes/blob/master/recipes/trimmomatic/build.sh

hyphaltip commented 2 weeks ago

This may be annoying as it assumes a conda installed trimmomatic but I think it was a way to ensure some uniformity in how java would be called?