pocketz.doi.bio/docs/signalp6/03-usage.md
SignalP 6.0 — Usage
Two ways to run it: the web server (no install, good for a handful of sequences) or the standalone Python package (for pipelines / large datasets).
Web server
- URL: https://services.healthtech.dtu.dk/services/SignalP-6.0/
- Paste sequences or upload a FASTA file.
- Limits: proteins must be ≥10 aa; max 1000 proteins per job; long output "might timeout for more than 100 entries."
- Organism:
Eukarya(predicts Sec/SPI only) orOther(all five types). - Output format: Long (with per-residue probability figures) or Short (no figures).
- Model mode: Fast or Slow (slow ≈ 6× slower, better region borders).
- Overloaded? Use the BioLib mirror: https://dtu.biolib.com/SignalP-6
Standalone install
Download the package from the DTU "Downloads" tab (free for academics; commercial needs a license), then:
# in a fresh Python env (Python ≤ 3.10)
pip install signalp-6-package/
pip install "numpy<2" # needed for the 6.0h build
# copy the bundled model weights into the installed package
SIGNALP_DIR=$(python3 -c "import signalp, os; print(os.path.dirname(signalp.__file__))")
cp -r signalp-6-package/models/* $SIGNALP_DIR/model_weights/
This exposes a signalp6 command inside that environment.
(Source & instructions: https://github.com/fteufel/signalp-6.0)
Command line
signalp6 \
--fastafile input.fasta \
--organism other \
--output_dir results/ \
--format txt \
--mode fast
| Argument | Short | Values | Default | Notes |
|----------|-------|--------|---------|-------|
| --fastafile | -ff | path | — | required input FASTA |
| --output_dir | -od | path | — | required output folder |
| --organism | -org | other, eukarya | other | eukarya → Sec/SPI only |
| --format | -fmt | txt, png, eps, all, none | txt | plot/image outputs |
| --mode | -m | fast, slow, slow-sequential | fast | speed vs. region accuracy / memory |
| --bsize | -bs | int | 10 | batch size |
| --torch_num_threads | -tt | int | 8 | CPU threads |
| --write_procs | -wp | int | ≤ CPU count | parallel output writers |
| --model_dir | -md | path | install default | custom weights |
Run signalp6 -h for the full list.
Output files
| File | Contents |
|------|----------|
| prediction_results.txt | Tab-delimited, one row per protein: ID, predicted type, per-type probabilities, cleavage-site position + probability |
| processed_entries.fasta | Mature sequences (signal peptide removed) |
| output.gff3 | SP start/end coordinates |
| region_output.gff3 | n/h/c region coordinates |
| output.json | Run parameters + paths to all outputs — the hook for pipeline integration |
| *_plot.txt / *_plot.png / *_plot.eps | Per-position probabilities and figures (when --format requests them) |
Reading prediction_results.txt
The Prediction column is one of these labels (note it uses short codes, not
the "Sec/SPI" names):
| Label | Meaning |
|-------|---------|
| OTHER | No signal peptide |
| SP | Sec/SPI — standard secretory SP |
| LIPO | Sec/SPII — lipoprotein SP |
| TAT | Tat/SPI |
| TATLIPO | Tat/SPII |
| PILIN | Sec/SPIII — pilin |
Then there is one probability column per class (they sum to ~1) and a
CS Position column giving the predicted cleavage site, e.g.
CS pos: 21-22. Pr: 0.87 — cut between residues 21 and 22 with probability 0.87.
The mature protein in processed_entries.fasta starts at that position.
Next: 04-benchmarks-and-context.md.