diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9cf3bb1..c51aae7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ Initial release of nf-core/proteinannotator, created with the [nf-core](https://
### `Added`
+- [#68](https://github.com/nf-core/proteinannotator/pull/68) - Using the `ARIA2` and `UNTAR` nf-core modules to download and decompress the InterProScan database. (by @vagkaratzas)
- [#67](https://github.com/nf-core/proteinannotator/pull/67) - Swapped to the updated, non-buggy, nf-core version of `INTERPROSCAN`. (by @vagkaratzas)
- [#65](https://github.com/nf-core/proteinannotator/pull/65) - Converted the pipeline schematic to nf-core metromap. (by @vagkaratzas)
- [#62](https://github.com/nf-core/proteinannotator/pull/62) - Added the option to download and use the latest FunFam HMM library (or use path to an existing one) for domain annotation. (by @vagkaratzas)
diff --git a/conf/modules.config b/conf/modules.config
index 765af96..ec1428c 100644
--- a/conf/modules.config
+++ b/conf/modules.config
@@ -110,7 +110,15 @@ process {
]
}
- withName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:FUNCTIONAL_ANNOTATION:INTERPROSCAN_DATABASE' {
+ withName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:FUNCTIONAL_ANNOTATION:ARIA2' {
+ publishDir = [
+ path: { "${params.outdir}/downloaded_dbs/" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:FUNCTIONAL_ANNOTATION:UNTAR' {
publishDir = [
path: { "${params.outdir}/downloaded_dbs/" },
mode: params.publish_dir_mode,
diff --git a/docs/output.md b/docs/output.md
index 6e1abd5..f4ee3ef 100644
--- a/docs/output.md
+++ b/docs/output.md
@@ -14,12 +14,14 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
- [SeqFu](#seqfu) for input amino acid sequences quality check (QC)
- [SeqKit](#seqkit) for preprocessing input amino acid sequences (i.e., gap removal, convert to upper case, validate, filter by length, replace special characters such as `/`, and remove duplicate sequences)
+- [Database download](#database-download) Optionally download selected databases for annotation.
+ - [aria2](#aria2) - To optionally download the Pfam, FunFam, and/or InterProScan databases through the pipeline.
+
- [Domain annotation](#domain-annotation) Annotate proteins with domains from established repositories.
- - [aria2](#aria2) - To optionally download the latest Pfam and/or FunFam databases through the pipeline.
- [hmmer](#hmmer) - To optionally match the input sequence to known Pfam and/or FunFam domains through `hmmer/hmmsearch`
- [Functional annotation](#functional-annotation) Annotate proteins with functional domains
- - [InterProScan](#Interproscan) - Search the InterPro database for functional domains
+ - [InterProScan](#Interproscan) - Search the InterProScan database for functional domains
- [s4pred](#s4pred) - Predict secondary structures of sequences, producing per amino acid probabilities of being an α-helix, a β-strand or a coil.
@@ -62,7 +64,7 @@ The `seqkit` module is used for initial preprocessing (i.e., gap removal, conver
[SeqKit](https://github.com/shenwei356/seqkit) is a cross-platform and ultrafast toolkit for FASTA/Q file manipulation.
-### Domain annotation
+### Database download
#### aria2
@@ -70,15 +72,20 @@ The `seqkit` module is used for initial preprocessing (i.e., gap removal, conver
Output files
- `downloaded_dbs/`
+ - `interproscan_db/`: (optional) uncompressed archive data from the downloaded InterProScan database
+ - `*/`: (optional) one directory for each of the member databases of InterProScan
- `Pfam-A*.hmm.gz`: (optional) The latest full, or a minimal test, Pfam-A HMM database that can be downloaded through the pipeline.
+ - `interproscan_test.tar.gz`: (optional) the downloaded InterProScan archive of member databases according to the optional user-provided url
- `funfam-hmm3-v4_3_0*.lib.gz`: (optional) The latest (v4_3_0) full, or a minimal test, FunFam HMM database that can be downloaded through the pipeline.
-If the `skip_*` flags (e.g., `skip_pfam`, `skip_funfam`) for each domain annotation database is set to `true`, or the `*_db` parameter paths (e.g., `pfam_db`, `funfam_db`) are set (i.e., not `null`), or the run is resumed after a successful database download, then the respective database will not be (re)downloaded. The full database links can be found in the main `nextflow.config` file, while minimal test versions can be found in the `test` and `test_full` profiles (i.e., `conf/test.config`, `conf/test_full.config`).
+If the `skip_*` flags (e.g., `skip_pfam`, `skip_funfam`, `skip_interproscan`) for each annotation database is set to `true`, or the `*_db` parameter paths (e.g., `pfam_db`, `funfam_db`, `interproscan_db`) are set (i.e., not `null`), or the run is resumed after a successful database download, then the respective database will not be (re)downloaded. The full database links can be found in the main `nextflow.config` file, while minimal test versions can be found in the `test` and `test_full` profiles (i.e., `conf/test.config`, `conf/test_full.config`).
[aria2](https://github.com/aria2/aria2/) is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
+### Domain annotation
+
#### hmmer
@@ -103,10 +110,6 @@ Each of the `domain_annotation/` subfolders (e.g., `pfam`, `funfam`) contain a `
Output files
-- `downloaded_dbs/`
- - `data/`: (optional) uncompressed archive data from the downloaded InterProScan database
- - `*/`: (optional) one directory for each of the member databases of InterProScan
- - `interproscan_test.tar.gz`: (optional) the downloaded InterProScan archive of member databases according to the optional user-provided url
- `functional_annotation/`
- `interproscan/`
- `/`
@@ -117,9 +120,8 @@ Each of the `domain_annotation/` subfolders (e.g., `pfam`, `funfam`) contain a `
-[InterProScan](https://interproscan-docs.readthedocs.io/en/v5/#) is a protein annotation tool that searches [InterPro](http://www.ebi.ac.uk/interpro/), a database which integrates predictive information about protein function from a number of member resources, giving an overview of the families that a protein belongs to and the domains and sites it contains.
-For `nf-core/proteinannotator`, the default database applications that are used to functionally annotate sequences include
-Hamap, PANTHER, PIRSF, TIGRFAM and sfld. The main `nextflow.config` contains a [url]("https://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.72-103.0/interproscan-5.72-103.0-64-bit.tar.gz") parameter (`--interproscan_db_url`) for the full version of the InterProScan database. If, instead, a local database is provided via the `--interproscan_db` parameter, then the download is skipped.
+[InterProScan](https://interproscan-docs.readthedocs.io/en/v5/#) is a protein annotation tool that searches [InterPro](http://www.ebi.ac.uk/interpro/), a database which integrates predictive information about protein function from a number of member resources, giving an overview of the families that a protein belongs to and the domains and sites it contains. The default database applications that are used to functionally annotate sequences include
+Hamap, PANTHER, PIRSF, TIGRFAM and sfld, and are set through the `--interproscan_applications` parameter.
See also [InterProScan output documentation](https://interproscan-docs.readthedocs.io/en/v5/), where most of these examples are taken from.
diff --git a/modules.json b/modules.json
index 1d3d5dd..3c9fb89 100644
--- a/modules.json
+++ b/modules.json
@@ -54,6 +54,11 @@
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
+ },
+ "untar": {
+ "branch": "master",
+ "git_sha": "447f7bc0fa41dfc2400c8cad4c0291880dc060cf",
+ "installed_by": ["modules"]
}
}
},
diff --git a/modules/local/interproscan/database/main.nf b/modules/local/interproscan/database/main.nf
deleted file mode 100644
index 119e602..0000000
--- a/modules/local/interproscan/database/main.nf
+++ /dev/null
@@ -1,35 +0,0 @@
-process INTERPROSCAN_DATABASE {
- tag "interproscan_database_download"
- label 'process_long'
-
- conda "conda-forge::sed=4.7"
- container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/curl:7.80.0' :
- 'biocontainers/curl:7.80.0' }"
-
- input:
- val database_url
-
- output:
- path("interproscan_db/*"), emit: db
- path "versions.yml", emit: versions
-
- when:
- task.ext.when == null || task.ext.when
-
- script:
- """
- mkdir -p interproscan_db/
-
- filename=\$(basename ${database_url})
-
- curl -L ${database_url} -o interproscan_db/\$filename
- tar -xzf interproscan_db/\$filename -C interproscan_db/
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- tar: \$(tar --version 2>&1 | sed -n '1s/tar (busybox) //p')
- curl: "\$(curl --version 2>&1 | sed -n '1s/^curl \\([0-9.]*\\).*/\\1/p')"
- END_VERSIONS
- """
-}
diff --git a/modules/nf-core/untar/environment.yml b/modules/nf-core/untar/environment.yml
new file mode 100644
index 0000000..9b926b1
--- /dev/null
+++ b/modules/nf-core/untar/environment.yml
@@ -0,0 +1,12 @@
+---
+# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json
+channels:
+ - conda-forge
+ - bioconda
+dependencies:
+ - conda-forge::coreutils=9.5
+ - conda-forge::grep=3.11
+ - conda-forge::gzip=1.13
+ - conda-forge::lbzip2=2.5
+ - conda-forge::sed=4.8
+ - conda-forge::tar=1.34
diff --git a/modules/nf-core/untar/main.nf b/modules/nf-core/untar/main.nf
new file mode 100644
index 0000000..b9c324d
--- /dev/null
+++ b/modules/nf-core/untar/main.nf
@@ -0,0 +1,75 @@
+process UNTAR {
+ tag "${archive}"
+ label 'process_single'
+
+ conda "${moduleDir}/environment.yml"
+ container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container
+ ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data'
+ : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}"
+
+ input:
+ tuple val(meta), path(archive)
+
+ output:
+ tuple val(meta), path("${prefix}"), emit: untar
+ tuple val("${task.process}"), val('untar'), eval('tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//"'), emit: versions_untar, topic: versions
+
+ when:
+ task.ext.when == null || task.ext.when
+
+ script:
+ def args = task.ext.args ?: ''
+ def args2 = task.ext.args2 ?: ''
+ prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, ""))
+
+ """
+ mkdir ${prefix}
+
+ ## Ensures --strip-components only applied when top level of tar contents is a directory
+ ## If just files or multiple directories, place all in prefix
+ if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then
+ tar \\
+ -C ${prefix} --strip-components 1 \\
+ -xavf \\
+ ${args} \\
+ ${archive} \\
+ ${args2}
+ else
+ tar \\
+ -C ${prefix} \\
+ -xavf \\
+ ${args} \\
+ ${archive} \\
+ ${args2}
+ fi
+
+ """
+
+ stub:
+ prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, ""))
+ """
+ mkdir ${prefix}
+ ## Dry-run untaring the archive to get the files and place all in prefix
+ if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then
+ for i in `tar -tf ${archive}`;
+ do
+ if [[ \$(echo "\${i}" | grep -E "/\$") == "" ]];
+ then
+ touch \${i}
+ else
+ mkdir -p \${i}
+ fi
+ done
+ else
+ for i in `tar -tf ${archive}`;
+ do
+ if [[ \$(echo "\${i}" | grep -E "/\$") == "" ]];
+ then
+ touch ${prefix}/\${i}
+ else
+ mkdir -p ${prefix}/\${i}
+ fi
+ done
+ fi
+ """
+}
diff --git a/modules/nf-core/untar/meta.yml b/modules/nf-core/untar/meta.yml
new file mode 100644
index 0000000..571d807
--- /dev/null
+++ b/modules/nf-core/untar/meta.yml
@@ -0,0 +1,73 @@
+name: untar
+description: Extract files from tar, tar.gz, tar.bz2, tar.xz archives
+keywords:
+ - untar
+ - uncompress
+ - extract
+tools:
+ - untar:
+ description: |
+ Extract tar, tar.gz, tar.bz2, tar.xz files.
+ documentation: https://www.gnu.org/software/tar/manual/
+ licence: ["GPL-3.0-or-later"]
+ identifier: ""
+input:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - archive:
+ type: file
+ description: File to be untarred
+ pattern: "*.{tar,tar.gz,tar.bz2,tar.xz}"
+ ontologies:
+ - edam: http://edamontology.org/format_3981 # TAR format
+ - edam: http://edamontology.org/format_3989 # GZIP format
+output:
+ untar:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ pattern: "*/"
+ - ${prefix}:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ pattern: "*/"
+ versions_untar:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - untar:
+ type: string
+ description: The name of the tool
+ - tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
+ versions:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - untar:
+ type: string
+ description: The name of the tool
+ - tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+authors:
+ - "@joseespinosa"
+ - "@drpatelh"
+ - "@matthdsm"
+ - "@jfy133"
+maintainers:
+ - "@joseespinosa"
+ - "@drpatelh"
+ - "@matthdsm"
+ - "@jfy133"
diff --git a/modules/nf-core/untar/tests/main.nf.test b/modules/nf-core/untar/tests/main.nf.test
new file mode 100644
index 0000000..fde8db1
--- /dev/null
+++ b/modules/nf-core/untar/tests/main.nf.test
@@ -0,0 +1,97 @@
+nextflow_process {
+
+ name "Test Process UNTAR"
+ script "../main.nf"
+ process "UNTAR"
+ tag "modules"
+ tag "modules_nfcore"
+ tag "untar"
+
+ test("test_untar") {
+
+ when {
+ process {
+ """
+ input[0] = [ [], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/db/kraken2.tar.gz', checkIfExists: true) ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(
+ process.out.untar,
+ process.out.findAll { key, val -> key.startsWith('versions') }
+ ).match() },
+ )
+ }
+ }
+
+ test("test_untar_onlyfiles") {
+
+ when {
+ process {
+ """
+ input[0] = [ [], file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(
+ process.out.untar,
+ process.out.findAll { key, val -> key.startsWith('versions') }
+ ).match() },
+ )
+ }
+ }
+
+ test("test_untar - stub") {
+
+ options "-stub"
+
+ when {
+ process {
+ """
+ input[0] = [ [], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/db/kraken2.tar.gz', checkIfExists: true) ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(
+ process.out.untar,
+ process.out.findAll { key, val -> key.startsWith('versions') }
+ ).match() },
+ )
+ }
+ }
+
+ test("test_untar_onlyfiles - stub") {
+
+ options "-stub"
+
+ when {
+ process {
+ """
+ input[0] = [ [], file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(
+ process.out.untar,
+ process.out.findAll { key, val -> key.startsWith('versions') }
+ ).match() },
+ )
+ }
+ }
+}
diff --git a/modules/nf-core/untar/tests/main.nf.test.snap b/modules/nf-core/untar/tests/main.nf.test.snap
new file mode 100644
index 0000000..51a414d
--- /dev/null
+++ b/modules/nf-core/untar/tests/main.nf.test.snap
@@ -0,0 +1,118 @@
+{
+ "test_untar_onlyfiles": {
+ "content": [
+ [
+ [
+ [
+
+ ],
+ [
+ "hello.txt:md5,e59ff97941044f85df5297e1c302d260"
+ ]
+ ]
+ ],
+ {
+ "versions_untar": [
+ [
+ "UNTAR",
+ "untar",
+ "1.34"
+ ]
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
+ },
+ "timestamp": "2026-01-28T17:49:32.000491"
+ },
+ "test_untar_onlyfiles - stub": {
+ "content": [
+ [
+ [
+ [
+
+ ],
+ [
+ "hello.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ]
+ ],
+ {
+ "versions_untar": [
+ [
+ "UNTAR",
+ "untar",
+ "1.34"
+ ]
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
+ },
+ "timestamp": "2026-01-28T17:49:58.812479"
+ },
+ "test_untar - stub": {
+ "content": [
+ [
+ [
+ [
+
+ ],
+ [
+ "hash.k2d:md5,d41d8cd98f00b204e9800998ecf8427e",
+ "opts.k2d:md5,d41d8cd98f00b204e9800998ecf8427e",
+ "taxo.k2d:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ]
+ ],
+ {
+ "versions_untar": [
+ [
+ "UNTAR",
+ "untar",
+ "1.34"
+ ]
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
+ },
+ "timestamp": "2026-01-28T17:49:48.119456"
+ },
+ "test_untar": {
+ "content": [
+ [
+ [
+ [
+
+ ],
+ [
+ "hash.k2d:md5,8b8598468f54a7087c203ad0190555d9",
+ "opts.k2d:md5,a033d00cf6759407010b21700938f543",
+ "taxo.k2d:md5,094d5891cdccf2f1468088855c214b2c"
+ ]
+ ]
+ ],
+ {
+ "versions_untar": [
+ [
+ "UNTAR",
+ "untar",
+ "1.34"
+ ]
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
+ },
+ "timestamp": "2026-01-28T17:49:17.252494"
+ }
+}
\ No newline at end of file
diff --git a/subworkflows/local/functional_annotation/main.nf b/subworkflows/local/functional_annotation/main.nf
index cf44f03..3aeb539 100644
--- a/subworkflows/local/functional_annotation/main.nf
+++ b/subworkflows/local/functional_annotation/main.nf
@@ -1,5 +1,6 @@
-include { INTERPROSCAN_DATABASE } from '../../../modules/local/interproscan/database/main'
-include { INTERPROSCAN } from '../../../modules/nf-core/interproscan/main'
+include { ARIA2 } from '../../../modules/nf-core/aria2/main'
+include { UNTAR } from '../../../modules/nf-core/untar/main'
+include { INTERPROSCAN } from '../../../modules/nf-core/interproscan/main'
workflow FUNCTIONAL_ANNOTATION {
take:
@@ -17,9 +18,11 @@ workflow FUNCTIONAL_ANNOTATION {
ch_interproscan_db = channel.fromPath(interproscan_db).first()
}
else {
- INTERPROSCAN_DATABASE( interproscan_db_url )
- ch_versions = ch_versions.mix(INTERPROSCAN_DATABASE.out.versions)
- ch_interproscan_db = INTERPROSCAN_DATABASE.out.db
+ ARIA2( [ [ id:'interproscan_db' ], interproscan_db_url ] )
+ ch_versions = ch_versions.mix(ARIA2.out.versions.first())
+
+ UNTAR( ARIA2.out.downloaded_file )
+ ch_interproscan_db = UNTAR.out.untar.map{ f -> f[1] }
}
INTERPROSCAN( ch_fasta, ch_interproscan_db )
diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap
index dad2975..76cd534 100644
--- a/tests/default.nf.test.snap
+++ b/tests/default.nf.test.snap
@@ -1,8 +1,11 @@
{
"-profile test": {
"content": [
- 31,
+ 32,
{
+ "ARIA2": {
+ "aria2": "1.36.0"
+ },
"ARIA2_FUNFAM": {
"aria2": "1.36.0"
},
@@ -18,10 +21,6 @@
"INTERPROSCAN": {
"interproscan": "5.59-91.0"
},
- "INTERPROSCAN_DATABASE": {
- "tar": "1.32.1",
- "curl": "7.80.0"
- },
"S4PRED_RUNMODEL": {
"s4pred": "1.2.1"
},
@@ -40,6 +39,9 @@
"SEQKIT_SEQ": {
"seqkit": "v2.9.0"
},
+ "UNTAR": {
+ "untar": 1.34
+ },
"Workflow": {
"nf-core/proteinannotator": "v1.0.0dev"
}
@@ -58,25 +60,24 @@
"downloaded_dbs/Pfam-A_test.hmm.gz",
"downloaded_dbs/funfam-hmm3-v4_3_0_test.lib.gz",
"downloaded_dbs/interproscan_db",
- "downloaded_dbs/interproscan_db/data",
- "downloaded_dbs/interproscan_db/data/hamap",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05/hamap.hmm.lib",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05/hamap.prf",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05/profiles",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05/profiles/MF_00457.prf",
- "downloaded_dbs/interproscan_db/data/hamap/2023_05/profiles/MF_01458.prf",
- "downloaded_dbs/interproscan_db/data/sfld",
- "downloaded_dbs/interproscan_db/data/sfld/4",
- "downloaded_dbs/interproscan_db/data/sfld/4/sfld.hmm",
- "downloaded_dbs/interproscan_db/data/sfld/4/sfld.msa",
- "downloaded_dbs/interproscan_db/data/sfld/4/sfld_hierarchy_flat.txt",
- "downloaded_dbs/interproscan_db/data/sfld/4/sfld_sites.annot",
- "downloaded_dbs/interproscan_db/data/tigrfam",
- "downloaded_dbs/interproscan_db/data/tigrfam/15.0",
- "downloaded_dbs/interproscan_db/data/tigrfam/15.0/TIGRFAMs_15.0_HMM.LIB",
- "downloaded_dbs/interproscan_db/data/tigrfam/15.0/TIGRFAMs_HMM.LIB",
- "downloaded_dbs/interproscan_db/interproscan_test.tar.gz",
+ "downloaded_dbs/interproscan_db/hamap",
+ "downloaded_dbs/interproscan_db/hamap/2023_05",
+ "downloaded_dbs/interproscan_db/hamap/2023_05/hamap.hmm.lib",
+ "downloaded_dbs/interproscan_db/hamap/2023_05/hamap.prf",
+ "downloaded_dbs/interproscan_db/hamap/2023_05/profiles",
+ "downloaded_dbs/interproscan_db/hamap/2023_05/profiles/MF_00457.prf",
+ "downloaded_dbs/interproscan_db/hamap/2023_05/profiles/MF_01458.prf",
+ "downloaded_dbs/interproscan_db/sfld",
+ "downloaded_dbs/interproscan_db/sfld/4",
+ "downloaded_dbs/interproscan_db/sfld/4/sfld.hmm",
+ "downloaded_dbs/interproscan_db/sfld/4/sfld.msa",
+ "downloaded_dbs/interproscan_db/sfld/4/sfld_hierarchy_flat.txt",
+ "downloaded_dbs/interproscan_db/sfld/4/sfld_sites.annot",
+ "downloaded_dbs/interproscan_db/tigrfam",
+ "downloaded_dbs/interproscan_db/tigrfam/15.0",
+ "downloaded_dbs/interproscan_db/tigrfam/15.0/TIGRFAMs_15.0_HMM.LIB",
+ "downloaded_dbs/interproscan_db/tigrfam/15.0/TIGRFAMs_HMM.LIB",
+ "downloaded_dbs/interproscan_test.tar.gz",
"functional_annotation",
"functional_annotation/interproscan",
"functional_annotation/interproscan/T1024",
@@ -221,6 +222,6 @@
"nf-test": "0.9.3",
"nextflow": "25.10.3"
},
- "timestamp": "2026-02-02T16:07:55.774168762"
+ "timestamp": "2026-02-04T10:35:30.572658533"
}
}
\ No newline at end of file