Can I skip signalP prediction step in functional annotation?
Are you using the latest release? If you are not using the latest release of funannotate, please upgrade, if bug persists then report here. Yes Describe the bug A clear and concise description of what the bug is. I do have SignalP not installed because I cannot download the academic version (not working in academia). Can I skip this part in functional annotation?
What command did you issue?
Copy/paste the command used.
funannotate annotate -i funannotate_train --busco_db vertebrata --cpus 12 --no-progress
Logfiles Please provide relevant log files of the error.
[Jul 24 09:33 PM]: OS: CentOS Linux 7, 80 cores, ~ 264 GB RAM. Python: 3.8.15 [Jul 24 09:33 PM]: Running 1.8.15 [Jul 24 09:33 PM]: No NCBI SBT file given, will use default, however if you plan to submit to NCBI, create one and pass it here '--sbt' [Jul 24 09:33 PM]: Found existing output directory funannotate_train. Warning, will re-use any intermediate files found. [Jul 24 09:33 PM]: Parsing input files [Jul 24 09:33 PM]: Existing tbl found: funannotate_train/update_results/Dendroaspis_angusticeps.tbl [Jul 24 09:44 PM]: Adding Functional Annotation to Dendroaspis angusticeps, NCBI accession: None [Jul 24 09:44 PM]: Annotation consists of: 38,599 gene models [Jul 24 09:44 PM]: 41,870 protein records loaded [Jul 24 09:44 PM]: Existing Pfam-A results found: funannotate_train/annotate_misc/annotations.pfam.txt [Jul 24 09:44 PM]: 38,194 annotations added [Jul 24 09:44 PM]: Running Diamond blastp search of UniProt DB version 2023_02 [Jul 24 09:44 PM]: 11,670 valid gene/product annotations from 15,237 total [Jul 24 09:44 PM]: Existing Eggnog-mapper results found: funannotate_train/annotate_misc/eggnog.emapper.annotations [Jul 24 09:44 PM]: Parsing EggNog Annotations [Jul 24 09:44 PM]: EggNog version parsed as 2.1.10 [Jul 24 09:44 PM]: 62,872 COG and EggNog annotations added [Jul 24 09:44 PM]: Combining UniProt/EggNog gene and product names using Gene2Product version 1.88 [Jul 24 09:44 PM]: 19,037 gene name and product description annotations added [Jul 24 09:44 PM]: Existing MEROPS results found: funannotate_train/annotate_misc/annotations.merops.txt [Jul 24 09:44 PM]: 1,165 annotations added [Jul 24 09:44 PM]: Existing CAZYme results found: funannotate_train/annotate_misc/annotations.dbCAN.txt [Jul 24 09:44 PM]: 322 annotations added [Jul 24 09:44 PM]: Existing BUSCO2 results found: funannotate_train/annotate_misc/annotations.busco.txt [Jul 24 09:44 PM]: 2,542 annotations added [Jul 24 09:44 PM]: Existing Phobius results found: funannotate_train/annotate_misc/phobius.results.txt [Jul 24 09:44 PM]: Predicting secreted proteins with SignalP Traceback (most recent call last): File "/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/bin/funannotate", line 10, in
sys.exit(main()) File "/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/lib/python3.8/site-packages/funannotate/funannotate.py", line 716, in main mod.main(arguments) File "/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/lib/python3.8/site-packages/funannotate/annotate.py", line 1331, in main lib.signalP( File "/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/lib/python3.8/site-packages/funannotate/library.py", line 7204, in signalP if "." in version: TypeError: argument of type 'bool' is not iterable
OS/Install Information
- output of
funannotate check --show-versions
Checking dependencies for 1.8.15
You are running Python v 3.8.15. Now checking python packages... biopython: 1.81 goatools: 1.2.3 matplotlib: 3.4.3 natsort: 8.3.1 numpy: 1.24.3 pandas: 1.5.3 psutil: 5.9.5 requests: 2.29.0 scikit-learn: 1.2.2 scipy: 1.10.1 seaborn: 0.12.2 All 11 python packages installed
You are running Perl v b'5.032001'. Now checking perl modules... Carp: 1.50 Clone: 0.46 DBD::SQLite: 1.72 DBD::mysql: 4.046 DBI: 1.643 DB_File: 1.858 Data::Dumper: 2.183 File::Basename: 2.85 File::Which: 1.24 Getopt::Long: 2.54 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=/MG/SHARED/APPS/FUNANNOTATE_DB
$PASAHOME=/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/opt/pasa-2.5.2
$TRINITY_HOME=/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/opt/trinity-2.8.5
$EVM_HOME=/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/opt/evidencemodeler-1.1.1
$AUGUSTUS_CONFIG_PATH=/MG/SHARED/APPS/ANACONDA_DIR/anaconda/envs/funannotate/config/
$GENEMARK_PATH=/MG/SHARED/APPS/GENEMARK_LISCENCE/gmes_linux_64_4/
```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 v36x2
diamond: 2.1.6
emapper.py: 2.1.10
ete3: 3.1.2
exonerate: exonerate 2.4.0
fasta: 36.3.8g
glimmerhmm: 3.0.4
gmap: 2023-03-24
gmes_petap.pl: 4.71_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.520 (2023/Mar/22)
makeblastdb: makeblastdb 2.13.0+
minimap2: 2.26-r1175
pigz: 2.6
proteinortho: 6.2.3
pslCDnaFilter: no way to determine
salmon: salmon 0.14.1
samtools: samtools 1.17
snap: 2006-07-28
stringtie: 2.2.1
tRNAscan-SE: 2.0.11 (Oct 2022)
tantan: tantan 40
tbl2asn: 25.8
tblastn: tblastn 2.13.0+
trimal: trimAl v1.4.rev15 build[2013-12-17]
trimmomatic: 0.39
ERROR: signalp not installed
Yes, it will skip if signalp is not found, so it must have found signalp in the PATH and tried to run it.
https://github.com/nextgenusfs/funannotate/blob/master/funannotate/annotate.py#L1314-L1322
funannotate check shows ERROR: signalp not installed.
Not sure how it is still taking signalp.
is there any way to avoid running signalp?
was this ever resolved? having the same issue.
I can't say it was ever a problem. Funannotate just looks in the path for signalp, if it finds it then it tries to run it. If it doesn't than it skips it.