Mercurial > repos > iuc > fastplong
changeset 0:c3e3eecc8fe9 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastplong commit 08a54debca6a5b792e28efaaee1f7d4671556ca1
| author | iuc |
|---|---|
| date | Tue, 06 May 2025 08:51:26 +0000 |
| parents | |
| children | 1d34936d4497 |
| files | fastplong.xml test-data/input.fastq test-data/output.fastq test-data/output_failed_out.fastq test-data/output_reads_to_process.fastq |
| diffstat | 5 files changed, 226 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastplong.xml Tue May 06 08:51:26 2025 +0000 @@ -0,0 +1,170 @@ +<tool id="fastplong" name="Fastplong" version="@TOOL_VERSION@+galaxy0" profile="23.2" license="MIT"> + <description>Filter and trim long reads</description> + <creator> + <organization name="Masaryk University" url="https://www.muni.cz/"/> + <person givenName="Hana" familyName="Resovska" email="499924@mail.muni.cz"/> + </creator> + <macros> + <token name="@TOOL_VERSION@">0.2.2</token> + </macros> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">fastplong</requirement> + </requirements> + <command detect_errors="exit_code"> + <![CDATA[ + fastplong + --thread \${GALAXY_SLOTS:-1} + --report_title 'fastplong report for $in' + --in '$in' + --out '$output' + #if $reads_to_process: + --reads_to_process '$reads_to_process' + #end if + $disable_quality_filtering + $disable_adapter_trimming + #if $start_adapter: + --start_adapter '$start_adapter' + #end if + #if $end_adapter: + --end_adapter '$end_adapter' + #end if + #if $adapter_fasta: + --adapter_fasta '$adapter_fasta' + #end if + #if $distance_threshold: + --distance_threshold '$distance_threshold' + #end if + #if $trimming_extension: + --trimming_extension '$trimming_extension' + #end if + #if $trim_front: + --trim_front '$trim_front' + #end if + #if $trim_tail: + --trim_tail '$trim_tail' + #end if + $trim_poly_x + #if $poly_x_min_len: + --poly_x_min_len '$poly_x_min_len' + #end if + $cut_front + $cut_tail + #if $cut_window_size: + --cut_window_size '$cut_window_size' + #end if + #if $cut_mean_quality: + --cut_mean_quality '$cut_mean_quality' + #end if + #if $cut_front_window_size: + --cut_front_window_size '$cut_front_window_size' + #end if + #if $cut_front_mean_quality: + --cut_front_mean_quality '$cut_front_mean_quality' + #end if + #if $cut_tail_window_size: + --cut_tail_window_size '$cut_tail_window_size' + #end if + #if $cut_tail_mean_quality: + --cut_tail_mean_quality '$cut_tail_mean_quality' + #end if + #if $qualified_quality_phred: + --qualified_quality_phred '$qualified_quality_phred' + #end if + #if $unqualified_percent_limit: + --unqualified_percent_limit '$unqualified_percent_limit' + #end if + #if $n_base_limit: + --n_base_limit '$n_base_limit' + #end if + #if $mean_qual: + --mean_qual '$mean_qual' + #end if + $disable_length_filtering: + #if $length_required: + --length_required '$length_required' + #end if + #if $length_limit: + --length_limit '$length_limit' + #end if + $low_complexity_filter: + #if $complexity_threshold: + --complexity_threshold '$complexity_threshold' + #end if + $failed_out failed_reads.fastq + ]]> + </command> + <inputs> + <param argument="--in" type="data" format="fastq,fastq.gz" label="Input FASTQ file"/> + <param argument="--reads_to_process" type="integer" optional="true" label="Number of reads to process" help="Limit the number of reads to process. Useful for quick QC or creating subsets."/> + <param argument="--disable_quality_filtering" type="boolean" truevalue="--disable_quality_filtering" falsevalue="" checked="false" label="Disable quality filtering?" help="By default, quality filtering is enabled. Enable this option to turn it off."/> + <param argument="--disable_adapter_trimming" type="boolean" truevalue="--disable_adapter_trimming" falsevalue="" checked="false" label="Disable adapter trimming?" help="By default, adapter trimming is enabled. Enable this option to turn it off."/> + <param argument="--start_adapter" type="text" optional="true" label="Start adapter sequence (5')" help="Specify the adapter sequence at the 5' end of reads. Leave blank to auto-detect."/> + <param argument="--end_adapter" type="text" optional="true" label="End adapter sequence (3')" help="Specify the adapter sequence at the 3' end of reads. Leave blank to auto-detect."/> + <param argument="--adapter_fasta" type="data" format="fasta" optional="true" label="Adapter sequences (FASTA file)" help="Specify a FASTA file with adapter sequences to trim."/> + <param argument="--distance_threshold" type="float" min="0" max="1" optional="true" label="Adapter distance threshold" help="Threshold of adapter-length. Range: 0.0–1.0"/> + <param argument="--trimming_extension" type="integer" optional="true" label="Trimming extension length" help="Extend trimming beyond the adapter match to clean up the sequence more thoroughly. Default is 10"/> + <param argument="--trim_front" type="integer" optional="true" label="Trim front (5') bases" help="Trim this many bases from the start (5') of each read. Default: 0"/> + <param argument="--trim_tail" type="integer" optional="true" label="Trim tail (3') bases" help="Trim this many bases from the end (3') of each read. Default: 0"/> + <param argument="--trim_poly_x" type="boolean" truevalue="--trim_poly_x" falsevalue="" checked="false" label="Trim polyX tails?" help="Enable to trim polyX stretches at the 3' end."/> + <param argument="--poly_x_min_len" type="integer" optional="true" label="Minimum polyX length" help="Minimum length to detect polyX in the tail. Default: 10"/> + <param argument="--cut_front" type="boolean" truevalue="--cut_front" falsevalue="" checked="false" label="Enable sliding-window trimming from 5' end?" help="Trim from 5' end until window mean quality is above threshold."/> + <param argument="--cut_tail" type="boolean" truevalue="--cut_tail" falsevalue="" checked="false" label="Enable sliding-window trimming from 3' end?" help="Trim from 3' end until window mean quality is above threshold."/> + <param argument="--cut_window_size" type="integer" optional="true" label="Sliding window size" help="Window size shared by cut_front, cut_tail, cut_sliding. Default is 4"/> + <param argument="--cut_mean_quality" type="integer" optional="true" label="Mean quality threshold" help="Mean quality required for cutting. Default: 20"/> + <param argument="--cut_front_window_size" type="integer" optional="true" label="Front window size" help="Override window size for cut_front only. Default: cut_window_size"/> + <param argument="--cut_front_mean_quality" type="integer" optional="true" label="Front mean quality" help="Override quality threshold for cut_front only. Default: cut_mean_quality"/> + <param argument="--cut_tail_window_size" type="integer" optional="true" label="Tail window size" help="Override window size for cut_tail only. Default: cut_window_size"/> + <param argument="--cut_tail_mean_quality" type="integer" optional="true" label="Tail mean quality" help="Override quality threshold for cut_tail only. Default: cut_mean_quality"/> + <param argument="--qualified_quality_phred" type="integer" min="0" optional="true" label="Qualified base Phred score" help="Phred quality score that counts as qualified. Default: 15"/> + <param argument="--unqualified_percent_limit" type="integer" min="0" max="100" optional="true" label="Unqualified base percentage limit" help="Percent of bases allowed to be below quality threshold. Default: 40"/> + <param argument="--n_base_limit" type="integer" optional="true" label="N base limit" help="Reads with more than this number of N bases are discarded. Default: 5"/> + <param argument="--mean_qual" type="integer" optional="true" label="Minimum mean quality" help="Reads with mean quality below this are discarded. Default: 0"/> + <param argument="--disable_length_filtering" type="boolean" truevalue="--disable_length_filtering" falsevalue="" checked="false" label="Disable length filtering?" help="Length filtering is enabled by default. Enable this to disable it."/> + <param argument="--length_required" type="integer" optional="true" label="Minimum read length" help="Reads shorter than this will be discarded. Default: 15"/> + <param argument="--length_limit" type="integer" optional="true" label="Maximum read length" help="Reads longer than this will be discarded. Default: 0 (no limit)"/> + <param argument="--low_complexity_filter" type="boolean" truevalue="--low_complexity_filter" falsevalue="" checked="false" label="Enable low complexity filter?" help="Enable low complexity filtering."/> + <param argument="--complexity_threshold" type="integer" min="0" max="100" optional="true" label="Complexity threshold (%)" help="Minimum required sequence complexity (0–100). Default: 30"/> + <param argument="--failed_out" type="boolean" truevalue="--failed_out" falsevalue="" checked="false" label="Save failed reads?" help="Enable this to write failed reads to a separate FASTQ file."/> + </inputs> + <outputs> + <data name="output" format="fastq" label="Filtered Output FASTQ"/> + <data name="failed_out_reads" format="fastq" from_work_dir="failed_reads.fastq" label="Failed Reads FASTQ"> + <filter>failed_out</filter> + </data> + <data name="json_output_default" format="json" from_work_dir="fastplong.json" label="JSON Report (default)"/> + <data name="html_output_default" format="html" from_work_dir="fastplong.html" label="HTML Report (default)"/> + </outputs> + <tests> + <test expect_num_outputs="3"> + <param name="in" value="input.fastq"/> + <output name="output" file="output.fastq"/> + </test> + <test expect_num_outputs="3"> + <param name="in" value="input.fastq"/> + <param name="reads_to_process" value="3"/> + <output name="output" file="output_reads_to_process.fastq"/> + </test> + <test expect_num_outputs="4"> + <param name="in" value="input.fastq"/> + <param name="failed_out" value="true"/> + <output name="failed_out_reads" value="output_failed_out.fastq"/> + </test> + </tests> + <help> + **Fastplong: Filter and trim long reads** + + This tool wraps the `fastplong` command-line tool to allow filtering and trimming of long reads in FASTQ format. + + **Inputs** + - A FASTQ file containing reads and optional parameters to control trimming, quality filtering, adapter detection, and more. + + **Outputs** + - A filtered FASTQ file with trimmed reads, HTML and JSON report and an optional FASTQ file of failed reads. + + For more information, see https://github.com/OpenGene/fastplong + </help> + <citations> + <citation type="doi">10.1002/imt2.107</citation> + <citation type="doi">10.1093/bioinformatics/bty560</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/input.fastq Tue May 06 08:51:26 2025 +0000 @@ -0,0 +1,24 @@ +@name +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE + +@name2 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE + +@name3 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE + +@name4 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE + +@name5 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output.fastq Tue May 06 08:51:26 2025 +0000 @@ -0,0 +1,16 @@ +@name +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE +@name2 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE +@name3 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE +@name4 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output_failed_out.fastq Tue May 06 08:51:26 2025 +0000 @@ -0,0 +1,4 @@ +@name5 failed_quality_filter +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output_reads_to_process.fastq Tue May 06 08:51:26 2025 +0000 @@ -0,0 +1,12 @@ +@name +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE +@name2 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE +@name3 +AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT ++ +///EEEEEEEEEEEEEEEEEEEEEEEEEE////EEEEEEEEEEEEE////E////EEEEEEEEE///EEEEEEEEEEEEEEEEEEEEE
