Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Realease review jose fixes #206

Merged
merged 4 commits into from
Feb 20, 2025
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
28 changes: 0 additions & 28 deletions .github/PULL_REQUEST_TEMPLATE/Add_Evaluation.md

This file was deleted.

28 changes: 0 additions & 28 deletions .github/PULL_REQUEST_TEMPLATE/Add_GuideTree.md

This file was deleted.

28 changes: 0 additions & 28 deletions .github/PULL_REQUEST_TEMPLATE/Add_MSA.md

This file was deleted.

26 changes: 0 additions & 26 deletions .github/PULL_REQUEST_TEMPLATE/Feature.md

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/ci_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- "test"
- "test_conda"
- "test_pdb"
- "test_nosheet"
- "test_no_sheet"
steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
Expand Down
3 changes: 1 addition & 2 deletions .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@ lint:
files_exist:
- conf/igenomes.config
- conf/igenomes_ignored.config
- .github/PULL_REQUEST_TEMPLATE.md
files_unchanged:
- .github/CONTRIBUTING.md
multiqc_config: false
actions_ci: false # TODO: remove this with nf-core template version 3.3.0
nf_core_version: 3.2.0
repository_type: pipeline
template:
author: Luisa Santus, Jose Espinosa Carrasco
author: Luisa Santus, Jose Espinosa-Carrasco
description: Pipeline to run and benchmark multiple sequence alignment tools.
force: false
is_nfcore: true
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

Nova Icaria is a beach in Barcelona. We started from Somorrostro (beach in front of CRG) and we are going up the way to Costa Brava.

Minor release of nf-coremultiplesequencealign/.
Minor release of nf-core/multiplesequencealign.

This fixes few bugs, improves the documentation and adds the possibility to avoid the samplesheet and toolsheet and pass direclty the input files and tools directives.

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ All paths are relative to the top-level results directory.
- <code>perc_sim/\*.txt</code>: file containing the pairwise sequence similarity for all input sequences. If <code>--calc_sim</code> is specified.
- <code>structures/</code>
- <code>plddt/\*\_full_plddt.csv</code>: file containing the plddt of the structures for each sequence in the input file. If <code>--extract_plddt</code> is specified.
</details>
</details>

- <details markdown="1">
<summary><code>summary/</code></summary>
Expand Down
14 changes: 6 additions & 8 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,15 @@ FAMSA,,REGRESSIVE,

More examples [here](https://github.com/nf-core/test-datasets/tree/multiplesequencealign/toolsheet).

:::note
Each of the trees and aligners are available as standalones. You can leave `args_tree` and `args_aligner` empty if you are cool with the default settings of each method. Alternatively, you can leave `args_tree` empty to use the default guide tree with each aligner.
:::
> [!NOTE]
> Each of the trees and aligners are available as standalones. You can leave `args_tree` and `args_aligner` empty if you are cool with the default settings of each method. Alternatively, you can leave `args_tree` empty to use the default guide tree with each aligner.

:::note
use the exact spelling as listed below in [align](#3-align) and [guide trees](#2-guide-trees)!
:::
> [!NOTE]
> Use the exact spelling as listed below in [align](#3-align) and [guide trees](#2-guide-trees)!

`tree` is the tool used to build the tree (optional).

Arguments to the tree tool can be provided using `args_tree`. Please refer to each tool's documentation (optional).
Arguments to the tree tool can be provided using `args_tree` (optional). Please refer to each tool's documentation.

The `aligner` column contains the tool to run the alignment (optional).

Expand Down Expand Up @@ -194,7 +192,7 @@ The provided structures (see samplesheet) are used to evaluate the quality of th
Finally, a summary table with all the computed statistics and evaluations is reported in MultiQC (skip by using `--skip_multiqc`).
Moreover, a Shiny app is generated with interactive summary plots (skip with `--skip_shiny`).

If structures are provided, the [Foldmason](https://github.com/steineggerlab/foldmason) visualizatin will be rendered (skip with `--skip_visualisation`).
If structures are provided, the [Foldmason](https://github.com/steineggerlab/foldmason) visualisation will be rendered (skip with `--skip_visualisation`).

:::warning
You will need to have [Shiny](https://shiny.posit.co/py/) installed to run it! See [output documentation](https://nf-co.re/multiplesequencealign/output) for more info.
Expand Down
2 changes: 1 addition & 1 deletion docs/usage/FAQs.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ The flag <code>--skip_pdbcoversion</code> false will make sure that the fasta fi

</details>

### USECASES
### USE CASES

<details>
<summary> I want to deploy one tool on one dataset. I am not interested in any evaluation, report etc. </summary>
Expand Down
4 changes: 2 additions & 2 deletions docs/usage/chaining_with_proteinfold.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Structural aligners leverage protein structural information to compute MSAs.

You can provide your PDB structures via the samplesheet, as outlined in the primary usage documentation. However, if you do not already have protein structures available, you may opt to use protein structure prediction tools to create these models.

To facilitate this, we offer an integration with the nf-core/proteinfold pipeline, enabling you to generate the protein structures required for this workflow.
To facilitate this, we offer an integration with the [nf-core/proteinfold](https://github.com/nf-core/proteinfold) pipeline, enabling you to generate the protein structures required for this workflow.

To do so, you only need to build one samplesheet file, in the exact format required by nf-core/multiplesequencealign pipeline.
This is made compatible with nf-core/proteinfold and will predict and output the structures in the format required by the nf-core/multiplesquencealign pipeline.
Expand Down Expand Up @@ -40,7 +40,7 @@ nextflow run nf-core/multiplesequencealign \
```

> [!NOTE]
> The one imporant parameter NOT to forget in proteinfold for the chaining is `--split_fasta`. This will allow to use a multifasta file as input for monomer predictions, needed by the MSA pipeline.The rest of the proteinfold parameters can and should be tuned according to your preferences for your proteinfold run. Please refer to the proteinfold documentation for this.
> The one important parameter NOT to forget in proteinfold for the chaining is `--split_fasta`. This will allow to use a multifasta file as input for monomer predictions, needed by the MSA pipeline.The rest of the proteinfold parameters can and should be tuned according to your preferences for your proteinfold run. Please refer to the proteinfold documentation for this.

> [!WARNING]
> This is currently an experimetal feature and only available in the dev branch of proteinfold, so also do not forget `-r dev`. This feature will be soon available with the next release of nf-core/proteinfold.
19 changes: 6 additions & 13 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -123,11 +123,7 @@ profiles {
}
docker {
docker.enabled = true
if (params.use_gpu) {
docker.runOptions = '--gpus all'
} else {
docker.runOptions = '-u $(id -u):$(id -g)'
}
docker.runOptions = params.use_gpu ? '--gpus all' : '-u $(id -u):$(id -g)'
conda.enabled = false
singularity.enabled = false
podman.enabled = false
Expand All @@ -137,16 +133,12 @@ profiles {
docker.runOptions = '-u $(id -u):$(id -g)'
}
arm {
if (params.use_gpu) {
docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64 --gpus all'
} else {
docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64'
}
docker.runOptions = params.use_gpu ? '-u $(id -u):$(id -g) --platform=linux/amd64 --gpus all' : '-u $(id -u):$(id -g) --platform=linux/amd64'
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
if (params.use_gpu) { singularity.runOptions = '--nv' }
singularity.runOptions = params.use_gpu ? '--nv' : singularity.runOptions
conda.enabled = false
docker.enabled = false
podman.enabled = false
Expand Down Expand Up @@ -185,6 +177,7 @@ profiles {
apptainer {
apptainer.enabled = true
apptainer.autoMounts = true
apptainer.runOptions = params.use_gpu ? '--nv' : apptainer.runOptions
conda.enabled = false
docker.enabled = false
singularity.enabled = false
Expand Down Expand Up @@ -215,7 +208,7 @@ profiles {
test_full { includeConfig 'conf/test_full.config' }
test_tiny { includeConfig 'conf/test_tiny.config' }
test_pdb { includeConfig 'conf/test_pdb.config' }
test_nosheet { includeConfig 'conf/test_nosheet.config' }
test_nosheet { includeConfig 'conf/test_no_sheet.config' }
test_conda { includeConfig 'conf/test_conda.config' }
easy_deploy { includeConfig 'conf/easy_deploy.config' }
}
Expand Down Expand Up @@ -296,7 +289,7 @@ manifest {
[
name: ' Jose Espinosa Carrasco',
affiliation: 'Centre for Genomic Regulation (CRG)',
email: '[email protected]',
email: '[email protected]',
github: '@joseespinosa',
contribution: ['author', 'maintainer', 'contributor'],
orcid: 'https://orcid.org/0000-0002-1541-042X'
Expand Down
16 changes: 8 additions & 8 deletions subworkflows/local/STATS/main.nf
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
//
// Compute stats about the input sequences
//
include { CALCULATE_SEQSTATS } from '../../../modules/local/custom/calculate_seqstats'
include { PARSE_SIM } from '../../../modules/local/custom/parse_sim'
include { EXTRACT_PLDDT } from '../../../modules/local/custom/extract_plddt'
include { TCOFFEE_SEQREFORMAT as TCOFFEE_SEQREFORMAT_SIM } from '../../../modules/nf-core/tcoffee/seqreformat/main.nf'
include { CSVTK_CONCAT as CONCAT_SEQSTATS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_CONCAT as CONCAT_SIMSTATS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_CONCAT as CONCAT_PLDDTS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_JOIN as MERGE_STATS } from '../../../modules/nf-core/csvtk/join/main.nf'
include { CALCULATE_SEQSTATS } from '../../../modules/local/custom/calculate_seqstats'
include { PARSE_SIM } from '../../../modules/local/custom/parse_sim'
include { EXTRACT_PLDDT } from '../../../modules/local/custom/extract_plddt'
include { TCOFFEE_SEQREFORMAT as TCOFFEE_SEQREFORMAT_SIM } from '../../../modules/nf-core/tcoffee/seqreformat/main.nf'
include { CSVTK_CONCAT as CONCAT_SEQSTATS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_CONCAT as CONCAT_SIMSTATS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_CONCAT as CONCAT_PLDDTS } from '../../../modules/nf-core/csvtk/concat/main.nf'
include { CSVTK_JOIN as MERGE_STATS } from '../../../modules/nf-core/csvtk/join/main.nf'

workflow STATS {
take:
Expand Down
2 changes: 1 addition & 1 deletion subworkflows/local/TEMPLATES/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ workflow TEMPLATES {

main:

ch_versions = Channel.empty()
ch_versions = Channel.empty()

ch_optional_data_template = ch_optional_data.join(ch_templates, by:0, remainder:true)
ch_optional_data_template
Expand Down
23 changes: 11 additions & 12 deletions workflows/multiplesequencealign.nf
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,15 @@ workflow MULTIPLESEQUENCEALIGN{
ch_tools // channel: [ val(guide_tree_tool), val(args_guide_tree_tool), val(alignment_tool), val(args_alignment_tool) ]

main:
ch_multiqc_files = Channel.empty()
ch_multiqc_report = Channel.empty()
evaluation_summary = Channel.empty()
stats_summary = Channel.empty()
stats_and_evaluation_summary = Channel.empty()
ch_refs = Channel.empty()
ch_templates = Channel.empty()
ch_optional_data = Channel.empty()
ch_versions = Channel.empty()

ch_multiqc_files = Channel.empty()
ch_multiqc_report = Channel.empty()
evaluation_summary = Channel.empty()
stats_summary = Channel.empty()
stats_and_evaluation_summary = Channel.empty()
ch_refs = Channel.empty()
ch_templates = Channel.empty()
ch_optional_data = Channel.empty()
ch_versions = Channel.empty()

ch_input
.filter { it[1].size() > 0}
Expand Down Expand Up @@ -140,13 +139,13 @@ workflow MULTIPLESEQUENCEALIGN{
// otherwise, map the optional_data to the sequence IDs provided by the
// various fasta files
// *****************************************************************
if(!params.seqs){
if(!params.seqs) {
optional_data_to_be_mapped
.map { it -> [ [ id: params.pdbs_dir.split("/")[-1].split("\\.")[0] ], it ] }
.groupTuple(by: 0)
.set { ch_optional_data }

}else{
} else {
// Identify the sequence IDs from the input fasta file(s)
ch_seqs.splitFasta(record: [ id: true ] )
.map { id, seq_id -> [ seq_id, id ] }
Expand Down