Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Initial release of nf-core/proteinannotator, created with the [nf-core](https://

### `Added`

- [#61](https://github.com/nf-core/proteinannotator/pull/61) - Added nf-core modules `ARIA2` and `HMMER_HMMSEARCH` to download latest Pfam HMM library (or use path to existing one) and match domains to input sequences. (by @vagkaratzas)
- [#60](https://github.com/nf-core/proteinannotator/pull/60) - Added nf-core module `S4PRED_RUNMODEL` for secondary structure prediction (i.e., α-helix, a β-strand or a coil). (by @vagkaratzas)
- [#59](https://github.com/nf-core/proteinannotator/pull/59) - Added nf-core qc and pre-processing subworkflow for amino acid sequences `FAA_SEQFU_SEQKIT`. (by @vagkaratzas)
- [#57](https://github.com/nf-core/proteinannotator/pull/57) - nf-core tools template update to 3.5.1. (by @vagkaratzas)
Expand Down
4 changes: 4 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@

> Shen W, Sipos B, Zhao L. SeqKit2: A Swiss army knife for sequence and alignment processing. iMeta. 2024 Apr 5:e191. doi: 10.1002/imt2.191. PubMed PMID: 38898985; PubMed Central PMCID: PMC11183193.

- [hmmer](https://pubmed.ncbi.nlm.nih.gov/29905871/)

> Eddy SR. Accelerated profile HMM searches. PLoS computational biology. 2011 Oct 20;7(10):e1002195. doi: 10.1371/journal.pcbi.1002195. PubMed PMID: 22039361; PubMed Central PMCID: PMC3197634.

- [InterProScan](https://academic.oup.com/bioinformatics/article/17/9/847/206564)

> Zdobnov, Evgeni M., and Rolf Apweiler. “InterProScan – an Integration Platform for the Signature-Recognition Methods in InterPro.” Bioinformatics 17, no. 9 (September 1, 2001): 847–48. https://doi.org/10.1093/bioinformatics/17.9.847.
Expand Down
18 changes: 18 additions & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,24 @@ process {
]
}

withName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:DOMAIN_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:DOMAIN_ANNOTATION:HMMER_HMMSEARCH' {
ext.args = { "-E ${params.hmmsearch_evalue_cutoff}" }
publishDir = [
path: { "${params.outdir}/domain_annotation/pfam/" },
mode: params.publish_dir_mode,
pattern: "*.domtbl.gz",
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'NFCORE_PROTEINANNOTATOR:PROTEINANNOTATOR:S4PRED_RUNMODEL' {
ext.prefix = { params.s4pred_outfmt }
ext.args = { "--outfmt ${params.s4pred_outfmt}" }
Expand Down
7 changes: 3 additions & 4 deletions conf/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,9 @@ params {
config_profile_description = 'Minimal test dataset to check pipeline function'

// Input data
// TODO nf-core: Specify the paths to your test data on nf-core/test-datasets
// TODO nf-core: Give any required params for the test so that command line flags are not needed
// From: https://github.com/nf-core/proteinfold/blob/1.1.1/conf/test.config
// Example: https://github.com/nf-core/test-datasets/blob/proteinfold/testdata/samplesheet/v1.2/samplesheet.csv
input = params.pipelines_testdata_base_path + 'proteinfold/testdata/samplesheet/v1.2/samplesheet.csv'
// Domain annotation
pfam_latest_link = params.pipelines_testdata_base_path + 'proteinannotator/testdata/pfam/Pfam-A_test.hmm.gz'
// Functional annotation
skip_interproscan = true
}
4 changes: 2 additions & 2 deletions conf/test_full.config
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ params {
config_profile_description = 'Full test dataset to check pipeline function'

// Input data for full size test
// TODO nf-core: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
// TODO nf-core: Give any required params for the test so that command line flags are not needed
input = params.pipelines_testdata_base_path + 'proteinannotator/samplesheet/snap25-isoforms.csv'
// Domain annotation
pfam_latest_link = params.pipelines_testdata_base_path + 'proteinannotator/testdata/pfam/Pfam-A_test.hmm.gz'
}
37 changes: 35 additions & 2 deletions docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ 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)

- [Functional Annotation](#functional-annotation) Annotate proteins with functional domains
- [Domain annotation](#domain-annotation) Annotate proteins with domains from established repositories.
Comment thread
mberacochea marked this conversation as resolved.
- [aria2](#aria2) - To optionally download the latest Pfam database through the pipeline.
- [hmmer](#hmmer) - To optionally match the input sequence to known Pfam domains through `hmmer/hmmsearch`

- [Functional annotation](#functional-annotation) Annotate proteins with functional domains
- [InterProScan](#Interproscan) - Search the InterPro 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.
Expand Down Expand Up @@ -60,7 +64,36 @@ 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.

### Functional Annotation
### Domain annotation

#### aria2

<details markdown="1">
<summary>Output files</summary>

- `downloaded_dbs/`
- `Pfam-A*.hmm.gz`: (optional) The latest full, or a minimal test, Pfam-A HMM database that can be downloaded through the pipeline.

</details>

[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.

#### hmmer

<details markdown="1">
<summary>Output files</summary>

- `domain_annotation/`
- `pfam/`
- `<samplename>.domtbl.gz`: `hmmer/hmmsearch` results along parameters info.

</details>

The `domain_annotation/pfam` folder contains a `.domtbl.gz` annotation file per input sample.

[hmmer](https://github.com/EddyRivasLab/hmmer) is a fast and flexible alignment trimming tool that keeps phylogenetically informative sites and removes others.

### Functional annotation

#### InterProScan

Expand Down
3 changes: 3 additions & 0 deletions main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ workflow NFCORE_PROTEINANNOTATOR {
PROTEINANNOTATOR (
samplesheet,
params.skip_preprocessing,
params.skip_pfam,
params.pfam_latest_link,
params.pfam_db,
params.skip_s4pred
)
emit:
Expand Down
10 changes: 10 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
"https://github.com/nf-core/modules.git": {
"modules": {
"nf-core": {
"aria2": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"hmmer/hmmsearch": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"mmseqs/search": {
"branch": "master",
"git_sha": "81880787133db07d9b4c1febd152c090eb8325dc",
Expand Down
7 changes: 7 additions & 0 deletions modules/nf-core/aria2/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 47 additions & 0 deletions modules/nf-core/aria2/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 54 additions & 0 deletions modules/nf-core/aria2/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 45 additions & 0 deletions modules/nf-core/aria2/tests/main.nf.test

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions modules/nf-core/aria2/tests/main.nf.test.snap

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions modules/nf-core/hmmer/hmmsearch/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading