Mercurial > repos > thanhlv > plasmidtron
comparison plasmidtron.xml @ 0:814eed3d4f3e draft default tip
planemo upload for repository https://github.com/quadram-institute-bioscience/galaxy-tools/tree/master/tools/plasmidtron commit d2ae53b6ee23d56d26e9add8fe5ade2e20e75b87-dirty
author | thanhlv |
---|---|
date | Thu, 11 Apr 2019 04:51:28 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:814eed3d4f3e |
---|---|
1 <tool id="plasmidtron" name="plasmidtron" version="@VERSION@"> | |
2 <description>A tool to assemble parts of a genome responsible for a trait</description> | |
3 <macros> | |
4 <import>macros.xml</import> | |
5 </macros> | |
6 <expand macro="requirements" /> | |
7 <expand macro="version_command" /> | |
8 | |
9 <command detect_errors="exit_code"><![CDATA[ | |
10 #for $counter, $input in enumerate($fot_list): | |
11 #set $new_name = $input.element_identifier | |
12 ln -sf '$input' ./$new_name && | |
13 echo ./$new_name >> fot.tmp && | |
14 #end for | |
15 python $__tool_directory__/tidy.py fot.tmp fot.list && | |
16 | |
17 #for $counter, $input in enumerate($font_list): | |
18 #set $new_name = $input.element_identifier | |
19 ln -sf '$input' ./$new_name && | |
20 echo ./$new_name >> font.tmp && | |
21 #end for | |
22 python $__tool_directory__/tidy.py font.tmp font.list && | |
23 | |
24 plasmidtron | |
25 --action $opt_args.action | |
26 #if $opt_args.keep_files | |
27 $opt_args.keep_files | |
28 #end if | |
29 --kmer $opt_args.kmer | |
30 --min_contig_len $opt_args.min_contig_len | |
31 --min_spades_contig_coverage $opt_args.min_spades_contig_coverage | |
32 --max_spades_contig_coverage $opt_args.max_spades_contig_coverage | |
33 --min_kmers_threshold $opt_args.min_kmers_threshold | |
34 --max_kmers_threshold $opt_args.max_kmers_threshold | |
35 --min_kmers_per_read $opt_args.min_kmers_per_read | |
36 #if $opt_args.match_both_pairs | |
37 $opt_args.match_both_pairs | |
38 #end if | |
39 --plot_filename $opt_args.plot_filename | |
40 --threads $opt_args.threads | |
41 #if $opt_args.verbose | |
42 $opt_args.verbose | |
43 #end if | |
44 | |
45 output | |
46 | |
47 fot.list | |
48 font.list | |
49 > $result && | |
50 tar -cvzf output.tar.gz output | |
51 ]]></command> | |
52 | |
53 <inputs> | |
54 <param name="fot_list" type="data" format="fasta,fasta.gz,fastq,fastq.gz,fastqsanger.gz,fastqsanger" multiple="true" label="Files of trait (case) FASTQs" help="Select multiple files including fasta file, PE files, single fastq file for creating a file of file name of case" /> | |
55 <param name="font_list" type="data" format="fasta,fasta.gz,fastq,fastq.gz,fastqsanger.gz,fastqsanger" multiple="true" label="Files of nontrait (control) FASTQs" help="Select multiple files including fasta file, PE files, single fastq file for creating a file of file name of control" /> | |
56 <section name="opt_args" title="Optional Arguments"> | |
57 <param name="action" argument="--action" type="select" label="Action" help="There are two fundamental methods of operation. The default is 'union', where kmers which occur in ANY trait sample, but are absent from the nontrait samples, get used to filter the reads. So in effect you are assembling the whole accessory genome of the trait samples. This leads to larger end assemblies and more false positives, but will capture greater regions of the accessory genome. It is tolerant to situations where you have a plasmid which can vary substantially with different backbones or payloads. The next is 'intersection', where kmers must occur in ALL trait samples and not in the nontrait samples. This leads to smaller end assemblies and more fragmentation, with less false positives. It is less tolerant to variation."> | |
58 <option value="intersection">intersection</option> | |
59 <option value="union" selected="True">union</option> | |
60 </param> | |
61 <param name="keep_files" argument="--keep_files" type="boolean" truevalue="--keep_files" falsevalue="" checked="False" label="Keep intermediate files" help="(Default: NO)" /> | |
62 <param name="kmer" argument="--kmer" type="integer" value="51" label="Kmer to use, depends on read length" help="Choosing a kmer is not an exact science, and have greatly influence the final results. This kmer size is used by KMC for counting and filtering, and by SPAdes for assembly. Ideally it should be between about 50-90% of the read length, should be an odd number and between 21 and 127 (SPAdes restriction). If choose a kmer which is too small, you will get a lot more false positives. If you choose a kmer too big, you will use a lot more RAM and potentially get too little data returned. Quite often with Illumina data the beginning and end of the reads have higher sequencing error rates. Ideally you want a kmer size which sits nicely inside the good cycles of the read. Trimming with Trimmomatic can help if the quality collapses quite badly at the end of the read. (Default: 51)" /> | |
63 <param name="min_contig_len" argument="--min_contig_len" type="integer" value="300" label="Minimum contig length in final assembly" help="This needs to be larger than the mean fragment size (insert size) of your library to reduce the impact of false positives. For example if you have a single kmer which randomly occurs in the genome, using it will then allow for reads upstream and downstream, plus their mates, to be assembled. This variable can control this noise. Setting this too high will lead to valuable information being lost (e.g. small plasmids) and a more fragmented assembly. (Default: 300)" /> | |
64 <param name="min_spades_contig_coverage" argument="--min_spades_contig_coverage" type="integer" value="5" label="Filter out contigs with low coverage" help="Filter out contigs with less than this kmer coverage in the SPAdes assemblies. This gets applied at the end of each SPAdes assembly, and filters out some of the noise. If your input data is lower coverage you may need to reduce this value but the defaults are sensible. The kmer coverage value produced by SPAdes is half the read coverage, so a contig with 10X kmer coverage from SPAdes actually has 20X read coverage. Set to 0 to keep | |
65 all (Default: 5)" /> | |
66 <param name="max_spades_contig_coverage" argument="--max_spades_contig_coverage" type="integer" value="500" label="Filter out contigs with high coverage" help="Set to 0 to keep | |
67 all (Default: 5)" /> | |
68 <param name="min_kmers_threshold" argument="--min_kmers_threshold" type="integer" value="10" label="Exclude k-mers occurring less than this" help="This value lets you set a minimum threshold for the occurance of a kmer. Ideally you need at least 20X depth of coverage to perform de novo assembly. This value defaults to 10, since kmers below this level wont produce a good assembly, thus reducing false positives. The maximum value is 254, but the results are poor unless you have insane coverage (like virus data). (Default: 10)" /> | |
69 <param name="max_kmers_threshold" argument="--max_kmers_threshold" type="integer" value="254" label="Exclude k-mers occurring more than this" help="This value lets you set a maximum threshold for the occurance of a kmer. The occurance of kmers forms a Poisson distribution, with a very long tail. With KMC, there is a catchall bin for occurances of 255 and greater (so 255 is the maximum value). By default it is set to 254 which excludes this catchall bin for kmers, and thus the long tail of very common kmers. This reduces the false positives. You need to be careful when setting this lower because you could exclude all of the interesting kmers. (Default: 254)" /> | |
70 <param name="min_kmers_per_read" argument="--min_kmers_per_read" type="float" value="0.1" label="Min percentage kmer coverage of read to keep it" help="When filtering reads for an assembly, controls how much of the read must be covered by kmers for the assembly. Set it to 1 to require 100% of the read to be covered by trait kmers to be used in an assembly. The formula is: kmers_needed = ((read - kmer_length) + 1)*min_kmers_per_read. (Default: 0.1)" /> | |
71 <param name="match_both_pairs" argument="--match_both_pairs" type="boolean" truevalue="--match_both_pairs" falsevalue="" checked="False" label="Match both pairs to keep them in assembly" help="When filtering kmers, you can choose to require kmers are found on both forward and reverse, or just on one of the reads, to consider it for assembly. By default only one of the reads needs to match. Requiring both reads to match will reduce the noise, but also lead to a more fragmented, shorter, assembly. (Default: NO)" /> | |
72 <param name="plot_filename" argument="--plot_filename" type="text" value="kmerplot.png" label="Kmer to use, depends on read length" help="(Default: kmerplot.png)" /> | |
73 <param name="threads" argument="--threads" type="integer" value="1" label="Number of threads" help="(Default: 1)" /> | |
74 <param name="verbose" argument="--verbose" type="boolean" truevalue="--verbose" falsevalue="" checked="False" label="Turn on debugging" help="(Default: NO)" /> | |
75 </section> | |
76 </inputs> | |
77 | |
78 <outputs> | |
79 <data name="result" format="txt" label="${tool.name} on ${on_string}: Result" /> | |
80 <data name="output_tar" format="tar.gz" label="Plasmidtron Output Compressed (tar.gz) file" from_work_dir="output.tar.gz" /> | |
81 </outputs> | |
82 | |
83 <tests> | |
84 <test> | |
85 <param name="fot_list" value="S_typhi_CT18_chromosome_pHCM2_1.fastq.gz,S_typhi_CT18_chromosome_pHCM2_2.fastq.gz" ftype="fastq.gz" /> | |
86 <param name="font_list" value="S_typhi_CT18_chromosome_1.fastq.gz,S_typhi_CT18_chromosome_2.fastq.gz" ftype="fastq.gz" /> | |
87 <output name="result" file="result.txt" ftype="txt" /> | |
88 </test> | |
89 </tests> | |
90 | |
91 | |
92 <help><![CDATA[ | |
93 usage: plasmidtron [options] output_directory file_of_traits file_of_nontraits | |
94 | |
95 A tool to assemble parts of a genome responsible for a trait | |
96 ]]></help> | |
97 <expand macro="citations" /> | |
98 </tool> |