Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-interproscan

TAFFISH wrapper for InterProScan, the InterPro protein sequence analysis system for protein family, domain, site, GO-term, pathway, and functional annotation workflows.

This repository packages upstream InterProScan 5.78-109.0 as a TAFFISH tool app. It uses the official interpro/interproscan:5.78-109.0 software image as the base image, keeps the InterProScan runtime layout intact, and deliberately does not bundle the large InterProScan data archive.

Package Identity

  • name: interproscan
  • command: taf-interproscan
  • version: 5.78-109.0-r1
  • kind: tool
  • image: ghcr.io/taffish/interproscan:5.78-109.0-r1
  • upstream: InterProScan 5.78-109.0
  • runtime version: InterProScan version 5.78-109.0
  • default command: taf-interproscan-entrypoint
  • upstream command: interproscan.sh
  • native platform: linux/amd64

The 5.78-109.0 version is intentionally kept complete. Upstream InterProScan versions bind an InterProScan software release (5.78) to an InterPro data release (109.0), and the software/data archive must match.

Install

taf install interproscan

Basic Usage

Show TAFFISH wrapper help:

taf-interproscan --help
taf-interproscan --version
taf-interproscan --compile

Show upstream InterProScan help and version:

taf-interproscan -- -help
taf-interproscan -- -version
taf-interproscan interproscan.sh -help
taf-interproscan interproscan.sh -version

Run a protein FASTA scan after preparing the matching data directory:

taf-interproscan \
  -i proteins.faa \
  -f TSV,XML,GFF3 \
  -d iprscan_out \
  -cpu 8 \
  -dp \
  -goterms \
  -pa

Run a nucleotide FASTA scan:

taf-interproscan \
  -i transcripts.fa \
  -t n \
  -f GFF3,XML \
  -d iprscan_nt_out \
  -cpu 8 \
  -dp

Because this is a command-mode TAFFISH tool, command mode also exposes the runtime directly:

taf-interproscan interproscan.sh -version
taf-interproscan interproscan-download-data --help
taf-interproscan java -version
taf-interproscan python3 --version
taf-interproscan ls /opt/interproscan/bin

Data Setup

The official InterProScan container does not include the required analysis data. Full analyses require the matching data package from the official EBI distribution:

https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.78-109.0/alt/

Recommended helper setup

The helper is packaged inside the image. It downloads the fixed interproscan-data-5.78-109.0.tar.gz archive, downloads or uses the .md5 checksum, verifies MD5, extracts the data, and leaves it at:

<database-root>/5.78-109.0/data

For a personal install:

mkdir -p ~/.local/share/taffish/databases/interproscan
cd ~/.local/share/taffish/databases/interproscan
taf-interproscan interproscan-download-data

For an administrator or shared-site install:

sudo mkdir -p /usr/local/share/taffish/databases/interproscan
sudo chown "$(id -u):$(id -g)" /usr/local/share/taffish/databases/interproscan
cd /usr/local/share/taffish/databases/interproscan
taf-interproscan interproscan-download-data
sudo chmod -R a+rX /usr/local/share/taffish/databases/interproscan

The helper runs inside the container. The safest pattern is to cd into the host database root and run the helper without --db-root, because TAFFISH mounts the current working directory by default. If --db-root is used, choose a path already visible to the selected container backend.

Useful helper commands:

taf-interproscan interproscan-download-data --help
taf-interproscan interproscan-download-data --dry-run
taf-interproscan interproscan-download-data --remove-archive

If rootful Docker leaves host files owned by root, fix ownership on the host:

sudo chown -R "$(id -u):$(id -g)" <database-root>

Persistent reuse and auto-mount

taf-interproscan automatically mounts an existing data directory read-only to the in-container InterProScan path:

/opt/interproscan/data

Auto-mount priority:

  1. TAFFISH_INTERPROSCAN_DATA_PATH, if it points to a data directory.
  2. ~/.local/share/taffish/databases/interproscan/5.78-109.0/data
  3. /usr/local/share/taffish/databases/interproscan/5.78-109.0/data
  4. /opt/taffish/databases/interproscan/5.78-109.0/data

If a site already has the data elsewhere, link it once:

sudo mkdir -p /usr/local/share/taffish/databases/interproscan/5.78-109.0
sudo ln -sfn /abs/path/interproscan-data \
  /usr/local/share/taffish/databases/interproscan/5.78-109.0/data
taf-interproscan test -d /opt/interproscan/data

For a one-off path:

TAFFISH_INTERPROSCAN_DATA_PATH=/abs/path/interproscan-data \
taf-interproscan -i proteins.faa -f TSV -d iprscan_out -dp

Manual mount fallback:

TAFFISH_INTERPROSCAN_AUTO_MOUNT=0 \
TAFFISH_DOCKER_RUN_ARGS="-v /abs/path/interproscan-data:/opt/interproscan/data:ro" \
taf-interproscan -i proteins.faa -f TSV -d iprscan_out -dp

Use TAFFISH_PODMAN_RUN_ARGS for Podman. For Apptainer:

TAFFISH_INTERPROSCAN_AUTO_MOUNT=0 \
TAFFISH_APPTAINER_RUN_ARGS="--bind /abs/path/interproscan-data:/opt/interproscan/data:ro" \
taf-interproscan -i proteins.faa -f TSV -d iprscan_out -dp

Auto-mount resolves symlinks to their physical target before binding. If that target is not readable or not allowed by Docker Desktop, Podman, or Apptainer, set TAFFISH_INTERPROSCAN_DATA_PATH to a backend-visible real path or use the manual backend args above.

Manual official setup

Manual setup is equivalent to the helper:

curl -O https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.78-109.0/alt/interproscan-data-5.78-109.0.tar.gz
curl -O https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.78-109.0/alt/interproscan-data-5.78-109.0.tar.gz.md5
md5sum -c interproscan-data-5.78-109.0.tar.gz.md5
mkdir -p ~/.local/share/taffish/databases/interproscan/5.78-109.0
tar -xzf interproscan-data-5.78-109.0.tar.gz \
  -C ~/.local/share/taffish/databases/interproscan/5.78-109.0

After extraction, confirm that the final directory exists:

~/.local/share/taffish/databases/interproscan/5.78-109.0/data

Reproducibility And Network

InterProScan can use the EBI match lookup web service by default. For TAFFISH flows and reproducible offline runs, prefer:

-dp
--disable-precalc

This forces local calculations against the mounted data archive and avoids runtime dependence on the remote match lookup service. The packaged data helper requires network access only when the user explicitly runs it.

Common Options

  • -i, --input FILE: protein or nucleotide FASTA input
  • -t, --seqtype p|n: sequence type, protein by default
  • -appl, --applications LIST: comma-separated analyses to run
  • -exclappl, --excl-applications LIST: analyses to exclude
  • -f, --formats LIST: TSV, XML, JSON, GFF3
  • -d, --output-dir DIR: output directory
  • -b, --output-file-base PREFIX: output file base
  • -o, --outfile FILE: explicit output file, requires a single output format
  • -cpu, --cpu N: CPU cores
  • -T, --tempdir DIR: temporary directory
  • -dp, --disable-precalc: disable EBI match lookup web service
  • -iprlookup: include InterPro annotations in TSV/GFF3
  • -goterms: include Gene Ontology annotation
  • -pa, --pathways: include pathway annotation

Typical output formats are TSV, XML, JSON, and GFF3. The exact files depend on the selected -f, -d, -b, and -o options.

Runtime Contents

The image is based on the official Docker image:

interpro/interproscan:5.78-109.0
digest: sha256:dc58b7c147fbbf00c2dd4f5ced42121fc1e8841fcbc7cc2c484380248ff76d11

Packaged runtime contents include:

  • /opt/interproscan/interproscan.sh
  • Java 11 runtime
  • Python 3 and Perl
  • InterProScan Java libraries and configuration
  • InterProScan test FASTA/XML files
  • bundled member database binaries under /opt/interproscan/bin
  • taf-interproscan-entrypoint, a TAFFISH data preflight shim
  • interproscan-download-data-5.78-109.0 and interproscan-download-data

The data directory is not packaged:

/opt/interproscan/data

Platform

The official interpro/interproscan:5.78-109.0 image is published as linux/amd64. This TAFFISH release therefore declares native support for linux/amd64 only.

For Docker and Podman, src/main.taf declares --platform linux/amd64, so Apple Silicon and other arm64 hosts can run the amd64 image through normal Docker/Podman emulation. This is not native arm64 support. Apptainer behavior depends on whether the host/site can run amd64 containers.

Boundaries

This app packages the InterProScan software runtime only. It does not include:

  • the interproscan-data-5.78-109.0.tar.gz data archive
  • licensed analyses such as Phobius, SignalP, and TMHMM
  • PANTHER resources absent from the official software image without data
  • a bundled offline copy of the EBI match lookup service
  • scientific validation on large proteomes or genomes

The official help currently lists the main open analyses available in this software release, including AntiFam, CDD, Coils, FunFam, Gene3D, Hamap, MobiDBLite, NCBIfam, Pfam, PIRSF, PIRSR, PRINTS, ProSitePatterns, ProSiteProfiles, SFLD, SMART, and SUPERFAMILY. Actual availability during a scan depends on mounting the matching data archive and, for restricted tools, installing licensed components under the locations expected by InterProScan.

Smoke Coverage

The TAFFISH smoke metadata validates:

  • taf-interproscan-entrypoint, interproscan.sh, Java, Python, Perl, shell, and the data helper commands
  • upstream runtime version InterProScan version 5.78-109.0
  • upstream help surface and representative analyses
  • the -dp/--disable-precalc offline option
  • helper --help, helper --dry-run, and existing-data idempotence
  • the absence of bundled /opt/interproscan/data
  • the TAFFISH preflight error for missing data on normal input scans
  • representative bundled binaries such as HMMER and PRINTS executables
  • InterProScan configuration entries for data and match lookup service paths

Smoke does not download the production data archive and does not run a full InterProScan analysis. Full scientific validation should be run with a mounted data archive and representative inputs for the intended workflow.

License And Citation

The TAFFISH app packaging files are licensed under Apache-2.0.

Upstream InterProScan software is distributed under Apache-2.0. InterProScan bundles member-database binaries, models, and data references with separate upstream terms. Optional licensed analyses such as Phobius, SignalP, and TMHMM are not bundled in this app and require users to obtain and configure their own licensed copies.

Useful citations:

  • Jones et al. 2014. InterProScan 5: genome-scale protein function classification. DOI: 10.1093/bioinformatics/btu031; PMID: 24451626.
  • Blum et al. 2025. InterPro in 2025. DOI: 10.1093/nar/gkae1082; PMID: 39565202.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages