Mercurial > repos > bgruening > hifiasm
diff hifiasm.xml @ 0:bf0a4667e3ce draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/hifiasm commit a118fad06e94683813e214af107fedd5fd80500a"
author | bgruening |
---|---|
date | Tue, 02 Mar 2021 20:23:49 +0000 |
parents | |
children | 6505bd37670d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hifiasm.xml Tue Mar 02 20:23:49 2021 +0000 @@ -0,0 +1,229 @@ +<tool id="hifiasm" name="Hifiasm" version="@VERSION@"> + <description>de novo assembler</description> + <macros> + <token name="@VERSION@">0.14</token> + <token name="@FORMATS@">fasta,fasta.gz,fastq,fastq.gz</token> + <xml name="reads"> + <param name="reads" type="data" format="@FORMATS@" label="Input reads" /> + </xml> + </macros> + <requirements> + <requirement type="package" version="@VERSION@">hifiasm</requirement> + <requirement type="package" version="0.1">yak</requirement> + </requirements> + <version_command>hifiasm --version</version_command> + <command detect_errors="exit_code"> + <![CDATA[ + #if str($mode.mode_selector) == 'standard': + ln -s '$mode.reads' input.${mode.reads.extension} && + #else: + ln -s '$mode.hap1_reads' hap1_reads.${mode.hap1_reads.extension} && + ln -s '$mode.hap2_reads' hap2_reads.${mode.hap2_reads.extension} && + yak count -k31 -b37 -t\${GALAXY_SLOTS:-1} -o hap1.yak hap1_reads.${mode.hap1_reads.extension} && + yak count -k31 -b37 -t\${GALAXY_SLOTS:-1} -o hap2.yak hap2_reads.${mode.hap2_reads.extension} && + #end if + hifiasm -i input.${mode.reads.extension} -t \${GALAXY_SLOTS:-1} -o output -f $filter_bits + #if str($advanced_options.advanced_selector) == 'set': + -z $advanced_options.adapter_length + -k $advanced_options.kmer_length + -w $advanced_options.window_size + -D $advanced_options.drop_kmers + -N $advanced_options.max_overlaps + -r $advanced_options.correction_rounds + #end if + #if str($assembly_options.assembly_selector) == 'set': + -a $assembly_options.cleaning_rounds + -m $assembly_options.pop_contigs + -p $assembly_options.pop_unitigs + -n $assembly_options.remove_tips + -x $assembly_options.max_overlap + -y $assembly_options.min_overlap + $assembly_options.disable_post_join + --pb-range $assembly_options.pb_range + #end if + #if str($mode.mode_selector) == 'trio': + -1 hap1.yak + -2 hap2.yak + -c $mode.max_kmers + -d $mode.min_kmers + #end if + #if str($purge_options.purge_selector) == 'set': + -l $purge_options.purge_level + -s $purge_options.similarity_threshold + -O $purge_options.minimum_overlap + #if $purge_options.purge_cov: + --purge-cov $purge_options.purge_cov + #end if + $purge_options.high_het + #end if + ]]> + </command> + <inputs> + <conditional name="mode"> + <param name="mode_selector" type="select" label="Assembly mode"> + <option value="standard">Standard</option> + <option value="trio">Trio mode</option> + </param> + <when value="standard"> + <expand macro="reads" /> + </when> + <when value="trio"> + <expand macro="reads" /> + <param name="hap1_reads" type="data" format="fastq,fastq.gz" label="Haplotype 1 reads" /> + <param name="hap2_reads" type="data" format="fastq,fastq.gz" label="Haplotype 2 reads" /> + <param name="max_kmers" argument="-c" type="integer" value="2" label="Lower bound of the binned k-mer's frequency" /> + <param name="min_kmers" argument="-d" type="integer" value="5" label="Upper bound of the binned k-mer's frequency" /> + </when> + </conditional> + <param name="filter_bits" argument="-f" type="integer" min="0" value="37" label="Bits for bloom filter" help="A value of 0 disables the bloom filter" /> + <conditional name="advanced_options"> + <param name="advanced_selector" type="select" label="Advanced options"> + <option value="blank">Leave default</option> + <option value="set">Specify</option> + </param> + <when value="blank" /> + <when value="set"> + <param name="adapter_length" argument="-z" type="integer" min="0" value="0" label="Length of adapters to be removed" /> + <param name="kmer_length" argument="-k" type="integer" min="0" max="64" value="51" label="K-mer length" /> + <param name="window_size" argument="-w" type="integer" min="0" value="51" label="Minimizer window size" /> + <param name="drop_kmers" argument="-D" type="float" value="5.0" label="Drop k-mers" help="K-mers that occur more than this value multiplied by the coverage will be discarded" /> + <param name="max_overlaps" argument="-N" type="integer" value="100" label="Maximum overlaps to consider" help="The software selects the larger of this value and the k-mer count multiplied by coverage" /> + <param name="correction_rounds" argument="-r" type="integer" value="3" label="Correction rounds" /> + </when> + </conditional> + <conditional name="assembly_options"> + <param name="assembly_selector" type="select" label="Assembly options"> + <option value="blank">Leave default</option> + <option value="set">Specify</option> + </param> + <when value="blank" /> + <when value="set"> + <param name="cleaning_rounds" argument="-a" type="integer" value="4" label="Cleaning rounds" /> + <param name="pop_contigs" argument="-m" type="integer" value="10000000" label="Minimum contig bubble size" help="Pop contig graph bubbles smaller than this value" /> + <param name="pop_unitigs" argument="-p" type="integer" value="100000" label="Minimum unitig bubble size" help="Pop unitig graph bubbles smaller than this value" /> + <param name="remove_tips" argument="-n" type="integer" value="3" label="Tip unitigs" help="Keep only tip unitigs with a number of reads greater than or equal to this value" /> + <param name="max_overlap" argument="-x" type="float" min="0" max="1" value="0.8" label="Maximum overlap drop ratio" /> + <param name="min_overlap" argument="-y" type="float" min="0" max="1" value="0.2" label="Minimum overlap drop ratio" /> + <param name="disable_post_join" argument="-u" type="boolean" truevalue="-u" falsevalue="" label="Skip post join contigs step" help="May improve N50" /> + <param argument="--pb-range" type="integer" min="0" max="100" value="0" label="Inconsistent contigs" help="If this option is set to a value greater than zero the tool generates an additional BED dataset containing regions that are >= x% inconsistent." /> + </when> + </conditional> + <conditional name="purge_options"> + <param name="purge_selector" type="select" label="Options for purging duplicates"> + <option value="blank">Leave default</option> + <option value="set">Specify</option> + </param> + <when value="blank" /> + <when value="set"> + <param name="purge_level" argument="-l" type="select" label="Purge level"> + <option value="0" selected="true">None</option> + <option value="1">Light</option> + <option value="2">Aggressive</option> + </param> + <param name="similarity_threshold" argument="-s" type="float" min="0" max="1" value="0.75" label="Similarity threshold for duplicate haplotigs" /> + <param name="minimum_overlap" argument="-O" type="integer" value="1" label="Minimum overlapped reads for duplicate haplotigs" /> + <param argument="--purge-cov" type="integer" optional="true" label="Coverage upper bound" help="If not set, this will be determined automatically" /> + <param argument="--high-het" type="boolean" truevalue="--high-het" falsevalue="" label="Experimental high-heterozygosity mode" help="NB: May be unstable" /> + </when> + </conditional> + </inputs> + <outputs> + <data name="raw_unitigs" format="gfa1" from_work_dir="output.r_utg.gfa" label="${tool.name} on ${on_string} Haplotype-resolved raw unitig graph"> + <filter>mode['mode_selector'] == 'standard'</filter> + </data> + <data name="raw_unitigs" format="gfa1" from_work_dir="output.dip.r_utg.gfa" label="${tool.name} on ${on_string} Haplotype-resolved raw unitig graph"> + <filter>mode['mode_selector'] == 'trio'</filter> + </data> + <data name="processed_unitigs" format="gfa1" from_work_dir="output.p_utg.gfa" label="${tool.name} on ${on_string} Processed unitig graph"> + <filter>mode['mode_selector'] == 'standard'</filter> + </data> + <data name="primary_contig_graph" format="gfa1" from_work_dir="output.p_ctg.gfa" label="${tool.name} on ${on_string} Primary assembly contig graph"> + <filter>mode['mode_selector'] == 'standard'</filter> + </data> + <data name="alternate_contig_graph" format="gfa1" from_work_dir="output.a_ctg.gfa" label="${tool.name} on ${on_string} Alternate assembly contig graph"> + <filter>mode['mode_selector'] == 'standard'</filter> + </data> + <data name="hap1_contigs" format="gfa1" from_work_dir="output.hap1.p_ctg.gfa" label="${tool.name} ${mode.hap1_reads.name} contig graph"> + <filter>mode['mode_selector'] == 'trio'</filter> + </data> + <data name="hap2_contigs" format="gfa1" from_work_dir="output.hap2.p_ctg.gfa" label="${tool.name} ${mode.hap2_reads.name} contig graph"> + <filter>mode['mode_selector'] == 'trio'</filter> + </data> + </outputs> + <tests> + <test> + <param name="reads" value="hifiasm-in1.fa.gz" ftype="fasta.gz" /> + <param name="filter_bits" value="0" /> + <param name="mode_selector" value="standard" /> + <output name="raw_unitigs" file="hifiasm-out1-raw.gfa" ftype="gfa1" /> + <output name="processed_unitigs" file="hifiasm-out1-processed.gfa" ftype="gfa1" /> + <output name="primary_contig_graph" file="hifiasm-out1-primary.gfa" ftype="gfa1" /> + <output name="alternate_contig_graph" file="hifiasm-out1-alternate.gfa" ftype="gfa1" /> + </test> + </tests> + <help><![CDATA[ +*********************************** +HiFiASM - a fast de novo assembler +*********************************** + +Hifiasm is a fast haplotype-resolved de novo assembler for PacBio Hifi reads. It can assemble a human genome in several hours and works with the California redwood genome, one of the most complex genomes sequenced so far. Hifiasm can produce primary/alternate assemblies of quality competitive with the best assemblers. It also introduces a new graph binning algorithm and achieves the best haplotype-resolved assembly given trio data. + +#### Assembly mode +- *Standard* +- *Trio* When parental short reads are available, hifiasm can generate a pair of haplotype-resolved assemblies with trio binning. + +#### Trio Options +- *Haplotype 1 reads* : list of hap1/paternal read names +- *Haplotype 2 reads* : list of hap2/maternal read names +- *Lower bound of the binned k-mer's frequency* +- *Upper bound of the binned k-mer's frequency* + +*Bits for bloom filter* (-f) - A value of 0 disables the bloom filter for small genomes. For genomes much larger than human, applying -f 38 or even - f39 is preferred to save memory on k-mer counting. + +#### Advanced options +- *Length of adapters to be removed* Old HiFi reads may contain short adapter sequences at the ends of reads. You can specify 20 to trim both ends of reads by 20bp. +- *K-mer length* (must be <64) +- *Minimizer window size* +- *Drop K-mers* K-mers that occur more than this value multiplied by the coverage will be discarded +- *Maximum overlaps to consider* consider up to max(-D*coverage,-N) overlaps for each oriented read +- *Correction rounds* round of correction + +#### Assembly options +- *Cleaning rounds* round of assembly cleaning +- *Minimum contig bubble* size Pop contig graph bubbles smaller than this value +- *Minimum unitig bubble* size Pop unitig graph bubbles smaller than this value +- *Tip unitigs* Keep only tip unitigs with a number of reads greater than or equal to this value +- *Maximum overlap drop ratio* +- *Minimum overlap drop ratio* +- *Skip post join contigs step* disable post join contigs step which may improve N50 +- *Inconsistent contigs* If this option is set to a value greater than zero the tool generates an additional BED dataset containing regions that are >= x% inconsistent. + +#### Options for purging duplicates +- *Purge level* 0: no purging; 1: light; 2: aggressive [0 for trio; 2 for unzip] +- *Similarity threshold for duplicate haplotigs* +- *Minimum overlapped reads for duplicate haplotigs* +- *Coverage upper bound* If not set, this will be determined automatically +- *Experimental high-heterozygosity mode* enable this mode for high heterozygosity sample NB: May be unstable + + +### Outputs + +Non Trio assembly +- Haplotype-resolved raw unitig graph in GFA format. This graph keeps all haplotype information, including somatic mutations and recurrent sequencing errors. +- Haplotype-resolved processed unitig graph without small bubbles : Small bubbles might be caused by somatic mutations or noise in data, which are not the real haplotype information. +- Primary assembly contig graph : This graph collapses different haplotypes. +- Alternate assembly contig graph : This graph consists of all assemblies that are discarded in primary contig graph. + + +Trio assembly +- Haplotype-resolved raw unitig graph in GFA format . This graph keeps all haplotype information. +- Phased paternal/haplotype1 contig graph. This graph keeps the phased paternal/haplotype1 assembly. +- Phased maternal/haplotype2 contig graph. This graph keeps the phased maternal/haplotype2 assembly. + + + +]]></help> + <citations> + <citation type="doi">10.1038/s41592-020-01056-5</citation> + </citations> +</tool>