InterPro is a database which integrates together predictive information about proteins’ function from a number of partner resources, giving an overview of the families that a protein belongs to and the domains and sites it contains. Users who have novel nucleotide or protein sequences that they wish to functionally characterise can use the software package InterProScan to run the scanning algorithms from the InterPro database in an integrated way. Sequences are submitted in FASTA format. Matches are then calculated against all of the required member database’s signatures and the results are then output in a variety of formats.
The Interproscan software is stored within a dedicated container in the /nobackup/shared/containers directory and is accessible to all users of Comet. You do not need to take a copy of the container file; it should be left in its original location.
/nobackup/shared/containers
You can find the container files here:
/nobackup/shared/containers/interproscan.2026.07.sif
We normally recommend using the latest (date) version of the container unless you have a specific need for an earlier version of software.
Container Image Versions
We may reference a specific container file, such as interproscan.2026.07.sif, but you should always check whether this is the most recent version of the container available. Simply ls the /nobackup/shared/containers directory and you will be able to see if there are any newer versions listed.
ls
We have provided a convenience script that will automate all of steps needed to run applications inside the container, and access your $HOME, /scratch and /nobackup directories to just two simple commands.
$HOME
/scratch
/nobackup
/nobackup/shared/containers/interproscan.2026.07.sh
There is a corresponding .sh script for each version of the container image we make available.
.sh
Just source this file and it will take care of loading apptainer, setting up your bind directories and calling the exec command for you - and give you a single command called container.run (instead of the really long apptainer exec command) to then run anything you want inside the container, for example - to run interproscan –help:
source
apptainer
bind
exec
container.run
interproscan –help
$ source /nobackup/shared/containers/interproscan.2026.07.sh $ container.run interproscan --help 27/07/2026 10:28:08:606 Welcome to InterProScan-5.78-109.0 27/07/2026 10:28:08:606 Running InterProScan v5 in STANDALONE mode... on Linux usage: java -XX:+UseParallelGC -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -Xms128M -Xmx2048M -jar interproscan-5.jar Please give us your feedback by sending an email to interhelp@ebi.ac.uk -appl,--applications <ANALYSES> Optional, comma separated list of analyses. If this option is not set, ALL analyses will be run. -b,--output-file-base <OUTPUT-FILE-BASE> Optional, base output filename (relative or absolute path). Note that this option, the --output-dir (-d) option and the --outfile (-o) option are mutually exclusive. The appropriate file extension for the output format(s) will be appended automatically. By default the input file path/name will be used. -cpu,--cpu <CPU> Optional, number of cores for inteproscan. -d,--output-dir <OUTPUT-DIR> Optional, output directory. Note that this option, the --outfile (-o) option and the --output-file-base (-b) option are mutually exclusive. The output filename(s) are the same as the input filename, with the appropriate file extension(s) for the output format(s) appended automatically . -dp,--disable-precalc Optional. Disables use of the precalculated match lookup service. All match calculations will be run locally. -dra,--disable-residue-annot Optional, excludes sites from the XML, JSON output -etra,--enable-tsv-residue-annot Optional, includes sites in TSV output -exclappl,--excl-applications <EXC-ANALYSES> Optional, comma separated list of analyses you want to exclude. -f,--formats <OUTPUT-FORMATS> Optional, case-insensitive, comma separated list of output formats. Supported formats are TSV, XML, JSON, and GFF3. Default for protein sequences are TSV, XML and GFF3, or for nucleotide sequences GFF3 and XML. -goterms,--goterms Optional, switch on lookup of corresponding Gene Ontology annotation (IMPLIES -iprlookup option) -help,--help Optional, display help information -i,--input <INPUT-FILE-PATH> Optional, path to fasta file that should be loaded on Master startup. Alternatively, in CONVERT mode, the InterProScan 5 XML file to convert. -incldepappl,--incl-dep-applications <INC-DEP-ANALYSES> Optional, comma separated list of deprecated analyses that you want included. If this option is not set, deprecated analyses will not run. -iprlookup,--iprlookup Also include lookup of corresponding InterPro annotation in the TSV and GFF3 output formats. -ms,--minsize <MINIMUM-SIZE> Optional, minimum nucleotide size of ORF to report. Will only be considered if n is specified as a sequence type. Please be aware of the fact that if you specify a too short value it might be that the analysis takes a very long time! -o,--outfile <EXPLICIT_OUTPUT_FILENAME> Optional explicit output file name (relative or absolute path). Note that this option, the --output-dir (-d) option and the --output-file-base (-b) option are mutually exclusive. If this option is given, you MUST specify a single output format using the -f option. The output file name will not be modified. Note that specifying an output file name using this option OVERWRITES ANY EXISTING FILE. -pa,--pathways Optional, switch on lookup of corresponding Pathway annotation (IMPLIES -iprlookup option) -t,--seqtype <SEQUENCE-TYPE> Optional, the type of the input sequences (dna/rna (n) or protein (p)). The default sequence type is protein. -T,--tempdir <TEMP-DIR> Optional, specify temporary file directory (relative or absolute path). The default location is temp/. -verbose,--verbose Optional, display more verbose log output -version,--version Optional, display version number -vl,--verbose-level <VERBOSE-LEVEL> Optional, display verbose log output at level specified. -vtsv,--output-tsv-version Optional, includes a TSV version file along with any TSV output (when TSV output requested) Copyright ? EMBL European Bioinformatics Institute, Hinxton, Cambridge, UK. (http://www.ebi.ac.uk) The InterProScan software itself is provided under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html). Third party components (e.g. member database binaries and models) are subject to separate licensing - please see the individual member database websites for details. Available analyses: AntiFam (8.0) : AntiFam is a resource of profile-HMMs designed to identify spurious protein predictions. CDD (3.21) : CDD predicts protein domains and families based on a collection of well-annotated multiple sequence alignment models. Coils (2.2.1) : Prediction of coiled coil regions in proteins. FunFam (4.3.0) : Prediction of functional annotations for novel, uncharacterized sequences. Gene3D (4.3.0) : Structural assignment for whole genes and genomes using the CATH domain structure database. Hamap (2026_01) : High-quality Automated and Manual Annotation of Microbial Proteomes. MobiDBLite (4.0) : Prediction of intrinsically disordered regions in proteins. NCBIfam (19.0) : NCBIfam is a collection of protein families based on Hidden Markov Models (HMMs). PANTHER (19.0) : The PANTHER (Protein ANalysis THrough Evolutionary Relationships) Classification System is a unique resource that classifies genes by their functions, using published scientific experimental evidence and evolutionary relationships to predict function even in the absence of direct experimental evidence. Pfam (38.2) : A large collection of protein families, each represented by multiple sequence alignments and hidden Markov models (HMMs). PIRSF (3.10) : The PIRSF concept is used as a guiding principle to provide comprehensive and non-overlapping clustering of UniProtKB sequences into a hierarchical order to reflect their evolutionary relationships. PIRSR (2025_05) : PIRSR is a database of protein families based on hidden Markov models (HMMs) and Site Rules. PRINTS (42.0) : A compendium of protein fingerprints - a fingerprint is a group of conserved motifs used to characterise a protein family. ProSitePatterns (2026_01) : PROSITE consists of documentation entries describing protein domains, families and functional sites as well as associated patterns and profiles to identify them. ProSiteProfiles (2026_01) : PROSITE consists of documentation entries describing protein domains, families and functional sites as well as associated patterns and profiles to identify them. SFLD (4) : SFLD is a database of protein families based on hidden Markov models (HMMs). SMART (9.0) : SMART allows the identification and analysis of domain architectures based on hidden Markov models (HMMs). SUPERFAMILY (1.75) : SUPERFAMILY is a database of structural and functional annotations for all proteins and genomes. Deactivated analyses: Phobius (1.01) : Analysis Phobius is deactivated, because the resources expected at the following paths do not exist: bin/phobius/1.01/phobius.pl SignalP_EUK (4.1) : Analysis SignalP_EUK is deactivated, because the resources expected at the following paths do not exist: bin/signalp/4.1/signalp SignalP_GRAM_NEGATIVE (4.1) : Analysis SignalP_GRAM_NEGATIVE is deactivated, because the resources expected at the following paths do not exist: bin/signalp/4.1/signalp SignalP_GRAM_POSITIVE (4.1) : Analysis SignalP_GRAM_POSITIVE is deactivated, because the resources expected at the following paths do not exist: bin/signalp/4.1/signalp TMHMM (2.0c) : Analysis TMHMM is deactivated, because the resources expected at the following paths do not exist: bin/tmhmm/2.0c/decodeanhmm.Linux_x86_64, bin/tmhmm/2.0c/TMHMM2.0.model $
You can continue to use the container.run command as many times as you need in the same script or same bash session.
We strongly recommend that you use this helper script and the container.run command to run software from inside the container as it will always ensure that you have correctly set up the bind directories for you and you are using the correct container version.
As long as you use the container.run method to launch the applications, you will automatically be able to read and write to files in your $HOME, /scratch and /nobackup directories.
If you run any of the applications inside the container manually, without using the container.run helper you will need to use the –bind argument to apptainer to ensure that all relevant directories are exposed within the container.
–bind
Do remember that the container filesystem itself cannot be changed - so you won't be able to write or update to /usr/local, /opt, /etc or any other internal folders - keep output directories restricted to the three areas listed above.
/usr/local
/opt
/etc
Here is a very simple example of calling Interproscan from the container within a Slurm batch job that assumes you are a member of the comet_abc123 HPC project group and your input data lives in /nobackup/proj/comet_abc123/my_data.input:
/nobackup/proj/comet_abc123/my_data.input
#!/bin/bash #SBATCH --partition=default_free #SBATCH --account=comet_abc123 #SBATCH -c 16 #SBATCH --mem=20G source /nobackup/shared/containers/interproscan.2026.07.sh container.run interproscan -cpu 15 /nobackup/proj/comet_abc123/my_data.input
Submit as normal with sbatch ipscan_job.sh.
sbatch ipscan_job.sh
Note that we allocate 16 CPU cores to the Slurm job with the -c 16 SBATCH option and then pass that number minus one to Interproscan using the -cpu flag as documented on the Interproscan user guide, we also allocate 20GB of RAM.
-c 16
-cpu
There is no memory parameter for Interproscan, it relies on you correctly setting the memory parameter in the SBATCH options. The amount required depends on the complexity of the input sequences being analysed (again, see: https://interproscan-docs.readthedocs.io/en/v5/ImprovingPerformance.html).
You may need to adjust these values based on the recommendations of the Interproscan documentation.
Important!
This section is only relevant for RSE HPC staff or those who want to understand how the Interproscan container runtime has been built. If you are only interested in running the software, stop reading here!
Container definition file:
Bootstrap: docker From: ubuntu:noble %post # Prevent interactive prompts export DEBIAN_FRONTEND=noninteractive # Update & install only necessary packages apt-get update # Base stuff everything will need apt-get install -y aptitude wget zip git less vim # Interproscan needs these deps apt-get install -y perl python3.12-full openjdk-11-jdk # Remove any downloaded package files - so they dont remain in the built image apt-get clean mkdir -p /opt mkdir -p /src/zipped # Download Interproscan # ===================== # This is a large (~7GB) download as it contains both code and databases # An option for improvement in the future would be to split the data out to the Comet filesystem # Another improvement would be to skip downloading the archive if it is already present in the directory we are building # the container image in. wget https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.78-109.0/interproscan-5.78-109.0-64-bit.tar.gz -O /src/zipped/interproscan.tgz # Untar # ===== cd /opt && tar -zxf /src/zipped/interproscan.tgz # Symlink the dir # =============== ln -s /opt/interproscan-5.78-109.0 /opt/interproscan # Symlink interproscan.sh # ======================= ln -s /opt/interproscan/interproscan.sh /opt/interproscan/interproscan # Tidyup # ====== rm -rf /src %environment # Add interproscan directory into the path export PATH=$PATH:/opt/interproscan %runscript
Build script:
#!/bin/bash IMAGE_DATE=`date +%Y.%m` echo "Loading modules..." module load apptainer echo "" echo "Building container..." export APPTAINER_TMPDIR=/scratch echo "" echo "Container will have date suffix $IMAGE_DATE" echo "" echo "Starting build of container ..." apptainer build \ --bind $SOURCE_DIR:/mnt \ interproscan.$IMAGE_DATE.sif interproscan.def 2>&1 | tee interproscan.log
Runtime wrapper:
#!/bin/bash module load apptainer IMAGE_NAME=/nobackup/shared/containers/interproscan.2026.07.sif container.run() { # Run a command inside the container... # automatically bind the /scratch and /nobackup dirs # pass through any additional parameters given on the command line apptainer exec \ --bind /run:/run \ --bind /nobackup:/nobackup \ --bind /scratch:/scratch \ ${IMAGE_NAME} $@ }
Back to Software
Table of Contents
HPC Service
Main Content Sections
Documentation Tools