funannotate
funannotate copied to clipboard
Permission denied error on filterGenemark.pl
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 !
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.