Skip to content

Commit

Permalink
Merge pull request #139 from luisas/foldmason
Browse files Browse the repository at this point in the history
Foldmason
  • Loading branch information
luisas authored Aug 29, 2024
2 parents 6b1e65c + 2a26ef1 commit 269ba9a
Show file tree
Hide file tree
Showing 14 changed files with 417 additions and 12 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Initial release of nf-core/multiplesequencealign, created with the [nf-core](htt
- [[#89](https://github.com/nf-core/multiplesequencealign/issues/89)] - Add collection of plddt metrics in stats subworkflow.
- [[#96](https://github.com/nf-core/multiplesequencealign/issues/96)] - Add collection of number of gaps in eval subworkflow.
- [[#84](https://github.com/nf-core/multiplesequencealign/issues/84)] - Update Metromap
- [[#139](https://github.com/nf-core/multiplesequencealign/pull/139)] - Add Foldmason

### `Fixed`

Expand Down
4 changes: 4 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@

- [FAMSA](https://pubmed.ncbi.nlm.nih.gov/27670777/)

> Cameron Laurence Mathison Gilchrist, Milot Mirdita, Martin Steinegger: Multiple Protein Structure Alignment at Scale with FoldMason. bioRxiv 2024.08.01.606130; doi: https://doi.org/10.1101/2024.08.01.606130
- [FoldMason](https://www.biorxiv.org/content/10.1101/2024.08.01.606130v3)

> Deorowicz S, Debudaj-Grabysz A, Gudyś A. FAMSA: Fast and accurate multiple sequence alignment of huge protein families. Sci Rep. 2016 Sep 27;6:33964. doi: 10.1038/srep33964. PMID: 27670777; PMCID: PMC5037421.
- [Kalign3](https://pubmed.ncbi.nlm.nih.gov/31665271/)
Expand Down
2 changes: 1 addition & 1 deletion conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
ext.prefix = { "${meta.id}" }
}

withName: "CLUSTALO_ALIGN|FAMSA_ALIGN|LEARNMSA_ALIGN|MAFFT|MAGUS_ALIGN|MUSCLE5_SUPER5|REGRESSIVE|TCOFFEE_ALIGN|TCOFFEE3D_ALIGN"{
withName: "CLUSTALO_ALIGN|FAMSA_ALIGN|LEARNMSA_ALIGN|MAFFT|MAGUS_ALIGN|MUSCLE5_SUPER5|REGRESSIVE|TCOFFEE_ALIGN|TCOFFEE3D_ALIGN|FOLDMASON_EASYMSA"{
tag = { "${meta.id} tree:${meta.tree} argstree:${args_tree} args:${meta.args_aligner}" }
ext.prefix = { "${meta.id}_${meta.tree}-args-${meta.argstree_clean}_${meta.aligner}-args-${meta.args_aligner_clean}" }
ext.args = { "${meta.args_aligner}" == "null" ? '' : "${meta.args_aligner}" }
Expand Down
22 changes: 13 additions & 9 deletions docs/extending.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,19 @@ The subworkflows are to a significant degree isolated from each other, and not a

## Adding an aligner

1. Create a local or nf-core module and ensure the output is in FASTA format
2. Add the aligner to the usage.md
3. Add the aligner to the aligner config in `conf/modules.config`, see an example [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/conf/modules.config#L113). If required, also add other config options
4. Include the module in the alignment subworkflow (`subworkflows/local/align.nf`)
- Import the module in the top, view an example [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/subworkflows/local/align.nf#L9)
- Add a branch to the alignment steps [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/subworkflows/local/align.nf#L73-L85)
- Call the aligner with the respective branch; you can either pass or discard a guidetree or structures using the multimap before the call step, see the CLUSTALO example [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/subworkflows/local/align.nf#L104-L113)
- Feed the output alignment and versions channels back into the `msa` the CLUSTALO example) and `ch_versions` channels (see the respective CLUSTALO example [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/subworkflows/local/align.nf#L113) and [here](https://github.com/nf-core/multiplesequencealign/blob/000ef2a535ed246ff89c7cd93afaca53879af3ef/subworkflows/local/align.nf#L112)). Make sure to `mix()` them so they do not get overwritten!

-[] Create a module for your tool (ideally nf-core). Ensure the output is in FASTA format. Use other modules in the pipeline as template.
-[] Include the module in the alignment subworkflow (`subworkflows/local/align.nf`)

- Import the module
- Add a branch to the correct channel, depending on your tool input (see other examples)
- Call the aligner with the respective branch (see other examples)
- Feed the output alignment and versions channels back into the `msa`. Make sure to `mix()` them so they do not get overwritten!
-[] Add the aligner to the aligner config in `conf/modules.config`.
-[] Update docs/usage.md
-[] Update CITATIONS.md
-[] Update CHANGELOG.md

You can look at an example of a new tool integration [here](https://github.com/nf-core/multiplesequencealign/pull/139).
Congratulations, your aligner is now in nf-core/multiplesequencalignment!

## Adding a guide tree estimator
Expand Down
1 change: 1 addition & 0 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ The available ALIGN methods are listed below (those that accept guide trees are
**STRUCTURE-BASED** (only require stuctures as input):

- [MTMALIGN](https://bio.tools/mtm-align)
- [FOLDMASON](https://github.com/steineggerlab/foldmason)

### 4. EVALUATE

Expand Down
7 changes: 6 additions & 1 deletion modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@
"git_sha": "e21abdefe46e27b71e0ced2cadc0f2463298aba6",
"installed_by": ["modules"]
},
"foldmason/easymsa": {
"branch": "master",
"git_sha": "bea7a09bc85c756b8f2befd63311eb1651067073",
"installed_by": ["modules"]
},
"kalign/align": {
"branch": "master",
"git_sha": "e61e5a13ef49c5595986bd31efb85c3f0709a282",
Expand Down Expand Up @@ -68,7 +73,7 @@
},
"multiqc": {
"branch": "master",
"git_sha": "fe9614c5d1d9820dae56a5e30a07ba336db45835",
"git_sha": "19ca321db5d8bd48923262c2eca6422359633491",
"installed_by": ["modules"]
},
"muscle5/super5": {
Expand Down
10 changes: 10 additions & 0 deletions modules/nf-core/foldmason/easymsa/environment.yml

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

56 changes: 56 additions & 0 deletions modules/nf-core/foldmason/easymsa/main.nf

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

55 changes: 55 additions & 0 deletions modules/nf-core/foldmason/easymsa/meta.yml

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

114 changes: 114 additions & 0 deletions modules/nf-core/foldmason/easymsa/tests/main.nf.test

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

Loading

0 comments on commit 269ba9a

Please sign in to comment.