Package: signalp6
SignalP 6.0 signal peptide prediction toolYou can also read this markdown file with nice formatting athttps://github.com/fteufel/signalp-6.0/blob/main/installation_instructions.md.InstallationSignalP 6.0 is distributed as a Python package.Unpack the downloadedtar.gzfile.[Optional]: Create a python environment to install the package in.Open the directory containing the downloaded package, and install it by executing the following command.pip install signalp-6-package/Copy the model files to the location at which the signalp module got installed. The model weight files are large, so this might take a while.SIGNALP_DIR=$(python3 -c "import signalp; import os; print(os.path.dirname(signalp.__file__))" )
cp -r signalp-6-package/models/* $SIGNALP_DIR/model_weights/The installer created a commandsignalp6on your system that is available within the python environment in which you ran step 2.[Optional]: SignalP 6.0 supports different run modes (seeUsage). Your download only included the one you picked. To make multiple run modes available in the same installation, you need to download and install additional model weights. Find instructions for thatbelow.[Optional]: By default SignalP 6.0 runs on CPU. If you have a GPU available, you can convert your installation to use it. Instructions for that arebelowThe package was tested on Ubuntu 18.04.2 LTS under WSL2, running Python 3.6. As it is a Python package, it should run on all operating systems that are supported by Pytorch. It typically installs in 1-5 minutes, depending on disk write speed. The dependencies can be found inrequirements.txt.UsageHow to predictA command takes the following formsignalp6 --fastafile /path/to/input.fasta --organism other --output_dir path/to/be/saved --format txt --mode fastTo get help for the available options, runsignalp6 -h.Required--fastafile,-ff, specifies the fasta file with the sequences to be predicted.
To prevent invalid file paths, non-alphanumeric characters in fasta headers are replaced with "_" for saving the individual sequence output files.--output_dir,-od, speicifies the directory in which to save the outputs. If it does not exist, it will be created. Note that repeated calls with the same--output_dirwill overwrite previous prediction results.Options--organism,-org, is eitherotheroreukarya. Specifyingeukaryatriggers post-processing of the SP predictions to prevent spurious results (only predicts type Sec/SPI).Defaults toother.--format,-fmt, can take the valuestxt,png,eps,all,none. It defines what output files are created for individual sequences.txtproduces a tabular.gfffile with the per-position predictions for each sequence.png,eps,alladditionally produce probability plots in the requested format.noneonly writes the summary prediction files. For larger prediction jobs, plotting will slow down the processing speed significantly.Defaults totxt.--mode,-m, is eitherfast,sloworslow-sequential. Default isfast, which uses a smaller model that approximates the performance of the full model, requiring a fraction of the resources and being significantly faster.slowruns the full model in parallel, which requires more than 14GB of RAM to be available.slow-sequentialruns the full model sequentially, taking the same amount of RAM asfastbut being 6 times slower. If the specified model is not installed, SignalP will abort with an error.Defaults tofast.Performance optimization--bsize,-bsis the integer batch size used for prediction. When running on GPU, this should be adjusted to maximize usage of the available memory. On CPU, the choice usually has only a limited effect on performance. Defaults to10.--write_procs,-wpis the integer number of parallel processes launched for writing output files. Using multiple processes significantly speeds up writing the outputs for prediction jobs with many sequences. However, due to the way multiprocessing works in Python, this leads to increased memory usage. By setting to1, no additional processes are started. Defaults to the number of available CPUs with8processes maximum.Output interpretationThe installed version produces the same outputs as the SignalP 6.0 webserver. For interpretation instructions, please consulthttps://services.healthtech.dtu.dk/service.php?SignalP-6.0/.The following files are always created:prediction_results.txtA tab delimited file with one line per prediction.
Columns:ID: the sequence ID parsed from the fasta input.Prediction: The predicted type. One of [OTHER(No SP),SP(Sec/SPI),LIPO(Sec/SPII),TAT(Tat/SPI),TATLIPO(Tat/SPII),PILIN(Sec/SPIII)].One column for each possible type with the model's probability.CS Position: The cleavage site. The sequence positions between which the SPase cleaves and its predicted probability.processed_entries.fastaThe sequences that were predicted in one-line fasta format, as they were parsed by the program.output.gff3The start and end positions of all predicted signal peptides in GFF3 format.region_output.gff3The start and end positions of all predicted signal peptide regions in GFF3 format.output.jsonThe prediction results in JSON format, together with details on the run parameters and paths to the generated output files. Useful for integrating SignalP 6.0 in pipelines.These single-sequence files are optional:SEQUENCE_NAME_plot.txtContains the predicted label and probabilities at each sequence position in tabular format.SEQUENCE_NAME_plot.pngandSEQUENCE_NAME_plot.epsA plot of the predicted labels and probabilities of the sequence.Installing additional modesDownload the package for the mode you would like to add to your installation.Unpack the downloaded package. The model is stored atsignalp-6-package/signalp/model_weights/.Find the target destination of your current SignalP 6.0 installation. When installed with pip in a virtual environment, this should typically be something like/PATH/TO/ENV/ENVIRONMENT_NAME/lib/python3.6/site-packages/signalp/model_weights. A quick way to find out the target destination is to run SignalP 6.0 with a mode that is not installed and look at the resultingValueError.Copy the content of the downloaded package into your installation.cp -r signalp-6-package/signalp/model_weights/ /PATH/TO/ENV/ENVIRONMENT_NAME/lib/python3.6/site-packages/signalp/model_weights. The additional mode should now be available and run without throwing an error.Converting to GPUThe model weights that come with the installation by default run on your CPU. If you have a GPU available, you can convert your installation to use the GPU instead. This is done via a command that is available after installation:signalp6_convert_models gpu # makes all installed models run on GPU
signalp6_convert_models cpu # reverts all models back to CPUThese conversion calls run a bash script that modifies the model files. Conversion will take a while as it involves repacking large zipped archives.
If the system does not have a GPU, the conversion call will fail. If you try to run GPU-coverted weights on CPU, signalp6 will fail.Bugs and QuestionsFor technical issues (Bugs, missing functionality, poor documentation ...) contactfelix.teufel@gmail.comor open an issue athttps://github.com/fteufel/signalp-6.0.For scientific questions, contacthenni@dtu.dk.Updates6.0fFix issue witheukaryamode introduced in 6.0eAdd--versionoption to access current version number.Mode now automatically switches toslow-sequentialifslowis not available.6.0eAutomatically resolve rare cases where the predicted regions do not match the predicted type.6.0dAddnoneas a format for single-sequence output files.Option--write_procsto disable multiprocessing for writing output files.Improved resolving of cases with missing CS.6.0cFix region output when using theeukaryamode.Handle Sec/SPII and Tat/SPII SPs correctly when resolving cases with no CS reported.6.0bFix issue where some predicted SPs did not have a CS reported. SignalP 6.0 now automatically resolves such cases. Can be disabled with--skip-resolve.Updated CLI to better match SignalP 5.0:Accept argument aliases-fasta,-batch,-format,-org.Accepteukas alias foreukarya.Added short aliases for CLI arguments.Improvements to README.mdSupport running models on GPU (thanks to Milan Milenovic,https://github.com/milenovic)model weights can be converted to and from GPU usingsignalp6_covert_modelssignalp6automatically infers whether to run on GPU when loading the model weight files.No longer replace whitespace in fasta headers (except when writing files, still replace with_in filenames).6.0aInitial preprint release.Legacy hostsDownload the model weights you need atslow, memory-hungry (parallel) model athttps://mega.nz/file/TFUmSZxT#sQWPIlHtkWLJ1otfqxx1zeERUUu4D4YM3yvWefTXnUU(or at DTU)fast model athttps://mega.nz/file/uZ0DVQ7b#oDDerv_8mJmj1ypC_CX8OaWBxfYe4dXDvHGVgOiwCks(or at DTU)slow, memory-saving (sequential) model for now only hosted at DTU.