Skip to content

taffish/effectorp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

effectorp

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: main snapshot 157a99d54c9ee02101c6b7a4ed5fb55d69193f18 from 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

What This App Packages

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.

Snapshot Version Strategy

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.0 release exists
  • pins the complete upstream commit 157a99d54c9ee02101c6b7a4ed5fb55d69193f18
  • verifies the downloaded source archive with SHA256 b2219812660b0e8b4f3380831cf4c7d304bb85f508214bcdcf22673580a5ea5b
  • tracks future upstream changes by comparing the main branch commit

Scope

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 -o prediction table
  • separate -E predicted-effector and -N predicted-non-effector FASTA files
  • duplicate FASTA identifiers and sequences ending in *, as fixed by the pinned upstream snapshot
  • native linux/amd64 and linux/arm64 CPU 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

Container Contents

  • effectorp: stable container command that runs the upstream /opt/effectorp/EffectorP.py
  • EffectorP.py: command alias for the original upstream Python entry point
  • python3: Python runtime used by EffectorP
  • java: 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/.

Usage

Display the upstream help:

taf-effectorp -- -h

Run the default fungal and oomycete classifier:

taf-effectorp \
  -i secreted-proteins.fasta \
  -o predictions.tsv \
  -E predicted-effectors.fasta \
  -N predicted-non-effectors.fasta

Run the fungal-specific model:

taf-effectorp \
  -f \
  -i fungal-secreted-proteins.fasta \
  -o fungal-predictions.tsv

Run the packaged command explicitly:

taf-effectorp effectorp -i secreted-proteins.fasta -o predictions.tsv
taf-effectorp EffectorP.py -h

Command Mode

taf-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.txt

taf-effectorp --version reports the TAFFISH package version 3.0-r1, not a new upstream semantic release.

Inputs

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.

Outputs

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.

Platform and Resources

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.

Boundaries and Recommended Context

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.

Reproducibility

  • The default main branch 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.

Troubleshooting

  • Path to WEKA software does not exist: use the packaged effectorp or EffectorP.py command; 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.

Testing

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.

License and Citation

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:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages