# SignalP 6.0: official server, tutorial, and result interpretation

> SignalP 6.0 predicts N-terminal signal peptides, their class, biochemical regions, and cleavage sites using a protein language model and conditional random field.

SignalP 6.0 predicts whether a protein begins with an N-terminal signal peptide, which type it is, where the signal peptide is cleaved, and which residues form its n-, h-, and c-regions. The [official SignalP 6.0 server](https://services.healthtech.dtu.dk/services/SignalP-6.0/) is run by DTU Health Tech, and DTU links a [BioLib mirror](https://dtu.biolib.com/SignalP-6) for times when the main server is heavily loaded.

The input is a protein sequence, not DNA. Choose Eukarya for eukaryotic proteins or Other for bacteria and archaea, keep fast mode for screening, and switch to slow mode when the exact region boundaries matter. A positive result means the protein enters a classical secretory or membrane-translocation pathway. It does not by itself prove that the protein is secreted.

This guide covers what SignalP 6.0 predicts, how to run it online or locally, how to read each part of the output, and what to check afterwards. If you start from a gene or transcript, translate it first with [DNA to Protein](/app/dna-to-protein) or [ORF Finder](/app/orf-finder) so that SignalP sees the true N-terminus.

## What does SignalP 6.0 predict?

For every submitted protein, SignalP 6.0 assigns the most likely class, reports the likelihood of each allowed class, predicts a cleavage site when one applies, and returns residue-level region probabilities. In bacteria and archaea it distinguishes five signal-peptide classes. Eukaryotic mode is restricted to Sec/SPI versus no signal peptide, because the other four classes are prokaryotic.

| Biological class | Output label | Route and processing | Defining feature | Available for |
| --- | --- | --- | --- | --- |
| Sec/SPI | `SP` | Sec pathway; cleaved by signal peptidase I | Usually has n-, h-, and c-regions | Eukaryotes, bacteria, and archaea |
| Sec/SPII | `LIPO` | Sec pathway; cleaved by signal peptidase II | Lipobox followed by a lipidated cysteine at position +1 | Bacteria and archaea |
| Tat/SPI | `TAT` | Tat pathway; cleaved by signal peptidase I | Twin-arginine motif, usually within the n-region | Bacteria and archaea |
| Tat/SPII | `TATLIPO` | Tat pathway; cleaved by signal peptidase II | Twin-arginine motif plus a lipobox and +1 cysteine | Bacteria and archaea |
| Sec/SPIII | `PILIN` | Sec pathway; cleaved by signal peptidase III | Pilin or pilin-like signal peptide; no n/h/c subdivision | Bacteria and archaea |
| No signal peptide | `OTHER` | No supported narrow-sense signal peptide | The N-terminus does not match an allowed class strongly enough | All modes |

### What are the n-, h-, and c-regions?

A typical Sec/SPI signal peptide is built from three regions rather than one conserved sequence motif. This is why signal peptides are hard to find with a simple pattern search, and why SignalP predicts regions directly.

| Region or feature | SignalP label | Meaning |
| --- | --- | --- |
| n-region | `N` | Amino-terminal region, often enriched in positively charged residues |
| h-region | `H` | Central hydrophobic stretch that drives membrane targeting and insertion |
| c-region | `C` | More polar region around the signal peptidase I cleavage site |
| Twin-arginine motif | `R` | The characteristic Tat-pathway motif near the end of the n-region |
| Lipoprotein +1 cysteine | `c` | Conserved cysteine immediately after an SPII cleavage site |
| Mature protein | Shown separately | Residues outside the predicted signal peptide |

Sec/SPII and Tat/SPII use a lipobox and +1 cysteine instead of the standard c-region. Sec/SPIII signal peptides have no n/h/c subdivision in SignalP's output.

## How does SignalP 6.0 work?

SignalP 6.0 combines a transformer protein language model with a conditional random field (CRF). The language model was pretrained on UniRef100 sequences and turns each amino acid into a context-dependent representation. The CRF decodes those representations into a biologically valid sequence of region labels and, from that, the protein-level class.

Signal peptides share a biochemical layout but often have little sequence identity to one another. Pretraining on millions of unlabelled proteins lets the model reuse general sequence patterns, which matters most for classes with very few labelled examples.

![SignalP 6.0 architecture and the five signal peptide classes it predicts](/images/guides/signalp-6-architecture-and-classes.webp "SignalP 6.0 encodes the N-terminal protein sequence with a protein language model and uses a conditional random field to predict signal-peptide class, biochemical regions, and cleavage site. Adapted from Teufel et al. (2022), CC BY 4.0.")

### Training data by class

The published dataset contained 25,393 proteins. Of these, 6,357 had an annotated signal peptide, while 16,421 intracellular proteins and 2,615 transmembrane proteins served as negative examples. The two classes added in version 6.0 were also the rarest.

| Signal-peptide class | Annotated sequences | Share of signal-peptide examples |
| --- | ---: | ---: |
| Sec/SPI | 3,352 | 52.7% |
| Sec/SPII | 2,261 | 35.6% |
| Tat/SPI | 595 | 9.4% |
| Sec/SPIII | 113 | 1.8% |
| Tat/SPII | 36 | 0.6% |
| Total | 6,357 | 100% |

The percentages are ProteinIQ calculations from the counts reported in the SignalP 6.0 paper.

With only 36 Tat/SPII and 113 Sec/SPIII examples, transfer from the pretrained language model is what made these classes predictable at all. The authors report that SignalP 5.0 performed too poorly on them to be practically useful, while SignalP 6.0 improved detection substantially. Version 6.0 also improved cleavage-site precision across organism groups, and its advantage over 5.0 was clearest for sequences below 60% identity to the training data.

Evaluation used threefold nested cross-validation with homologous sequences kept in the same partition, which limits inflated scores from near-duplicate proteins in training and test sets.

### SignalP 6.0 versus SignalP 5.0 and older versions

| Capability | SignalP 5.0 | SignalP 6.0 |
| --- | --- | --- |
| Main model | Convolutional and recurrent neural network with a CRF | Pretrained transformer protein language model plus CRF |
| Prokaryotic classes | Sec/SPI, Sec/SPII, Tat/SPI | Sec/SPI, Sec/SPII, Tat/SPI, Tat/SPII, Sec/SPIII |
| Region boundaries | Does not report the class-specific region structure | n-, h-, c-regions, twin-arginine motif, and lipoprotein cysteine where applicable |
| Organism information | Organism group (Eukarya, Gram-positive, Gram-negative, Archaea) must be chosen | Inferred from sequence; the server only asks Eukarya or Other |
| Metagenomic proteins of unknown origin | Requires a guess at the organism group | Supported directly |
| Web modes | One mode | Fast distilled model and slow full model |

Older versions reported different scores. SignalP 4.1 reported C-, S-, and Y-scores and a D-score with an adjustable cutoff. These scores were dropped in SignalP 5.0, which moved to a CRF that outputs class likelihoods and marginal probabilities, and SignalP 6.0 keeps that output style. If a protocol or reviewer asks for a D-score, it refers to SignalP 4.1 or earlier, and its closest counterpart in 6.0 is the class likelihood read together with the cleavage-site probability.

## How to use SignalP 6.0 online

The web server accepts one-letter amino-acid sequences, pasted or uploaded as [FASTA](/guides/how-to-make-a-fasta-file). Submit the complete translated protein with its real N-terminus, since SignalP only looks for an amino-terminal signal. A sequence that starts at an internal methionine, or a UniProt fragment missing its first residues, will be misread.

Paste one sequence or multiple FASTA records, or upload a FASTA file. Use short, unique identifiers so the downloaded results map back to your data. To pull reviewed sequences, use [UniProt Download](/app/uniprot-download). For batches above the server limit, cut the file with [FASTA Splitter](/app/fasta-splitter).

Select Eukarya for eukaryotic proteins. Select Other for bacterial or archaeal proteins, including prokaryotic sequences from metagenomes whose exact origin is unknown.

Long output gives a plot and summary per sequence and is best for inspecting a few proteins. Short output returns one line per sequence without graphics and is the right choice for batches.

Fast is the default and suits routine screening and large datasets. Slow takes about six times longer and is meant for cases where accurate n-, h-, and c-region borders matter.

Review the results in the browser, then download the summary, JSON, processed FASTA, or GFF3 files. DTU keeps finished jobs for 24 hours, so save the files you need.

### Web-server limits

| Limit or behavior | Current value |
| --- | --- |
| Minimum sequence length | 10 amino acids |
| Maximum sequence length | 10,000 amino acids |
| Maximum proteins per submission | 1,000 in the form text; a separate instruction mentions 5,000 |
| Long output | May time out above 100 entries |
| Result retention | 24 hours |
| Ambiguous residues | `X`, `U`, `B`, `Z`, and `O` are accepted; other letters are converted to `X` |

The DTU page states both limits, so treat 1,000 proteins as the safe batch size and use short output for anything substantial.

### Fast or slow mode?

Both modes predict class, cleavage site, and regions. Fast mode is a smaller model distilled from the full slow model, and DTU recommends it for most applications.

| Use case | Recommended mode |
| --- | --- |
| Screen hundreds of proteins for signal peptides | Fast |
| Annotate a proteome or metagenomic protein set | Fast with short output |
| Choose the mature-protein start for an expression construct | Slow, then validate experimentally |
| Compare n-, h-, and c-region boundaries | Slow |

### Run SignalP 6.0 locally

DTU distributes a portable Python package with the same core functionality. Academic users can download it without a license fee; commercial users must contact DTU about licensing. The public GitHub repository holds the development code and installation notes, but the supported prediction package comes through DTU's download page.

A typical command:
```bash
signalp6 \
  --fastafile proteins.fasta \
  --organism other \
  --output_dir signalp6_results \
  --format txt \
  --mode fast
```
The package supports `fast`, `slow`, and `slow-sequential` modes. Parallel slow mode needs more than 14 GB of RAM; `slow-sequential` lowers the memory requirement but runs much longer.

| Output file | Contents |
| --- | --- |
| `prediction_results.txt` | One row per sequence with predicted type, class probabilities, and cleavage site |
| `processed_entries.fasta` | Mature proteins with the predicted signal peptide removed |
| `output.gff3` | Signal-peptide coordinates |
| `region_output.gff3` | Region coordinates within each signal peptide |
| `output.json` | Results, run settings, and file metadata for pipelines |
| Per-sequence plots | Optional tabular, PNG, or EPS residue-level output |

For large runs, skip per-sequence plots unless you need them, because plotting and file writing add noticeably to runtime.

## How to interpret SignalP 6.0 results

A result contains three related but separate predictions:

1. Protein class: the most likely class among those allowed by the organism setting.
2. Cleavage site: the most likely bond at which the signal peptide is removed.
3. Residue labels: the probability that each position belongs to a given region or to the mature protein.

These are not interchangeable confidence values. A protein can have a clear Sec/SPI call and a less certain cleavage boundary, and several neighbouring cleavage positions can stay plausible even when the signal peptide itself is well supported.

| Result field | Question it answers |
| --- | --- |
| `Prediction` | Which class has the highest probability? |
| Class likelihoods | How is probability spread across the allowed classes? |
| Cleavage-site probability | How strongly is this exact boundary supported? |
| Region-probability plot | Which residues fall in n-, h-, c-, Tat, lipoprotein, or mature states? |
| Most likely label sequence | Which single consistent region path did the CRF choose? |

### Reading the cleavage position

"Cleavage site between positions 23 and 24" means residues 1 to 23 form the signal peptide and residue 24 is the first residue of the mature chain. It describes a bond between two residues.

DTU's own example shows a Sec/SPI prediction with cleavage between positions 13 and 14, a class likelihood of about 0.71, and a cleavage-site probability of about 0.69. The first number concerns the class, the second the exact boundary.

### Worked example: checking a known signal peptide

A quick way to sanity-check your setup is to run a protein with a curated signal peptide. Human preproinsulin (UniProt P01308) is 110 residues long, and UniProt annotates residues 1 to 24 as the signal peptide, based on experimental evidence. Submit it with Eukarya selected and compare SignalP's class and cleavage site to that annotation. The [insulin amino acid guide](/guides/how-many-amino-acids-are-in-insulin) shows how removing those 24 residues, and then the C-peptide, turns the precursor into the 51-residue hormone.

The same precursor-versus-mature distinction explains why UniProt lengths often differ from the circulating protein, as with albumin in the [average protein size guide](/guides/average-protein-size) and von Willebrand factor in the [largest protein guide](/guides/largest-protein).

### When a result is uncertain

Treat a prediction as less decisive when:

- the leading class has only a small margin over `OTHER` or another class,
- neighbouring cleavage positions have similar probabilities,
- fast and slow mode place important region boundaries differently,
- the sequence starts with a long hydrophobic stretch that could be an uncleaved signal anchor,
- the N-terminus may be incomplete or start at the wrong methionine,
- or ambiguous residues occur inside the predicted signal peptide.

No likelihood threshold turns a prediction into experimental proof. For construct design, inspect the residue plot, rerun in slow mode, compare curated homologues, and confirm the mature N-terminus experimentally when the boundary matters.

## Does a positive SignalP result mean the protein is secreted?

No. A positive result supports entry into a classical secretory or membrane-translocation pathway. It does not establish where the protein ends up.

| Context | A positive prediction is consistent with |
| --- | --- |
| Eukaryotes | Secretion, ER or Golgi retention, lysosomal or vacuolar targeting, a membrane protein, or a GPI-anchored protein |
| Gram-negative bacteria | Periplasm, inner-membrane retention, outer-membrane insertion, or export beyond the outer membrane |
| Gram-positive bacteria and archaea | Membrane retention or cell-wall attachment; release needs more evidence |
| Lipoproteins | A membrane-anchored mature protein after lipidation of the +1 cysteine |
| Tat substrates | Export through the twin-arginine pathway rather than the Sec pathway |

A negative result only means SignalP found none of its supported N-terminal patterns. It does not rule out mitochondrial or chloroplast transit peptides, internal signal anchors, peroxisomal or nuclear signals, or non-classical secretion without a signal peptide. DTU points to SecretomeP for leaderless secretion and notes that SignalP should not be used for Mollicutes (Tenericutes), which lack signal peptidase I.

SignalP is also not a transmembrane topology predictor. Signal peptides and N-terminal transmembrane helices are both hydrophobic, and a retained signal anchor can look like a cleaved signal peptide. The main difference is the length of the hydrophobic segment, so check the whole sequence before turning a cleavage site into an annotation or a construct.

## What to check after SignalP

Most SignalP runs feed a larger decision: annotating a secretome, designing an expression construct, or preparing a mature chain for structure prediction. These follow-up checks cover the common questions.

| Question | Next analysis |
| --- | --- |
| Is the hydrophobic N-terminus a signal peptide or a transmembrane helix, and are there more helices downstream? | Plot the sequence with a [hydropathy plot](/app/hydropathy-plot), then confirm with [DeepTMHMM](https://services.healthtech.dtu.dk/services/DeepTMHMM-1.0/) or [Phobius](https://www.ebi.ac.uk/Tools/pfa/phobius/) |
| Is the eukaryotic N-terminal signal secretory, mitochondrial, or chloroplastic? | [TargetP 2.0](https://services.healthtech.dtu.dk/services/TargetP-2.0/) |
| Where is the mature protein likely to end up? | [DeepLoc 2.1](https://services.healthtech.dtu.dk/services/DeepLoc-2.1/) for eukaryotes or [DeepLocPro](https://services.healthtech.dtu.dk/services/DeepLocPro-1.0/) for prokaryotes |
| How do mass, pI, and hydrophobicity change once the signal peptide is removed? | Compare precursor and mature chains with [Protein Parameters](/app/protein-parameters), the [isoelectric point calculator](/app/isoelectric-point-calculator), and [GRAVY](/app/gravy) |
| Will the mature chain express solubly in *E. coli*? | [NetSolP](/app/netsolp-1-0) or [Protein-Sol](/app/protein-sol) |
| Does a secreted eukaryotic protein carry N-glycosylation sequons or other motifs? | [Glycosylation site finder](/app/glycosylation-sites) and [protein motif scanner](/app/motif-scanner) |
| What does the mature protein look like in 3D? | Predict the structure with [ESMFold](/app/esmfold) or [AlphaFold2](/app/alphafold-2) |

The mature-chain step matters more than it looks. The predicted molecular weight, pI, and solubility of a precursor include residues that are cut off in the cell. Structure predictors will also try to model the signal peptide, usually as a low-confidence helix or disordered tail. Removing residues through the predicted cleavage position, as in `processed_entries.fasta`, gives a sequence that matches the protein you actually express or purify. For membrane proteins, the [transmembrane protein structure prediction](/use-cases/transmembrane-protein-structure-prediction) workflow explains when to keep the signal peptide in view. For general folding, see [protein structure prediction](/use-cases/protein-structure-prediction) and [AlphaFold2](/app/alphafold-2).

Antibody sequences are a common case. Heavy and light chains from cDNA or patents often still carry their leader peptide, and developability tools expect variable domains only. The [TAP2](/app/tap2) docs describe how to trim signal peptides and constant regions before analysis, and [what are antibodies](/guides/what-are-antibodies) covers the chain structure.

## Other signal peptide prediction tools

No single predictor answers every sorting question. Choose by the decision you need to make.

| Tool | Best used for | What it adds beyond SignalP |
| --- | --- | --- |
| TargetP 2.0 | Eukaryotic N-terminal targeting peptides | Separates secretory, mitochondrial, chloroplast, and thylakoid-lumen signals |
| Phobius | Joint signal-peptide and topology prediction | Models the competition between a cleaved signal peptide and an N-terminal transmembrane segment |
| DeepTMHMM | Transmembrane topology | Tests whether hydrophobic segments are retained membrane helices |
| DeepLoc 2.1 | Eukaryotic subcellular localization | Predicts final compartments and membrane association |
| DeepLocPro | Prokaryotic subcellular localization | Distinguishes cytoplasm, membrane, periplasm, outer membrane, cell wall, and extracellular space |
| SecretomeP | Non-classical secretion | Scores secreted proteins that have no signal peptide |

SignalP remains the focused choice when the question is whether a classical signal peptide is present, which type it is, and where it is cleaved.

## How to cite SignalP 6.0

Cite the Nature Biotechnology paper: Teufel F, Almagro Armenteros JJ, Johansen AR, Gíslason MH, Pihl SI, Tsirigos KD, Winther O, Brunak S, von Heijne G, Nielsen H. SignalP 6.0 predicts all five types of signal peptides using protein language models. *Nat Biotechnol.* 2022;40(7):1023–1025. doi:10.1038/s41587-021-01156-3.

In methods sections, also state the organism setting (Eukarya or Other), the mode (fast or slow), and whether you used the web server or the local package.

## Frequently asked questions

### Is it SignalP, Signal P, or Signal IP?

The official name is SignalP, written as one word. "Signal P 6.0", "SignalP6", and "Signal IP" are common search variants for the same tool.

### Do I need to select an organism group?

Only Eukarya or Other. This replaces the four organism groups of SignalP 5.0. The model infers prokaryotic context from sequence, while the Eukarya setting blocks the four prokaryote-only classes.

### What does Other mean in SignalP 6.0?

It has two meanings. In the organism selector, Other means bacteria or archaea. In the output, `OTHER` means no signal peptide was predicted.

### Which setting should I use for a viral protein?

Use the host. Choose Eukarya for a protein made in a eukaryotic host and Other for a bacteriophage protein made in bacteria.

### Can SignalP 6.0 take DNA or RNA sequences?

No. Translate nucleotide sequences first, for example with [DNA to Protein](/app/dna-to-protein), and check that the start codon is correct because SignalP only reads the N-terminus.

### Why doesn't SignalP 6.0 report a D-score?

The D-score belongs to SignalP 4.1 and earlier. Since version 5.0, SignalP reports class likelihoods, a cleavage-site probability, and per-residue marginal probabilities instead.

### Can SignalP predict mitochondrial or chloroplast targeting peptides?

No. SignalP predicts secretory signal peptides only. Use TargetP 2.0 for mitochondrial, chloroplast, and thylakoid targeting.
