From 24ee0a5200b9395510e5e4a5f8a1e02a839a62ea Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:40:03 +0200 Subject: [PATCH 01/14] Removed extra sections from the changelog --- CHANGELOG.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 941a344..ef0e042 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v1.0.0](https://github.com/nf-core/reportho/releases/tag/1.0.0) - Magnificent Mainsail - [2024-06-06] +## [v1.0.0](https://github.com/nf-core/reportho/releases/tag/1.0.0) - Magnificent Mainsail - [2024-06-07] Although its location and design may vary greatly, the mainsail is always a key source of propulsion for a ship. @@ -30,10 +30,6 @@ The pipeline was created. In particular, it has the following features: - basic downstream analysis of the obtained ortholog list - generation of a human-readable report -### `Fixed` - -Nothing yet. - ### `Dependencies` The pipeline has the following notable dependencies: @@ -60,7 +56,3 @@ At release date, the following database versions were current and used for testi | PANTHER | 18 | | OrthoInspector | Eukaryota2023 | | EggNOG | 5.0 | - -### `Deprecated` - -Nothing. From 80f77ccc5bf49ec58e15b5ffd6b78ea1c71743db Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:40:19 +0200 Subject: [PATCH 02/14] Removed outdated info from schema --- nextflow_schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 4022919..7607f05 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -65,7 +65,7 @@ "local_databases": { "type": "boolean", "default": "false", - "description": "Use local databases for the analysis. If use_all is set to `true`, online databases might still be used.", + "description": "Use local databases for the analysis.", "help_text": "If set to `true`, the pipeline will use local databases for the analysis.", "fa_icon": "fas fa-database" }, From 1f116508d6bfec8a8a775fd298e31049d58bd483 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:40:30 +0200 Subject: [PATCH 03/14] Fixed test command --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index e082f69..4c73df3 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -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 ``` When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests. From d3c384bca0a5967ef62f0c29519ec9f76366562d Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:40:45 +0200 Subject: [PATCH 04/14] Updated test config descriptions --- conf/test_fasta.config | 4 ++-- conf/test_offline.config | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/conf/test_fasta.config b/conf/test_fasta.config index 2ea37ba..d06fa16 100644 --- a/conf/test_fasta.config +++ b/conf/test_fasta.config @@ -11,8 +11,8 @@ */ params { - config_profile_name = 'Test profile' - config_profile_description = 'Minimal test dataset to check pipeline function' + config_profile_name = 'Test profile with FASTA input' + config_profile_description = 'Minimal test dataset to check pipeline function with FASTA input' // Limit resources so that this can run on GitHub Actions max_cpus = 2 diff --git a/conf/test_offline.config b/conf/test_offline.config index 4432cc3..f09bba1 100644 --- a/conf/test_offline.config +++ b/conf/test_offline.config @@ -11,8 +11,8 @@ */ params { - config_profile_name = 'Test profile' - config_profile_description = 'Minimal test dataset to check pipeline function' + config_profile_name = 'Test profile with offline databases' + config_profile_description = 'Minimal test dataset to check pipeline function with offline databases' // Limit resources so that this can run on GitHub Actions max_cpus = 2 From ec8fac91e21e36a705e69fefd7965ccb0983a268 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:40:56 +0200 Subject: [PATCH 05/14] Updated tube map --- docs/images/nf-core-reportho_tube_map_beta.png | Bin 79047 -> 0 bytes docs/images/reportho_tube_map.svg | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 docs/images/nf-core-reportho_tube_map_beta.png diff --git a/docs/images/nf-core-reportho_tube_map_beta.png b/docs/images/nf-core-reportho_tube_map_beta.png deleted file mode 100644 index 2bc41664eefae98ee66bde42c9828aabdb0cb80f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79047 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 diff --git a/docs/images/reportho_tube_map.svg b/docs/images/reportho_tube_map.svg index 946f3fa..dc5d338 100644 --- a/docs/images/reportho_tube_map.svg +++ b/docs/images/reportho_tube_map.svg @@ -1,4 +1,4 @@ -
Filter hits
nf-core/
reportho
Fasta
Sequence query
ID
Uniprot ID query
Identify sequence
OMA
Identify taxon
OMA
OMA
PANTHER
OrthoInspector
EggNOG
Online
Local
Online
Local
Online
Local
csv
csv
csv
csv
Single predictions
Query information
txt
Make score table
csvmerge
Python
Fetch ortholog predictions
&nbsp;
csv
Score table
Python
Plot orthologs
ggplot
&nbsp;
list
Filtered orthologs
Comparison plots
Fastq
Fastq
png
Fetch sequences
OMA/Uniprot
Fetch structures
AlphaFoldDB
3D-COFFEE
&nbsp;
fasta
Ortholog sequences
T-COFFEE
&nbsp;
aln
MSA
IQ-TREE
FastME
&nbsp;
nwk
Tree
Python
Ortholog statistics
Calculate statistics
Dump parameters
cat
Generate report
React
&nbsp;
list
Version dev
Core subworkflow
Optional downstream analysis
Optional report generation
Core data flow
Report data flow
&nbsp;
html
Report
Choose one
Create alignment
Make phylogeny
Subworkflow
\ No newline at end of file +
Filter hits
nf-core/
reportho
Fasta
Sequence query
ID
Uniprot ID query
Identify sequence
OMA
Identify taxon
OMA
OMA
PANTHER
OrthoInspector
EggNOG
Online
Local
Online
Local
Online
Local
csv
csv
csv
csv
Single predictions
Query information
txt
Make score table
csvmerge
Python
Fetch ortholog predictions
&nbsp;
csv
Score table
Python
Plot orthologs
ggplot
&nbsp;
list
Filtered orthologs
Comparison plots
Fastq
Fastq
png
Fetch sequences
OMA/Uniprot
Fetch structures
AlphaFoldDB
3D-COFFEE
&nbsp;
fasta
Ortholog sequences
T-COFFEE
&nbsp;
aln
MSA
IQ-TREE
FastME
&nbsp;
nwk
Tree
Python
Ortholog statistics
Calculate statistics
Dump parameters
cat
Generate reports
React
&nbsp;
list
Version 1.0.0
Magnificent Mainsail
Core subworkflow
Optional downstream analysis
Optional report generation
Core data flow
Report data flow
&nbsp;
html
Per-query reports
Choose one
Create alignment
Make phylogeny
Subworkflow
&nbsp;
html
Summary report
Generate summary
MultiQC
From de261951fbe57c2d1ac5d5b2fe6f2a67378eb574 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:41:10 +0200 Subject: [PATCH 06/14] Fixed alignment in some processes --- modules/local/fetch_panther_group_online.nf | 2 +- modules/local/plot_orthologs.nf | 2 +- modules/local/plot_tree.nf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/local/fetch_panther_group_online.nf b/modules/local/fetch_panther_group_online.nf index ad0e249..11d9f36 100644 --- a/modules/local/fetch_panther_group_online.nf +++ b/modules/local/fetch_panther_group_online.nf @@ -11,7 +11,7 @@ process FETCH_PANTHER_GROUP_ONLINE { tuple val(meta), path(uniprot_id), path(taxid), path(exact) output: - tuple val(meta), path("*_panther_group.csv"), emit:panther_group + tuple val(meta), path("*_panther_group.csv"), emit: panther_group path "versions.yml" , emit: versions when: diff --git a/modules/local/plot_orthologs.nf b/modules/local/plot_orthologs.nf index 879eeca..94c0e12 100644 --- a/modules/local/plot_orthologs.nf +++ b/modules/local/plot_orthologs.nf @@ -14,7 +14,7 @@ process PLOT_ORTHOLOGS { tuple val(meta), path("*_supports_light.png"), path("*_supports_dark.png"), emit: supports tuple val(meta), path("*_venn_light.png"), path("*_venn_dark.png") , emit: venn tuple val(meta), path("*_jaccard_light.png"), path("*_jaccard_dark.png") , emit: jaccard - path "versions.yml" , emit: versions + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/local/plot_tree.nf b/modules/local/plot_tree.nf index c6e98bb..cc20f93 100644 --- a/modules/local/plot_tree.nf +++ b/modules/local/plot_tree.nf @@ -13,7 +13,7 @@ process PLOT_TREE { output: tuple val(meta), path("*_light.png"), path("*_dark.png") , emit: plot - path "versions.yml" , emit: versions + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when From b88bf29fd626262e156fe09027040a217455ca1e Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:41:35 +0200 Subject: [PATCH 07/14] Removed unnecessary subworkflows --- subworkflows/local/fetch_sequences.nf | 22 -------------------- subworkflows/local/fetch_structures.nf | 19 ----------------- workflows/reportho.nf | 28 ++++++++++++++------------ 3 files changed, 15 insertions(+), 54 deletions(-) delete mode 100644 subworkflows/local/fetch_sequences.nf delete mode 100644 subworkflows/local/fetch_structures.nf diff --git a/subworkflows/local/fetch_sequences.nf b/subworkflows/local/fetch_sequences.nf deleted file mode 100644 index 0c441dd..0000000 --- a/subworkflows/local/fetch_sequences.nf +++ /dev/null @@ -1,22 +0,0 @@ -include { FETCH_SEQUENCES_ONLINE } from "../../modules/local/fetch_sequences_online" - -workflow FETCH_SEQUENCES { - take: - ch_id_list - ch_query - - main: - ch_id_list - .join(ch_query) - .set { ch_input } - - FETCH_SEQUENCES_ONLINE ( - ch_input - ) - - emit: - sequences = FETCH_SEQUENCES_ONLINE.out.fasta - hits = FETCH_SEQUENCES_ONLINE.out.hits - misses = FETCH_SEQUENCES_ONLINE.out.misses - versions = FETCH_SEQUENCES_ONLINE.out.versions -} diff --git a/subworkflows/local/fetch_structures.nf b/subworkflows/local/fetch_structures.nf deleted file mode 100644 index 188e5b4..0000000 --- a/subworkflows/local/fetch_structures.nf +++ /dev/null @@ -1,19 +0,0 @@ -include { FETCH_AFDB_STRUCTURES } from "../../modules/local/fetch_afdb_structures" - -workflow FETCH_STRUCTURES { - take: - ch_idlist - - main: - - FETCH_AFDB_STRUCTURES( - ch_idlist - ) - - emit: - structures = FETCH_AFDB_STRUCTURES.out.pdb - hits = FETCH_AFDB_STRUCTURES.out.hits - misses = FETCH_AFDB_STRUCTURES.out.misses - af_versions = FETCH_AFDB_STRUCTURES.out.af_versions - versions = FETCH_AFDB_STRUCTURES.out.versions -} diff --git a/workflows/reportho.nf b/workflows/reportho.nf index 0aaf31d..e8d1b18 100644 --- a/workflows/reportho.nf +++ b/workflows/reportho.nf @@ -11,12 +11,13 @@ include { softwareVersionsToYAML } from '../subworkflows/nf-core/utils_nfcore_pi include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_reportho_pipeline' include { GET_ORTHOLOGS } from '../subworkflows/local/get_orthologs' -include { FETCH_SEQUENCES } from '../subworkflows/local/fetch_sequences' -include { FETCH_STRUCTURES } from '../subworkflows/local/fetch_structures' include { ALIGN } from '../subworkflows/local/align' include { MAKE_TREES } from '../subworkflows/local/make_trees' include { REPORT } from '../subworkflows/local/report' +include { FETCH_SEQUENCES_ONLINE } from '../subworkflows/local/fetch_sequences_online' +include { FETCH_AFDB_STRUCTURES } from '../subworkflows/local/fetch_afdb_structures' + /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RUN MAIN WORKFLOW @@ -55,30 +56,31 @@ workflow REPORTHO { ch_fastme = ch_samplesheet.map { [it[0], []] } if (!params.skip_downstream) { - FETCH_SEQUENCES ( - GET_ORTHOLOGS.out.orthologs, - ch_fasta_query + ch_sequences_input = GET_ORTHOLOGS.out.orthologs.join(ch_fasta_query) + + FETCH_SEQUENCES_ONLINE ( + ch_sequences_input ) - ch_seqhits = FETCH_SEQUENCES.out.hits + ch_seqhits = FETCH_SEQUENCES_ONLINE.out.hits - ch_seqmisses = FETCH_SEQUENCES.out.misses + ch_seqmisses = FETCH_SEQUENCES_ONLINE.out.misses - ch_versions = ch_versions.mix(FETCH_SEQUENCES.out.versions) + ch_versions = ch_versions.mix(FETCH_SEQUENCES_ONLINE.out.versions) if (params.use_structures) { - FETCH_STRUCTURES ( + FETCH_AFDB_STRUCTURES ( GET_ORTHOLOGS.out.orthologs ) - ch_strhits = FETCH_STRUCTURES.out.hits + ch_strhits = FETCH_AFDB_STRUCTURES.out.hits - ch_strmisses = FETCH_STRUCTURES.out.misses + ch_strmisses = FETCH_AFDB_STRUCTURES.out.misses - ch_versions = ch_versions.mix(FETCH_STRUCTURES.out.versions) + ch_versions = ch_versions.mix(FETCH_AFDB_STRUCTURES.out.versions) } - ch_structures = params.use_structures ? FETCH_STRUCTURES.out.structures : Channel.empty() + ch_structures = params.use_structures ? FETCH_AFDB_STRUCTURES.out.structures : Channel.empty() ALIGN ( FETCH_SEQUENCES.out.sequences, From e342a39c653fa254970ec80f91bf24b12f97f203 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:41:49 +0200 Subject: [PATCH 08/14] Removed useless line in get_orthologs --- subworkflows/local/get_orthologs.nf | 1 - 1 file changed, 1 deletion(-) diff --git a/subworkflows/local/get_orthologs.nf b/subworkflows/local/get_orthologs.nf index 124b0c3..10b8999 100644 --- a/subworkflows/local/get_orthologs.nf +++ b/subworkflows/local/get_orthologs.nf @@ -53,7 +53,6 @@ workflow GET_ORTHOLOGS { ch_fasta ) - ch_query = IDENTIFY_SEQ_ONLINE.out.seqinfo ch_versions = ch_versions.mix(IDENTIFY_SEQ_ONLINE.out.versions) WRITE_SEQINFO ( From 4d9b75950a5f2dc6de618b74b107d99cc3fff659 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:50:14 +0200 Subject: [PATCH 09/14] Added conda in dump_params --- modules/local/dump_params.nf | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/local/dump_params.nf b/modules/local/dump_params.nf index b3d2f50..e0934f6 100644 --- a/modules/local/dump_params.nf +++ b/modules/local/dump_params.nf @@ -2,6 +2,7 @@ process DUMP_PARAMS { tag "$meta.id" label 'process_single' + conda "conda-forge::coreutils=9.5" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : 'nf-core/ubuntu:20.04' }" From 60476178eafbc36deda8aae6ab2555b64646102e Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:50:35 +0200 Subject: [PATCH 10/14] Moved input file channel declarations to main workflow --- subworkflows/local/get_orthologs.nf | 15 +++++++-------- workflows/reportho.nf | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/subworkflows/local/get_orthologs.nf b/subworkflows/local/get_orthologs.nf index 10b8999..4b8a2ed 100644 --- a/subworkflows/local/get_orthologs.nf +++ b/subworkflows/local/get_orthologs.nf @@ -23,19 +23,18 @@ workflow GET_ORTHOLOGS { take: ch_samplesheet_query ch_samplesheet_fasta + ch_oma_groups + ch_oma_uniprot + ch_oma_ensembl + ch_oma_refseq + ch_panther + ch_eggnog + ch_eggnog_idmap main: ch_versions = Channel.empty() ch_orthogroups = Channel.empty() - ch_oma_groups = params.oma_path ? Channel.value(file(params.oma_path)) : Channel.empty() - ch_oma_uniprot = params.oma_uniprot_path ? Channel.value(file(params.oma_uniprot_path)) : Channel.empty() - ch_oma_ensembl = params.oma_ensembl_path ? Channel.value(file(params.oma_ensembl_path)) : Channel.empty() - ch_oma_refseq = params.oma_refseq_path ? Channel.value(file(params.oma_refseq_path)) : Channel.empty() - ch_panther = params.panther_path ? Channel.value(file(params.panther_path)) : Channel.empty() - ch_eggnog = params.eggnog_path ? Channel.value(file(params.eggnog_path)) : Channel.empty() - ch_eggnog_idmap = params.eggnog_idmap_path ? Channel.value(file(params.eggnog_idmap_path)) : Channel.empty() - ch_samplesheet_fasta.map { if (params.offline_run) { error "Tried to use FASTA input in an offline run. Aborting pipeline for user safety." diff --git a/workflows/reportho.nf b/workflows/reportho.nf index e8d1b18..4f6d412 100644 --- a/workflows/reportho.nf +++ b/workflows/reportho.nf @@ -36,9 +36,24 @@ workflow REPORTHO { ch_multiqc_files = Channel.empty() ch_fasta_query = ch_samplesheet_query.map { [it[0], []] }.mix(ch_samplesheet_fasta.map { [it[0], file(it[1])] }) + ch_oma_groups = params.oma_path ? Channel.value(file(params.oma_path)) : Channel.empty() + ch_oma_uniprot = params.oma_uniprot_path ? Channel.value(file(params.oma_uniprot_path)) : Channel.empty() + ch_oma_ensembl = params.oma_ensembl_path ? Channel.value(file(params.oma_ensembl_path)) : Channel.empty() + ch_oma_refseq = params.oma_refseq_path ? Channel.value(file(params.oma_refseq_path)) : Channel.empty() + ch_panther = params.panther_path ? Channel.value(file(params.panther_path)) : Channel.empty() + ch_eggnog = params.eggnog_path ? Channel.value(file(params.eggnog_path)) : Channel.empty() + ch_eggnog_idmap = params.eggnog_idmap_path ? Channel.value(file(params.eggnog_idmap_path)) : Channel.empty() + GET_ORTHOLOGS ( ch_samplesheet_query, - ch_samplesheet_fasta + ch_samplesheet_fasta, + ch_oma_groups, + ch_oma_uniprot, + ch_oma_ensembl, + ch_oma_refseq, + ch_panther, + ch_eggnog, + ch_eggnog_idmap ) ch_versions = ch_versions.mix(GET_ORTHOLOGS.out.versions) From 83b57be8ef1531f5ecb44eb92929c06e0d8a0769 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 12:56:47 +0200 Subject: [PATCH 11/14] Revert "Fixed test command" This reverts commit 1f116508d6bfec8a8a775fd298e31049d58bd483. Edited non-editable file. --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4c73df3..e082f69 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -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 -nextflow run . -profile debug,test,docker --outdir +nf-test test --profile debug,test,docker --verbose ``` When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests. From 8ca0838e5ecc2a1a4498903bedb8375ad1352718 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 13:01:21 +0200 Subject: [PATCH 12/14] Fixed error in main subworkflow imports --- workflows/reportho.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/reportho.nf b/workflows/reportho.nf index 4f6d412..57ad0f8 100644 --- a/workflows/reportho.nf +++ b/workflows/reportho.nf @@ -15,8 +15,8 @@ include { ALIGN } from '../subworkflows/local/align' include { MAKE_TREES } from '../subworkflows/local/make_trees' include { REPORT } from '../subworkflows/local/report' -include { FETCH_SEQUENCES_ONLINE } from '../subworkflows/local/fetch_sequences_online' -include { FETCH_AFDB_STRUCTURES } from '../subworkflows/local/fetch_afdb_structures' +include { FETCH_SEQUENCES_ONLINE } from '../modules/local/fetch_sequences_online' +include { FETCH_AFDB_STRUCTURES } from '../modules/local/fetch_afdb_structures' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 3d81db13332c6517487a7434a8a066f5a9330bcc Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 13:47:15 +0200 Subject: [PATCH 13/14] Fixed process name in main workflow --- workflows/reportho.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/reportho.nf b/workflows/reportho.nf index 57ad0f8..5e21e28 100644 --- a/workflows/reportho.nf +++ b/workflows/reportho.nf @@ -98,7 +98,7 @@ workflow REPORTHO { ch_structures = params.use_structures ? FETCH_AFDB_STRUCTURES.out.structures : Channel.empty() ALIGN ( - FETCH_SEQUENCES.out.sequences, + FETCH_SEQUENCES_ONLINE.out.sequences, ch_structures ) From 6f8262573aee34986a0dccea32cc72addf030e35 Mon Sep 17 00:00:00 2001 From: itrujnara Date: Fri, 7 Jun 2024 13:51:27 +0200 Subject: [PATCH 14/14] Fixed another error in variable name --- workflows/reportho.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/reportho.nf b/workflows/reportho.nf index 5e21e28..350ab8c 100644 --- a/workflows/reportho.nf +++ b/workflows/reportho.nf @@ -98,7 +98,7 @@ workflow REPORTHO { ch_structures = params.use_structures ? FETCH_AFDB_STRUCTURES.out.structures : Channel.empty() ALIGN ( - FETCH_SEQUENCES_ONLINE.out.sequences, + FETCH_SEQUENCES_ONLINE.out.fasta, ch_structures )