Skip to content

Commit

Permalink
Merge pull request #160 from JoseEspinosa/updates
Browse files Browse the repository at this point in the history
Address review comments and update documentation
  • Loading branch information
JoseEspinosa authored Jun 11, 2024
2 parents d33e481 + 6f083ce commit 58fa8a9
Show file tree
Hide file tree
Showing 19 changed files with 209 additions and 248 deletions.
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ If you're not used to this workflow with git, you can start with some [docs from
You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:

```bash
nf-test test --profile debug,test,docker --verbose
nextflow run . --profile debug,test,docker --outdir <OUTDIR>
```

When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
Expand Down
109 changes: 11 additions & 98 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ jobs:
NXF_VER:
- "23.04.0"
- "latest-everything"
parameters:
- "test"
- "test_alphafold2_split"
- "test_alphafold2_download"
- "test_colabfold_local"
- "test_colabfold_webserver"
- "test_colabfold_download"
- "test_esmfold"

steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
Expand All @@ -38,102 +47,6 @@ jobs:
- name: Disk space cleanup
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: Run pipeline with test data
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
test_alphafold2_split:
name: Test alphafold2 split workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in alphafold2 split mode
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_alphafold2_split,docker --outdir ./results
test_alphafold2_download:
name: Test alphafold2 download workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in alphafold2 standard mode (download)
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_alphafold2_download,docker --outdir ./results
test_colabfold_local:
name: Test Colabfold local workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in colabfold_local mode
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_colabfold_local,docker --outdir ./results
test_colabfold_webserver:
name: Test Colabfold webserver workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in colabfold_webserver mode
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_colabfold_webserver,docker --outdir ./results
test_colabfold_download:
name: Test colabfold download workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in colabfold webserver (download)
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_colabfold_download,docker --outdir ./results
test_esmfold:
name: Test ESMFold workflow
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/proteinfold') }}
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with stub-run in esmfold mode
- name: Run pipeline with test data ${{ matrix.parameters }} profile
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_esmfold,docker --outdir ./results
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.parameters }},docker --outdir ./results_${{ matrix.parameters }}
3 changes: 1 addition & 2 deletions .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@ repository_type: pipeline
nf_core_version: "2.14.1"
lint:
files_unchanged:
- .github/ISSUE_TEMPLATE/bug_report.yml
- pyproject.toml
- .github/CONTRIBUTING.md
multiqc_config: false
29 changes: 26 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[#130](https://github.com/nf-core/proteinfold/issues/130)] - Add `--skip_multiqc` parameter.
- [[PR #154](https://github.com/nf-core/proteinfold/pull/154)] - Update pipeline template to [nf-core/tools 2.14.1](https://github.com/nf-core/tools/releases/tag/2.14.1).
- [[#148](https://github.com/nf-core/proteinfold/issues/148)] - Update Colabfold DBs.
- [[PR #159](https://github.com/nf-core/proteinfold/pull/159)] - Update `mgnify` paths to new available version.

### Parameters

| Old parameter | New parameter |
| ------------- | ---------------- |
| | `--skip_multiqc` |
| Old parameter | New parameter |
| --------------------- | ---------------------------------------- |
| `--uniclust30` | |
| `--bfd` | `--bfd_link` |
| `--small_bfd` | `--small_bfd_link` |
| `--alphafold2_params` | `--alphafold2_params_link` |
| `--mgnify` | `--mgnify_link` |
| `--pdb70` | `--pdb70_link` |
| `--pdb_mmcif` | `--pdb_mmcif_link` |
| `--pdb_obsolete` | `--pdb_obsolete_link` |
| `--uniref90` | `--uniref90_link` |
| `--pdb_seqres` | `--pdb_seqres_link` |
| `--uniprot_sprot` | `--uniprot_sprot_link` |
| `--uniprot_trembl` | `--uniprot_trembl_link` |
| `--uniclust30_path` | `--uniref30_alphafold2_path` |
| `--uniref30` | `--uniref30_colabfold_link` |
| `--uniref30_path` | `--uniref30_colabfold_path` |
| | `--uniref30_alphafold2_link` |
| | `--esmfold_db` |
| | `--esmfold_model_preset` |
| | `--esmfold_3B_v1` |
| | `--esm2_t36_3B_UR50D` |
| | `--esm2_t36_3B_UR50D_contact_regression` |
| | `--esmfold_params_path` |
| | `--skip_multiqc` |

> **NB:** Parameter has been **updated** if both old and new parameter information is present.
> **NB:** Parameter has been **added** if just the new parameter information is present.
Expand Down
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ On release, automated continuous integration tests run the pipeline on a full-si

1. Choice of protein structure prediction method:

i. [AlphaFold2](https://github.com/deepmind/alphafold)
i. [AlphaFold2](https://github.com/deepmind/alphafold) - Regular AlphaFold2 (MSA computation and model inference in the same process)

ii. [AlphaFold2 split](https://github.com/luisas/alphafold_split) - AlphaFold2 MSA computation and model inference in separate processes

iii. [ColabFold](https://github.com/sokrypton/ColabFold) - MMseqs2 API server followed by ColabFold

iv. [ColabFold](https://github.com/sokrypton/ColabFold) - MMseqs2 local search followed by ColabFold

v. [ESMFold](https://github.com/facebookresearch/esm)
v. [ESMFold](https://github.com/facebookresearch/esm) - Regular ESM

## Usage

Expand All @@ -55,9 +55,9 @@ nextflow run nf-core/proteinfold \
--outdir <OUTDIR>
```

The pipeline takes care of downloading the databases and parameters required by AlphaFold2, Colabfold or ESMFold. In case you have already downloaded the required files, you can skip this step by providing the path to the databases in parameters using the corresponding parameter [`--alphafold2_db`], [`--colabfold_db`] or [`--esmfold_db`]
The pipeline takes care of downloading the databases and parameters required by AlphaFold2, Colabfold or ESMFold. In case you have already downloaded the required files, you can skip this step by providing the path to the databases using the corresponding parameter [`--alphafold2_db`], [`--colabfold_db`] or [`--esmfold_db`]. Please refer to the [usage documentation](https://nf-co.re/proteinfold/usage) to check the directory structure you need to provide for each of the databases.

- Typical command to run AlphaFold2 mode:
- The typical command to run AlphaFold2 mode is shown below:

```console
nextflow run nf-core/proteinfold \
Expand All @@ -71,7 +71,7 @@ The pipeline takes care of downloading the databases and parameters required by
-profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
```

- Typical command to run AlphaFold2 splitting the MSA from the prediction execution:
- Here is the command to run AlphaFold2 splitting the MSA from the prediction execution:

```console
nextflow run nf-core/proteinfold \
Expand All @@ -86,7 +86,7 @@ The pipeline takes care of downloading the databases and parameters required by
-profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
```

- Typical command to run colabfold_local mode:
- Below, the command to run colabfold_local mode:

```console
nextflow run nf-core/proteinfold \
Expand All @@ -103,7 +103,7 @@ The pipeline takes care of downloading the databases and parameters required by
-profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
```

- Typical command to run colabfold_webserver mode:
- The typical command to run colabfold_webserver mode would be:

```console
nextflow run nf-core/proteinfold \
Expand All @@ -120,10 +120,11 @@ The pipeline takes care of downloading the databases and parameters required by
-profile <docker/singularity/podman/shifter/charliecloud/conda/institute>
```

> **Warning**
[!WARNING]

> If you aim to carry out a large amount of predictions using the colabfold_webserver mode, please setup and use your own custom MMSeqs2 API Server. You can find instructions [here](https://github.com/sokrypton/ColabFold/tree/main/MsaServer).

- Typical command to run esmfold mode:
- The esmfold mode can be run using the command below:

```console
nextflow run nf-core/proteinfold \
Expand Down
2 changes: 1 addition & 1 deletion conf/modules_alphafold2.config
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
//

process {
withName: 'GUNZIP|COMBINE_UNIPROT|DOWNLOAD_PDBMMCIF' {
withName: 'GUNZIP|COMBINE_UNIPROT|DOWNLOAD_PDBMMCIF|ARIA2_PDB_SEQRES' {
publishDir = [
path: {"${params.outdir}/DBs/${params.mode}/${params.alphafold2_mode}"},
mode: 'symlink',
Expand Down
2 changes: 1 addition & 1 deletion conf/test_alphafold_download.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_alphafold2_download,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/
Expand Down
2 changes: 1 addition & 1 deletion conf/test_alphafold_split.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_alphafold2_split,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/
Expand Down
2 changes: 1 addition & 1 deletion conf/test_colabfold_download.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_colabfold_download,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/
Expand Down
2 changes: 1 addition & 1 deletion conf/test_colabfold_local.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_colabfold_local,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/

Expand Down
2 changes: 1 addition & 1 deletion conf/test_colabfold_webserver.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_colabfold_webserver,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/

Expand Down
2 changes: 1 addition & 1 deletion conf/test_esmfold.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_esmfold,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/

Expand Down
2 changes: 1 addition & 1 deletion conf/test_full_esmfold.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Defines input files and everything required to run a full size pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test_full_colabfold_webserver,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_full_esmfold,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/
Expand Down
2 changes: 1 addition & 1 deletion conf/test_full_esmfold_multimer.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Defines input files and everything required to run a full size pipeline test.
Use as follows:
nextflow run nf-core/proteinfold -profile test_full_colabfold_webserver,<docker/singularity> --outdir <OUTDIR>
nextflow run nf-core/proteinfold -profile test_full_esmfold_multimer,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/
Expand Down
Loading

0 comments on commit 58fa8a9

Please sign in to comment.