-
Notifications
You must be signed in to change notification settings - Fork 466
Add fastplong to tools #6940
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Add fastplong to tools #6940
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
76cacfc
Add files via upload
HVa99 2a779a5
Create .shed.yml
HVa99 20f6291
Apply small changes from code review
martenson 5192a8e
support gzipped input
martenson 188d815
move threads out of control of the user
martenson f684f53
auto-generate report name
martenson 462634f
introduce macros file
martenson cde22f0
<param name -> argument in fastplong.xml
HVa99 63a480f
added booleans to fastplong.xml
HVa99 baa93ff
added tests
HVa99 1859e5a
added files for testing
HVa99 3625e6b
edited help info
HVa99 d9badbf
added creator
HVa99 13659aa
added min, max
HVa99 c556d34
arguments fix
HVa99 3928848
Update fastplong.xml
HVa99 85e94f9
more fixes
HVa99 74f2911
moved macro to fastplong.xml
HVa99 139dabd
Delete tools/fastplong/macros.xml
HVa99 5a7fb49
reformat
bgruening File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: fastplong | ||
owner: iuc | ||
description: "Fastplong is used for ultrafast preprocessing and quality control for long reads (Nanopore, PacBio, Cyclone, etc.)." | ||
homepage_url: https://github.com/OpenGene/fastplong | ||
long_description: | | ||
Fastplong is used for ultrafast preprocessing and quality control for long reads (Nanopore, PacBio, Cyclone, etc.). | ||
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastplong | ||
type: unrestricted | ||
categories: | ||
- Sequence Analysis | ||
- Assembly | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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="[email protected]"/> | ||
</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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
+ | ||
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
@name5 failed_quality_filter | ||
AGGTGCTGCGCATACTTTTCCACGGGGATACTACTGGGTGTTACCGTGGGAATGAATCCTTTTAACCTTAGCAATACGTAAAGGTGCT | ||
+ | ||
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.