Add more tests and capture summaries

Co-authored-by: Jill V. Hagey, PhD <jvhagey@gmail.com>
This commit is contained in:
Mahesh Binzer-Panchal 2022-05-04 09:22:43 +00:00
parent 3bb0711b06
commit 8df20218bf
4 changed files with 392 additions and 7 deletions

View file

@ -14,8 +14,11 @@ process BUSCO {
path config_file // Optional: busco configuration file
output:
tuple val(meta), path("*-busco"), emit: busco_dir
path "versions.yml" , emit: versions
tuple val(meta), path("*-busco.batch_summary.txt"), emit: batch_summary
tuple val(meta), path("short_summary.*.txt") , emit: short_summaries_txt
tuple val(meta), path("short_summary.*.json") , emit: short_summaries_json
tuple val(meta), path("*-busco") , emit: busco_dir
path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
@ -68,6 +71,10 @@ process BUSCO {
# clean up
rm -rf "\$INPUT_SEQS"
# Move files to avoid staging/publishing issues
mv ${prefix}-busco/batch_summary.txt ${prefix}-busco.batch_summary.txt
mv ${prefix}-busco/*/short_summary.*.{json,txt} .
cat <<-END_VERSIONS > versions.yml
"${task.process}":
busco: \$( busco --version 2>&1 | sed 's/^BUSCO //' )

View file

@ -5,7 +5,70 @@ nextflow.enable.dsl = 2
include { BUSCO } from '../../../modules/busco/main.nf'
// This tests genome decompression, empty input channels and data download
workflow test_busco {
workflow test_busco_genome_single_fasta {
input = [
[ id:'test', single_end:false ], // meta map
file( params.test_data['bacteroides_fragilis']['genome']['genome_fna_gz'], checkIfExists: true)
]
BUSCO (
input,
['bacteria_odb10', 'bacteroidetes_odb10'],
[], // Download busco lineage
[], // No config
)
/* Output tree:
/tmp/tmpimsfk4sj/busco/
├── test-bacteria_odb10-busco -> /tmp/tmp1sz7013h/b7/fdeaab567e1c5bccc475a4c19b8582/test-bacteria_odb10-busco/
│ ├── batch_summary.txt
│ ├── genome.fna/
│ │ ├── logs/
│ │ │ ├── hmmsearch_err.log
│ │ │ ├── hmmsearch_out.log
│ │ │ ├── prodigal_err.log
│ │ │ └── prodigal_out.log
│ │ ├── prodigal_output/
│ │ │ └── predicted_genes/
│ │ ├── run_bacteria_odb10/
│ │ │ ├── busco_sequences/
│ │ │ ├── full_table.tsv
│ │ │ ├── hmmer_output/
│ │ │ ├── missing_busco_list.tsv
│ │ │ ├── short_summary.json
│ │ │ └── short_summary.txt
│ │ ├── short_summary.specific.bacteria_odb10.genome.fna.json
│ │ └── short_summary.specific.bacteria_odb10.genome.fna.txt
│ └── logs/
│ └── busco.log
├── test-bacteroidetes_odb10-busco -> /tmp/tmp1sz7013h/75/0da56f59ee44bd2b85e0172906de49/test-bacteroidetes_odb10-busco/
│ ├── batch_summary.txt
│ ├── genome.fna/
│ │ ├── logs/
│ │ │ ├── hmmsearch_err.log
│ │ │ ├── hmmsearch_out.log
│ │ │ ├── prodigal_err.log
│ │ │ └── prodigal_out.log
│ │ ├── prodigal_output/
│ │ │ └── predicted_genes/
│ │ ├── run_bacteroidetes_odb10/
│ │ │ ├── busco_sequences/
│ │ │ ├── full_table.tsv
│ │ │ ├── hmmer_output/
│ │ │ ├── missing_busco_list.tsv
│ │ │ ├── short_summary.json
│ │ │ └── short_summary.txt
│ │ ├── short_summary.specific.bacteroidetes_odb10.genome.fna.json
│ │ └── short_summary.specific.bacteroidetes_odb10.genome.fna.txt
│ └── logs/
│ └── busco.log
└── versions.yml -> /tmp/tmp1sz7013h/b7/fdeaab567e1c5bccc475a4c19b8582/versions.yml
*/
}
workflow test_busco_genome_multi_fasta {
input = [
[ id:'test', single_end:false ], // meta map
@ -22,4 +85,243 @@ workflow test_busco {
[], // No config
)
/* Output tree:
/tmp/tmpt22rjxzq/busco/
├── test-bacteria_odb10-busco -> /tmp/tmpfxt64xr_/36/425acbe5e9b27ba0bac8861f735494/test-bacteria_odb10-busco/
│ ├── batch_summary.txt
│ ├── genome.fasta/
│ │ ├── logs/
│ │ │ ├── hmmsearch_err.log
│ │ │ ├── hmmsearch_out.log
│ │ │ ├── prodigal_err.log
│ │ │ └── prodigal_out.log
│ │ ├── prodigal_output/
│ │ │ └── predicted_genes/
│ │ ├── run_bacteria_odb10/
│ │ │ ├── busco_sequences/
│ │ │ ├── full_table.tsv
│ │ │ ├── hmmer_output/
│ │ │ ├── missing_busco_list.tsv
│ │ │ ├── short_summary.json
│ │ │ └── short_summary.txt
│ │ ├── short_summary.specific.bacteria_odb10.genome.fasta.json
│ │ └── short_summary.specific.bacteria_odb10.genome.fasta.txt
│ ├── genome.fna/
│ │ ├── logs/
│ │ │ ├── hmmsearch_err.log
│ │ │ ├── hmmsearch_out.log
│ │ │ ├── prodigal_err.log
│ │ │ └── prodigal_out.log
│ │ ├── prodigal_output/
│ │ │ └── predicted_genes/
│ │ ├── run_bacteria_odb10/
│ │ │ ├── busco_sequences/
│ │ │ ├── full_table.tsv
│ │ │ ├── hmmer_output/
│ │ │ ├── missing_busco_list.tsv
│ │ │ ├── short_summary.json
│ │ │ └── short_summary.txt
│ │ ├── short_summary.specific.bacteria_odb10.genome.fna.json
│ │ └── short_summary.specific.bacteria_odb10.genome.fna.txt
│ └── logs/
│ └── busco.log
└── versions.yml -> /tmp/tmpfxt64xr_/36/425acbe5e9b27ba0bac8861f735494/versions.yml
*/
}
workflow test_busco_eukaryote_metaeuk {
input = [
[ id:'test', single_end:false ], // meta map
file( params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
]
BUSCO (
input,
'eukaryota_odb10',
[], // Download busco lineage
[], // No config
)
/* Output tree:
/tmp/tmp22sf7kg9/busco/
├── test-eukaryota_odb10-busco -> /tmp/tmpmic8qsk6/d5/d8cb6681c0fcaa6da34b57ec174d59/test-eukaryota_odb10-busco/
│ ├── batch_summary.txt
│ ├── genome.fasta/
│ │ ├── logs/
│ │ │ ├── hmmsearch_err.log
│ │ │ ├── hmmsearch_out.log
│ │ │ ├── metaeuk_err.log
│ │ │ └── metaeuk_out.log
│ │ ├── run_eukaryota_odb10/
│ │ │ ├── busco_sequences/
│ │ │ ├── full_table.tsv
│ │ │ ├── hmmer_output/
│ │ │ ├── metaeuk_output/
│ │ │ ├── missing_busco_list.tsv
│ │ │ ├── short_summary.json
│ │ │ └── short_summary.txt
│ │ ├── short_summary.specific.eukaryota_odb10.genome.fasta.json
│ │ └── short_summary.specific.eukaryota_odb10.genome.fasta.txt
│ └── logs/
│ └── busco.log
└── versions.yml -> /tmp/tmpmic8qsk6/d5/d8cb6681c0fcaa6da34b57ec174d59/versions.yml
*/
}
workflow test_busco_eukaryote_augustus {
input = [
[ id:'test', single_end:false ], // meta map
file( params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true)
]
BUSCO (
input,
'eukaryota_odb10',
[], // Download busco lineage
[], // No config
)
/* Output tree:
/tmp/tmpo77wyvb9/busco/
├── test-eukaryota_odb10-busco -> /tmp/tmpshljnwcg/25/9891a19cbabda15a5c10fb5e34987f/test-eukaryota_odb10-busco/
│ ├── batch_summary.txt
│ ├── genome.fasta/
│ │ ├── blast_db/
│ │ │ ├── genome.fasta.ndb
│ │ │ ├── genome.fasta.nhr
│ │ │ ├── genome.fasta.nin
│ │ │ ├── genome.fasta.not
│ │ │ ├── genome.fasta.nsq
│ │ │ ├── genome.fasta.ntf
│ │ │ └── genome.fasta.nto
│ │ ├── logs/
│ │ │ ├── makeblastdb_err.log
│ │ │ ├── makeblastdb_out.log
│ │ │ ├── tblastn_err.log
│ │ │ └── tblastn_out.log
│ │ └── run_eukaryota_odb10/
│ │ ├── augustus_output/
│ │ ├── blast_output/
│ │ ├── busco_sequences/
│ │ └── hmmer_output/
│ └── logs/
│ └── busco.log
└── versions.yml -> /tmp/tmpshljnwcg/25/9891a19cbabda15a5c10fb5e34987f/versions.yml
*/
}
workflow test_busco_protein {
input = [
[ id:'test', single_end:false ], // meta map
file( params.test_data['candidatus_portiera_aleyrodidarum']['genome']['proteome_fasta'], checkIfExists: true)
]
BUSCO (
input,
'bacteria_odb10',
[], // Download busco lineage
[], // No config
)
/* Output tree:
/tmp/tmplju98s42/busco/
├── test-bacteria_odb10-busco -> /tmp/tmp0oru9_61/9c/e992f5eee84806770002e4510f51cb/test-bacteria_odb10-busco/
│ ├── batch_summary.txt
│ ├── logs/
│ │ └── busco.log
│ └── proteome.fasta/
│ ├── logs/
│ │ ├── hmmsearch_err.log
│ │ └── hmmsearch_out.log
│ ├── run_bacteria_odb10/
│ │ ├── busco_sequences/
│ │ ├── full_table.tsv
│ │ ├── hmmer_output/
│ │ ├── missing_busco_list.tsv
│ │ ├── short_summary.json
│ │ └── short_summary.txt
│ ├── short_summary.specific.bacteria_odb10.proteome.fasta.json
│ └── short_summary.specific.bacteria_odb10.proteome.fasta.txt
└── versions.yml -> /tmp/tmp0oru9_61/9c/e992f5eee84806770002e4510f51cb/versions.yml
*/
}
workflow test_busco_transcriptome {
input = [
[ id:'test', single_end:false ], // meta map
file( params.test_data['bacteroides_fragilis']['illumina']['test1_contigs_fa_gz'], checkIfExists: true)
]
BUSCO (
input,
'bacteria_odb10',
[], // Download busco lineage
[], // No config
)
/* Output tree:
/tmp/tmp5twpr8o9/busco/
├── test-bacteria_odb10-busco -> /tmp/tmp_qyjiads/0d/886515d0f06686b2227517398ef8ce/test-bacteria_odb10-busco/
│ ├── batch_summary.txt
│ ├── logs/
│ │ └── busco.log
│ └── test1.contigs.fa/
│ ├── blast_db/
│ │ ├── test1.contigs.fa.ndb
│ │ ├── test1.contigs.fa.nhr
│ │ ├── test1.contigs.fa.nin
│ │ ├── test1.contigs.fa.not
│ │ ├── test1.contigs.fa.nsq
│ │ ├── test1.contigs.fa.ntf
│ │ └── test1.contigs.fa.nto
│ ├── logs/
│ │ ├── hmmsearch_err.log
│ │ ├── hmmsearch_out.log
│ │ ├── makeblastdb_err.log
│ │ ├── makeblastdb_out.log
│ │ ├── tblastn_err.log
│ │ └── tblastn_out.log
│ ├── run_bacteria_odb10/
│ │ ├── blast_output/
│ │ ├── busco_sequences/
│ │ ├── full_table.tsv
│ │ ├── hmmer_output/
│ │ ├── missing_busco_list.tsv
│ │ ├── short_summary.json
│ │ ├── short_summary.txt
│ │ └── single_copy_proteins.faa
│ ├── short_summary.specific.bacteria_odb10.test1.contigs.fa.json
│ ├── short_summary.specific.bacteria_odb10.test1.contigs.fa.txt
│ └── translated_proteins/
│ ├── 1024388at2.faa
│ ├── 1054741at2.faa
│ ├── 1093223at2.faa
│ ├── 1151822at2.faa
│ ├── 143460at2.faa
│ ├── 1491686at2.faa
│ ├── 1504821at2.faa
│ ├── 1574817at2.faa
│ ├── 1592033at2.faa
│ ├── 1623045at2.faa
│ ├── 1661836at2.faa
│ ├── 1674344at2.faa
│ ├── 1698718at2.faa
│ ├── 1990650at2.faa
│ ├── 223233at2.faa
│ ├── 402899at2.faa
│ ├── 505485at2.faa
│ ├── 665824at2.faa
│ ├── 776861at2.faa
│ ├── 874197at2.faa
│ ├── 932854at2.faa
│ └── 95696at2.faa
└── versions.yml -> /tmp/tmp_qyjiads/0d/886515d0f06686b2227517398ef8ce/versions.yml
*/
}

View file

@ -1,6 +1,28 @@
process {
publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }
ext.args = '--mode genome'
withName: 'test_busco_genome_single_fasta:BUSCO' {
ext.args = '--mode genome'
}
withName: 'test_busco_genome_multi_fasta:BUSCO' {
ext.args = '--mode genome'
}
withName: 'test_busco_eukaryote_metaeuk:BUSCO' {
ext.args = '--mode genome'
}
withName: 'test_busco_eukaryote_augustus:BUSCO' {
ext.args = '--mode genome --augustus'
}
withName: 'test_busco_protein:BUSCO' {
ext.args = '--mode proteins'
}
withName: 'test_busco_transcriptome:BUSCO'{
ext.args = '--mode transcriptome'
}
}

View file

@ -1,7 +1,61 @@
- name: busco test_busco
command: nextflow run tests/modules/busco -entry test_busco -c tests/config/nextflow.config
- name: busco test_busco_genome_single_fasta
command: nextflow run tests/modules/busco -entry test_busco_genome_single_fasta -c tests/config/nextflow.config
tags:
- busco
- bacteria
- genome
files:
- path: output/busco/versions.yml
md5sum: 921e2abe85bf73e63a8b494453dc83cf
md5sum: 8aa830f71587d859df35c6cfab59f35d
- name: busco test_busco_genome_multi_fasta
command: nextflow run tests/modules/busco -entry test_busco_genome_multi_fasta -c tests/config/nextflow.config
tags:
- busco
- bacteria
- genome
files:
- path: output/busco/versions.yml
md5sum: 9a959eb0a1f765777dff1ea2f5c139c0
- name: busco test_busco_eukaryote_metaeuk
command: nextflow run tests/modules/busco -entry test_busco_eukaryote_metaeuk -c tests/config/nextflow.config
tags:
- busco
- eukaryote
- genome
- metaeuk
files:
- path: output/busco/versions.yml
md5sum: 34a808c257e6db1b0456f3b4372bc477
- name: busco test_busco_eukaryote_augustus
command: nextflow run tests/modules/busco -entry test_busco_eukaryote_augustus -c tests/config/nextflow.config
tags:
- busco
- eukaryote
- genome
- augustus
files:
- path: output/busco/versions.yml
md5sum: 2caac915461410b16a1524ac064cd0df
- name: busco test_busco_protein
command: nextflow run tests/modules/busco -entry test_busco_protein -c tests/config/nextflow.config
tags:
- busco
- bacteria
- proteins
files:
- path: output/busco/versions.yml
md5sum: d7392261a57960a7e6aea609dce824f5
- name: busco test_busco_transcriptome
command: nextflow run tests/modules/busco -entry test_busco_transcriptome -c tests/config/nextflow.config
tags:
- busco
- bacteria
- transcriptome
files:
- path: output/busco/versions.yml
md5sum: 30eacbc7df70f6b1e72e0a7b6d02a7e1