effectorp packages
EffectorP 3.0
for TAFFISH.
Package identity:
- name:
effectorp - command:
taf-effectorp - kind:
tool - version:
3.0-r1 - TAFFISH app license: Apache-2.0
- upstream product line: EffectorP 3.0
- upstream source:
mainsnapshot157a99d54c9ee02101c6b7a4ed5fb55d69193f18from 2026-03-31 - upstream license: GPL-3.0-or-later with CSIRO Section 7 terms
- bundled WEKA: 3.8.4, GPL-3.0
- bundled OpenJDK runtime: GPL-2.0 with Classpath Exception
EffectorP 3.0 classifies proteins from fungal and oomycete secretomes as:
- cytoplasmic effectors
- apoplastic effectors
- dual-localized cytoplasmic/apoplastic effectors
- non-effectors
The image contains the upstream Python source, all 90 prediction model files, WEKA 3.8.4, Python 3, Java, the upstream example FASTA, license notices, and the exact checksum-verified source archive.
Upstream calls the software EffectorP 3.0 but has not published a stable 3.0
tag or GitHub Release. Its only tag is the older prerelease
v3.0.0-beta. The current main branch is 14 commits ahead of that tag and
contains functional fixes for duplicate FASTA identifiers, terminal *
characters, and effectors written through -E.
For those reasons this TAFFISH package:
- uses user-facing version
3.0-r1, matching the upstream product name - does not claim that a stable upstream
v3.0.0release exists - pins the complete upstream commit
157a99d54c9ee02101c6b7a4ed5fb55d69193f18 - verifies the downloaded source archive with SHA256
b2219812660b0e8b4f3380831cf4c7d304bb85f508214bcdcf22673580a5ea5b - tracks future upstream changes by comparing the
mainbranch commit
This app supports:
- the default fungal and oomycete EffectorP 3.0 classifier
- the fungal-specific cytoplasmic model selected with
-f - the stdout report and tab-delimited
-oprediction table - separate
-Epredicted-effector and-Npredicted-non-effector FASTA files - duplicate FASTA identifiers and sequences ending in
*, as fixed by the pinned upstream snapshot - native
linux/amd64andlinux/arm64CPU execution
This app does not:
- predict which proteins are secreted
- run SignalP, Phobius, TMHMM, or another secretome/TM filter
- predict bacterial, nematode, insect, or plant effectors
- provide GPU, MPI, web-service, training, or model-retraining interfaces
- replace biological validation of candidate effectors
effectorp: stable container command that runs the upstream/opt/effectorp/EffectorP.pyEffectorP.py: command alias for the original upstream Python entry pointpython3: Python runtime used by EffectorPjava: module-trimmed OpenJDK 17 runtime used to invoke WEKA/opt/effectorp/weka-3-8-4/weka.jar: checksum-verified WEKA 3.8.4 runtime/opt/effectorp/TrainingData_*/*.model: all 90 upstream prediction models/opt/effectorp/share/source/: exact upstream source archive, including the training data and bundled WEKA source distribution
The final runtime omits upstream training FASTA, ARFF, and training log files
from the active prediction tree because EffectorP exposes no retraining
command. They remain available inside the preserved source archive.
The Java runtime is generated with jdeps and jlink from the WEKA module
closure; a full JDK and build toolchain are not retained.
It is scoped to EffectorP's headless WEKA classifier path and does not promise
the optional WEKA GUI, X11, or audio surfaces. OpenJDK legal notices remain
under /opt/java/legal/.
Display the upstream help:
taf-effectorp -- -hRun the default fungal and oomycete classifier:
taf-effectorp \
-i secreted-proteins.fasta \
-o predictions.tsv \
-E predicted-effectors.fasta \
-N predicted-non-effectors.fastaRun the fungal-specific model:
taf-effectorp \
-f \
-i fungal-secreted-proteins.fasta \
-o fungal-predictions.tsvRun the packaged command explicitly:
taf-effectorp effectorp -i secreted-proteins.fasta -o predictions.tsv
taf-effectorp EffectorP.py -htaf-effectorp --help displays the TAFFISH app manual.
taf-effectorp -- -h passes -h to the default upstream command.
EffectorP does not provide a dedicated upstream --version command. The
upstream help banner reports EffectorP 3.0; exact snapshot identity is stored
in image provenance:
taf-effectorp grep -F upstream_commit= \
/opt/effectorp/share/provenance/source.txttaf-effectorp --version reports the TAFFISH package version 3.0-r1, not a
new upstream semantic release.
| Input | Meaning | Notes |
|---|---|---|
| Protein FASTA | Proteins already classified as secreted | A non-empty ordinary amino-acid FASTA file is required |
-f |
Fungal-specific mode | Uses fungal-only cytoplasmic models with the common apoplastic models |
Terminal * |
Optional stop marker in a sequence | Removed by the pinned upstream snapshot before classification |
EffectorP is trained for secreted proteins from plant-pathogenic fungi and oomycetes. Running a complete proteome without a secretion filter can produce misleading cytoplasmic-effector calls because non-secreted intracellular proteins were outside the intended training contract.
Input is file based. Upstream does not accept FASTA through stdin or compressed FASTA directly.
The normal stdout report includes progress, a human-readable prediction table, counts, and percentages. File options are:
| Option | Output |
|---|---|
-o FILE |
Tab-delimited prediction table for all proteins |
-E FILE |
FASTA containing predicted effectors and probabilities |
-N FILE |
FASTA containing predicted non-effectors and probabilities |
Prediction classes include Cytoplasmic effector, Apoplastic effector,
dual-localized forms, and Non-effector. Upstream describes probabilities as
rough estimates and does not recommend one universal probability threshold.
Interpret them together with secretion evidence, expression, localization, and
other biological context.
Existing files supplied to -o, -E, or -N are overwritten.
The application is CPU-only and supports native linux/amd64 and
linux/arm64. Runtime cost is driven by launching the WEKA ensemble models and
scales with the number and length of proteins. No external database, model
download, network access, GPU, or persistent cache is required.
All 90 model files and the compatible WEKA 3.8.4 jar are bundled. The app can therefore run fully offline after the container image has been obtained.
EffectorP is a candidate-prioritization classifier, not a secretome predictor and not proof that a protein is a biological effector. A typical analysis first predicts secretion and excludes incompatible transmembrane proteins, then applies EffectorP to the resulting fungal or oomycete secretome.
SignalP, Phobius, TMHMM, TMbed, expression analysis, localization prediction, and downstream functional validation are separate tools or steps and are not silently bundled into this image.
EffectorP was not trained for bacterial, nematode, insect, or plant effector prediction. Its output should be described as predicted or candidate effectors.
- The default
mainbranch is never cloned at image build time. - Source is downloaded by immutable commit and checksum-verified.
- The image records the source URL, SHA256, commit date, WEKA jar checksum, and
model count under
/opt/effectorp/share/provenance/source.txt. - The unmodified source archive is retained for auditability and GPL source availability.
- Runtime smoke tests cover both classifier modes, all public output file options, duplicate identifiers, terminal stop markers, WEKA identity, model completeness, license files, and the executed Python/Java runtime paths.
Path to WEKA software does not exist: use the packagedeffectorporEffectorP.pycommand; do not copy only the Python file out of the image.- The original upstream script is preserved byte-for-byte, including its CRLF line endings. Both packaged commands invoke it explicitly through Python so its shebang is not interpreted by the container shell.
Error calling WEKA: confirm the image is intact and that Java and all model files are present; the smoke identity check records the expected count.- No output or a division error: confirm the input FASTA is non-empty.
- Unexpected biological calls: confirm the input contains secreted fungal or oomycete proteins rather than a complete proteome.
- Missing output files on the host: run from the intended working directory and use relative output paths within that directory.
The independent offline smoke tests cover:
- snapshot commit, tarball checksum, WEKA 3.8.4, 90 model files, licenses, Python syntax, and the executed Python/Java runtime paths
- the default classifier on the upstream reference proteins with
-o/-E/-N - duplicate identifiers and terminal
*regression behavior from post-beta upstream fixes - fungal-only mode with a real WEKA classification
The Dockerfile build-time check intentionally runs only the lightweight identity path. Full ensemble inference remains in runtime/index smoke so QEMU multi-architecture builds do not depend on repeated Java classifier startup. Smoke does not replace scientific validation on production secretomes.
The TAFFISH app repository, including its wrapper, Dockerfile, smoke helper, and documentation, is Apache-2.0.
EffectorP is distributed under GPLv3-or-later with the additional CSIRO terms
in upstream LICENCE.txt. Bundled WEKA 3.8.4 is GPLv3. The image retains the
EffectorP license agreement, GPL texts, exact source archive, and WEKA license.
The trimmed OpenJDK 17 runtime is GPLv2 with the Classpath Exception and keeps
its module-specific notices under /opt/java/legal/. These dependency and
upstream terms remain separate from the TAFFISH app repository license.
Please cite:
Sperschneider J, Dodds PN. EffectorP 3.0: Prediction of Apoplastic and Cytoplasmic Effectors in Fungi and Oomycetes. Molecular Plant-Microbe Interactions. 2022;35(2):146-156. doi: 10.1094/MPMI-08-21-0201-R. PMID: 34698534.
Upstream resources: