nextgenusfs / funannotate

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

Permission denied error on filterGenemark.pl #848

Open VDaric opened 1 year ago

VDaric commented 1 year ago

Are you using the latest release?

I am using funannotate-v1.8.13.

Describe the bug

funannotate is raising a 'Permission denied' error on 'filterGenemark.pl'

filterGenemark.pl file is readable and executable for everybody.

ls -l ...../envs/funannotate-v1.8.13_env/lib/python3.8/site-packages/funannotate/aux_scripts/filterGenemark.pl 
-rwxrwxr-x 2 somebody somegroup 21217 17 août  02:04 ..../Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/site-packages/funannotate/aux_scripts/filterGenemark.pl

What command did you issue?

export FUNANNOTATE_DB=./FUNANOTATE_DB

funannotate predict -i $CLNSRTMSK \
            -o out/fun \
            -s "$SPECIES" \
            --strain "$SPECIES"\
            --cpus $SLURM_CPUS_ON_NODE \
            --max_intronlen $MAX_INTRON \
            --organism other \
            --repeats2evm \
            --busco_db $BUSCO_DB \
            --ploidy 2

Logfiles

[Dec 14 07:33 PM]: Existing protein alignments found: out/fun/predict_misc/protein_alignments.gff3
[Dec 14 07:33 PM]: Running GeneMark-ES on assembly
[Dec 14 08:49 PM]: 376 predictions from GeneMark
[Dec 14 08:49 PM]: Filtering PASA data for suitable training set
Traceback (most recent call last):
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/bin/funannotate", line 10, in <module>
    sys.exit(main())
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/site-packages/funannotate/funannotate.py", line 716, in main
    mod.main(arguments)
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/site-packages/funannotate/predict.py", line 1378, in main
    lib.runSubprocess(cmd, os.path.join(args.out, 'predict_misc'), lib.log, only_failed=True)
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/site-packages/funannotate/library.py", line 727, in runSubprocess
    process = subprocess.run(cmd, cwd=directory, stdin=p_in, stdout=p_out, stderr=p_error, universal_newlines=True)
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/subprocess.py", line 493, in run
    with Popen(*popenargs, **kwargs) as process:
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'filterGenemark.pl'

OS/Install Information

 funannotate check --show-versions
-------------------------------------------------------
Checking dependencies for 1.8.13
-------------------------------------------------------
You are running Python v 3.8.13. Now checking python packages...
biopython: 1.79
goatools: 1.2.3
matplotlib: 3.4.3
natsort: 8.2.0
numpy: 1.23.4
pandas: 1.5.0
psutil: 5.9.3
requests: 2.28.1
scikit-learn: 1.1.2
scipy: 1.9.1
seaborn: 0.12.1
All 11 python packages installed

You are running Perl v b'5.032001'. Now checking perl modules...
Carp: 1.38
Clone: 0.42
DBD::SQLite: 1.70
DBD::mysql: 4.046
DBI: 1.643
DB_File: 1.855
Data::Dumper: 2.183
File::Basename: 2.85
File::Which: 1.20
Getopt::Long: 2.52
Hash::Merge: 0.302
JSON: 4.10
LWP::UserAgent: 6.67
Logger::Simple: 2.0
POSIX: 1.94
Parallel::ForkManager: 2.02
Pod::Usage: 1.69
Scalar::Util::Numeric: 0.40
Storable: 3.15
Text::Soundex: 3.05
Thread::Queue: 3.14
Tie::File: 1.06
URI::Escape: 5.12
YAML: 1.30
local::lib: 2.000029
threads: 2.25
threads::shared: 1.61
All 27 Perl modules installed

Checking Environmental Variables...
$FUNANNOTATE_DB=....../src/Funannotate/funannotate-v1.8.13/funannotate_db
$PASAHOME=....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/opt/pasa-2.5.2
$TRINITY_HOME=....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/opt/trinity-2.8.5
$EVM_HOME=....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/opt/evidencemodeler-1.1.1
$AUGUSTUS_CONFIG_PATH=....../src/Miniconda/Miniconda3/envs/funannotate-v1.8.13_env/config/
$GENEMARK_PATH=....../src/Funannotate/funannotate-v1.7.4-0/GeneMark/GeneMark-v4.59/
All 6 environmental variables are set
-------------------------------------------------------
Checking external dependencies...

PASA: 2.5.2
CodingQuarry: 2.0
Trinity: 2.8.5
augustus: 3.5.0
bamtools: bamtools 2.5.1
bedtools: bedtools v2.30.0
blat: BLAT v35
diamond: 2.0.15
emapper.py: 2.1.9
ete3: 3.1.2
exonerate: exonerate 2.4.0
fasta: no way to determine
glimmerhmm: 3.0.4
gmap: 2021-12-17
gmes_petap.pl: 4.59_lic
hisat2: 2.2.1
hmmscan: HMMER 3.3.2 (Nov 2020)
hmmsearch: HMMER 3.3.2 (Nov 2020)
java: 17.0.3-internal
kallisto: 0.46.1
mafft: v7.508 (2022/Sep/07)
makeblastdb: makeblastdb 2.2.31+
minimap2: 2.24-r1122
pigz: pigz 2.6
proteinortho: 6.1.1
pslCDnaFilter: no way to determine
salmon: salmon 0.14.1
samtools: samtools 1.16.1
signalp: 4.1
snap: 2006-07-28
stringtie: 2.2.1
tRNAscan-SE: 2.0.11 (Oct 2022)
tantan: tantan 39
tbl2asn: no way to determine, likely 25.X
tblastn: tblastn 2.2.31+
trimal: trimAl v1.4.rev15 build[2013-12-17]
trimmomatic: 0.39
All 37 external dependencies are installed

Thank's !

Nitin123-4 commented 1 year ago

You can open funannotate/predict.py script and can see the FILTERGENE condition:

        if lib.which("filterGenemark.pl"):
            FILTERGENE = "filterGenemark.pl"
        else:
            FILTERGENE = os.path.join(parentdir, "aux_scripts", "filterGenemark.pl")

Just replace this code with:

        if lib.which("filterGenemark.pl"):
            FILTERGENE = os.path.join(parentdir, "aux_scripts", "filterGenemark.pl")
        else:
            FILTERGENE = os.path.join(parentdir, "aux_scripts", "filterGenemark.pl")

it should be fine.