# scaffold_and_refine_multitaxa Scaffold de novo contigs against a set of possible references and subsequently polish with reads. This workflow accepts a very large set of input reference genomes. It will subset the reference genomes to those with ANI hits to the provided contigs/MAGs and cluster the reference hits by any ANI similarity to each other. It will choose the top reference from each cluster and produce one assembly for each cluster. This is intended to allow for the presence of multiple diverse viral taxa (coinfections) while forcing a choice of the best assembly from groups of related reference genomes. ## Inputs ### Required inputs

scaffold_and_refine_multitaxa.contigs_fasta
File — Default: None
???

scaffold_and_refine_multitaxa.download_ref_genomes_from_tsv.emailAddress
String — Default: None
???

scaffold_and_refine_multitaxa.reads_unmapped_bam
File — Default: None
???

scaffold_and_refine_multitaxa.sample_id
String — Default: None
???

scaffold_and_refine_multitaxa.taxid_to_ref_accessions_tsv
File — Default: None
???

### Other common inputs

scaffold_and_refine_multitaxa.refine.trim_coords_bed
File? — Default: None
optional primers to trim in reference coordinate space (0-based BED format)

### Advanced inputs
Show/Hide

scaffold_and_refine_multitaxa.refine.call_consensus.mark_duplicates
Boolean — Default: false
Instead of removing duplicates, simply marks them.

scaffold_and_refine_multitaxa.refine.ivar_trim.min_keep_length
Int? — Default: None
Minimum length of read to retain after trimming (Default: 30)

scaffold_and_refine_multitaxa.refine.ivar_trim.min_quality
Int? — Default: 1
Minimum quality threshold for sliding window to pass (Default: 20)

scaffold_and_refine_multitaxa.refine.ivar_trim.sliding_window
Int? — Default: None
Width of sliding window for quality trimming (Default: 4)

scaffold_and_refine_multitaxa.scaffold.nucmer_max_gap
Int? — Default: None
When scaffolding contigs to the reference via nucmer, this specifies the -g parameter to nucmer (the maximum allowed gap between adjacent matches in a cluster). Our default is 200 (up from nucmer default of 90), mummer documentation suggests it is valid to increase up to 1000 to allow for more diversity.

scaffold_and_refine_multitaxa.scaffold.nucmer_min_cluster
Int? — Default: None
When scaffolding contigs to the reference via nucmer, this specifies the -c parameter to nucmer (minimum cluster length). Our default is the nucmer default of 65 bp.

scaffold_and_refine_multitaxa.scaffold.nucmer_min_match
Int? — Default: None
When scaffolding contigs to the reference via nucmer, this specifies the -l parameter to nucmer (the minimal size of a maximal exact match). Our default is 10 (down from nucmer default of 20) to allow for more divergence.

scaffold_and_refine_multitaxa.scaffold.replace_length
Int — Default: 55
The first and last replace_length base pairs of each segment in the output genome will be replaced with the equivalent sequences in the reference genome as a mechanism to handle common assembly errors in repetitive or inverted regions that are common to chromosome/segment ends. Valid values are any non-negative integer. Default is 55 bp.

scaffold_and_refine_multitaxa.scaffold.scaffold_min_contig_len
Int? — Default: None
Any sequences in contigs_fasta that are shorter than this length will be ignored for scaffolding.

scaffold_and_refine_multitaxa.scaffold.scaffold_min_pct_contig_aligned
Float? — Default: None
Any contig alignments to the reference scaffold that account for less than this fraction of the contig's length will be rejected for scaffolding. Valid values are fractions from 0 to 1; the default value is 0.3.

### Other inputs
Show/Hide

scaffold_and_refine_multitaxa.assembly_stats_empty.cpus
Int — Default: 4
???

scaffold_and_refine_multitaxa.assembly_stats_non_empty.cpus
Int — Default: 4
???

scaffold_and_refine_multitaxa.biosample_accession
String? — Default: None
???

scaffold_and_refine_multitaxa.download_ref_genomes_from_tsv.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-phylo"
???

scaffold_and_refine_multitaxa.refine.align_to_ref.cpu
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.align_to_ref.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.align_to_ref.machine_mem_gb
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.align_to_ref.read_count_downsample_threshold
Int — Default: 150000000
???

scaffold_and_refine_multitaxa.refine.align_to_ref.sample_name
String — Default: basename(basename(basename(reads_unmapped_bam,".bam"),".taxfilt"),".clean")
???

scaffold_and_refine_multitaxa.refine.align_to_ref_options
Map[String,String] — Default: {"novoalign": "-r Random -l 40 -g 40 -x 20 -t 501 -k", "bwa": "-k 12 -B 1", "minimap2": ""}
???

scaffold_and_refine_multitaxa.refine.align_to_self.cpu
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.align_to_self.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.align_to_self.machine_mem_gb
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.align_to_self.read_count_downsample_threshold
Int — Default: 150000000
???

scaffold_and_refine_multitaxa.refine.align_to_self.sample_name
String — Default: basename(basename(basename(reads_unmapped_bam,".bam"),".taxfilt"),".clean")
???

scaffold_and_refine_multitaxa.refine.align_to_self_options
Map[String,String] — Default: {"novoalign": "-r Random -l 40 -g 40 -x 20 -t 100", "bwa": "", "minimap2": ""}
???

scaffold_and_refine_multitaxa.refine.aligner
String — Default: "minimap2"
Read aligner software to use. Options: novoalign, bwa, minimap2. Minimap2 can automatically handle Illumina, PacBio, or Oxford Nanopore reads as long as the 'PL' field in the BAM read group header is set properly (novoalign and bwa are Illumina-only).

scaffold_and_refine_multitaxa.refine.alignment_metrics.amplicon_set
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.alignment_metrics.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.alignment_metrics.machine_mem_gb
Int — Default: 16
???

scaffold_and_refine_multitaxa.refine.alignment_metrics.max_amp_len
Int — Default: 5000
???

scaffold_and_refine_multitaxa.refine.alignment_metrics.max_amplicons
Int — Default: 500
???

scaffold_and_refine_multitaxa.refine.call_consensus.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-assemble"
???

scaffold_and_refine_multitaxa.refine.call_consensus.machine_mem_gb
Int — Default: 8
???

scaffold_and_refine_multitaxa.refine.isnvs_ref.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-phylo"
???

scaffold_and_refine_multitaxa.refine.isnvs_ref.out_basename
String — Default: basename(aligned_bam,'.bam')
???

scaffold_and_refine_multitaxa.refine.isnvs_self.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-phylo"
???

scaffold_and_refine_multitaxa.refine.isnvs_self.out_basename
String — Default: basename(aligned_bam,'.bam')
???

scaffold_and_refine_multitaxa.refine.ivar_trim.bam_basename
String — Default: basename(aligned_bam,".bam")
???

scaffold_and_refine_multitaxa.refine.ivar_trim.disk_size
Int — Default: 375
???

scaffold_and_refine_multitaxa.refine.ivar_trim.docker
String — Default: "andersenlabapps/ivar:1.3.1"
???

scaffold_and_refine_multitaxa.refine.ivar_trim.machine_mem_gb
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.ivar_trim.primer_offset
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.major_cutoff
Float — Default: 0.75
If the major allele is present at a frequency higher than this cutoff, we will call an unambiguous base at that position. If it is equal to or below this cutoff, we will call an ambiguous base representing all possible alleles at that position.

scaffold_and_refine_multitaxa.refine.merge_align_to_ref.disk_size
Int — Default: 750
???

scaffold_and_refine_multitaxa.refine.merge_align_to_ref.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.merge_align_to_ref.machine_mem_gb
Int — Default: 8
???

scaffold_and_refine_multitaxa.refine.merge_align_to_ref.reheader_table
File? — Default: None
???

scaffold_and_refine_multitaxa.refine.merge_align_to_self.disk_size
Int — Default: 750
???

scaffold_and_refine_multitaxa.refine.merge_align_to_self.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.merge_align_to_self.machine_mem_gb
Int — Default: 8
???

scaffold_and_refine_multitaxa.refine.merge_align_to_self.reheader_table
File? — Default: None
???

scaffold_and_refine_multitaxa.refine.min_coverage
Int — Default: 3
Minimum read coverage required to call a position unambiguous.

scaffold_and_refine_multitaxa.refine.novocraft_license
File? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.base_q_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.bin_large_plots
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.binning_summary_statistic
String? — Default: "max"
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.mapping_q_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.max_coverage_depth
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plot_height_pixels
Int? — Default: 850
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plot_only_non_duplicates
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plot_pixels_per_inch
Int? — Default: 100
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plot_width_pixels
Int? — Default: 1100
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plotXLimits
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.plotYLimits
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.read_length_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_ref_coverage.skip_mark_dupes
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.base_q_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.bin_large_plots
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.binning_summary_statistic
String? — Default: "max"
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.mapping_q_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.max_coverage_depth
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plot_height_pixels
Int? — Default: 850
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plot_only_non_duplicates
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plot_pixels_per_inch
Int? — Default: 100
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plot_width_pixels
Int? — Default: 1100
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plotXLimits
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.plotYLimits
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.read_length_threshold
Int? — Default: None
???

scaffold_and_refine_multitaxa.refine.plot_self_coverage.skip_mark_dupes
Boolean — Default: false
???

scaffold_and_refine_multitaxa.refine.run_discordance.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-core"
???

scaffold_and_refine_multitaxa.refine.sample_original_name
String? — Default: None
???

scaffold_and_refine_multitaxa.refine.skip_mark_dupes
Boolean — Default: false
skip Picard MarkDuplicates step after alignment. This is recommended to be set to true for PCR amplicon based data. (Default: false)

scaffold_and_refine_multitaxa.sample_name
String? — Default: None
???

scaffold_and_refine_multitaxa.scaffold.aligner
String — Default: "muscle"
Alignment tools used to align the reference sequence to aligned contigs. Possible options: muscle, mafft, mummer (= nucmer), set to muscle for default.

scaffold_and_refine_multitaxa.scaffold.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-assemble"
???

scaffold_and_refine_multitaxa.scaffold.machine_mem_gb
Int? — Default: None
???

scaffold_and_refine_multitaxa.scaffold.sample_name
String — Default: basename(basename(contigs_fasta,".fasta"),".assembly1-spades")
???

scaffold_and_refine_multitaxa.scaffold.skani_c
Int? — Default: None
???

scaffold_and_refine_multitaxa.scaffold.skani_m
Int? — Default: None
???

scaffold_and_refine_multitaxa.scaffold.skani_s
Int? — Default: None
???

scaffold_and_refine_multitaxa.select_references.cpu
Int — Default: 2
???

scaffold_and_refine_multitaxa.select_references.disk_size
Int — Default: 100
???

scaffold_and_refine_multitaxa.select_references.docker
String — Default: "ghcr.io/broadinstitute/viral-ngs:3.0.4-assemble"
???

scaffold_and_refine_multitaxa.select_references.machine_mem_gb
Int — Default: 4
???

scaffold_and_refine_multitaxa.select_references.skani_c
Int? — Default: None
???

scaffold_and_refine_multitaxa.select_references.skani_m
Int? — Default: None
???

scaffold_and_refine_multitaxa.select_references.skani_n
Int? — Default: None
???

scaffold_and_refine_multitaxa.select_references.skani_s
Int? — Default: None
???

scaffold_and_refine_multitaxa.table_name
String — Default: "sample"
???

scaffold_and_refine_multitaxa.tar_extract.disk_size
Int — Default: 375
???

scaffold_and_refine_multitaxa.tar_extract.tar_opts
String — Default: "-z"
???

scaffold_and_refine_multitaxa.tax_lookup.set_default_keys
Array[String] — Default: []
???

## Outputs

scaffold_and_refine_multitaxa.assembly_all_fastas
Array[File]
???

scaffold_and_refine_multitaxa.assembly_all_lengths_unambig
Array[Int]
???

scaffold_and_refine_multitaxa.assembly_all_pct_ref_cov
Array[Float]
???

scaffold_and_refine_multitaxa.assembly_all_taxids
Array[String]
???

scaffold_and_refine_multitaxa.assembly_all_taxnames
Array[String]
???

scaffold_and_refine_multitaxa.assembly_method
String
???

scaffold_and_refine_multitaxa.assembly_stats_by_taxon
Array[Map[String,String]]
???

scaffold_and_refine_multitaxa.assembly_stats_by_taxon_tsv
File
???

scaffold_and_refine_multitaxa.skani_contigs_to_refs_dist_tsv
File
???

scaffold_and_refine_multitaxa.skani_num_ref_clusters
Int
???


> Generated using WDL AID (1.0.0)