galaxy-dev
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
January 2010
- 29 participants
- 156 discussions
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/517bd810a6b2
changeset: 3239:517bd810a6b2
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 11:26:08 2010 -0500
description:
Added from __future__ import division to the Filter tool and increased the version, and fixed the URL in the new bx_browser tool config.
diffstat:
tools/data_source/bx_browser.xml | 2 +-
tools/stats/filtering.py | 2 ++
tools/stats/filtering.xml | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diffs (35 lines):
diff -r 5bc21675703c -r 517bd810a6b2 tools/data_source/bx_browser.xml
--- a/tools/data_source/bx_browser.xml Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/data_source/bx_browser.xml Thu Jan 14 11:26:08 2010 -0500
@@ -7,7 +7,7 @@
<tool name="BX main" id="bx_browser" tool_type="data_source">
<description>browser</description>
<command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
- <inputs action="http://main.genome-browser.bx.psu.edu/" check_values="false" method="get">
+ <inputs action="http://main.genome-browser.bx.psu.edu/cgi-bin/hgTables" check_values="false" method="get">
<display>go to BX Browser $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
<param name="tool_id" type="hidden" value="bx_browser" />
diff -r 5bc21675703c -r 517bd810a6b2 tools/stats/filtering.py
--- a/tools/stats/filtering.py Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/stats/filtering.py Thu Jan 14 11:26:08 2010 -0500
@@ -2,8 +2,10 @@
# This tool takes a tab-delimited text file as input and creates filters on columns based on certain properties.
# The tool will skip over invalid lines within the file, informing the user about the number of lines skipped.
+from __future__ import division
import sys, re, os.path
from galaxy import eggs
+
# Older py compatibility
try:
set()
diff -r 5bc21675703c -r 517bd810a6b2 tools/stats/filtering.xml
--- a/tools/stats/filtering.xml Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/stats/filtering.xml Thu Jan 14 11:26:08 2010 -0500
@@ -1,4 +1,4 @@
-<tool id="Filter1" name="Filter">
+<tool id="Filter1" name="Filter" version="1.0.1">
<description>data on any column using simple expressions</description>
<command interpreter="python">
filtering.py $input $out_file1 "$cond" ${input.metadata.columns} "${input.metadata.column_types}"
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/5bc21675703c
changeset: 3238:5bc21675703c
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 10:24:37 2010 -0500
description:
Add a tool config for the new bx_browser data source tool.
diffstat:
tool_conf.xml.sample | 1 +
tools/data_source/bx_browser.xml | 41 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 0 deletions(-)
diffs (56 lines):
diff -r 201c47c29a6c -r 5bc21675703c tool_conf.xml.sample
--- a/tool_conf.xml.sample Thu Jan 14 09:44:58 2010 -0500
+++ b/tool_conf.xml.sample Thu Jan 14 10:24:37 2010 -0500
@@ -5,6 +5,7 @@
<tool file="data_source/ucsc_tablebrowser.xml" />
<tool file="data_source/ucsc_tablebrowser_test.xml" />
<tool file="data_source/ucsc_tablebrowser_archaea.xml" />
+ <tool file="data_source/bx_browser.xml" />
<tool file="data_source/microbial_import.xml" />
<tool file="data_source/biomart.xml" />
<tool file="data_source/biomart_test.xml" />
diff -r 201c47c29a6c -r 5bc21675703c tools/data_source/bx_browser.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/data_source/bx_browser.xml Thu Jan 14 10:24:37 2010 -0500
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+ If the value of 'URL_method' is 'get', the request will consist of the value of 'URL' coming back in
+ the initial response. If value of 'URL_method' is 'post', any additional params coming back in the
+ initial response ( in addition to 'URL' ) will be encoded and appended to URL and a post will be performed.
+-->
+<tool name="BX main" id="bx_browser" tool_type="data_source">
+ <description>browser</description>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
+ <inputs action="http://main.genome-browser.bx.psu.edu/" check_values="false" method="get">
+ <display>go to BX Browser $GALAXY_URL</display>
+ <param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
+ <param name="tool_id" type="hidden" value="bx_browser" />
+ <param name="sendToGalaxy" type="hidden" value="1" />
+ <param name="hgta_compressType" type="hidden" value="none" />
+ <param name="hgta_outputType" type="hidden" value="bed" />
+ </inputs>
+ <request_param_translation>
+ <request_param galaxy_name="URL_method" remote_name="URL_method" missing="post" />
+ <request_param galaxy_name="URL" remote_name="URL" missing="" />
+ <request_param galaxy_name="dbkey" remote_name="db" missing="?" />
+ <request_param galaxy_name="organism" remote_name="org" missing="unknown species" />
+ <request_param galaxy_name="table" remote_name="hgta_table" missing="unknown table" />
+ <request_param galaxy_name="description" remote_name="hgta_regionType" missing="no description" />
+ <request_param galaxy_name="data_type" remote_name="hgta_outputType" missing="tabular" >
+ <value_translation>
+ <value galaxy_value="tabular" remote_value="primaryTable" />
+ <value galaxy_value="tabular" remote_value="selectedFields" />
+ <value galaxy_value="wig" remote_value="wigData" />
+ <value galaxy_value="interval" remote_value="tab" />
+ <value galaxy_value="html" remote_value="hyperlinks" />
+ <value galaxy_value="fasta" remote_value="sequence" />
+ </value_translation>
+ </request_param>
+ </request_param_translation>
+ <uihints minwidth="800"/>
+ <outputs>
+ <data name="output" format="tabular" />
+ </outputs>
+ <options sanitize="False" refresh="True"/>
+</tool>
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/201c47c29a6c
changeset: 3237:201c47c29a6c
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 09:44:58 2010 -0500
description:
Fixed my previous fix for copying history items to a library, which really didn't fix anything.  Fixed the functional tests for lav_to_bed, split_paired_reads, and solid2fastq by adding the 2nd output dataset to the test for each tool.  Renamed the test files for the tools to have the Galaxy supported file extension.
diffstat:
lib/galaxy/web/controllers/library_common.py | 2 +-
templates/library/common/common.mako | 2 +-
test-data/3.fastqsanger | 21 +
test-data/f.fastq | 1996 ------------------------
test-data/fr.csf | 1001 ------------
test-data/fr.csfasta | 1001 ++++++++++++
test-data/fr.qual | 1001 ------------
test-data/fr.qualsolid | 1001 ++++++++++++
test-data/fr_file1.fastq | 1988 -----------------------
test-data/fr_file2.fastq | 1988 -----------------------
test-data/lav_to_bed_out2.bed | 2 -
test-data/lav_to_bed_out_1.bed | 2 +
test-data/lav_to_bed_out_2.bed | 2 +
test-data/rr.csf | 1001 ------------
test-data/rr.csfasta | 1001 ++++++++++++
test-data/rr.qual | 1001 ------------
test-data/rr.qualsolid | 1001 ++++++++++++
test-data/solid2fastq_out_1.fastq | 1996 ++++++++++++++++++++++++
test-data/solid2fastq_out_2.fastq | 1988 +++++++++++++++++++++++
test-data/solid2fastq_out_3.fastq | 1988 +++++++++++++++++++++++
test-data/split_paired_reads_out_1.fastqsanger | 20 +
test-data/split_paired_reads_out_2.fastqsanger | 20 +
test-data/split_paired_reads_test1.fastq | 21 -
test-data/split_paired_reads_test1.out1 | 20 -
tools/filters/lav_to_bed.xml | 4 +-
tools/metag_tools/split_paired_reads.xml | 5 +-
tools/next_gen_conversion/solid2fastq.xml | 17 +-
27 files changed, 10057 insertions(+), 10033 deletions(-)
diffs (truncated from 20242 to 3000 lines):
diff -r 4fc2b29d6393 -r 201c47c29a6c lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Wed Jan 13 18:33:42 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Thu Jan 14 09:44:58 2010 -0500
@@ -911,7 +911,7 @@
dataset_names = []
created_ldda_ids = ''
for hda_id in hda_ids:
- hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( hda_id )
+ hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( trans.security.decode_id( hda_id ) )
if hda:
ldda = hda.to_library_dataset_dataset_association( target_folder=folder, replace_dataset=replace_dataset )
created_ldda_ids = '%s,%s' % ( created_ldda_ids, str( ldda.id ) )
diff -r 4fc2b29d6393 -r 201c47c29a6c templates/library/common/common.mako
--- a/templates/library/common/common.mako Wed Jan 13 18:33:42 2010 -0500
+++ b/templates/library/common/common.mako Thu Jan 14 09:44:58 2010 -0500
@@ -308,7 +308,7 @@
%endif
%for hda in history.active_datasets:
<div class="form-row">
- <input name="hda_ids" value="${hda.id}" type="checkbox"/>${hda.hid}: ${hda.name}
+ <input name="hda_ids" value="${trans.security.encode_id( hda.id )}" type="checkbox"/>${hda.hid}: ${hda.name}
</div>
%endfor
<div class="form-row">
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/3.fastqsanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/3.fastqsanger Thu Jan 14 09:44:58 2010 -0500
@@ -0,0 +1,21 @@
+@HWI-EAS91_1_30788AAXX:7:21:1542:1758
+GTCAATTGTACTGGTCAATACTAAAAGAATAGGATCGCTCCTAGCATCTGGAGTCTCTATCACCTGAGCCCA
++HWI-EAS91_1_30788AAXX:7:21:1542:1758
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh`hfhhVZSWehR
+@HWI-EAS91_1_30788AAXX:7:22:1621:462
+ATAATGGCTATTATTGTGGGGGGGATGATGCTGGAAACTAGCCCCAATATCAATCCTATATCAAATCTCACC
++HWI-EAS91_1_30788AAXX:7:22:1621:462
+hhhhhhhhhhhhQAhh@hhhhNhhhfhMbCIScC?hhJhhhhChhhJhhhRhhKhePhc\KhhV\KhXhJhh
+@HWI-EAS91_1_30788AAXX:7:45:408:807
+TACCCGATTTTTTGCTTTCCACTTTATCCTACCCTTATGAGTGCTAGGATCAGGATGGAGAGGATTAGGGCT
++HWI-EAS91_1_30788AAXX:7:45:408:807
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh`hhhZh`hhhhhRXhhYh
+@HWI-EAS91_1_30788AAXX:7:49:654:1439
+CTAACTCTATTTATTGTATTTCAACTAAAAATCTCATAGGTTTATTGATAGTTGTGTTGTTGGTGTAAATGG
++HWI-EAS91_1_30788AAXX:7:49:654:1439
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhh_hG\XhU@
+@HWI-EAS91_1_30788AAXX:7:64:947:234
+TATCAAAAAAGAATATAATCTGAATCAACACTACAACCTATTAGTGTGTAGAATAGGAAGTAGAGGCCTGCG
++HWI-EAS91_1_30788AAXX:7:64:947:234
+hhhhhhhhhhhhhhhhhhhhhhhRhhehhahhhhhJhhhhhhhh^hPhWfhhhhThWUhhfhh_hhNIVPUd
+
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/f.fastq
--- a/test-data/f.fastq Wed Jan 13 18:33:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1996 +0,0 @@
-@853_7_53_F3
-T..02.1120..22.2..230.22.3..033212.1.1....2221...12
-+
-!!14!3.15!!47!4!!8+1!$9!(!!,..1)&!3!(!!!!1/9&!!!,3
-@853_7_78_F3
-T..13.2222..22.2..222.22.2..222212.2.2....2222...22
-+
-!!##!###$!!##!&!!#$&!$&!&!!%&)'#'!$!#!!!!&)*(!!!&*
-@853_7_88_F3
-T..23.2221..13.2..033.30.1..010220.1.2....2222...22
-+
-!!61!5551!!13!4!!.,)!/,!3!!.)/17+!&!5!!!!-'0.!!!,5
-@853_7_132_F3
-T..22.2032..32.2..222.22.2..222222.2.2....2222...22
-+
-!!$(!,#&#!!&#!#!!#($!%$!#!!#&%#$(!#!#!!!!)(*+!!!,2
-@853_7_141_F3
-T..22.2112..10.2..221.02.1..220112.0.2....0222...22
-+
-!!54!9518!!1&!5!!/31!)0!6!!)533/:!5!6!!!!)/<:!!!,7
-@853_7_146_F3
-T..12.1011..21.2..213.22.2..222222.2.2....2222...22
-+
-!!10!/240!!0)!2!!#&'!'5!(!!(.-*$3!*!4!!!!+#(.!!!.(
-@853_7_269_F3
-T..12.2222..22.2..222.22.2..222222.2.2....2222...22
-+
-!!%&!('#%!!#*!#!!/##!&)!$!!'$',%,!%!2!!!!3,,*!!!,2
-@853_7_321_F3
-T..20.2322..21.3..222.12.1..120012.3.0....2000...22
-+
-!!+$!+21(!!*-!.!!)#1!8/!9!!6,3+%6!'!,!!!!2&6,!!!&2
-@853_7_386_F3
-T..12.2302..20.2..231.12.0..200232.3.2....0002...22
-+
-!!31!:7-%!!:,!-!!21,!77!)!!227:9:!2!;!!!!)',%!!!86
-@853_7_405_F3
-T..21.0221..31.2..000.23.2..020022.0.2....0313...12
-+
-!!<8!8;==!!;>!:!!7:7!7;!8!!7:>48=!2!=!!!!536*!!!;:
-@853_7_411_F3
-T..10.2000..33.2..022.02.0..200222.2.0....0000...00
-+
-!!,/!13;,!!&,!+!!2/%!*1!$!!%*)+#,!,!&!!!!'-'&!!!++
-@853_7_445_F3
-T..30.3210..01.1..120.11.3..301222.1.2....3222...22
-+
-!!&'!*+'#!!'%!&!!,%#!)%!(!!'##$&'!#!$!!!!$$#,!!!#$
-@853_7_469_F3
-T..22.0102..20.3..200.21.0..002202.2.2....0203...02
-+
-!!##!*($&!!##!#!!%))!#1!%!!(,##$.!#!(!!!!##'#!!!&$
-@853_7_474_F3
-T..30.1122..22.3..111.21.3..222020.2.2....2203...23
-+
-!!54!6464!!56!:!!97:!88!8!!7/5)4/!4!8!!!!4#45!!!#)
-@853_7_497_F3
-T..10.0200..22.1..112.03.0..100121.2.2....3132...21
-+
-!!9:!678;!!14!9!!:<:!77!;!!.76.(<!.!/!!!!2)(9!!!14
-@853_7_587_F3
-T..22.2022..01.2..323.23.0..323322.1.1....2212...20
-+
-!!2,!,33/!!7&!7!!916!)9!<!!;,<6,1!5!/!!!!,31;!!!/>
-@853_7_630_F3
-T..13.0022..11.1..213.10.0..031113.3.3....1112...20
-+
-!!,8!&5/=!!>)!)!!;).!)7!6!!/2>,('!5!2!!!!)=,&!!!25
-@853_7_655_F3
-T..01.0023..02.2..301.32.3..232113.2.2....2222...22
-+
-!!##!###'!!#'!#!!,##!##!$!!%$###(!#!#!!!!#'##!!!##
-@853_7_692_F3
-T..00.0122..02.3..230.21.2..301213.2.1....1122...22
-+
-!!04!3>66!!.1!7!!5>5!:,!,!!1:&;59!>!,!!!!5.&.!!!)8
-@853_7_715_F3
-T..00.0213..21.3..131.12.0..202011.1.0....0221...22
-+
-!!&0!,)/5!!(.!1!!)',!+&!5!!&8/263!-!#!!!!&6&&!!!&0
-@853_7_719_F3
-T..00.2231..02.0..122.13.0..003022.0.1....1010...02
-+
-!!6*!/.2+!!5(!#!!$.$!5&!,!!1,&2*.!$!#!!!!#+&#!!!$#
-@853_7_743_F3
-T..11.0201..00.1..303.01.1..021332.3.3....3223...23
-+
-!!83!7>',!!45!9!!6(8!21!<!!.&=,7.!7!4!!!!.963!!!04
-@853_7_791_F3
-T..20.3311..03.2..301.01.2..122002.2.1....3123...21
-+
-!!0;!3>28!!>:!4!!54&!<;!'!!9,&'88!&!+!!!!&4,.!!!',
-@853_7_801_F3
-T..00.0323..21.1..112.23.3..132022.2.1....2122...22
-+
-!!;=!;<6<!!=>!>!!=8@!;<!?!!8;;5@<!A!;!!!!>3;3!!!;6
-@853_7_845_F3
-T..01.3303..01.1..102.03.1..222102.0.0....0231...12
-+
-!!:4!246-!!:2!5!!,62!6(!6!!25)254!6!6!!!!42/$!!!2#
-@853_7_868_F3
-T..31.3103..12.1..211.32.2..223200.2.3....1031...21
-+
-!!8>!<;@9!!@>!=!!=;<!<<!:!!=:8<>:!4!1!!!!0&&.!!!))
-@853_7_1026_F3
-T..22.3032..03.3..110.32.3..212230.3.0....1111...13
-+
-!!09!6;95!!'=!8!!6#&!1&!-!!3&',1)!9!*!!!!3&,(!!!(9
-@853_7_1057_F3
-T..30.3112..22.2..132.21.0..332122.2.2....2220...32
-+
-!!%$!8:1:!!=5!,!!3<9!&#!$!!&&$$&#!,!'!!!!#%&&!!!)&
-@853_7_1066_F3
-T..01.1122..00.0..131.32.0..230030.3.3....2000...30
-+
-!!?,!==/:!!((!(!!(.,!/&!;!!(,&6)?!1!(!!!!?/7:!!!3=
-@853_7_1107_F3
-T..20.0301..13.2..003.10.0..300221.2.1....3300...32
-+
-!!36!2805!!36!7!!468!81!7!!1/866&!5!1!!!!$##/!!!$&
-@853_7_1179_F3
-T..02.3301..32.0..310.03.3..312300.3.3....1320...03
-+
-!!25!59:0!!6)!;!!77:!1/!)!!)899+#!,!&!!!!0),4!!!+.
-@853_7_1198_F3
-T..32.2203..31.2..111.13.1..312322.2.2....1103...22
-+
-!!@6!<99<!!==!<!!<<=!3@!;!!$<:<82!>!;!!!!:)6:!!!9:
-@853_7_1261_F3
-T..20.3233..32.2..223.22.3..232033.2.3....0322...23
-+
-!!?9!A@=:!!/&!&!!427!+8!:!!)-0101!'!,!!!!,$)'!!!6&
-@853_7_1321_F3
-T..00.0321..22.2..100.11.1..120210.0.2....2211...02
-+
-!!/&!,<41!!8.!)!!):$!/$!&!!&('))(!/!-!!!!7#&,!!!((
-@853_7_1406_F3
-T..13.0310..13.2..031.32.0..002230.0.2....0231...11
-+
-!!8<!9<<;!!:=!9!!6:9!=>!<!!;=8/=8!4!8!!!!5979!!!:<
-@853_7_1431_F3
-T..11.0032..21.1..310.00.0..321021.0.2....3030...02
-+
-!!>>!<A9=!!;8!?!!9?@!?@!<!!:;=679!;!7!!!!9)(>!!!,3
-@853_7_1439_F3
-T..20.0132..13.1..212.32.2..222110.3.0....2132...22
-+
-!!3/!<1/3!!A;!,!!3>=!<7!3!!:>@)/7!8!5!!!!,,,<!!!)2
-@853_7_1524_F3
-T..20.1110..13.3..201.33.3..320121.1.3....3321...20
-+
-!!##!####!!#3!*!!##(!5.!0!!.-##$#!%!-!!!!$+##!!!$%
-@853_7_1537_F3
-T..12.1030..02.0..011.30.1..111200.0.3....2033...11
-+
-!!##!##$$!!$#!#!!###!##!#!!######!#!#!!!!####!!!##
-@853_7_1592_F3
-T..21.3233..02.1..000.22.0..121233.3.1....3223...22
-+
-!!8;!93;3!!46!=!!96:!::!6!!9;919=!6!3!!!!)%',!!!'$
-@853_7_1597_F3
-T..12.3100..33.0..312.02.1..000000.3.1....1100...00
-+
-!!)&!&'(0!!'(!<!!4)6!7)!/!!3#-)/2!+!%!!!!.02&!!!/'
-@853_7_1650_F3
-T..00.2212..12.1..203.13.3..102012.0.2....3333...30
-+
-!!=;!/;;,!!&.!)!!-32!+.!4!!8)6;%,!,!,!!!!)008!!!,4
-@853_7_1790_F3
-T..23.1021..32.0..130.13.0..012301.0.1....0001...10
-+
-!!0&!8)0,!!86!0!!-54!;&!9!!38,3=+!:!<!!!!93;/!!!7/
-@853_7_1795_F3
-T..22.2123..01.0..222.31.3..233211.0.1....2312...03
-+
-!!,)!=*,(!!,)!;!!&*1!9,!6!!,/:3)5!6!;!!!!:;9.!!!//
-@853_7_1807_F3
-T..03.0310..02.3..121.20.1..333122.3.1....0302...12
-+
-!!%7!&1&(!!,,!&!!&26!%&!$!!85$)14!8!9!!!!.&&)!!!2&
-@853_7_1872_F3
-T..01.2331..12.2..200.02.3..302232.3.1....1203...23
-+
-!!5)!33-7!!:9!'!!76&!2)!2!!4;,=''!'!(!!!!)()-!!!'.
-@853_7_1885_F3
-T..10.3010..11.2..331.21.2..230213.1.3....0132...32
-+
-!!)/!&&,/!!:&!,!!1.,!,1!&!!.')='/!3!&!!!!'7/&!!!(&
-@853_7_1910_F3
-T..11.1002..20.1..000.20.1..111022.2.0....3311...23
-+
-!!6;!><@/!!/8!?!!@;<!,?!=!!(a)==9;9!6!/!!!!.8<5!!!5,
-@853_8_43_F3
-T..32100023203.2..110.31.120321022.100.1.11202..211
-+
-!!,5)03.2,41.!3!!3/.!2/!16,/8/)88!///!,!,3),1!!,(&
-@853_8_48_F3
-T..21122022323.1..222.32.020211202.222.2.20222..222
-+
-!!,&-+1(-+'0&!)!!#-#!-/!*+'/(&.)#!#$5!%!&(%'%!!'&'
-@853_8_57_F3
-T..23231203232.2..212.22.222222232.222.2.22222..222
-+
-!!'&#&&##%%&%!%!!%&$!(#!)#)&+$$'/!&)$!(!''-0*!!4&/
-@853_8_106_F3
-T..23112221210.3..001.02.032222322.212.2.22222..220
-+
-!!6)/32810/33!&!!,&1!).!/)5151'$(!+/2!5!+%##/!!/#&
-@853_8_196_F3
-T..00233022111.0..002.20.021222222.020.0.22222..222
-+
-!!385&)&):5&'!/!!&))!&)!&&'-&--%%!)&&!1!0+-20!!4$.
-@853_8_211_F3
-T..20112122111.2..112.22.220222212.122.0.21222..222
-+
-!!690,)$/63,,!&!!)'+!#*!..&'7+7)%!(5#!)!(+2.+!!2-.
-@853_8_227_F3
-T..10201100320.2..302.10.312330220.312.2.02221..221
-+
-!!1,:,,8&//71!1!!/&3!9)!)/),)17&&!1/&!)!+95(3!!))+
-@853_8_248_F3
-T..21312120022.0..122.22.222222232.222.2.23222..222
-+
-!!%'+)5,#'%#)!%!!-#%!#*!&%+$(#'#'!'()!&!(%%('!!+,(
-@853_8_253_F3
-T..21322103032.2..222.22.222222222.222.2.22222..222
-+
-!!3.'+##,&#&$!%!!&($!#$!#'-*((%)4!'4)!'!,$,4(!!.(/
-@853_8_342_F3
-T..13021033322.2..301.32.230300120.122.0.02112..223
-+
-!!6:7<;/95<==!8!!:66!:9!8:)9782:,!4=7!7!,5..;!!<:)
-@853_8_400_F3
-T..22033300003.2..212.31.222123211.122.0.22023..221
-+
-!!=>9>3=7<=/=!;!!=4;!:2!9;8678815!2<:!6!<7/(7!!=9(
-@853_8_422_F3
-T..01111020122.2..201.22.120231110.221.2.22212..222
-+
-!!1'1,&&;&))&!,!!1,0!/,!/&-&&+0)'!&)7!)!'/)&&!!1,,
-@853_8_555_F3
-T..02332301011.0..112.00.033000312.302.3.13300..023
-+
-!!7/:(:;=5?=7!?!!==/!41!=;5<(&:56!697!'!196&=!!;2-
-@853_8_638_F3
-T..00113230133.1..100.22.131113302.011.1.20020..320
-+
-!!98A<@><;=:=!<!!9;<!>:!98=:8:5<7!99>!:!/<37;!!5<:
-@853_8_735_F3
-T..00011213121.3..001.11.003311000.222.0.22003..303
-+
-!!/<5=::0-3)+!-!!8:;!(9!=&.9&87;=!)3+!)!81:&5!!'.,
-@853_8_888_F3
-T..02110321212.0..222.12.220011220.032.1.02322..333
-+
-!!:9:<=;;9?>?!;!!<;?!>>!@=<<<<?<;!;>>!:!1;==:!!3/1
-@853_8_893_F3
-T..00112301113.2..023.21.002311320.100.3.21200..012
-+
-!!'(9,5/995'.!:!!74<!(.!<0895158/!510!1!94055!!)33
-@853_8_898_F3
-T..33330033033.3..022.31.223030333.212.1.01232..322
-+
-!!%%-41))2.#6!:!!%(%!32!,'1%)+30,!#&(!)!&%'+)!!1$'
-@853_8_920_F3
-T..02321113231.0..302.30.010200220.321.0.01122..130
-+
-!!78675>:8=:6!7!!58<!>4!79&857<3/!::3!8!/;)66!!4;8
-@853_8_958_F3
-T..03321221220.3..021.12.001030231.030.3.21222..222
-+
-!!:&>>=A93;9(!=!!</3!A6!/;<;38>=5!1?9!6!91()'!!9/'
-@853_8_1076_F3
-T..22322100313.1..102.12.332320213.211.0.13003..112
-+
-!!;,&>&=50.3'!,!!)&<!</!)5-&&&>,&!4<=!,!)(6:&!!8),
-@853_8_1081_F3
-T..10030322221.2..000.20.002012320.222.2.21001..102
-+
-!!;:6::8:6:::!9!!6;9!88!8;8:99;:8!89;!;!:999:!!4+#
-@853_8_1134_F3
-T..33002312331.0..101.03.213221112.000.3.03233..123
-+
-!!/,7/&)&6989!/!!.$:!0#!:,-((61$=!838!5!+<)<;!!&+<
-@853_8_1157_F3
-T..00333123321.1..100.11.112120200.230.0.21203..230
-+
-!!,=&;+3&&()+!&!!7=,!;2!<17.1&=49!':9!9!,<)(1!!%-'
-@853_8_1173_F3
-T..30202112233.3..320.02.123012201.311.2.32000..122
-+
-!!:6=>=:6?;>=!<!!=:/!;:!5=;9>8:8?!<5?!>!9<:;@!!1?;
-@853_8_1215_F3
-T..22310320211.2..131.10.232003230.102.2.11010..031
-+
-!!(,-&*74'4,0!/!!01/!$3!1#*7.2&4)!(0,!'!-'&&'!!4))
-@853_8_1223_F3
-T..10222220120.1..111.11.123301223.133.3.22333..111
-+
-!!29:3;#,0%%(!*!!'&,!##!)###($##$!#%(!#!#$+#*!!,*$
-@853_8_1229_F3
-T..10011030332.0..200.31.312001011.220.1.11010..131
-+
-!!47;2184<787!<!!959!95!85,92;76:!995!5!95</;!!:38
-@853_8_1234_F3
-T..33303001323.3..211.32.311201012.323.1.21333..221
-+
-!!39<46:6186)!&!!-&/!#6!$+5<1'#&;!)(7!&!$5,:%!!.2$
-@853_8_1255_F3
-T..31322212222.0..003.20.121221012.212.2.03220..230
-+
-!!3/83&10,)1/!)!!&<:!+&!(=&&9/55*!(/:!6!,;09)!!)&*
-@853_8_1315_F3
-T..32221201122.2..223.33.132223100.221.0.20222..232
-+
-!!2915?(5@(,6!9!!68<!84!)&7&9&,/9!181!:!83:5)!!/),
-@853_8_1372_F3
-T..02101130220.1..113.23.121310222.233.3.12203..310
-+
-!!;/;96:1;8:8!:!!:<6!:)!<2:39=:81!868!:!%91/9!!57/
-@853_8_1461_F3
-T..00011120113.3..213.01.030001322.203.2.32222..222
-+
-!!:=:965=:<7>!?!!=&>!)6!3876:,7<;!6&,!5!;2/%(!!13*
-@853_8_1475_F3
-T..21310212220.3..100.02.122303121.002.3.12213..213
-+
-!!=?<A5:93;>;!:!!=;>!>>!?>A;7=7?8!<:=!8!/)&))!!2,,
-@853_8_1567_F3
-T..02200001131.3..311.10.132232122.322.1.23023..002
-+
-!!&)'8<=$<&#)!&!!%<=!+;!<(0+''68:!+*8!:!4'&'%!!,;5
-@853_8_1662_F3
-T..02221200121.2..022.10.310222220.231.2.12011..003
-+
-!!99;784<4187!6!!483!:8!95:288:9.!795!7!3:-99!!,76
-@853_8_1669_F3
-T..23233312111.0..213.12.133322002.221.1.11110..113
-+
-!!:6/847<<3:6!:!!638!&7!1857.1)&9!1,,!9!+48=2!!775
-@853_8_1758_F3
-T..12201012113.2..001.10.100122000.000.2.00000..220
-+
-!!(/##&&%##$'!#!!&#$!$'!$#%)&###&!&)%!%!#$-&+!!%()
-@853_8_1764_F3
-T..11002002020.2..110.31.120112122.132.3.33003..102
-+
-!!;9;;;:<9<::!:!!::;!5=!>:<;<8=88!<49!7!,39<8!!:19
-@853_8_1824_F3
-T..03311120021.1..310.13.320330301.220.3.30122..132
-+
-!!689.1.>::6.!/!!4,+!/9!**);+&+;0!,:1!%!:/353!!;/:
-@853_8_1835_F3
-T..21020321003.3..110.20.000022103.122.1.13220..033
-+
-!!?=>==;?@=:<!;!!=<<!::!><<;>@5=;!@7<!=!:;9;9!!87:
-@853_8_1917_F3
-T..23111010120.2..232.32.121231102.101.1.21322..222
-+
-!!65),33&6&1)!1!!,3%!3.!&.(4',5'$!//%!&!&+-,7!!*&.
-@853_8_1930_F3
-T..31110222033.0..021.11.103010131.300.2.22212..311
-+
-!!</,5&</>;#<!6!!4;:!49!<,:7>63$6!>12!;!$#2,#!!(&$
-@853_8_1938_F3
-T..20302201110.2..211.22.132123322.120.1.31210..211
-+
-!!,))/,+&+'')!&!!/()!':!'#,('&.'+!&#&!'!&)&0)!!+0&
-@853_8_1984_F3
-T..13030120302.0..030.11.202121322.112.1.30000..212
-+
-!!8(4+-</08<9!:!!889!89!8:9<0679;!8>8!<!2588:!!,:5
-@853_8_2005_F3
-T..03113122102.2..101.20.002313003.110.1.01020..001
-+
-!!(75<,4/44$2!8!!(63!:6!3527)155)!*.2!#!4(()&!!&,5
-@853_8_2031_F3
-T..22312022312.0..002.22.223022123.001.3.02200...00
-+
-!!<;7A>?;:;@<!>!!:9=!:>!<=69<=;:-!@@;!/!<>.@9!!!=;
-@853_9_6_F3
-T3222.021.1002.223202.22.222222122.222.2222.22.222.
-+
-#&&%!$&&!)%&+!&&)%'$!*#!('##$0&%(!'$#!.'''!/.!-)%!
-@853_9_22_F3
-T3212221120222.222223.22.222222222.222.2222222.2222
-+
--*%)&(/,%&.,(!%&&(0&!'+!$#2'-).&$!+0/!16/')-(!'/.-
-@853_9_70_F3
-T1232131203111.331113.12.211213201.221.2221222.2222
-+
-/5/52,143123,!014734!17!3738316',!37)!2(&&-+%!'-*)
-@853_9_120_F3
-T2030201011012.012222.33.100032000.130.2013202.1222
-+
-05(17/1,17571!713584!0)!134))536,!/(4!2)/,3,&!1:4$
-@853_9_156_F3
-T3321020210022.132222.22.222222222.222.2222222.2222
-+
-3359-6)641+48!)&-+'#!%-!4-%%''(-1!/--!-'*014/!2912
-@853_9_189_F3
-T2220100322033.222211.00.111112003.313.0212203.2200
-+
-4638331567545!:99836!/)!:87148,.,!831!3907#-/!(:3)
-@853_9_243_F3
-T3312311120013.312312.33.330022332.202.0202222.2222
-+
-,&<:3,1:,1/.&!,9&9&;!'&!&,6+&0,(/!/81!8)&*48&!(&<2
-@853_9_295_F3
-T3322303220223.233321.20.002302222.122.2221222.2222
-+
-$-+('%(,&'*.+!(()1&+!+&!*#&)$,.72!%8)!(-'%#'#!2%'-
-@853_9_299_F3
-T2212302322021.122112.23.102311100.121.1012120.0220
-+
-'&$#%&'&##(#(!$#$($#!')!#$$$$+&&$!#%%!'&#$&(%!&,*%
-@853_9_311_F3
-T3002321221310.212333.32.202232132.222.0222221.2222
-+
-4)()2''4&/&)&!/)141%!&&!)%(0&+&)9!56#!&5%%%,(!/78%
-@853_9_326_F3
-T2210200022032.010112.12.121321102.222.1332222.1222
-+
-:;99:7947;7;:!05398;!55!)9176554:!&;:!93989;&!23.5
-@853_9_451_F3
-T1313220202311.230012.31.313200122.100.2111321.2232
-+
-347371692:::1!</3(:8!51!3144:;15#!3+)!3,/&&8&!60&:
-@853_9_485_F3
-T1012221322221.213211.23.110010113.123.2132121.0222
-+
-:98588=463;:7!:9488:!64!97:857::5!855!/4+6$#'!%#()
-@853_9_509_F3
-T1112203021113.100101.20.031203011.213.2002211.1222
-+
-79;:78:657757!?28852!7)!5):738/=:!914!280<;3=!7;89
-@853_9_538_F3
-T2230021213312.123100.00.203202301.223.0112020.3322
-+
-<91:-46,1.20/!81&55*!7/!5575;/96;!3:8!90165,6!;<:7
-@853_9_548_F3
-T0132222011033.010321.23.303222223.222.2223322.3322
-+
-6;::<=<0:<;<:!:9:;<8!,)!'#'#))#,(!((%!3.($-4)!#&8&
-@853_9_574_F3
-T0003331113101.303333.21.213311213.222.2321222.2222
-+
-%,#0(9'$274''!&)90)2!((!4&0$%&97'!0+5!%1%$%$$!&#''
-@853_9_589_F3
-T3020133021133.203200.02.030202120.123.0113212.0220
-+
-3#),#*))(#)$3!-$&%&'!&&!*)$')%&(&!,&(!'%'&$(*!0#%4
-@853_9_595_F3
-T2221011230111.231023.00.021011112.330.2130120.1203
-+
-6;7;:877:;=99!8::87;!<;!<<:<8:=::!;;;!*:94)2<!39:2
-@853_9_750_F3
-T2201102121222.302002.22.221321132.332.2020223.2121
-+
-<=;:3<;:;8?:9!5<=<>6!><!6;566)'+&!&&/!,''),/+!8+&-
-@853_9_783_F3
-T2102221003120.330300.21.302010320.231.2133001.1202
-+
-27:7.65:87476!$67873!7<!.:8:7797;!78:!6865891!88-*
-@853_9_814_F3
-T1200101012011.312003.00.330011010.220.0222213.3122
-+
-?<7::;88=<9=:!<8<9=;!.3!7@3<9;7;8!6>6!=(<>774!3/:&
-@853_9_924_F3
-T3003021221101.202301.02.111120122.123.1010103.3110
-+
-9A5;=9==8@@?=!:><;;;!??!?;@@</<:>!88;!;/<><<1!:885
-@853_9_1019_F3
-T2120212011102.211122.20.210120211.031.1301102.2021
-+
-$/+22*&:5*,(.!%.#)0-!%,!*/6)'5%.2!*)$!&%)%1,'!-,(#
-@853_9_1046_F3
-T0101121011013.012213.12.122113221.112.0101211.1223
-+
-,9)781>/3/)?:!4:9)/6!))!1(#')#%%#!*%%!%)%/,/.!4*&)
-@853_9_1126_F3
-T3320221032332.112122.11.232123121.301.1210212.2222
-+
-5@,'=,<:(316<!8<86<<!74!;883<+194!)*8!7'4-:)0!7)46
-@853_9_1192_F3
-T3312212100322.301202.12.020132101.011.1011212.2232
-+
-,7)/5(A5<),A(!;>/33<!63!<1,5=7(>@!7/5!?;158&;!></<
-@853_9_1243_F3
-T2212213200232.121320.01.323212013.200.0130313.3233
-+
-3,7,)6<;894<1!/,1956!8:!=&;3/1):5!4/1!5)#3%(+!%(0*
-@853_9_1272_F3
-T3113210021031.002131.03.130002013.110.2003310.3011
-+
-6''$&0+&&5&),!813-&-!,)!1<;1):)*(!877!*.-,&)4!0(#-
-@853_9_1339_F3
-T2101230022200.310112.01.133031320.201.3331311.2012
-+
-6&&-/),<(/&(&!4/67(3!&;!/),,75/14!/12!).#,,&.!-;%)
-@853_9_1358_F3
-T3320111221222.120310.11.230202223.122.0122200.0201
-+
-2+),();9=.'89!))&7=&!))!&1)<&/9,.!:91!)88627'!;9,2
-@853_9_1364_F3
-T0102331230200.010010.13.233311001.233.1100312.1222
-+
-&<=?%8A1,)*79!7.1;/6!43!&/<97:.5;!8,3!>=)7385!;<6&
-@853_9_1397_F3
-T2312020122101.033322.03.022121000.011.0131220.1130
-+
-)')3/'7,&(73,!6<))31!,,!&7+/&45*4!6'3!5))&&5&!/,3,
-@853_9_1425_F3
-T1132332020203.323331.10.133320202.311.3222311.3330
-+
-1656/))&3)&9&!/,:<&7!<8!,&)=/1<.6!&,1!))/</5=!(19=
-@853_9_1446_F3
-T1332212000022.212222.13.021232232.213.1001302.0300
-+
-(.8<63'&'$*/1!.4,0%%!8+!0%0*6)*&)!'(%!/,&(74.!&,)&
-@853_9_1479_F3
-T3031333311130.333221.02.122333123.032.2211110.2332
-+
-0'/+#6&),.-)$!#$&))&!'%!&(',#,##%!)7#!$##/(4%!$$(*
-@853_9_1503_F3
-T2231320200020.131311.11.232031120.231.0013222.2222
-+
-3)%6(&?3688:<!<5;/8=!9>!:7<=1;?89!42/!9;:&>+0!/7/2
-@853_9_1512_F3
-T2333032222302.121133.20.001231203.233.3020000.0200
-+
-'/+.2;(;&+&6(!'+9$&(!8%!8:)'&)--%!&23!((1)&+-!,7/3
-@853_9_1530_F3
-T3213220202302.221131.03.120222222.020.1131133.1313
-+
-,*9&17:/+/,+9!19;18)!9(!)?877;798!,)8!'8</&&=!,-&;
-@853_9_1559_F3
-T1110111121111.113211.01.310210020.112.1113102.0321
-+
-<.<(;;+:)&<9)!<;1)'>!19!./1,>)&77!A3;!>,15&+,!)5&9
-@853_9_1601_F3
-T3232030011033.203002.00.123300322.113.0010121.0331
-+
-<A,117=./5;30!=;6.;4!:9!5+19;;;/3!=3(!/7179,:!1519
-@853_9_1636_F3
-T0010012303222.120103.33.330322222.122.3113033.3001
-+
--=9%8/<?61&=1!)7-1:(!=8!)/1;/'&<.!&5,!3&&5.;,!5&+'
-@853_9_1657_F3
-T1123103213301.312223.03.133301112.222.1213233.1233
-+
-<;>9;?;=9:<>=!:5<>7<!<9!7<8;8;<>:!9:;!53897&(!&.+'
-@853_9_1675_F3
-T3313013311000.313233.11.112203113.120.2211112.1313
-+
-;<589::%5/,<,!%#;/25!-*!2-:8.9-4.!,27!0/21/*1!.'(%
-@853_9_1709_F3
-T3011001101311.031010.11.000033010.030.2032000.2000
-+
-+%3)';-$&$)>6!:558.9!+.!4),-+%9'5!5#%!)5$,)82!(2;,
-@853_9_1722_F3
-T0021012221000.222012.20.202211312.020.3331130.3113
-+
-7@<?5>>A;>67>!?>=<>=!<<!>5=>=>=9?!<83!3<2)0+>!6,48
-@853_9_1728_F3
-T3322221032321.211112.31.012301302.333.0301101.3103
-+
-<4;6542&,01+>!2:,.73!$3!,&'###+#$!672!#6+))#&!2#+#
-@853_9_1739_F3
-T2010003210112.011000.31.320103212.122.2132333.2222
-+
-29):8)%/,0(1.!,&)'29!0%!&.()&%&/(!9,$!-($,.&-!&4-$
-@853_9_1870_F3
-T2212303303300.202201.02.333103031.332.0322203.2223
-+
-896897;69::9;!=1)59<!9>!7(0)#,(0%!//&!)1(3,'/!)#'6
-@853_9_1923_F3
-T0300322132333.221111.02.233001011.000.1122132.2131
-+
-138&()/9*,1/&!&:1==&!)&!,,%&.A7)<!<,/!(;(;5&/!/1&,
-@853_9_1943_F3
-T0122230112231.013112.01.202313211.020.2202120.1120
-+
-,/3<,:5=1/<97!&?65,)!13!<9,/6)=,,!&=%!46027//!)848
-@853_9_1970_F3
-T1320210131121.331212.13.233310233.031.1111331.3020
-+
-6#0#/'&&&3/(,!,$##',!35!$-#')&$#*!'$/!*(4',$,!#%%%
-@853_9_2024_F3
-T3011020132232.011002.01.230121230.022.2320210.1220
-+
-<;)(><;)1,8,?!,1,)05!)5!53-3/)(4/!(,&!11.1/)<!)/,,
-@853_10_26_F3
-T3300222111210.212222.22.220222212.222.2221122.2322
-+
-21&.351,,/5/%!4)&4(0!/'!%+&3(/#0$!+#0!,'.)$-#!#,$2
-@853_10_63_F3
-T0011121023110.100223.13.210101231.103.2222222.2222
-+
-(1,&*./,(-1)/!1/,1+(!3(!-2)/),0'1!/'&!#&$%-4(!,,(%
-@853_10_221_F3
-T2223312323322.102231.00.202132012.221.2322202.2222
-+
-,0&)/&/)1+#)2!+(%))+!&'!2-&+,&&&%!$%#!&&%&+&3!&(.,
-@853_10_254_F3
-T2011202101022.222222.20.202222222.122.2222222.2222
-+
-#4,'#&%(*%%'3!&&(#1%!.)!,$,*&$'$1!&51!('-#/1*!$*&+
-@853_10_285_F3
-T1000220221200.132200.01.232221210.032.2101130.1132
-+
-7679<;7<;1:95!37<962!17!218>:(731!&58!84,803)!;//+
-@853_10_317_F3
-T0020230210321.031322.31.032332100.200.2212002.2022
-+
-%(4(,,)'2+)%,!9)&,2.!($!',*#(1'))!$01!($##-$%!%8$(
-@853_10_329_F3
-T2010200322033.310112.12.011220102.222.1332221.1222
-+
-#&-'*##(6#$#&!)#(11#!($!/%(&%'&4#!*#,!$$$%5*&!%+&7
-@853_10_349_F3
-T3031031031312.133031.31.220312113.213.3222320.1212
-+
-<.954><546;9<!,&8-37!<1!3'5<15&79!7)&!9'3&4&(!&6&2
-@853_10_354_F3
-T1320122002030.212221.12.232210122.222.2222222.2222
-+
-9)).&&)#'#+0)!+&%%$)!&&!1&6&$&)&3!#$(!&$0:4+$!)7/%
-@853_10_370_F3
-T2322231103221.011031.13.231332301.312.0232122.1233
-+
-:;5:9;3885;>8!79:+:6!98!8;9=<=8*:!/(9!8<3;/;;!633,
-@853_10_464_F3
-T3330010000212.300131.13.112322331.023.0331120.2221
-+
-9-398,=<8<.::!3;),(4!76!9;&.086&,!:6)!175&(2;!)+%/
-@853_10_491_F3
-T3223302200011.023222.32.031020232.233.3211222.2222
-+
-<4,.28//:1752!839:46!9/!&0(%$$)&&!5,&!&5%/-5$!&5%.
-@853_10_512_F3
-T1210222121121.222302.02.321102023.201.0332212.1212
-+
--1'(41)1+'-&4!&)'&(5!&&!&30,.),&)!7/1!2/&($&&!4(.0
-@853_10_517_F3
-T0000201333120.213001.30.020133111.031.1111133.1133
-+
-8/,915)-+&/*5!84*3:,!0*!<&,)1197#!/),!'40%1(%!$%(&
-@853_10_560_F3
-T3230002002001.210031.11.103301002.122.1220320.2123
-+
-A>@<8:>:5A;7;!=784?6!<7!<:?=<5::;!1@A!8>=6;=2!>);>
-@853_10_604_F3
-T1032122022103.222321.22.012232132.321.1010201.0302
-+
-3:01<,&/5:)@5!1,'2.6!:/!?=,),,(,&!'9&!)5/)27)!8.:)
-@853_10_659_F3
-T1201100030102.223301.21.332202113.022.2221012.0011
-+
-<=><9=@A8<<><!:<9;=<!:<!6:89<7<94!9=9!=9=76<-!:>86
-@853_10_684_F3
-T1330201102202.321002.10.333002110.222.0221111.1000
-+
-,;%>?=.1;4=;&!-+9051!41!2&:587'69!;*4!7&42'$/!%,6&
-@853_10_703_F3
-T1022030001113.000331.01.111001102.001.2102023.1120
-+
-%/#$/%44502.,!,*5)#+!1*!5*%0/1-7)!33(!$%6#1#$!##'2
-@853_10_707_F3
-T1223030002221.033223.00.023213111.032.0333020.2200
-+
-&858%3)&.)=,(!7,&&))!'8!.119)/)5,!%&:!),6(%4)!&,,0
-@853_10_728_F3
-T2213112011111.130322.02.321122031.002.1110333.2202
-+
-<0;;(:1<;69;=!3<1=>6!:7!)/3;,)/.;!0(/!7;'))5)!&.,0
-@853_10_761_F3
-T3302220103103.220211.11.111230232.012.2022220.0222
-+
-8.=,;@(,+6>)3!6((+<<!5<!<9?7;;:>>!:5,!:9<:<><!6;>=
-@853_10_875_F3
-T1313213021302.023221.30.130212021.222.0213121.3212
-+
-(,%,2&1226:/5!64/6%4!4/!42.339,$'!4/-!22/5###!-$#%
-@853_10_914_F3
-T3110012323223.012101.21.100223330.121.2211222.3322
-+
--,2')(<6)5@(,!;7>;&6!3,!),)(4(336!,)/!31);;(5!/9/<
-@853_10_955_F3
-T3332010100311.122131.30.220001131.301.2221110.0231
-+
-$)7(/,$5*,62,!6,1*05!)/!2)3#)66%1!3&,!1436-7.!72)+
-@853_10_966_F3
-T3000010112221.310121.01.010103222.210.2222222.2122
-+
-8A/11)6</<=;<!,/)79/!/0!&)<(,7/0&!&,.!::/),8)!3)38
-@853_10_971_F3
-T3300220331100.110110.23.321023321.330.0101321.2221
-+
-<::<5;7:;1;:>!@56?@?!>9!05<;@7991!955!>1&=<>3!59>,
-@853_10_982_F3
-T1223223121032.232303.23.022302133.233.3332013.2332
-+
-8)'.-8,2$(:+(!29860;!'(!#*1644+49!*<:!67:%#&3!-2)'
-@853_10_990_F3
-T2021031201033.133023.11.213012011.102.2221322.0123
-+
-1786685;25'9:!9::65>!5:!9$<9-98:<!8)6!;<,97&:!:191
-@853_10_1038_F3
-T0110022322300.202330.22.230120310.313.3121231.2300
-+
-<A?>;A?>>=?=:!?:<<>?!=<!<<=8?;@>5!A/<!=7993;?!=75=
-@853_10_1097_F3
-T1301300302122.001100.21.032120300.322.2222102.2000
-+
-,#&=,&(9,/8)'!,/1889!75!&,&)1;)/1!/5+!972=,/&!)'83
-@853_10_1144_F3
-T3000003202132.300013.00.120002011.121.2021010.2012
-+
-%-27<2(-:'.$8!%74:3%!6<!232:8%8&3!1-*!18-&8.(!#8/&
-@853_10_1153_F3
-T1112233202031.033032.20.313112310.232.0001211.1101
-+
-091#%&5:#'6'5!(2755-!01!4*0.)20)#!)%)!.+(20&4!3,%*
-@853_10_1219_F3
-T0220020211300.110223.13.032102023.003.3212322.2120
-+
-0;:63/<=849;;!69=<:<!>:!55>=<;6<:!74;!48)<:47!>;97
-@853_10_1415_F3
-T3310131131130.303220.33.131331311.111.2133111.3111
-+
-:9?>?<@@:>?<@!9>9>9>!<9!<<9;;=<&,!<7(!&5))<9,!4:1;
-@853_10_1466_F3
-T2122033302111.121230.02.303030131.101.1301001.0023
-+
-856&7;:5286:5!46:158!-9!986-3<45(!2<2!-78:$.4!)1-3
-@853_10_1684_F3
-T1101100223023.110012.22.110331022.303.3211320.1223
-+
-<><AA=7A??<9>!@<.;@>!,A!<=;??<<9;!<)8!;5&7=,<!1,59
-@853_10_1774_F3
-T3003300312003.222212.22.001103322.002.3232312.0101
-+
->&)&979<:;;9>!75:=/,!(&!;/5)7,1,7!;1,!3&5)3?(!'<>&
-@853_10_1797_F3
-T0103231100311.103321.01.112002201.000.0202000.3120
-+
-=;=<<<<5=>>?:!@<<58@!94!:59));63.!692!6352'42!/%/+
-@853_10_1964_F3
-T3230330222203.033201.21.111313022.322.0133330.0333
-+
-88$&*55045884!081/71!/2!.6/9,+&7)!(1#!'%(&(#%!('%.
-@853_10_2037_F3
-T.00001.02..11.32..0..12.1210111.0.000..01.003.2..0
-+
-!6;9&7!7&!!,6!&)!!5!!9,!<),,1;.!:!51/!!&3!8-0!&!!'
-@853_11_36_F3
-T3022220202000.222222322.2123223222222.2222222.2222
-+
-&&0,,)*)/*,,)!+)058*&)#!#)%&)#&-)2(,+!*)+(,.#!#0/+
-@853_11_179_F3
-T2133203212003.201322101.2232122223212.2222222.2222
-+
-5)(1&-50/$'&,!$,),7))'&!(9.&)&,3.(+)%!)',&(.0!',,)
-@853_11_291_F3
-T3233110200122.212330222.0002020221323.2112222.1222
-+
-5*'27/'#(124%!9.:$715/&!75+':714&/67,!4+30'*;!++((
-@853_11_304_F3
-T3312200211122.122122233.2222332232222.2211222.2222
-+
-2'$')%#)%%'#+!&%#(#%#)/!##$%+.$-$''%,!#)(&$$%!&(#)
-@853_11_339_F3
-T3133232330333.203330202.0202230222222.2322222.2222
-+
-95('.)#&('%&&!#$%$%&%#,!.0###&$+'(5#,!2&'##0#!*'#2
-@853_11_377_F3
-T2232022322002.122222221.3110121200111.2221320.1220
-+
-<+)99&&/&(&&=!&2,;<.:)5!),2+)/21-)393!423)&&,!,(&)
-@853_11_392_F3
-T3330233333233.312000222.3223022221103.2302223.3222
-+
-1/&&),,&()7(&!'1)/&),,5!&/18,:(&,',&3!)//310,!3&17
-@853_11_436_F3
-T1220231200111.330211130.3010200210200.1222222.1222
-+
-&('*45(,())&(!0,821)./1!&,&(1&2&,(&/)!&,1(44&!,(;5
-@853_11_440_F3
-T1022000003021.200322201.3112033122232.1312322.3321
-+
-&78)5/&=/'/,,!35+&,47/)!&,/&4',<3:,,0!,68663(!2,+&
-@853_11_502_F3
-T1320301323013.110212102.2302221322213.2213203.3222
-+
-><;==>;>>><;>!@?:;:?(</!<::1:=/+,&)'%!&'%%)'$!()'(
-@853_11_522_F3
-T3332013001310.001310133.1012022011001.3121103.1212
-+
-)3&)1)4,,)';;!7,&2<;8.1!27:6:(9;3,*=<!1,7(69.!*5:'
-@853_11_544_F3
-T0323022233033.102122100.1130233202331.2210033.3200
-+
-$5<'#32'((*4*!&-2%,'15*!4%9',52/)3=3&!-2*%#)2!#'%(
-@853_11_580_F3
-T3312132311002.110012113.0213220112200.1321321.3101
-+
->=@>@>@>=?>>?!@>>=?=?==!=>;>@5??>><><!=6=:<:8!5('&
-@853_11_616_F3
-T1332213010203.120213203.2213012200111.0300131.0010
-+
-<==<>=@=?=A<A!@@;?=?><>!>@<A<?>=;>@<@!5>:;:(<!;8&9
-@853_11_625_F3
-T0010021110212.131001310.0001030012000.0003021.3001
-+
-$).,)11)39')/!1)1&//&')!3$1/%'1110/8'!##4.:1'!*&,%
-@853_11_698_F3
-T2021201222011.300201111.0001200022100.2132213.3200
-+
-39&:3),:3,/,1!)5),:/761!(,),/45&(,,..!(0&,'))!&&&&
-@853_11_744_F3
-T1103030333000.223330300.0233312013201.2323220.2022
-+
-=A<;29:=9>987!:1>;69:99!5,:8;,4;::83>!.2,=7%2!88)6
-@853_11_768_F3
-T2010000023112.321122031.1201231012221.2221221.1222
-+
-:/A=><?A9;@@>!1:<3+%10,!%3(&+*+&+'!5'+&+/+!&27&
-@853_11_775_F3
-T3022212131313.111232231.3201330022122.1321131.0231
-+
-5>::>;?>;?<>>!@:?=;>9=@!;:<><=<A=99:=!,97,/))!('(,
-@853_11_794_F3
-T3010320001322.013320113.0011023210312.1120000.0331
-+
-()123,3&,,6&&!2)&*#,&'$!.(#$)-$'.)+&(!'&&)$*&!)&&&
-@853_11_835_F3
-T0010311130231.213113121.2113330010220.0012232.2203
-+
-418(9;/6&42:4!1:71&861,!),'(#,-#&%#)*!%$-#$%'!##%$
-@853_11_845_F3
-T0000322301231.022100321.2310021301230.1301222.2132
-+
-<67>:<6<;=;94!>>6;9=<:>!<:977<4.;'<8%!1<-,:=:!/;,<
-@853_11_860_F3
-T3021012320013.223233220.0033302203300.0223020.3033
-+
-5793268:17;39!>38998<:9!918;57=</+769!,8::0(6!:2/,
-@853_11_879_F3
-T1113233212112.300121022.1330101220021.3220122.1123
-+
-@/>8768=)<;/9!68/=6/3=6!(95/,9,>6=,3,!/:61=1,!?,&,
-@853_11_900_F3
-T3211213110233.130330101.0121003010022.2110222.3202
-+
-8&,'&&,',,)&'!1',)&1&,8!/8,&)&&&'17/*!)&1&&)&!&1&/
-@853_11_930_F3
-T0000222120013.020111211.3202200113012.1301232.1111
-+
-,7+/8=:,4,,:8!':/<5/:,&!/3'/7//;0));)!'7',/'&!</)5
-@853_11_997_F3
-T3212210001220.212002102.2112002012100.2131301.0030
-+
-6949666:68<92!6/=1/<967!:5372855:1773!/6446*8!.4&4
-@853_11_1002_F3
-T3330000113300.313312102.0312030330311.3331201.1213
-+
-;:7>>@<=@;<==!:=::A:<=>!:<;=>:399><:9!;<2<8>3!=539
-@853_11_1113_F3
-T2000122331220.122030022.0122330113102.2113130.2321
-+
-.89&&,:8)/0)+!*)%78&)7:!+,/,#/0,&'25<!:),.);,!)9/1
-@853_11_1130_F3
-T3200012120032.002200332.0031111122002.3312202.0020
-+
-4/:,$:1&%#<2'!7%;+'3<'.!;%95)2&>%&8:,!:;93.)5!=5-6
-@853_11_1160_F3
-T2121233002001.210312301.2213313001313.3211202.1232
-+
-/(/3&5)(,.,52!,&)295)6/!*01,4&(.6))(*!.8+*:4/!':&,
-@853_11_1289_F3
-T3202030030000.322322200.2212223121322.1232113.2302
-+
-4,0;,1,/3354-!,&$,*'$&'!+'%+:1-#'*%$#!)3%$&21!(,&'
-@853_11_1294_F3
-T3012121230122.112212223.3101330211122.2332331.2011
-+
-9,)-5=3:9,3>,!<;=<,>>>8!7<,.9<5:,).9;!/(?5)&6!)&75
-@853_11_1308_F3
-T1313222031123.213112233.3132330320321.2220233.3322
-+
-115356<:/)&>3!<.<&@')13!8&&:),5&;'&).!',&/'&4!&&&,
-@853_11_1324_F3
-T2222132323301.120330302.1323202011301.1113110.1332
-+
-9A9?,1'67<895!=71<:<=:=!451<<755;,=,<!3:+2),/!/2*9
-@853_11_1333_F3
-T1313122003300.033223031.2201232301222.3212022.3102
-+
-@512&<75/48/?!>=2=<6>:,!7>:=//<::)/91!<:6&&3:!,,/:
-@853_11_1346_F3
-T2332133022333.022120203.3322113331122.1133233.2212
-+
-)'&2.,1/+09,6!-)34$,%$&!)/&,4#3225%$%!,*+,(&,!82'#
-@853_11_1352_F3
-T3322311331130.202323023.3100113032320.2313223.0312
-+
-3&9(&6>)9)7.(!.);,1&)94!3'5+((.0(45',!&++-',,!)('&
-@853_11_1409_F3
-T3000220011111.020033110.2210210002000.2312312.1222
-+
-:-130:=6=1.2<!.5.*9:1<)!:78+>5,8551.6!;?84,7.!5478
-@853_11_1420_F3
-T2013221030202.321222212.2213212021222.2222222.3222
-+
-#<####9####:#!##@####<#!##<####<####>!#######!##%%
-@853_11_1517_F3
-T2120330010112.111203322.0111322233311.1302100.2333
-+
-//,(6$1=&)8/6!(,.5.#393!#3441-+><'+).!3,.))56!928,
-@853_11_1553_F3
-T2100002220130.022031233.0323211101000.1213332.1321
-+
-%*)140+868927!&%2:2024+!642/'42181899!8)85*18!.%2#
-@853_11_1571_F3
-T1311202212210.203333311.0032311112120.0021233.1232
-+
-&&5A5,6>@@>=(!?3;:9=>,;!=1;9):;@>&==,!&8:53,6!=)&)
-@853_11_1594_F3
-T2303312230022.320123233.0110003313310.0312023.1002
-+
-32/32,>7((;;;!/:89));8<!:;18?>=6=,/;(!)684))/!/.')
-@853_11_1616_F3
-T1313130323223.231222330.0322213112101.3223122.2222
-+
-&17/276),&4(:!5,&>(;3/&!(7)<'&,4,;)''!58,&1',!)):)
-@853_11_1621_F3
-T1100000112201.030113022.0032000002303.3330222.2223
-+
-;=:=:;<?8<<9=!9<4@/;<;:!283&):97&$38/!(4:4*5(!+)18
-@853_11_1630_F3
-T3010033021202.301000112.2111320021311.2010121.2211
-+
-,,2%%#:%#&%/$!22+&&8#55!7)8342*:(2%&2!*%52&'#!/*##
-@853_11_1700_F3
-T3023132213003.332000022.0321030333311.2312301.1020
-+
-#0469$&38)211!&'=&/,5<6!21/%.'6'&0;,)!(:,'&39!2&18
-@853_11_1732_F3
-T2230101330100.230100230.0023010023001.0230100.0103
-+
->?8<?<<::<9=>!<<<:<<7;4!=:799/>>1.=37!:)+7,<9!8)/0
-@853_11_1746_F3
-T1022030110123.110220002.0032200021021.2012223.2031
-+
-5-(22/9456;,.!27:40898*!(2'4'%(6'21&+!%214)$.!5%)(
-@853_11_1751_F3
-T1321123132330.322312233.0002212012222.2303232.1332
-+
-8&:3/(442=.(:!//#0,;:)+!2(#*35,+//;,.!3,'(+%4!,3(=
-@853_11_1789_F3
-T3120220123221.330223010.3032333132232.0320331.0222
-+
-#1;9,*+/2%9(.!/20(,/2*)!,()(''/3'47/3!,)3)#51!/77,
-@853_11_1808_F3
-T2200210320103.302111322.1213332020311.0102302.0001
-+
-,;4+&/.'(/&&-!,*$$33(.,!8.).,'3<0/&0+!/)4)%&&!&>(;
-@853_11_1885_F3
-T3102132020013.301111332.0012211010132.2121220.1020
-+
-+<0'12'&,.)3$!##4,,$-&,!*0:'4)8,&)$$1!4-)14.,!2&1&
-@853_11_1895_F3
-T3010323301021.211001312.3132133230000.1121113.0211
-+
-23('15&),&*71!,&,&&&&)4!5;&)2&)53)(&3!,7&:),&!/871
-@853_11_1917_F3
-T3213333130023.122312102.3210303123011.3111222.1112
-+
-4)85;986:5983!38;:/5793!9666914;4451:!699;602!=57.
-@853_11_1972_F3
-T3320202011222.332212311.0210023130323.1101303.3020
-+
-99:07:;+&2>14!=(7>=).5,!,,;5:1(,<)5'&!+&'69(9!-7)2
-@853_12_125_F3
-T0122203032010.301211220.2020123011223.0222212.0112
-+
-0538-',/.0,2.!&',54&,#)!%&,)1&$'/,0/&!/',4')1!&(,2
-@853_12_145_F3
-T3022203001220.023331221.1200322220021.1221211.2222
-+
-+$5+2&&,&)##-!)#%,,&#&)!2$%),,(481(,+!13*&&,&!0;50
-@853_12_163_F3
-T1222103312023.230232332.1020022122222.2222222.2222
-+
-)&'1)&7,)11),!7,1,)'/,)!).5),,/&+84)2!0/0++12!4*0.
-@853_12_185_F3
-T0023122233030.011210213.3131331233020.3110223.3222
-+
-).7/.482.4)1'!&/3#1,64,!(,0+1104*))6,!,0.0:%'!1:3'
-@853_12_204_F3
-T1222222123232.232222212.2222222222222.2222222.2222
-+
-,,(*&'(&$&.%#!.&7(/%(&'!5&.#%)'521,%$!)'&%%)0!#$+*
-@853_12_237_F3
-T0000022331132.222222333.3311033000030.2221220.2222
-+
-)757*1::/6/;:!88;=961;5!58)36.1,+/,3/!7<8&8:&!&--+
-@853_12_267_F3
-T2230202310213.023211312.1121133021300.2222223.2222
-+
-4;&=/9=&1)(;(!++'2,&&(/!5.782,,,1+.5,!47.&$''!*0-&
-@853_12_447_F3
-T3112110011111.111121122.2222000122212.2222221.2222
-+
-)/''+801&+.&,!1''&/,*,&!3,2))')'8,&).!&%%)).&!&+3+
-@853_12_470_F3
-T3021111321322.210201112.2212222222222.2221221.1212
-+
-+9.(5-/3-<)1#!(+%$.,0#(!-#('#1(+*,1$.!3$+#(%&!$$%#
-@853_12_590_F3
-T3022110011033.233210110.0121122213113.1310111.2312
-+
-;574<9;98787:!:::<1<;:9!875:43&40(<;8!9390.-8!1/21
-@853_12_673_F3
-T1220213321222.322102301.2030210300221.2020011.3011
-+
-<77=5<9?79>/:!<<;94:</9!97<8585:99:<2!4,574;:!57<8
-@853_12_716_F3
-T2122001013310.011201310.0123302301200.0010021.1200
-+
-</2/86;;8868<!66/2929%=!%<26/</.<2166!<=,4;6<!33(:
-@853_12_779_F3
-T2133001332023.213122231.3012102322222.2212023.2222
-+
-&&&&$&$1##$&#!##&$#####!##$##$#%#####!#######!####
-@853_12_889_F3
-T3303031221020.331221220.0200133301322.1012132.3031
-+
-5$)210),++12.!+2./$.0+&!/$22#577$+,&#!$1+#&.'!%#$/
-@853_12_904_F3
-T3213212303022.313222231.0132221322032.2113303.3332
-+
-5.'-%*()$'&)'!+0:%,--5#!#'')**3,'#'&4!##-4(#)!3&)%
-@853_12_937_F3
-T0000223011112.023212222.1122101321330.1021310.0111
-+
-<@<;?;=><>@?>!<>;=>>==@!>9>?=;<<<?=<;!<7:A7<>!8@==
-@853_12_1024_F3
-T1123310321001.131333011.1101132121120.1321103.1223
-+
-,6&)/)-/)&))(!<&/)1,9/&!(&/&6385)1,/)!(3&&&&&!/5&&
-@853_12_1133_F3
-T3322011120232.200100233.1000213211000.1300202.0020
-+
-8:5;985<7>;6<!7=<<<=8;;!,<37,64/&'2,*!'#%%')+!*,/.
-@853_12_1138_F3
-T3120320131023.003333230.0023011210011.2221222.2122
-+
-9)28)8(%+&&'&!2&*7,%)$1!/)&5)(+/3#$0+!###'%##!$'%#
-@853_12_1200_F3
-T3310231310102.021130312.1032221320310.3323230.2311
-+
-14/52995.(5+-!(2.',7#3,!-3$#',/.7$55*!/:)'5%0!')%4
-@853_12_1216_F3
-T0102231310023.331220320.2302130333302.2232233.3003
-+
-8:68::7719:9<!8;8228:82!89<7,5)7296,9!6,94)08!86%7
-@853_12_1258_F3
-T1012002321300.200321333.1113322211001.0221102.2003
-+
-&/A,3,&))71)&!/:1&,1,'<!6//(1/:893713!,//&&&3!//63
-@853_12_1269_F3
-T3113010302021.230122003.3012223330113.0011022.2221
-+
-))/9&&13):8)3!),1,;?+59!=<6,=:19+/;:,!57))8<7!&/?,
-@853_12_1277_F3
-T0012022113033.123022220.3300123212111.0332000.0333
-+
-7?:1;:?9-<=9<!<>9<9<=:>!6;9<8/=:<79:;!4>:9':7!8199
-@853_12_1302_F3
-T1230301120223.101200120.3100322101322.2222320.2322
-+
-><;5;7:1;1<9%!*/5+)-&5$!#3<&;09:#2#:8!319<'%0!<$34
-@853_12_1376_F3
-T3030320223230.132032232.2221221200220.2133111.1012
-+
-)3%19//1;.&)(!&5/+&)9/(!9'&.8.%$1,::7!&6164&,!21&9
-@853_12_1405_F3
-T3012222112131.231011301.1001120002210.2012022.3122
-+
-%3098-:)%&%/$!&&,$0/9)5!2.1600)'%)&15!*$2+147!*524
-@853_12_1460_F3
-T0112221311210.003030231.2300123012202.2100122.1102
-+
-=>;==?<<?<?</!:<;5=2=?1!;::5@=;<7=;7=!=2;;9?;!@;6)
-@853_12_1471_F3
-T3330022331201.122130030.3120120330033.1011230.2321
-+
-2'2678/9:::)<!:=4<#+508!62'851,94158-!563$)2/!,(3(
-@853_12_1525_F3
-T0013020211211.010100221.1122001210211.3121111.2111
-+
--)03.1-;98352!257)(19?2!5859/86,<,79/!)*/()&5!69))
-@853_12_1581_F3
-T1200133101202.221322233.3212130022200.2212222.0222
-+
-#7#%*2)&#$/=%!#*?&#$'3.!1(:##$,,##$#8!#%$6#%$!7##%
-@853_12_1588_F3
-T0012021002110.031022122.2033113112102.0332203.1111
-+
-9)3313A3,>571!6:3:)<1=/!=;08&>8::&;96!.==39,=!9>7<
-@853_12_1651_F3
-T3020020112212.230113122.3012330121130.3300302.3111
-+
-;&&*&4>.)()&0!):35//&,+!4&5-%<(,<()%;!))%15'/!,;18
-@853_12_1655_F3
-T3300132113212.231120102.3101302222222.2222223.3230
-+
-##045%+$'#396!2/324'5%.!$%241,&%,*$32!*+)0')3!(8)&
-@853_12_1678_F3
-T3222013101022.312110110.1021122231022.1122202.1213
-+
-49&%#########!#########!#######$#####!#######!####
-@853_12_1690_F3
-T3003002211333.100013020.2201200311003.1130022.0322
-+
-7*&+,553/'63-!395260883!#74#&&85)&$64!($13$##!)$##
-@853_12_1779_F3
-T0102310313122.202100330.3103121320021.0202000.1203
-+
-<<::6?>74:5=<!=>==%<:9:!97>:&:;99$699!%:;=-(7!98#*
-@853_12_1813_F3
-T2212223211313.231233331.0033022201031.0000120.1113
-+
-863,37338/69-!6999,064:!//$*12753365:!%)7//2+!,:;(
-@853_12_1826_F3
-T1222312110312.213033300.1000031111002.3110021.3002
-+
-/<<=/<733*.,3!')&60&96,!5&'96579;,>&,!098'/)<!&1(2
-@853_12_1848_F3
-T2021222331213.113303133.1233222332222.1221321.1222
-+
-:><>;::8;=<9:!3,%$'2%'#!#&#'&,'*)#()#!,#*#-%(!&#)#
-@853_12_1868_F3
-T1222000220021.123301000.0333030322132.2112221.2221
-+
-;8=8?9><4??69!?879%)<%%!/929,&;'&2'*.!#-'$+#%!--'-
-@853_12_1929_F3
-T1103313131131.222012212.0312030312000.1222202.0101
-+
-=<?;88<;<;;<;!67=<?;:9<!<<::=599:==:9!;87<;>7!1:58
-@853_12_1932_F3
-T2123313131211.020220311.2211002200130.0211000.1201
-+
-82;%46$5#61.5!5417*:-70!2.73#37(6)6.7!621:)%3!9*07
-@853_12_1989_F3
-T2213232100320.012011212.0303100120321.2203122.1312
-+
-+&1$1:3A/911/!7>/<&;:/8!3;/73>8:<99:9!;5345<9!?/,4
-@853_12_1993_F3
-T1233001233011.122013222.1113220033221.2113123.1322
-+
-851293;5445<0!;554:2252!;,<2459:/4)25!,7+###%!%1##
-@853_12_1998_F3
-T1313020112301.300013200.0002121033113.2023230.0200
-+
-;5?2:8A?:57<#!0;?5,26?9!><>))7;8*%??1!1>;15#=!923=
-@853_13_229_F3
-T3032130221003.212100220.1322333123123.3323221.2222
-+
-3(85.)-/.,&-3!2&4)),:7%!-/:313'-#,&,1!/)#3-5)!805(
-@853_13_261_F3
-T3223332332112.021201132.2212032220222.2211222.2222
-+
-18&&1'(-#6&4$!)%,.0&&35!,&/+,)&(2')')!*&&(3'2!%4)3
-@853_13_287_F3
-T3002301011111.300132221.3022223012231.2202122.3222
-+
-.1-,&02,,*+1)!&-&3%$46#!&(6'##1,&%002!,0%1'./!)-.%
-@853_13_298_F3
-T3310133113333.333222212.3002221122001.0012122.1222
-+
-96,06697)56,3!7734%38&#!)9+&&3;4$$31)!(,,%�!%)'/
-@853_13_308_F3
-T1330000332213.203321132.0230322332222.2022222.2222
-+
-'/01):78+5/,,!&)%&$%(,$!(%#&#&%#%#$#%!&&#&-$$!#%%*
-@853_13_366_F3
-T0030302032002.002300202.0221333220013.0003331.3322
-+
-56-,)0&528/&'!,5&((8&<(!/4&35)0/(;;11!98)1&-,!)))&
-@853_13_396_F3
-T0223210101303.230033113.3012132123322.3222222.2322
-+
-0>?:;4;:8:98=!=;98><3:>!60/5,15+()$'/!&)/2%)'!5&)1
-@853_13_414_F3
-T3321112211211.011012222.3012121222112.2200320.2222
-+
-*%28-6/,.72((!:;*8183*3!#6&%-8#2%5<7/!#''2%2(!4%+$
-@853_13_479_F3
-T0032301322021.222001320.0203221022200.0033131.2111
-+
-1&4,(%.%%%*#2!+%#%#&+.%!'%2'#$'-)#*&#!%-%)$(,!.%#%
-@853_13_531_F3
-T3301031311101.221031311.2122220110102.3031313.2121
-+
-;;<;5<:?>89:8!@:66=:?&/!71457877:)/33!11>16/*!0..0
-@853_13_553_F3
-T0102021320313.221012301.1232102100010.0113221.1010
-+
-939:/:<6:76;8!/4>15:6=:!54/;1-><;7*8<!;-0495&!;;8'
-@853_13_594_F3
-T2012000102023.201011200.0212232221120.2230010.0002
-+
-:8<%#),6'9.9'!))'(-1&-1!%%8)&/.7&),)1!8'&81)2!;5&$
-@853_13_602_F3
-T0032210202213.213101232.0022021020220.2020202.0222
-+
-;6274=;;;2-/1!#$#'2%%'%!)$#$#&#')&$$$!(##(-$#!'($$
-@853_13_638_F3
-T3130021123000.023312112.0303100120000.0031212.3210
-+
-<A;;>>AA<7<>>!=8<>578?<!=6<>7@>:=):>7!>8563/(!15&'
-@853_13_648_F3
-T1231301002302.211020211.1110213202321.2112223.1222
-+
-:8684:9<98:;;!3:9:982<=!85886670'%)#&!$%#$&$#!&%(#
-@853_13_721_F3
-T3333230132303.100130302.0233233332233.0030320.1133
-+
-A+94,511),&&1!,)&/&/1&,!,5;///&7,&168!;)/,,,,!)(,,
-@853_13_809_F3
-T0003331131002.130231211.1113311200111.3100131.1331
-+
-28366.7;8=::1!?);;7:$74!4/3+&'#3,#$)0!-.(68-&!58./
-@853_13_850_F3
-T1031012102222.202211131.0311102002103.1122003.0000
-+
-1%$%2%$&%/$5*!/+$2(,7&:!8$&98+%)7).7%!((%9)5%!3&3)
-@853_13_1030_F3
-T3132033320122.112200201.1121312211221.2133221.1222
-+
-&)-#&&&&+'&&*!')&&)&2&4!&&-&&*$),%%$&!#&&1##&!,%#&
-@853_13_1042_F3
-T3212332011113.232102322.2022221122232.3221322.2332
-+
-$%&)')2,))&)%!)&53%&,(,!&*&2+,%7,$6'.!.0,('0&!&.2)
-@853_13_1092_F3
-T0112000212200.122210020.3102222201222.1122222.2222
-+
-.851+/36;8925!&0(/&$./&!53.51#2/#,-3/!'#(&/&#!**)$
-@853_13_1171_F3
-T0223320230220.021233321.2333222302221.0312131.0002
-+
-<=>9=16;8;=?6!,='6<85<;!:7/9;?=**9>7,!7;/):;>!:8,5
-@853_13_1222_F3
-T2112021113011.311011302.0231220013331.1311020.0013
-+
-&6,&0'&)'1&/.!#','-1,)-!%(%#&+%&'-4+&!'/&))*'!,&3&
-@853_13_1226_F3
-T2302002311200.321000031.3213001222231.2320023.3321
-+
-<=994:=<:;<84!4:###%(7#!(2,0&(15',+1&!/#1/$#%!55'2
-@853_13_1245_F3
-T0313130301321.113221002.2122101210030.0133321.2011
-+
--+$*'7,8()3$%!,/2/$$$,+!'.10'((,%&%5+!(#141(+!,%#.
-@853_13_1280_F3
-T3311003112132.133322131.3233121321313.3002103.2123
-+
-78687898-1753!#/22,,,;2!()9,,#/5/&-59!$&)3-%'!24'2
-@853_13_1306_F3
-T1111012002203.213122200.3102300123331.3000003.0021
-+
-$#*63+%5,$),#!28%<%.162!'8*1%53#(+551!.574$*#!5+##
-@853_13_1341_F3
-T2201013101110.100213022.0101123000210.0330211.2211
-+
-96557:<57:695!94765;1;6!877::75:4699.!6:930:7!::89
-@853_13_1365_F3
-T3011300013211.312033311.3111110223013.0120021.0212
-+
-@;?7<==<;>;=?!?;=3@<<9;!=6;;:4:<;8/+=!304;741!<38,
-@853_13_1443_F3
-T2031033110030.011112022.0222013110331.3123310.1203
-+
-=<:::><=7;8<8!<<>;2>::;!8==;1<>:968=<!,:9<9<:!;7,6
-@853_13_1483_F3
-T2023323133131.221222333.2233223222212.2222222.2222
-+
-#0####1####8#!##($###(#!#####$#%####$!###%###!&#$'
-@853_13_1505_F3
-T2212120300302.233033312.3331132111123.0311133.3322
-+
-.:;<,>*/%65))!546(:7)<3!>3431;,38),/=!&:'&&,;!5&/1
-@853_13_1606_F3
-T3023123012222.002233113.3322021002022.1010213.2211
-+
-89&49;;7;:5&4!71&08:;33!8<<9;<?A61;<;!5?:78:5!'0%&
-@853_13_1626_F3
-T2222233330012.310032221.3331333323222.3130233.3331
-+
-',11/=+1<6&&1!&,5/:78$#!+,&1)*(&##$##!$'##,(,!$1,#
-@853_13_1672_F3
-T1211030213021.221113110.1011132211011.1122232.0112
-+
-.139+97,57;3:!72)%'&2#0!$*)).++2*.%,'!4.&$(&%!/%1(
-@853_13_1784_F3
-T3221322232101.010013222.2111212100011.3320301.0103
-+
-===A:@@>>=<:>!9>;9==>@A!=>>;>;=>8:3=<!@??4<8;!/:7;
-@853_13_1840_F3
-T0103222320012.203013210.1202132132102.1100001.1030
-+
-;;;49:<74=<;=!585484999!1<95:,:81/'##!#$$#(%'!''$#
-@853_13_1892_F3
-T0110000330022.322133222.2220120031001.0111211.3212
-+
-+/5:58)&)/87&!)74:#&33)!5%4).&9:1(361!0)'60&5!9/#%
-@853_13_1911_F3
-T2023023111022.110102003.1223000300012.0112322.2200
-+
-)/#$',&/.%%0-!,+1&8*'4.!6$5664%+8(+7&!&-#&(6&!'0,*
-@853_13_1937_F3
-T2100301201111.021111300.2301022012322.0220011.2011
-+
-8<8;2;>:=:=<8!<:A=>=7;.!6:94;<<=3:5=8!:7<<+:8!51>;
-@853_13_1983_F3
-T2333131330231.222331021.1113022200202.3322312.1322
-+
-2*.,58>,.47+;!#7:+-386'!,88154:$525(%!,-60(&4!)5/4
-@853_14_48_F3
-T1200133320202.222220223.1212221322000.3012231.2222
-+
-.61./,3/4)/'0!//226)41&!/$).96,))5),)!)&/5))&!::9+
-@853_14_65_F3
-T0132320111332.332322222.2222222332222.2222222.2222
-+
-)3&3+,*$&))+%!*%'$(#()#!(++(,&(%%0#'(!,(,#+*%!&-*+
-@853_14_88_F3
-T1222321012121.132322223.0110021222222.2222202.2222
-+
-,&/')&'&&,'&+!',&,#.*&)!&&($&#&%&('(,!/)-*%&*!*3+2
-@853_14_129_F3
-T1030102022000.222212020.2232133311322.3222231.1223
-+
-2/355'5#98+1,!:98#-:,8%!<663.7/3),8&5!5:9;41)!(:$(
-@853_14_191_F3
-T3322213232222.222220202.2022121222221.2222222.2222
-+
-/+#'*'/##(&',!&%#*+&#%#!%'.#(##%####(!,2##$-(!$'*,
-@853_14_225_F3
-T1311131021200.002331101.0001113222223.2112202.2121
-+
-3479956788564!178855446!69;::62$75%-$!;&(#5-#!()9(
-@853_14_247_F3
-T1222033303221.012110303.0013002222323.0220200.2222
-+
-:3,,&///)1<:/!,8<,&)/,5!1,)&/,313,'<'!),&1<'7!=&;:
-@853_14_273_F3
-T3110012100211.021213220.1003201011303.2221223.3222
-+
-:(5/5(&,&8)&&!,3'5148,,!1.1)6:,//&1*&!0;:,&.,!);:&
-@853_14_291_F3
-T2212211010122.200332220.0032221222221.2212222.2222
-+
-&=1,,1&&&5&%/!4&+6)&(#'!'%'),2&1)6)*)!7&$,&61!.),%
-@853_14_322_F3
-T1222231312023.212123103.0120023021202.0211221.2222
-+
-8;<87865.69<3!<6=-=:87.!78:(87434%;(8!.<#5&/)!;#*(
-@853_14_333_F3
-T2113030021111.333123121.0312222222220.2222222.2222
-+
-&.#%+'&((3/)2!%&0&4&)8&!%(25*(%+'%$00!/0&)$')!)34*
-@853_14_371_F3
-T1132033302002.000330102.2200023002210.0220322.0222
-+
-1,4+'576'#38+!$338%%156!$452)#'6-&+%<!,##98##!55()
-@853_14_386_F3
-T2203002323130.122020200.2301310000200.0020221.0210
-+
-,&,&))417&&)/!+/175+523!'&13&&2'6,&20!)+,2,/*!)3))
-@853_14_391_F3
-T3102012032121.202022221.2232022221222.2202222.2322
-+
-3,/(/0#).30..!1/4#),5.(!/82015**#$$''!#0&'3&%!#.('
-@853_14_488_F3
-T1013032122031.323122131.2213223222323.2303122.0132
-+
-44812*-.4;%<9!*-7++/&61!35#1/&/58/,0-!%7+46$(!*/#/
-@853_14_541_F3
-T1310230100230.033020233.0122003300003.0000001.3022
-+
-,,1.&&&);4((&!10,/5993.!>):439,,&7=96!*&49*8&!9($/
-@853_14_549_F3
-T0100211221012.332212330.1002102011102.0000202.3233
-+
-2%))%;#&%%#%0!&'*-54$&;!643,&1'/33)=1!#,,'#'%!9&.,
-@853_14_563_F3
-T0300003000002.133233321.2033020322131.2220022.3321
-+
-,/1$,#5(,$)#)!#)&##'#')!%,,,)#*&$.('$!#$##$#,!%##$
-@853_14_609_F3
-T0112010212213.123122102.2212222212221.2221222.2222
-+
-:=9=9;<<;=<<8!'&:+&$&/0!(1'.'-0&)32-&!.+)*#8&!&86/
-@853_14_644_F3
-T1232102010211.211310312.2130100202312.1231220.2002
-+
-$92:&%&$451.,!-%4,&4&#.!28)%548&+(,90!01,0)))!3%&4
-@853_14_654_F3
-T3012012111203.233111132.3101012122021.0300020.0033
-+
-<<?=<<<;<=;<<!<=::;><=9!8;;;;<6:87=>7!<78;5,=!=81/
-@853_14_687_F3
-T1132111102002.323112212.3011013103112.2131111.1312
-+
-<:8:7:>;48;7>!8<4>79<:<!7<@;:5<>71&:5!6$:9;=)!>4;5
-@853_14_694_F3
-T3322322210122.302210121.0300201331001.2030333.3221
-+
-)274.&#%05.&0!'1$%/:*/#!/)#((60$-(88%!&<&')%1!0%))
-@853_14_758_F3
-T1321202301222.033210210.0300011121321.3133211.1223
-+
-><;?;:=>9>>?;!<;;:6>;<.!<A=;<<;@:1=77!#,%4*'&!%/#$
-@853_14_833_F3
-T3310213023021.332021213.0322322002222.2210132.2323
-+
-$&.-&-&:7&)8*!1&3/3,&/.!&7''))),+,2,/!'&41*0=!&)3&
-@853_14_870_F3
-T3222123013233.301333303.3033000223000.0312223.3222
-+
-98)6#/)37)1+7!6()(&253)!&+07+#%3&/23%!)4&4-(0!)/.'
-@853_14_924_F3
-T1220222233220.203302213.2112031122312.2213133.3222
-+
-842*,&/0%#-3&!%#2#(&'-(!2#*,%2-/%*,#*!'#''##'!,)$#
-@853_14_976_F3
-T1032120002200.311210210.3032321231302.2331110.0330
-+
-:<=>A<=96?<;9!<;9==>=:7!=::9>?:7=6?;=!===;8=;!5<>9
-@853_14_985_F3
-T2330202321123.210122222.2102123311021.0331200.1230
-+
-,7)&&&6/,1/3/!&.8$/,/,)!5/&,3;75,&/6)!3&)&&58!),*6
-@853_14_1006_F3
-T1020022101000.021103331.0011301103002.2222121.2113
-+
-69788<59;=::8!;<=<5>===!<;;@<>=<346;9!;<<9<94!75%)
-@853_14_1016_F3
-T3222110230210.020130020.0121012210231.2231230.1111
-+
-&&&,%)&0&&)'3!72'4%'+-,!&&*62&5,4&$3)!4&211&)!110'
-@853_14_1065_F3
-T1200000033013.000213311.2210300303333.0133030.1330
-+
-;:/0/.1/(+<7:!(.794'983!.8>&.3(1)'991!1038,.7!441<
-@853_14_1070_F3
-T2210231200211.131133030.2113003032212.0222000.2222
-+
-'9:::+&&9,)/,!35(5)$(''!0)'(&&'.$')%%!&&&)#&&!&&1'
-@853_14_1075_F3
-T1301000111303.233202012.0010210032211.1002020.1122
-+
->8><>>9<<>;=9!>;8<<=>>=!>==<<>>=8:76<!:3<859:!<:;7
-@853_14_1087_F3
-T0033302301333.331323333.0013311000030.3002121.0301
-+
-7/2459;829815!:8539:5&,!40(/37&<436(1!87/6);6!,'&7
-@853_14_1103_F3
-T0302301222002.200211200.1323333123222.2221330.1322
-+
--28$,8+-7*/48!4.6-+&*51!.43&/-142-12'!)/,&,$,!-'05
-@853_14_1119_F3
-T1323221321202.202330220.0213000012122.1123300.3121
-+
-==A=?;<=9==8=!=:9<>8<;(!8=5;==2,<>,=;!:67;791!:&55
-@853_14_1165_F3
-T2202001222101.001211000.2020003223112.2220001.2223
-+
-;;>8::>;>>88?!<<;@@A==;!=:;,981>5:A9@!?@562:7!:3=5
-@853_14_1197_F3
-T2210132120322.222202312.1032111313110.2003210.2211
-+
-61&8,&1):2&83!:3)@3&6'>!&&/6&71/3+1&,!5,&:7,7!7)99
-@853_14_1241_F3
-T1313001021202.323010312.2300022210121.0321321.1120
-+
-78379:853;:8:!382,?;767!><;(:5=<,>=7;!@:)/';=!:&=7
-@853_14_1250_F3
-T2022213132230.323230322.2200233022232.0112100.1332
-+
-39@)3)1;16:8(!/=0,15)1/!3/</,?,19;>,=!:3&141<!,1?8
-@853_14_1327_F3
-T2021212110222.202111130.1221321203223.1312322.0330
-+
-;=;?@>?A@<AAA!>>A>A@@>;!<@?>?@9@9<@@<!1=>==;@!8<<<
-@853_14_1347_F3
-T2222103002313.002121202.0110110201212.2132213.0211
-+
-:9677<96988=6!9982882:9!;<<5:;8;:<-7;!<;6=;:0!;:99
-@853_14_1352_F3
-T0322130022232.212111203.2300331000221.1313103.1112
-+
-=&,5(&53))&+,!,,%=&1&&+!'5-,31&+&,):9!))))5&9!5/4(
-@853_14_1385_F3
-T3002203302022.232012021.2301122110223.3321002.0322
-+
-<708'%253*07:!$:027#$:9!%&45/##474$#2!6##524$!/97&
-@853_14_1447_F3
-T3223303110002.312133012.0302223122311.0133331.0233
-+
-?</<1######&#!$#(%+##$'!#''*'##,#)###!#%',).#!#+$*
-@853_14_1515_F3
-T2333131102123.201103020.2221212033022.1101011.0313
-+
-5/':6:;&,/+),!9,</)8</6!(99&1<8,)(,&)!2&3://5!)112
-@853_14_1541_F3
-T1111101123332.122331031.1223132131011.1311103.1310
-+
-$6//478$#7<5'!$2#292&,6!64094/4(7'%&/!,%-)#*#!%($.
-@853_14_1569_F3
-T0220201200303.303332030.0312201221000.0332222.2330
-+
-'9//&&&)41)&4!($'$0:&-&!'()0:)#&2,,%$!$))%4.&!).0(
-@853_14_1658_F3
-T3002130113102.030003322.2100333012212.1230002.0002
-+
-:>6;8:;::7;96!77:=A7:8:!9:5=69;7<;551!947;9<6!(<=6
-@853_14_1702_F3
-T3023332100011.230103102.0021330322202.1112000.2001
-+
-98:58=9=568>:!?99;5:<:8!88;9<;.<=953=!378:,9<!<+;7
-@853_14_1707_F3
-T1021012301213.223013112.0313221002030.1231310.0102
-+
-63<2669)+&:.-!&3#&,+1>;!(;<-&0=/1./87!:#/,15:!77)%
-@853_14_1715_F3
-T2113210211313.302011010.3323021122011.2011010.1303
-+
-0+5.3=,/331)7!3(4(17),.!:5=/,>,&9>)>)!1,6,'6>!>2,&
-@853_14_1721_F3
-T2122222110233.120020211.3121231211322.3220112.2211
-+
-$&'&),.&%#,42!&4%#,&.(%!1/3-&3#1(#6(1!5,/),$,!,###
-@853_14_1736_F3
-T0001320013111.210012202.2131100023332.1200020.0022
-+
-&-')::)())<70!:,&9/3:)1!()+38,(2-.(,7!,+'+3&8!2-1;
-@853_14_1855_F3
-T2332103123212.102220233.0311122321223.0021222.0203
-+
-4+52)+&$'-0*#!'#2+2$11.!-'$915#)6$%(1!5&%&5*&!/6)&
-@853_14_1861_F3
-T1122213220202.311333312.1223022302333.1013211.2222
-+
-35?91:89:0917!:48;;33(,!$/9<(/'),6%2)!/$)54,&!-)5+
-@853_14_1879_F3
-T3221111322332.330311001.1012211322102.1112011.0121
-+
-,6.1)684536&5!2,7(39/1/!71:9;;*416?&6!,,/6876!,9)5
-@853_14_1958_F3
-T2113133021300.233021221.3023103100111.3111001.0022
-+
-4*78552;66:.7!27(+%$,&#!%%,('-630-%)-!#)'/*,$!(''-
-@853_14_1978_F3
-T2001220322202.232020003.3211201203030.1031200.1223
-+
-9;<6:=667<9:?!:;;+;338:!9;<8:<-7)<619!..37-25!=;20
-@853_14_2006_F3
-T3322031101221.331303002.3321303220010.2200031.1002
-+
-56819<<<83999!.7$2#8<66!6<9:6:879%0;5!9*%<0*)!7;..
-@853_14_2011_F3
-T1213110110222.111222112.0012223103322.1112110.3113
-+
-6A&%9=4/199+=!)5+.&,5'4!//:.&)6/0/4+)!:&1+51+!')8'
-@853_15_108_F3
-T1020223212222.121222222.202322012221222222222.1222
-+
-(&$(/0'(&%/)'!)/+#..*)#!&$#%'&%&-'*,##(-)#'+%!),#*
-@853_15_149_F3
-T3223001220022.212201222.111221222222222222222.2222
-+
-78/..2/&'&'/#!1&,')/0&/!+&)&5)$#0&,)$/)*',,)/!3())
-@853_15_194_F3
-T3312003232002.133223110.202022233223322222222.2222
-+
-4),('1&))2&&:!&)+2$1&&/!)'1'('1&&-)&&/')((.(#!-9*,
-@853_15_359_F3
-T2312212222011.102012313.300303032222122222222.3222
-+
-9-5/8.5458666!6393'5017!,5762*%')-(#$%+&&&'*&!$&0/
-@853_15_384_F3
-T3133101323312.322010203.031002333220220210301.1200
-+
-)8&)&'**7&)1,!3/)#5951-!%//'&/)45)&),(18)3&,1!8%)+
-@853_15_453_F3
-T1222100222231.121121231.022223111222221313200.1222
-+
-=15(&&<//1/'9!)9(',/&)8!53=1711,)<//=,'1&&('&!&),&
-@853_15_528_F3
-T3310331111111.132002232.222133021031300022022.2220
-+
-2%#3$##)##,#)!&)#$2(#)%!*'))('#&##&##'$$#&#++!'$/(
-@853_15_538_F3
-T3310122300211.033000210.003300000000030000000.0022
-+
-(-'#'%(,,2'%#!5,,,)*$()!,#/13,2%-2)2'*,4'(.4#!)2%$
-@853_15_618_F3
-T1002211010002.200223103.321003230000312000101.0000
-+
-,,5)%#,*##2,8!&92#&,,,#!,%'%,+,(,#,&%##**'#*)!,,*)
-@853_15_671_F3
-T0223232033121.210020003.102320022213221200033.1103
-+
-89:=<68:=<6<=!;1759986>!586>;:9<;989></=748@;!=<5>
-@853_15_679_F3
-T2012320131021.021000301.301112021120110211121.1220
-+
-751)&16<(5;7;!88;;<>->>!65;<;7;8>;6,=9=86=<6:!<18@
-@853_15_712_F3
-T1233032021200.210101331.201322333121322133331.3332
-+
-99A;4?<5;<542!:5484::;4!<8595:>=&-7&9&(&,&1/&!%/$-
-@853_15_741_F3
-T0213202132113.031320110.111002211200003100030.1031
-+
-;5693;6>671/9!+57%##(2,!$*30$)%/2*.'+4&),1.,,!/,'*
-@853_15_817_F3
-T1320033200102.123232033.233101022211211111021.1122
-+
-()&-<,71+<32(!>1&)&5&',!'/'/1')5;)/1'))/6)/:9!16&;
-@853_15_822_F3
-T3300212203112.303110100.122200020212110122111.2033
-+
-:8,757)1,;/;6!8,6:3<65.!>5(?(&3))7&,/3(&1*:5*!1)/&
-@853_15_866_F3
-T1030112000331.200012132.000200123122313020122.0031
-+
-898;;<>278+;9!;06//8$&8!,#'574%(;'.$*/,-%*6/*!9,%&
-@853_15_886_F3
-T2023310032313.221000120.222222222203222322222.0233
-+
-503)4-(1'13&,!8;:2'1&90!99<35&8;46&/(.8)05&12!$&&'
-@853_15_889_F3
-T3031023333212.331200320.002013223233002202033.3030
-+
-&4,&,'*'(9%$&!)%%%2#,($!(.#-#+#,##''#&###),(*!(##$
-@853_15_912_F3
-T3213002320031.331103330.002132020022312022120.2132
-+
-#62')81-#14.4!,:6-%0,/$!&222&.+5','11/(&%,)$%!2)#$
-@853_15_935_F3
-T3133221102202.233332220.122011131120220022220.0212
-+
-$5)##08%5*$8,!,),0'#'/.!$(#&$,1$'$&/&0&%)%'.$!$/#)
-@853_15_955_F3
-T2121112302133.010030202.222132131003220222330.0220
-+
-'&&,0:>):),=;!:1=;5=<=6!)>=,/,2&(&),=<&):5,()!74,)
-@853_15_959_F3
-T1233103213121.212133211.122132221333223212133.3121
-+
-/)8612)9,4)8/!928,*/$8%!&##),'&#.%))$$-#',&$.!(/#(
-@853_15_989_F3
-T3201022000312.210110122.132113122101220032200.2220
-+
-<>==;>;<;<>>=!=<:>==<<<!9=<&*&)+#+%&8)$$$3)('!5/&*
-@853_15_1024_F3
-T2231010331011.211302002.212322231101102132122.2322
-+
-9;:;7938:471,!)849:5513!-20>9;5:85&94:2160$$(!'',$
-@853_15_1036_F3
-T0320010231212.012322222.131131100322221212212.3200
-+
-8;*$46991<89;!181989:8:!7<;52::360'<78-3;9:-7!4<2&
-@853_15_1098_F3
-T3312310131203.000003312.200122112101211020010.2023
-+
-@:;(<917>:>.@!):/=,@??>!<?;;,;><9,,<::,);::&6!91:9
-@853_15_1126_F3
-T2213210223100.330321132.322121221121322321222.2222
-+
-&+9:).(;8&&&,!;'+1'51),!(5;9),(),10,<&,'45/*%!)').
-@853_15_1180_F3
-T2100330002323.120123301.312303133200001230220.1233
-+
-=>):3>=::;>;>!;><;;@>:=!=8<><>3>=89<:=17=:9>8!>7<9
-@853_15_1211_F3
-T3312001002231.112311121.012111020330113001012.1100
-+
-726+4517/:848!96&0+;9%3!:/)8)61)2*76&137:,&&4!(/+/
-@853_15_1220_F3
-T2110232023322.231012330.001102031322120001002.2102
-+
-,:(=/,,,,,7)'!(,;+(1*(8!71&-0('1-'*79&58((&2%!'$&&
-@853_15_1314_F3
-T1232330203102.212101301.200100023330312030031.0312
-+
-0(((;&A)'&&*)!(@(;6,'&<!7410/1<'7)+69:3(3,&/'!,+&(
-@853_15_1319_F3
-T1023122102102.203132330.111101121221102231303.3333
-+
-476<9<:47<5/9!68</:7:=)!3766578937454.5$2.8)3!7553
-@853_15_1380_F3
-T0231133023111.310221000.300112123201303300021.2022
-+
-387;A;537::7;!:?585669;!15<:855<;6<;897:9;60,!8)/%
-@853_15_1405_F3
-T0202221111231.111113311.011111122222002011022.3122
-+
-3/=8/79:3=877!;:98;;97:!978:<<<8<<8<8;::939;9!.6;<
-@853_15_1433_F3
-T0310100120332.312321022.221233001201223320202.3132
-+
-&.(8)57)475.,!'1&8-;96:!:7:.0)/0/-*.++.35:98%!&(%#
-@853_15_1452_F3
-T1130220031020.113131212.210022320221233230131.0212
-+
->@7=<<@A:?>>A!?>9?:@<?>!==>?<=6;><:8;<:<8?:8:!==87
-@853_15_1457_F3
-T1222213333233.301233332.110013300133202300323.2213
-+
-&)5##&(%#349:!/-/2%&)'+!',%##)'''&(&,##8-#-&+!)$#2
-@853_15_1474_F3
-T3333301013330.201032112.012122213221132221322.1222
-+
-:88::<:>::;<<!>=?:8>:<;!><6:=>:5*:,&,%,1*($/8!&)27
-@853_15_1495_F3
-T1133321130321.223311332.023322133223233223322.1223
-+
--17729.8$#=6,!,9=#1.:%2!#1)54,#.'#)$*')#&#,/(!&#*%
-@853_15_1548_F3
-T2012310310112.201020123.132222213202211011122.1020
-+
-3;;;83173;36?!5,18;:7:5!;:<;(5,$*:<).;1;6#2'2!%1(4
-@853_15_1581_F3
-T1200132101212.222300023.321110031210020113213.2202
-+
->9>:@<<?>>;65!8=4/5<;98!5:38/3<0826<9/);984$$!;//-
-@853_15_1603_F3
-T2031103212332.223110220.302220210303221100200.0211
-+
-<95;8@5=66:9<!=:6??;23.!%,62)=1:0'#+528)&2*4;!5*;1
-@853_15_1636_F3
-T3310211303302.023111232.001011110003122322100.0223
-+
-5:14:9;9)<#:<!6/9;66697!<.5+8=8:&85:14$;%&219!-5-:
-@853_15_1663_F3
-T2233020230232.322033111.001303213331221231303.3000
-+
-)*0,.,*;&&),4!&*3#*#%1&!'*:.%#(/7&'2$$###&#/$!)(/0
-@853_15_1726_F3
-T3011022330122.113123311.003103112111110002003.0100
-+
-,89*,&,.20///!),0&1/;/'!1(-933),6,);3),5(8,+3!-3&,
-@853_15_1733_F3
-T1113013230021.232133122.031002212300011001000.1112
-+
-)/&(/)9'6#5,-!*(0')&&8&!(39&',6(%$,5&/&%((((,!,/+-
-@853_15_1756_F3
-T1103222031220.212123310.011310330302303122333.2233
-+
-,5&4;17&73(1,!&&%,*9%&#!,(+(#&+#4)$%##.#.%*,%!4,'$
-@853_15_1794_F3
-T2221231303022.022023010.221322032322120332311.3213
-+
-=:@??=8%9$=/=!88>8><=?9!0?>=>,:<=8:A<;>18<7>*!5>,,
-@853_15_1876_F3
-T2221311021332.101230332.111000230102222310002.1031
-+
-<878888@8>8:;!@<;#::;5%!9:6.>=>5-:==61;<;9#>8!9-<7
-@853_15_1915_F3
-T1323002020313.110132112.012221202021132212100.0100
-+
->*(.+++/$7.*%!:&9%5())'!'9(#%'%)19$'-&)#/4&((!$$/8
-@853_15_1974_F3
-T3200002312331.022233323.021320331222211031102.2110
-+
-/&#*&-(%(&')'!&2*%1'-&%!'$#0&4$$&(.+&*'%5,.%.!&'%-
-@853_16_26_F3
-T2200303003123.332202133.022202222221222222222.2222
-+
-1,))'')''))&)!&',,&&&)'!&$.)&2),+.)&,,-%*,%31!1-.0
-@853_16_44_F3
-T1010220033031.131100202.322222222222222222222.2222
-+
-2116875/16111!5/3/1/1,1!&/$%%#%##.).))..$*,2.!-*%5
-@853_16_56_F3
-T2222220320012.222222222.222222222222222222222.2222
-+
-)&-&)%&'$(&&(!(*-#.#*(,!'*,##'#*)&3-'1,)/%/3'!%.)3
-@853_16_67_F3
-T3020301230012.320302200.122222233212012222222.2222
-+
-,)3%2,,3*,-,5!&#,/&/#.'!+%56,$#/,/&$'&1',6'+&!9.,%
-@853_16_112_F3
-T1200021122132.111211211.101321132100211222122.0222
-+
-3362355421137!65091,215!/.13303,</*/1/,$&5.&.!(92&
-@853_16_155_F3
-T2211222000221.222212222.122222222222222222222.2222
-+
-'%)&##,''&&#'!-41%&/'#)!.+#(&.0)'&#)/&$10+!,-.*
-@853_16_169_F3
-T1200213123132.220001100.311323132102222222202.2212
-+
-)956897392246!945/,5311!./8/9/,)938%:;>;1<8('!&*(*
-@853_16_319_F3
-T3212223211023.013011313.020220313111230111311.0111
-+
-42378.5,8;/46!97./)/15,!957,/<4;(4>:5(.9=7$3:!5+0:
-@853_16_375_F3
-T3332011121213.223022022.220021112220100221322.1222
-+
-><9<8<<:;8===!<>91;;;98!8;80?9<;;<81>77<;9.<'!'*71
-@853_16_447_F3
-T3302130221112.123102110.022103123222122220111.0203
-+
-$&&/,/&1)5++9!+,.-&5,1,!97502/&,+&),.019,,0,,!04)/
-@853_16_502_F3
-T1023113011002.032210023.012230013110011223013.1000
-+
-5:43<8;3384::!698638762!8;87.:99428:::31886.7!5929
-@853_16_506_F3
-T1022110220323.201110311.021300002020121031023.1000
-+
-2#*)#$)(-&,'&!(*9&4$)4)!5&&)14/4,(&#+(,)+,'(#!,%%/
-@853_16_513_F3
-T0332023210131.212020222.102202231311211133011.1122
-+
-7868<=;=3;;<=!;;8;9:<>;!69;<89;::4==6=>=9<3;>!8<%6
-@853_16_571_F3
-T2010033331133.302200220.122102023123200012222.2222
-+
-)'9)'.)&,/)&&!&9<4'1/&8!&')$-4(&)132+%56$)(78!6--7
-@853_16_622_F3
-T0013033001233.133330200.000000330003000000000.3000
-+
--6%%%:)20#,44!,%#(03#'+!5(,#%/'+*'(#$+(,4#$)-!#,#$
-@853_16_690_F3
-T0021310130010.202032022.110223101101310102100.0112
-+
-8<5476;6);4,,!9:2:61774!=,3&18:835<5+6554+%,9!5&-4
-@853_16_697_F3
-T1231230012311.132303323.310130033010101111222.1310
-+
-=;6545<64$65*!52:651975!&1:195236<)$9;9257,3/!+,65
-@853_16_791_F3
-T1110102111131.110203033.121212111131211113111.2111
-+
-AAA>A?AA@AA>A!@A>@>?=@>!?:@=A:?@@=<@;><9386(3!&6/:
-@853_16_804_F3
-T3133010300211.330333311.122313112302002200031.2333
-+
-'+$(()3/*&1):!&)8)).)+5!)(3,:(+)&&'8&&4-22/71!&('0
-@853_16_830_F3
-T3230012031232.130212222.012232100113320211310.1221
-+
-=(&9)'7#,(((5!)+(.:)(0/!'<*&82:'$(,1+/&%5&0*)!):-'
-@853_16_871_F3
-T3201000013102.303333121.003330012300022302213.2223
-+
-;:55688;5<903!97$::A1//!87:;6:=377:;692</96+3!*-+&
-@853_16_874_F3
-T2301033231033.020002133.133030332300323313233.3133
-+
-,&2$56:88378)!:(.%1(192!)8/&#+&7)#%*'2$#*''&%!)#'(
-@853_16_892_F3
-T3321220311213.332101020.231311213111213212011.3011
-+
-######5#/$#-#!##$#/('#*!##(#&+&&#+)##########!####
-@853_16_919_F3
-T1220221133122.203221113.002222222222222213332.2212
-+
-##$####$$)##$!##%#####(!###$%##%$*##'))&#$#&$!#%#(
-@853_16_941_F3
-T3310301301311.011321102.321223223120112231222.1222
-+
-,-##)2-)&')1)!$0(###&$#!##(###*####%######$##!$#$#
-@853_16_1040_F3
-T3222002222223.332302032.322031103321223221212.3031
-+
-/8+&5&&-,/+11!4/(//01)6!.)&,)$17.+%9'/)%)''0%!+&)&
-@853_16_1049_F3
-T1100033003303.021320321.111301320233200033001.0000
-+
->?==@8:9@8948!4=,6604)4!$#/.&#*+7%(,,'%,&$&,#!%5/&
-@853_16_1063_F3
-T1123202211000.302123303.122302023333231103220.1212
-+
--,1/&+))(/(+&!7*&&6>+))!93',:6',15%$(/):5+7:.!78//
-@853_16_1081_F3
-T0012023221322.322222022.202022222222222222222.2222
-+
-#############!#########!#####################!####
-@853_16_1142_F3
-T2222003033021.112113112.023101132021212223001.1200
-+
-,,-)-0/%-35)*!/530/66)*!00/75502%73%#$#-#&#&0!$#,.
-@853_16_1155_F3
-T3211301033030.010023021.222211203303330033130.0203
-+
-442986&)1+4;)!&:41+;&0-!5/0'/5.945/06,6(475/6!3'3/
-@853_16_1188_F3
-T3213220312022.213131000.032301320320100303322.3322
-+
-'&-.-44###,#(!*/)%$1'#7!###$3#*%%$,.#,%%###$(!#%)#
-@853_16_1231_F3
-T0032303211001.310313100.320000200213333000302.3232
-+
-4<7$56::%36:7!;,:82:,74!878>49/%)33435#8#160(!1)&.
-@853_16_1285_F3
-T1110130123031.110222221.003111112232000001113.1113
-+
-/*+####$####%!########)!#(#&####$############!####
-@853_16_1300_F3
-T0011232200000.110012222.101002200130311033003.0300
-+
-+2.'$)%052#4+!40/&($#-&!)%'(($$-1$&$'+,6($%*&!'#)7
-@853_16_1391_F3
-T3113212223000.101202111.201002121202012103121.1121
-+
->AA<AAAA?=>>=!>9=A<@@@>!@8><<A;5>A8<3?@@77:?;!>8?1
-@853_16_1397_F3
-T2120211222223.012212231.032321102311221213223.3133
-+
-78/%(8/17(193!6=(:71:/1!&*('(::,6/<=&17-&&3/+!=,5=
-@853_16_1528_F3
-T1011223130211.130021111.233321321121322131121.1121
-+
->9>A>?=@<=@?A!A><8=<:@>!<<;>A:><>568:&&63)0/&!(,9)
-@853_16_1574_F3
-T2103333220002.302023111.231021311232100032103.1212
-+
-8<5#-/4.86631!#/63'#,9%!07@08+4:'#):>//(-5+&-!8,&6
-@853_16_1593_F3
-T1320102033202.110112100.103112112021110222002.2323
-+
-'&$3'&%'',&,'!%$$$,%%*%!$),$4-*/'&+&,$$'33(.,!)/'%
-@853_16_1653_F3
-T0300012120022.111332202.010231221033110201300.2102
-+
-=7:8:;<;:<>=8!=<:<;;=<<!=;;9;=<:89=;>:=9<=8;>!95:5
-@853_16_1698_F3
-T3003323013003.033033222.211103000122022112121.1210
-+
-96<89;;><88<;!86;7=9<:9!79<7276;:7-918;+8689,!:;;0
-@853_16_1746_F3
-T3003322312011.031233000.313001220020120330301.1330
-+
-=;>;;@<<A8>=1!;:=8:;=89!:<7/=8>6/=::9/>>;88=9!=69,
-@853_16_1806_F3
-T3022322013100.301112103.001112221321112001312.2012
-+
-8A;866>=<7@??!4><>?<@=5!A>=;<::4<&2/0#$0#/$0$!$&&#
-@853_16_1821_F3
-T2133312220333.203003203.132322202222220113310.1220
-+
-:,61:5;<18;=<!:,=(294,6!/,)1+,,1-32*0$.0#,&&)!(,:)
-@853_16_1842_F3
-T2022031201310.230002012.310222131210221100011.0130
-+
-6>;8A<:<>8:7?!9:@;==?96!8=89<>=3=9<=;;9==>97=!8608
-@853_16_1853_F3
-T2332123123202.112200333.212101231122012220211.2203
-+
-)3)1;'3),)<9:!1<)6'7)7=!66)&/&,7/,3)&),,,,)&/!):,4
-@853_16_1871_F3
-T1310331222123.031120212.231120302120122222221.2111
-+
-:.(6'1/)(.;,'!>5331%67&!,2+6'()'&4-)3.8.&(&),!&,&%
-@853_16_1887_F3
-T3332021100203.001331023.300022222012120111033.1003
-+
-;:8>9<A>><>=;!==<::7>:9!4<>:;><>=>==@=?:9=+9:!=6:5
-@853_16_1919_F3
-T3331012121211.303003033.131111320313213223300.0202
-+
-2,*:;=9:9:785!28,=67<22!;88<<951;292724291,;<!7$9+
-@853_16_1924_F3
-T1201123330103.233221210.100211100211001133123.1002
-+
-,81.>)63.))&,!/4$/'&,//!,+3)&5>&&&)(;97>('76)!6:)-
-@853_16_1982_F3
-T0331130320230.220330112.210312121022203321222.2302
-+
-<88<;9<6<=8;<!;4::8<:@:!>:;;:=6:69===97;9:9>=!=4,<
-@853_16_2037_F3
-T.13331.12..23.10..2..02.2323120.3.320..10.021.2..1
-+
-!9799=!=:!!:9!==!!8!!>:!;8=9<;=!9!:;5!!;8!679!,!!6
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/fr.csf
--- a/test-data/fr.csf Wed Jan 13 18:33:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1001 +0,0 @@
-# Sun Oct 4 18:40:32 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/solid176/solid176_20090923/Somali_Wild_Ass_a/results.01/primary.20091004212559515 --name=solid176_20090923_Somali_Wild_Ass_a --tag=F3 --minlength=50 --mincalls=25 --prefix=T /data/results/solid176/solid176_20090923/Somali_Wild_Ass_a/jobs/postPrimerSetPrimary.1062/rawseq
-# Cwd: /state/partition1/home/pipeline
-# Title: solid176_20090923_Somali_Wild_Ass_a
->853_7_53_F3
-T..02.1120..22.2..230.22.3..033212.1.1....2221...12
->853_7_78_F3
-T..13.2222..22.2..222.22.2..222212.2.2....2222...22
->853_7_88_F3
-T..23.2221..13.2..033.30.1..010220.1.2....2222...22
->853_7_132_F3
-T..22.2032..32.2..222.22.2..222222.2.2....2222...22
->853_7_141_F3
-T..22.2112..10.2..221.02.1..220112.0.2....0222...22
->853_7_146_F3
-T..12.1011..21.2..213.22.2..222222.2.2....2222...22
->853_7_269_F3
-T..12.2222..22.2..222.22.2..222222.2.2....2222...22
->853_7_321_F3
-T..20.2322..21.3..222.12.1..120012.3.0....2000...22
->853_7_386_F3
-T..12.2302..20.2..231.12.0..200232.3.2....0002...22
->853_7_405_F3
-T..21.0221..31.2..000.23.2..020022.0.2....0313...12
->853_7_411_F3
-T..10.2000..33.2..022.02.0..200222.2.0....0000...00
->853_7_445_F3
-T..30.3210..01.1..120.11.3..301222.1.2....3222...22
->853_7_469_F3
-T..22.0102..20.3..200.21.0..002202.2.2....0203...02
->853_7_474_F3
-T..30.1122..22.3..111.21.3..222020.2.2....2203...23
->853_7_497_F3
-T..10.0200..22.1..112.03.0..100121.2.2....3132...21
->853_7_587_F3
-T..22.2022..01.2..323.23.0..323322.1.1....2212...20
->853_7_630_F3
-T..13.0022..11.1..213.10.0..031113.3.3....1112...20
->853_7_655_F3
-T..01.0023..02.2..301.32.3..232113.2.2....2222...22
->853_7_692_F3
-T..00.0122..02.3..230.21.2..301213.2.1....1122...22
->853_7_715_F3
-T..00.0213..21.3..131.12.0..202011.1.0....0221...22
->853_7_719_F3
-T..00.2231..02.0..122.13.0..003022.0.1....1010...02
->853_7_743_F3
-T..11.0201..00.1..303.01.1..021332.3.3....3223...23
->853_7_791_F3
-T..20.3311..03.2..301.01.2..122002.2.1....3123...21
->853_7_801_F3
-T..00.0323..21.1..112.23.3..132022.2.1....2122...22
->853_7_845_F3
-T..01.3303..01.1..102.03.1..222102.0.0....0231...12
->853_7_868_F3
-T..31.3103..12.1..211.32.2..223200.2.3....1031...21
->853_7_1026_F3
-T..22.3032..03.3..110.32.3..212230.3.0....1111...13
->853_7_1057_F3
-T..30.3112..22.2..132.21.0..332122.2.2....2220...32
->853_7_1066_F3
-T..01.1122..00.0..131.32.0..230030.3.3....2000...30
->853_7_1107_F3
-T..20.0301..13.2..003.10.0..300221.2.1....3300...32
->853_7_1179_F3
-T..02.3301..32.0..310.03.3..312300.3.3....1320...03
->853_7_1198_F3
-T..32.2203..31.2..111.13.1..312322.2.2....1103...22
->853_7_1261_F3
-T..20.3233..32.2..223.22.3..232033.2.3....0322...23
->853_7_1321_F3
-T..00.0321..22.2..100.11.1..120210.0.2....2211...02
->853_7_1406_F3
-T..13.0310..13.2..031.32.0..002230.0.2....0231...11
->853_7_1431_F3
-T..11.0032..21.1..310.00.0..321021.0.2....3030...02
->853_7_1439_F3
-T..20.0132..13.1..212.32.2..222110.3.0....2132...22
->853_7_1524_F3
-T..20.1110..13.3..201.33.3..320121.1.3....3321...20
->853_7_1537_F3
-T..12.1030..02.0..011.30.1..111200.0.3....2033...11
->853_7_1592_F3
-T..21.3233..02.1..000.22.0..121233.3.1....3223...22
->853_7_1597_F3
-T..12.3100..33.0..312.02.1..000000.3.1....1100...00
->853_7_1650_F3
-T..00.2212..12.1..203.13.3..102012.0.2....3333...30
->853_7_1790_F3
-T..23.1021..32.0..130.13.0..012301.0.1....0001...10
->853_7_1795_F3
-T..22.2123..01.0..222.31.3..233211.0.1....2312...03
->853_7_1807_F3
-T..03.0310..02.3..121.20.1..333122.3.1....0302...12
->853_7_1872_F3
-T..01.2331..12.2..200.02.3..302232.3.1....1203...23
->853_7_1885_F3
-T..10.3010..11.2..331.21.2..230213.1.3....0132...32
->853_7_1910_F3
-T..11.1002..20.1..000.20.1..111022.2.0....3311...23
->853_8_43_F3
-T..32100023203.2..110.31.120321022.100.1.11202..211
->853_8_48_F3
-T..21122022323.1..222.32.020211202.222.2.20222..222
->853_8_57_F3
-T..23231203232.2..212.22.222222232.222.2.22222..222
->853_8_106_F3
-T..23112221210.3..001.02.032222322.212.2.22222..220
->853_8_196_F3
-T..00233022111.0..002.20.021222222.020.0.22222..222
->853_8_211_F3
-T..20112122111.2..112.22.220222212.122.0.21222..222
->853_8_227_F3
-T..10201100320.2..302.10.312330220.312.2.02221..221
->853_8_248_F3
-T..21312120022.0..122.22.222222232.222.2.23222..222
->853_8_253_F3
-T..21322103032.2..222.22.222222222.222.2.22222..222
->853_8_342_F3
-T..13021033322.2..301.32.230300120.122.0.02112..223
->853_8_400_F3
-T..22033300003.2..212.31.222123211.122.0.22023..221
->853_8_422_F3
-T..01111020122.2..201.22.120231110.221.2.22212..222
->853_8_555_F3
-T..02332301011.0..112.00.033000312.302.3.13300..023
->853_8_638_F3
-T..00113230133.1..100.22.131113302.011.1.20020..320
->853_8_735_F3
-T..00011213121.3..001.11.003311000.222.0.22003..303
->853_8_888_F3
-T..02110321212.0..222.12.220011220.032.1.02322..333
->853_8_893_F3
-T..00112301113.2..023.21.002311320.100.3.21200..012
->853_8_898_F3
-T..33330033033.3..022.31.223030333.212.1.01232..322
->853_8_920_F3
-T..02321113231.0..302.30.010200220.321.0.01122..130
->853_8_958_F3
-T..03321221220.3..021.12.001030231.030.3.21222..222
->853_8_1076_F3
-T..22322100313.1..102.12.332320213.211.0.13003..112
->853_8_1081_F3
-T..10030322221.2..000.20.002012320.222.2.21001..102
->853_8_1134_F3
-T..33002312331.0..101.03.213221112.000.3.03233..123
->853_8_1157_F3
-T..00333123321.1..100.11.112120200.230.0.21203..230
->853_8_1173_F3
-T..30202112233.3..320.02.123012201.311.2.32000..122
->853_8_1215_F3
-T..22310320211.2..131.10.232003230.102.2.11010..031
->853_8_1223_F3
-T..10222220120.1..111.11.123301223.133.3.22333..111
->853_8_1229_F3
-T..10011030332.0..200.31.312001011.220.1.11010..131
->853_8_1234_F3
-T..33303001323.3..211.32.311201012.323.1.21333..221
->853_8_1255_F3
-T..31322212222.0..003.20.121221012.212.2.03220..230
->853_8_1315_F3
-T..32221201122.2..223.33.132223100.221.0.20222..232
->853_8_1372_F3
-T..02101130220.1..113.23.121310222.233.3.12203..310
->853_8_1461_F3
-T..00011120113.3..213.01.030001322.203.2.32222..222
->853_8_1475_F3
-T..21310212220.3..100.02.122303121.002.3.12213..213
->853_8_1567_F3
-T..02200001131.3..311.10.132232122.322.1.23023..002
->853_8_1662_F3
-T..02221200121.2..022.10.310222220.231.2.12011..003
->853_8_1669_F3
-T..23233312111.0..213.12.133322002.221.1.11110..113
->853_8_1758_F3
-T..12201012113.2..001.10.100122000.000.2.00000..220
->853_8_1764_F3
-T..11002002020.2..110.31.120112122.132.3.33003..102
->853_8_1824_F3
-T..03311120021.1..310.13.320330301.220.3.30122..132
->853_8_1835_F3
-T..21020321003.3..110.20.000022103.122.1.13220..033
->853_8_1917_F3
-T..23111010120.2..232.32.121231102.101.1.21322..222
->853_8_1930_F3
-T..31110222033.0..021.11.103010131.300.2.22212..311
->853_8_1938_F3
-T..20302201110.2..211.22.132123322.120.1.31210..211
->853_8_1984_F3
-T..13030120302.0..030.11.202121322.112.1.30000..212
->853_8_2005_F3
-T..03113122102.2..101.20.002313003.110.1.01020..001
->853_8_2031_F3
-T..22312022312.0..002.22.223022123.001.3.02200...00
->853_9_6_F3
-T3222.021.1002.223202.22.222222122.222.2222.22.222.
->853_9_22_F3
-T3212221120222.222223.22.222222222.222.2222222.2222
->853_9_70_F3
-T1232131203111.331113.12.211213201.221.2221222.2222
->853_9_120_F3
-T2030201011012.012222.33.100032000.130.2013202.1222
->853_9_156_F3
-T3321020210022.132222.22.222222222.222.2222222.2222
->853_9_189_F3
-T2220100322033.222211.00.111112003.313.0212203.2200
->853_9_243_F3
-T3312311120013.312312.33.330022332.202.0202222.2222
->853_9_295_F3
-T3322303220223.233321.20.002302222.122.2221222.2222
->853_9_299_F3
-T2212302322021.122112.23.102311100.121.1012120.0220
->853_9_311_F3
-T3002321221310.212333.32.202232132.222.0222221.2222
->853_9_326_F3
-T2210200022032.010112.12.121321102.222.1332222.1222
->853_9_451_F3
-T1313220202311.230012.31.313200122.100.2111321.2232
->853_9_485_F3
-T1012221322221.213211.23.110010113.123.2132121.0222
->853_9_509_F3
-T1112203021113.100101.20.031203011.213.2002211.1222
->853_9_538_F3
-T2230021213312.123100.00.203202301.223.0112020.3322
->853_9_548_F3
-T0132222011033.010321.23.303222223.222.2223322.3322
->853_9_574_F3
-T0003331113101.303333.21.213311213.222.2321222.2222
->853_9_589_F3
-T3020133021133.203200.02.030202120.123.0113212.0220
->853_9_595_F3
-T2221011230111.231023.00.021011112.330.2130120.1203
->853_9_750_F3
-T2201102121222.302002.22.221321132.332.2020223.2121
->853_9_783_F3
-T2102221003120.330300.21.302010320.231.2133001.1202
->853_9_814_F3
-T1200101012011.312003.00.330011010.220.0222213.3122
->853_9_924_F3
-T3003021221101.202301.02.111120122.123.1010103.3110
->853_9_1019_F3
-T2120212011102.211122.20.210120211.031.1301102.2021
->853_9_1046_F3
-T0101121011013.012213.12.122113221.112.0101211.1223
->853_9_1126_F3
-T3320221032332.112122.11.232123121.301.1210212.2222
->853_9_1192_F3
-T3312212100322.301202.12.020132101.011.1011212.2232
->853_9_1243_F3
-T2212213200232.121320.01.323212013.200.0130313.3233
->853_9_1272_F3
-T3113210021031.002131.03.130002013.110.2003310.3011
->853_9_1339_F3
-T2101230022200.310112.01.133031320.201.3331311.2012
->853_9_1358_F3
-T3320111221222.120310.11.230202223.122.0122200.0201
->853_9_1364_F3
-T0102331230200.010010.13.233311001.233.1100312.1222
->853_9_1397_F3
-T2312020122101.033322.03.022121000.011.0131220.1130
->853_9_1425_F3
-T1132332020203.323331.10.133320202.311.3222311.3330
->853_9_1446_F3
-T1332212000022.212222.13.021232232.213.1001302.0300
->853_9_1479_F3
-T3031333311130.333221.02.122333123.032.2211110.2332
->853_9_1503_F3
-T2231320200020.131311.11.232031120.231.0013222.2222
->853_9_1512_F3
-T2333032222302.121133.20.001231203.233.3020000.0200
->853_9_1530_F3
-T3213220202302.221131.03.120222222.020.1131133.1313
->853_9_1559_F3
-T1110111121111.113211.01.310210020.112.1113102.0321
->853_9_1601_F3
-T3232030011033.203002.00.123300322.113.0010121.0331
->853_9_1636_F3
-T0010012303222.120103.33.330322222.122.3113033.3001
->853_9_1657_F3
-T1123103213301.312223.03.133301112.222.1213233.1233
->853_9_1675_F3
-T3313013311000.313233.11.112203113.120.2211112.1313
->853_9_1709_F3
-T3011001101311.031010.11.000033010.030.2032000.2000
->853_9_1722_F3
-T0021012221000.222012.20.202211312.020.3331130.3113
->853_9_1728_F3
-T3322221032321.211112.31.012301302.333.0301101.3103
->853_9_1739_F3
-T2010003210112.011000.31.320103212.122.2132333.2222
->853_9_1870_F3
-T2212303303300.202201.02.333103031.332.0322203.2223
->853_9_1923_F3
-T0300322132333.221111.02.233001011.000.1122132.2131
->853_9_1943_F3
-T0122230112231.013112.01.202313211.020.2202120.1120
->853_9_1970_F3
-T1320210131121.331212.13.233310233.031.1111331.3020
->853_9_2024_F3
-T3011020132232.011002.01.230121230.022.2320210.1220
->853_10_26_F3
-T3300222111210.212222.22.220222212.222.2221122.2322
->853_10_63_F3
-T0011121023110.100223.13.210101231.103.2222222.2222
->853_10_221_F3
-T2223312323322.102231.00.202132012.221.2322202.2222
->853_10_254_F3
-T2011202101022.222222.20.202222222.122.2222222.2222
->853_10_285_F3
-T1000220221200.132200.01.232221210.032.2101130.1132
->853_10_317_F3
-T0020230210321.031322.31.032332100.200.2212002.2022
->853_10_329_F3
-T2010200322033.310112.12.011220102.222.1332221.1222
->853_10_349_F3
-T3031031031312.133031.31.220312113.213.3222320.1212
->853_10_354_F3
-T1320122002030.212221.12.232210122.222.2222222.2222
->853_10_370_F3
-T2322231103221.011031.13.231332301.312.0232122.1233
->853_10_464_F3
-T3330010000212.300131.13.112322331.023.0331120.2221
->853_10_491_F3
-T3223302200011.023222.32.031020232.233.3211222.2222
->853_10_512_F3
-T1210222121121.222302.02.321102023.201.0332212.1212
->853_10_517_F3
-T0000201333120.213001.30.020133111.031.1111133.1133
->853_10_560_F3
-T3230002002001.210031.11.103301002.122.1220320.2123
->853_10_604_F3
-T1032122022103.222321.22.012232132.321.1010201.0302
->853_10_659_F3
-T1201100030102.223301.21.332202113.022.2221012.0011
->853_10_684_F3
-T1330201102202.321002.10.333002110.222.0221111.1000
->853_10_703_F3
-T1022030001113.000331.01.111001102.001.2102023.1120
->853_10_707_F3
-T1223030002221.033223.00.023213111.032.0333020.2200
->853_10_728_F3
-T2213112011111.130322.02.321122031.002.1110333.2202
->853_10_761_F3
-T3302220103103.220211.11.111230232.012.2022220.0222
->853_10_875_F3
-T1313213021302.023221.30.130212021.222.0213121.3212
->853_10_914_F3
-T3110012323223.012101.21.100223330.121.2211222.3322
->853_10_955_F3
-T3332010100311.122131.30.220001131.301.2221110.0231
->853_10_966_F3
-T3000010112221.310121.01.010103222.210.2222222.2122
->853_10_971_F3
-T3300220331100.110110.23.321023321.330.0101321.2221
->853_10_982_F3
-T1223223121032.232303.23.022302133.233.3332013.2332
->853_10_990_F3
-T2021031201033.133023.11.213012011.102.2221322.0123
->853_10_1038_F3
-T0110022322300.202330.22.230120310.313.3121231.2300
->853_10_1097_F3
-T1301300302122.001100.21.032120300.322.2222102.2000
->853_10_1144_F3
-T3000003202132.300013.00.120002011.121.2021010.2012
->853_10_1153_F3
-T1112233202031.033032.20.313112310.232.0001211.1101
->853_10_1219_F3
-T0220020211300.110223.13.032102023.003.3212322.2120
->853_10_1415_F3
-T3310131131130.303220.33.131331311.111.2133111.3111
->853_10_1466_F3
-T2122033302111.121230.02.303030131.101.1301001.0023
->853_10_1684_F3
-T1101100223023.110012.22.110331022.303.3211320.1223
->853_10_1774_F3
-T3003300312003.222212.22.001103322.002.3232312.0101
->853_10_1797_F3
-T0103231100311.103321.01.112002201.000.0202000.3120
->853_10_1964_F3
-T3230330222203.033201.21.111313022.322.0133330.0333
->853_10_2037_F3
-T.00001.02..11.32..0..12.1210111.0.000..01.003.2..0
->853_11_36_F3
-T3022220202000.222222322.2123223222222.2222222.2222
->853_11_179_F3
-T2133203212003.201322101.2232122223212.2222222.2222
->853_11_291_F3
-T3233110200122.212330222.0002020221323.2112222.1222
->853_11_304_F3
-T3312200211122.122122233.2222332232222.2211222.2222
->853_11_339_F3
-T3133232330333.203330202.0202230222222.2322222.2222
->853_11_377_F3
-T2232022322002.122222221.3110121200111.2221320.1220
->853_11_392_F3
-T3330233333233.312000222.3223022221103.2302223.3222
->853_11_436_F3
-T1220231200111.330211130.3010200210200.1222222.1222
->853_11_440_F3
-T1022000003021.200322201.3112033122232.1312322.3321
->853_11_502_F3
-T1320301323013.110212102.2302221322213.2213203.3222
->853_11_522_F3
-T3332013001310.001310133.1012022011001.3121103.1212
->853_11_544_F3
-T0323022233033.102122100.1130233202331.2210033.3200
->853_11_580_F3
-T3312132311002.110012113.0213220112200.1321321.3101
->853_11_616_F3
-T1332213010203.120213203.2213012200111.0300131.0010
->853_11_625_F3
-T0010021110212.131001310.0001030012000.0003021.3001
->853_11_698_F3
-T2021201222011.300201111.0001200022100.2132213.3200
->853_11_744_F3
-T1103030333000.223330300.0233312013201.2323220.2022
->853_11_768_F3
-T2010000023112.321122031.1201231012221.2221221.1222
->853_11_775_F3
-T3022212131313.111232231.3201330022122.1321131.0231
->853_11_794_F3
-T3010320001322.013320113.0011023210312.1120000.0331
->853_11_835_F3
-T0010311130231.213113121.2113330010220.0012232.2203
->853_11_845_F3
-T0000322301231.022100321.2310021301230.1301222.2132
->853_11_860_F3
-T3021012320013.223233220.0033302203300.0223020.3033
->853_11_879_F3
-T1113233212112.300121022.1330101220021.3220122.1123
->853_11_900_F3
-T3211213110233.130330101.0121003010022.2110222.3202
->853_11_930_F3
-T0000222120013.020111211.3202200113012.1301232.1111
->853_11_997_F3
-T3212210001220.212002102.2112002012100.2131301.0030
->853_11_1002_F3
-T3330000113300.313312102.0312030330311.3331201.1213
->853_11_1113_F3
-T2000122331220.122030022.0122330113102.2113130.2321
->853_11_1130_F3
-T3200012120032.002200332.0031111122002.3312202.0020
->853_11_1160_F3
-T2121233002001.210312301.2213313001313.3211202.1232
->853_11_1289_F3
-T3202030030000.322322200.2212223121322.1232113.2302
->853_11_1294_F3
-T3012121230122.112212223.3101330211122.2332331.2011
->853_11_1308_F3
-T1313222031123.213112233.3132330320321.2220233.3322
->853_11_1324_F3
-T2222132323301.120330302.1323202011301.1113110.1332
->853_11_1333_F3
-T1313122003300.033223031.2201232301222.3212022.3102
->853_11_1346_F3
-T2332133022333.022120203.3322113331122.1133233.2212
->853_11_1352_F3
-T3322311331130.202323023.3100113032320.2313223.0312
->853_11_1409_F3
-T3000220011111.020033110.2210210002000.2312312.1222
->853_11_1420_F3
-T2013221030202.321222212.2213212021222.2222222.3222
->853_11_1517_F3
-T2120330010112.111203322.0111322233311.1302100.2333
->853_11_1553_F3
-T2100002220130.022031233.0323211101000.1213332.1321
->853_11_1571_F3
-T1311202212210.203333311.0032311112120.0021233.1232
->853_11_1594_F3
-T2303312230022.320123233.0110003313310.0312023.1002
->853_11_1616_F3
-T1313130323223.231222330.0322213112101.3223122.2222
->853_11_1621_F3
-T1100000112201.030113022.0032000002303.3330222.2223
->853_11_1630_F3
-T3010033021202.301000112.2111320021311.2010121.2211
->853_11_1700_F3
-T3023132213003.332000022.0321030333311.2312301.1020
->853_11_1732_F3
-T2230101330100.230100230.0023010023001.0230100.0103
->853_11_1746_F3
-T1022030110123.110220002.0032200021021.2012223.2031
->853_11_1751_F3
-T1321123132330.322312233.0002212012222.2303232.1332
->853_11_1789_F3
-T3120220123221.330223010.3032333132232.0320331.0222
->853_11_1808_F3
-T2200210320103.302111322.1213332020311.0102302.0001
->853_11_1885_F3
-T3102132020013.301111332.0012211010132.2121220.1020
->853_11_1895_F3
-T3010323301021.211001312.3132133230000.1121113.0211
->853_11_1917_F3
-T3213333130023.122312102.3210303123011.3111222.1112
->853_11_1972_F3
-T3320202011222.332212311.0210023130323.1101303.3020
->853_12_125_F3
-T0122203032010.301211220.2020123011223.0222212.0112
->853_12_145_F3
-T3022203001220.023331221.1200322220021.1221211.2222
->853_12_163_F3
-T1222103312023.230232332.1020022122222.2222222.2222
->853_12_185_F3
-T0023122233030.011210213.3131331233020.3110223.3222
->853_12_204_F3
-T1222222123232.232222212.2222222222222.2222222.2222
->853_12_237_F3
-T0000022331132.222222333.3311033000030.2221220.2222
->853_12_267_F3
-T2230202310213.023211312.1121133021300.2222223.2222
->853_12_447_F3
-T3112110011111.111121122.2222000122212.2222221.2222
->853_12_470_F3
-T3021111321322.210201112.2212222222222.2221221.1212
->853_12_590_F3
-T3022110011033.233210110.0121122213113.1310111.2312
->853_12_673_F3
-T1220213321222.322102301.2030210300221.2020011.3011
->853_12_716_F3
-T2122001013310.011201310.0123302301200.0010021.1200
->853_12_779_F3
-T2133001332023.213122231.3012102322222.2212023.2222
->853_12_889_F3
-T3303031221020.331221220.0200133301322.1012132.3031
->853_12_904_F3
-T3213212303022.313222231.0132221322032.2113303.3332
->853_12_937_F3
-T0000223011112.023212222.1122101321330.1021310.0111
->853_12_1024_F3
-T1123310321001.131333011.1101132121120.1321103.1223
->853_12_1133_F3
-T3322011120232.200100233.1000213211000.1300202.0020
->853_12_1138_F3
-T3120320131023.003333230.0023011210011.2221222.2122
->853_12_1200_F3
-T3310231310102.021130312.1032221320310.3323230.2311
->853_12_1216_F3
-T0102231310023.331220320.2302130333302.2232233.3003
->853_12_1258_F3
-T1012002321300.200321333.1113322211001.0221102.2003
->853_12_1269_F3
-T3113010302021.230122003.3012223330113.0011022.2221
->853_12_1277_F3
-T0012022113033.123022220.3300123212111.0332000.0333
->853_12_1302_F3
-T1230301120223.101200120.3100322101322.2222320.2322
->853_12_1376_F3
-T3030320223230.132032232.2221221200220.2133111.1012
->853_12_1405_F3
-T3012222112131.231011301.1001120002210.2012022.3122
->853_12_1460_F3
-T0112221311210.003030231.2300123012202.2100122.1102
->853_12_1471_F3
-T3330022331201.122130030.3120120330033.1011230.2321
->853_12_1525_F3
-T0013020211211.010100221.1122001210211.3121111.2111
->853_12_1581_F3
-T1200133101202.221322233.3212130022200.2212222.0222
->853_12_1588_F3
-T0012021002110.031022122.2033113112102.0332203.1111
->853_12_1651_F3
-T3020020112212.230113122.3012330121130.3300302.3111
->853_12_1655_F3
-T3300132113212.231120102.3101302222222.2222223.3230
->853_12_1678_F3
-T3222013101022.312110110.1021122231022.1122202.1213
->853_12_1690_F3
-T3003002211333.100013020.2201200311003.1130022.0322
->853_12_1779_F3
-T0102310313122.202100330.3103121320021.0202000.1203
->853_12_1813_F3
-T2212223211313.231233331.0033022201031.0000120.1113
->853_12_1826_F3
-T1222312110312.213033300.1000031111002.3110021.3002
->853_12_1848_F3
-T2021222331213.113303133.1233222332222.1221321.1222
->853_12_1868_F3
-T1222000220021.123301000.0333030322132.2112221.2221
->853_12_1929_F3
-T1103313131131.222012212.0312030312000.1222202.0101
->853_12_1932_F3
-T2123313131211.020220311.2211002200130.0211000.1201
->853_12_1989_F3
-T2213232100320.012011212.0303100120321.2203122.1312
->853_12_1993_F3
-T1233001233011.122013222.1113220033221.2113123.1322
->853_12_1998_F3
-T1313020112301.300013200.0002121033113.2023230.0200
->853_13_229_F3
-T3032130221003.212100220.1322333123123.3323221.2222
->853_13_261_F3
-T3223332332112.021201132.2212032220222.2211222.2222
->853_13_287_F3
-T3002301011111.300132221.3022223012231.2202122.3222
->853_13_298_F3
-T3310133113333.333222212.3002221122001.0012122.1222
->853_13_308_F3
-T1330000332213.203321132.0230322332222.2022222.2222
->853_13_366_F3
-T0030302032002.002300202.0221333220013.0003331.3322
->853_13_396_F3
-T0223210101303.230033113.3012132123322.3222222.2322
->853_13_414_F3
-T3321112211211.011012222.3012121222112.2200320.2222
->853_13_479_F3
-T0032301322021.222001320.0203221022200.0033131.2111
->853_13_531_F3
-T3301031311101.221031311.2122220110102.3031313.2121
->853_13_553_F3
-T0102021320313.221012301.1232102100010.0113221.1010
->853_13_594_F3
-T2012000102023.201011200.0212232221120.2230010.0002
->853_13_602_F3
-T0032210202213.213101232.0022021020220.2020202.0222
->853_13_638_F3
-T3130021123000.023312112.0303100120000.0031212.3210
->853_13_648_F3
-T1231301002302.211020211.1110213202321.2112223.1222
->853_13_721_F3
-T3333230132303.100130302.0233233332233.0030320.1133
->853_13_809_F3
-T0003331131002.130231211.1113311200111.3100131.1331
->853_13_850_F3
-T1031012102222.202211131.0311102002103.1122003.0000
->853_13_1030_F3
-T3132033320122.112200201.1121312211221.2133221.1222
->853_13_1042_F3
-T3212332011113.232102322.2022221122232.3221322.2332
->853_13_1092_F3
-T0112000212200.122210020.3102222201222.1122222.2222
->853_13_1171_F3
-T0223320230220.021233321.2333222302221.0312131.0002
->853_13_1222_F3
-T2112021113011.311011302.0231220013331.1311020.0013
->853_13_1226_F3
-T2302002311200.321000031.3213001222231.2320023.3321
->853_13_1245_F3
-T0313130301321.113221002.2122101210030.0133321.2011
->853_13_1280_F3
-T3311003112132.133322131.3233121321313.3002103.2123
->853_13_1306_F3
-T1111012002203.213122200.3102300123331.3000003.0021
->853_13_1341_F3
-T2201013101110.100213022.0101123000210.0330211.2211
->853_13_1365_F3
-T3011300013211.312033311.3111110223013.0120021.0212
->853_13_1443_F3
-T2031033110030.011112022.0222013110331.3123310.1203
->853_13_1483_F3
-T2023323133131.221222333.2233223222212.2222222.2222
->853_13_1505_F3
-T2212120300302.233033312.3331132111123.0311133.3322
->853_13_1606_F3
-T3023123012222.002233113.3322021002022.1010213.2211
->853_13_1626_F3
-T2222233330012.310032221.3331333323222.3130233.3331
->853_13_1672_F3
-T1211030213021.221113110.1011132211011.1122232.0112
->853_13_1784_F3
-T3221322232101.010013222.2111212100011.3320301.0103
->853_13_1840_F3
-T0103222320012.203013210.1202132132102.1100001.1030
->853_13_1892_F3
-T0110000330022.322133222.2220120031001.0111211.3212
->853_13_1911_F3
-T2023023111022.110102003.1223000300012.0112322.2200
->853_13_1937_F3
-T2100301201111.021111300.2301022012322.0220011.2011
->853_13_1983_F3
-T2333131330231.222331021.1113022200202.3322312.1322
->853_14_48_F3
-T1200133320202.222220223.1212221322000.3012231.2222
->853_14_65_F3
-T0132320111332.332322222.2222222332222.2222222.2222
->853_14_88_F3
-T1222321012121.132322223.0110021222222.2222202.2222
->853_14_129_F3
-T1030102022000.222212020.2232133311322.3222231.1223
->853_14_191_F3
-T3322213232222.222220202.2022121222221.2222222.2222
->853_14_225_F3
-T1311131021200.002331101.0001113222223.2112202.2121
->853_14_247_F3
-T1222033303221.012110303.0013002222323.0220200.2222
->853_14_273_F3
-T3110012100211.021213220.1003201011303.2221223.3222
->853_14_291_F3
-T2212211010122.200332220.0032221222221.2212222.2222
->853_14_322_F3
-T1222231312023.212123103.0120023021202.0211221.2222
->853_14_333_F3
-T2113030021111.333123121.0312222222220.2222222.2222
->853_14_371_F3
-T1132033302002.000330102.2200023002210.0220322.0222
->853_14_386_F3
-T2203002323130.122020200.2301310000200.0020221.0210
->853_14_391_F3
-T3102012032121.202022221.2232022221222.2202222.2322
->853_14_488_F3
-T1013032122031.323122131.2213223222323.2303122.0132
->853_14_541_F3
-T1310230100230.033020233.0122003300003.0000001.3022
->853_14_549_F3
-T0100211221012.332212330.1002102011102.0000202.3233
->853_14_563_F3
-T0300003000002.133233321.2033020322131.2220022.3321
->853_14_609_F3
-T0112010212213.123122102.2212222212221.2221222.2222
->853_14_644_F3
-T1232102010211.211310312.2130100202312.1231220.2002
->853_14_654_F3
-T3012012111203.233111132.3101012122021.0300020.0033
->853_14_687_F3
-T1132111102002.323112212.3011013103112.2131111.1312
->853_14_694_F3
-T3322322210122.302210121.0300201331001.2030333.3221
->853_14_758_F3
-T1321202301222.033210210.0300011121321.3133211.1223
->853_14_833_F3
-T3310213023021.332021213.0322322002222.2210132.2323
->853_14_870_F3
-T3222123013233.301333303.3033000223000.0312223.3222
->853_14_924_F3
-T1220222233220.203302213.2112031122312.2213133.3222
->853_14_976_F3
-T1032120002200.311210210.3032321231302.2331110.0330
->853_14_985_F3
-T2330202321123.210122222.2102123311021.0331200.1230
->853_14_1006_F3
-T1020022101000.021103331.0011301103002.2222121.2113
->853_14_1016_F3
-T3222110230210.020130020.0121012210231.2231230.1111
->853_14_1065_F3
-T1200000033013.000213311.2210300303333.0133030.1330
->853_14_1070_F3
-T2210231200211.131133030.2113003032212.0222000.2222
->853_14_1075_F3
-T1301000111303.233202012.0010210032211.1002020.1122
->853_14_1087_F3
-T0033302301333.331323333.0013311000030.3002121.0301
->853_14_1103_F3
-T0302301222002.200211200.1323333123222.2221330.1322
->853_14_1119_F3
-T1323221321202.202330220.0213000012122.1123300.3121
->853_14_1165_F3
-T2202001222101.001211000.2020003223112.2220001.2223
->853_14_1197_F3
-T2210132120322.222202312.1032111313110.2003210.2211
->853_14_1241_F3
-T1313001021202.323010312.2300022210121.0321321.1120
->853_14_1250_F3
-T2022213132230.323230322.2200233022232.0112100.1332
->853_14_1327_F3
-T2021212110222.202111130.1221321203223.1312322.0330
->853_14_1347_F3
-T2222103002313.002121202.0110110201212.2132213.0211
->853_14_1352_F3
-T0322130022232.212111203.2300331000221.1313103.1112
->853_14_1385_F3
-T3002203302022.232012021.2301122110223.3321002.0322
->853_14_1447_F3
-T3223303110002.312133012.0302223122311.0133331.0233
->853_14_1515_F3
-T2333131102123.201103020.2221212033022.1101011.0313
->853_14_1541_F3
-T1111101123332.122331031.1223132131011.1311103.1310
->853_14_1569_F3
-T0220201200303.303332030.0312201221000.0332222.2330
->853_14_1658_F3
-T3002130113102.030003322.2100333012212.1230002.0002
->853_14_1702_F3
-T3023332100011.230103102.0021330322202.1112000.2001
->853_14_1707_F3
-T1021012301213.223013112.0313221002030.1231310.0102
->853_14_1715_F3
-T2113210211313.302011010.3323021122011.2011010.1303
->853_14_1721_F3
-T2122222110233.120020211.3121231211322.3220112.2211
->853_14_1736_F3
-T0001320013111.210012202.2131100023332.1200020.0022
->853_14_1855_F3
-T2332103123212.102220233.0311122321223.0021222.0203
->853_14_1861_F3
-T1122213220202.311333312.1223022302333.1013211.2222
->853_14_1879_F3
-T3221111322332.330311001.1012211322102.1112011.0121
->853_14_1958_F3
-T2113133021300.233021221.3023103100111.3111001.0022
->853_14_1978_F3
-T2001220322202.232020003.3211201203030.1031200.1223
->853_14_2006_F3
-T3322031101221.331303002.3321303220010.2200031.1002
->853_14_2011_F3
-T1213110110222.111222112.0012223103322.1112110.3113
->853_15_108_F3
-T1020223212222.121222222.202322012221222222222.1222
->853_15_149_F3
-T3223001220022.212201222.111221222222222222222.2222
->853_15_194_F3
-T3312003232002.133223110.202022233223322222222.2222
->853_15_359_F3
-T2312212222011.102012313.300303032222122222222.3222
->853_15_384_F3
-T3133101323312.322010203.031002333220220210301.1200
->853_15_453_F3
-T1222100222231.121121231.022223111222221313200.1222
->853_15_528_F3
-T3310331111111.132002232.222133021031300022022.2220
->853_15_538_F3
-T3310122300211.033000210.003300000000030000000.0022
->853_15_618_F3
-T1002211010002.200223103.321003230000312000101.0000
->853_15_671_F3
-T0223232033121.210020003.102320022213221200033.1103
->853_15_679_F3
-T2012320131021.021000301.301112021120110211121.1220
->853_15_712_F3
-T1233032021200.210101331.201322333121322133331.3332
->853_15_741_F3
-T0213202132113.031320110.111002211200003100030.1031
->853_15_817_F3
-T1320033200102.123232033.233101022211211111021.1122
->853_15_822_F3
-T3300212203112.303110100.122200020212110122111.2033
->853_15_866_F3
-T1030112000331.200012132.000200123122313020122.0031
->853_15_886_F3
-T2023310032313.221000120.222222222203222322222.0233
->853_15_889_F3
-T3031023333212.331200320.002013223233002202033.3030
->853_15_912_F3
-T3213002320031.331103330.002132020022312022120.2132
->853_15_935_F3
-T3133221102202.233332220.122011131120220022220.0212
->853_15_955_F3
-T2121112302133.010030202.222132131003220222330.0220
->853_15_959_F3
-T1233103213121.212133211.122132221333223212133.3121
->853_15_989_F3
-T3201022000312.210110122.132113122101220032200.2220
->853_15_1024_F3
-T2231010331011.211302002.212322231101102132122.2322
->853_15_1036_F3
-T0320010231212.012322222.131131100322221212212.3200
->853_15_1098_F3
-T3312310131203.000003312.200122112101211020010.2023
->853_15_1126_F3
-T2213210223100.330321132.322121221121322321222.2222
->853_15_1180_F3
-T2100330002323.120123301.312303133200001230220.1233
->853_15_1211_F3
-T3312001002231.112311121.012111020330113001012.1100
->853_15_1220_F3
-T2110232023322.231012330.001102031322120001002.2102
->853_15_1314_F3
-T1232330203102.212101301.200100023330312030031.0312
->853_15_1319_F3
-T1023122102102.203132330.111101121221102231303.3333
->853_15_1380_F3
-T0231133023111.310221000.300112123201303300021.2022
->853_15_1405_F3
-T0202221111231.111113311.011111122222002011022.3122
->853_15_1433_F3
-T0310100120332.312321022.221233001201223320202.3132
->853_15_1452_F3
-T1130220031020.113131212.210022320221233230131.0212
->853_15_1457_F3
-T1222213333233.301233332.110013300133202300323.2213
->853_15_1474_F3
-T3333301013330.201032112.012122213221132221322.1222
->853_15_1495_F3
-T1133321130321.223311332.023322133223233223322.1223
->853_15_1548_F3
-T2012310310112.201020123.132222213202211011122.1020
->853_15_1581_F3
-T1200132101212.222300023.321110031210020113213.2202
->853_15_1603_F3
-T2031103212332.223110220.302220210303221100200.0211
->853_15_1636_F3
-T3310211303302.023111232.001011110003122322100.0223
->853_15_1663_F3
-T2233020230232.322033111.001303213331221231303.3000
->853_15_1726_F3
-T3011022330122.113123311.003103112111110002003.0100
->853_15_1733_F3
-T1113013230021.232133122.031002212300011001000.1112
->853_15_1756_F3
-T1103222031220.212123310.011310330302303122333.2233
->853_15_1794_F3
-T2221231303022.022023010.221322032322120332311.3213
->853_15_1876_F3
-T2221311021332.101230332.111000230102222310002.1031
->853_15_1915_F3
-T1323002020313.110132112.012221202021132212100.0100
->853_15_1974_F3
-T3200002312331.022233323.021320331222211031102.2110
->853_16_26_F3
-T2200303003123.332202133.022202222221222222222.2222
->853_16_44_F3
-T1010220033031.131100202.322222222222222222222.2222
->853_16_56_F3
-T2222220320012.222222222.222222222222222222222.2222
->853_16_67_F3
-T3020301230012.320302200.122222233212012222222.2222
->853_16_112_F3
-T1200021122132.111211211.101321132100211222122.0222
->853_16_155_F3
-T2211222000221.222212222.122222222222222222222.2222
->853_16_169_F3
-T1200213123132.220001100.311323132102222222202.2212
->853_16_319_F3
-T3212223211023.013011313.020220313111230111311.0111
->853_16_375_F3
-T3332011121213.223022022.220021112220100221322.1222
->853_16_447_F3
-T3302130221112.123102110.022103123222122220111.0203
->853_16_502_F3
-T1023113011002.032210023.012230013110011223013.1000
->853_16_506_F3
-T1022110220323.201110311.021300002020121031023.1000
->853_16_513_F3
-T0332023210131.212020222.102202231311211133011.1122
->853_16_571_F3
-T2010033331133.302200220.122102023123200012222.2222
->853_16_622_F3
-T0013033001233.133330200.000000330003000000000.3000
->853_16_690_F3
-T0021310130010.202032022.110223101101310102100.0112
->853_16_697_F3
-T1231230012311.132303323.310130033010101111222.1310
->853_16_791_F3
-T1110102111131.110203033.121212111131211113111.2111
->853_16_804_F3
-T3133010300211.330333311.122313112302002200031.2333
->853_16_830_F3
-T3230012031232.130212222.012232100113320211310.1221
->853_16_871_F3
-T3201000013102.303333121.003330012300022302213.2223
->853_16_874_F3
-T2301033231033.020002133.133030332300323313233.3133
->853_16_892_F3
-T3321220311213.332101020.231311213111213212011.3011
->853_16_919_F3
-T1220221133122.203221113.002222222222222213332.2212
->853_16_941_F3
-T3310301301311.011321102.321223223120112231222.1222
->853_16_1040_F3
-T3222002222223.332302032.322031103321223221212.3031
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/4fc2b29d6393
changeset: 3236:4fc2b29d6393
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 18:33:42 2010 -0500
description:
Bug fix for uploading files to a history.
diffstat:
lib/galaxy/tools/actions/upload_common.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diffs (32 lines):
diff -r bfb0f6c64093 -r 4fc2b29d6393 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 18:02:37 2010 -0500
+++ b/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 18:33:42 2010 -0500
@@ -59,7 +59,7 @@
role = trans.sa_session.query( trans.app.model.Role ).get( role_id )
library_bunch.roles.append( role )
return library_bunch
-def get_precreated_datasets( trans, params, data_obj, controller='root' ):
+def get_precreated_datasets( trans, params, data_obj, controller='root' ):
"""
Get any precreated datasets (when using asynchronous uploads).
"""
@@ -75,15 +75,15 @@
log.exception( 'Unable to load precreated dataset (%s) sent in upload form' % id )
continue
if data_obj is trans.app.model.HistoryDatasetAssociation:
- if user is None and trans.galaxy_session.current_history != data.history:
+ if trans.user is None and trans.galaxy_session.current_history != data.history:
log.error( 'Got a precreated dataset (%s) but it does not belong to anonymous user\'s current session (%s)' % ( data.id, trans.galaxy_session.id ) )
- elif data.history.user != user:
- log.error( 'Got a precreated dataset (%s) but it does not belong to current user (%s)' % ( data.id, user.id ) )
+ elif data.history.user != trans.user:
+ log.error( 'Got a precreated dataset (%s) but it does not belong to current user (%s)' % ( data.id, trans.user.id ) )
else:
rval.append( data )
elif data_obj is trans.app.model.LibraryDatasetDatasetAssociation:
if controller == 'library' and not trans.app.security_agent.can_add_library_item( roles, data.library_dataset.folder ):
- log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, user.id ) )
+ log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, trans.user.id ) )
else:
rval.append( data )
return rval
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/bfb0f6c64093
changeset: 3235:bfb0f6c64093
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 18:02:37 2010 -0500
description:
Bug fixes: fix importing a history item to a library, fix checking security on libraries from requests, send hid every time to functional test's verify_dataset_correctness() since we can now test multiple output datasets., and fix displaying info for library datasets in some scenarios.
diffstat:
lib/galaxy/web/controllers/library_common.py | 2 +-
lib/galaxy/web/controllers/requests.py | 5 +++--
templates/library/common/common.mako | 4 ++--
test/functional/test_toolbox.py | 12 ++++++++++--
4 files changed, 16 insertions(+), 7 deletions(-)
diffs (79 lines):
diff -r 5239b3504ec4 -r bfb0f6c64093 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Wed Jan 13 16:12:57 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Wed Jan 13 18:02:37 2010 -0500
@@ -911,7 +911,7 @@
dataset_names = []
created_ldda_ids = ''
for hda_id in hda_ids:
- hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( trans.security.decode_id( hda_id ) )
+ hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( hda_id )
if hda:
ldda = hda.to_library_dataset_dataset_association( target_folder=folder, replace_dataset=replace_dataset )
created_ldda_ids = '%s,%s' % ( created_ldda_ids, str( ldda.id ) )
diff -r 5239b3504ec4 -r bfb0f6c64093 lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Wed Jan 13 16:12:57 2010 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Jan 13 18:02:37 2010 -0500
@@ -608,7 +608,7 @@
actions_to_check = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD ]
libraries = odict()
for library in all_libraries:
- can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( user, roles, library, actions_to_check )
+ can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( trans.user, roles, library, actions_to_check )
if can_show:
libraries[ library ] = hidden_folder_ids
# create data library selectbox with refresh on change enabled
@@ -661,7 +661,8 @@
else:
folder_list.add_option('Select one', 'none')
# get all show-able folders for the selected library
- showable_folders = trans.app.security_agent.get_showable_folders( user, roles,
+ showable_folders = trans.app.security_agent.get_showable_folders( trans.user,
+ roles,
selected_lib,
actions_to_check,
selected_hidden_folder_ids )
diff -r 5239b3504ec4 -r bfb0f6c64093 templates/library/common/common.mako
--- a/templates/library/common/common.mako Wed Jan 13 16:12:57 2010 -0500
+++ b/templates/library/common/common.mako Wed Jan 13 18:02:37 2010 -0500
@@ -80,7 +80,7 @@
%if replace_dataset not in [ None, 'None' ]:
<input type="hidden" name="replace_id" value="${trans.security.encode_id( replace_dataset.id )}"/>
<div class="form-row">
- You are currently selecting a new file to replace '<a href="${h.url_for( controller=cntrller, action='ldda_display_info', library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
+ You are currently selecting a new file to replace '<a href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
<div style="clear: both"></div>
</div>
%endif
@@ -302,7 +302,7 @@
%if replace_dataset not in [ None, 'None' ]:
<input type="hidden" name="replace_id" value="${trans.security.encode_id( replace_dataset.id )}"/>
<div class="form-row">
- You are currently selecting a new file to replace '<a href="${h.url_for( controller=cntrller, action='ldda_display_info', library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
+ You are currently selecting a new file to replace '<a href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
<div style="clear: both"></div>
</div>
%endif
diff -r 5239b3504ec4 -r bfb0f6c64093 test/functional/test_toolbox.py
--- a/test/functional/test_toolbox.py Wed Jan 13 16:12:57 2010 -0500
+++ b/test/functional/test_toolbox.py Wed Jan 13 18:02:37 2010 -0500
@@ -60,10 +60,18 @@
page_inputs = self.__expand_grouping(testdef.tool.inputs_by_page[i], all_inputs)
self.submit_form( **page_inputs )
print "page_inputs (%i)" % i, page_inputs
- # Check the results ( handles single or multiple tool outputs )
+ # Check the results ( handles single or multiple tool outputs ). Make sure to pass the correct hid.
+ # The output datasets from the tool should be in the same order as the testdef.outputs.
+ data_list = self.get_history_as_data_list()
+ self.assertTrue( data_list )
+ elem_index = 0 - len( testdef.outputs )
for output_tuple in testdef.outputs:
name, file, sort = output_tuple
- self.verify_dataset_correctness( file, maxseconds=testdef.maxseconds, sort=sort )
+ # Get the correct hid
+ elem = data_list[ elem_index ]
+ elem_hid = elem.get( 'hid' )
+ elem_index += 1
+ self.verify_dataset_correctness( file, hid=elem_hid, maxseconds=testdef.maxseconds, sort=sort )
self.delete_history( id=self.security.encode_id( latest_history.id ) )
def __expand_grouping( self, tool_inputs, declared_inputs, prefix='' ):
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/5239b3504ec4
changeset: 3234:5239b3504ec4
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Wed Jan 13 16:12:57 2010 -0500
description:
Added bowtie_indices_color.loc to buildbot_setup.sh
diffstat:
buildbot_setup.sh | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r ec12f3ad520a -r 5239b3504ec4 buildbot_setup.sh
--- a/buildbot_setup.sh Wed Jan 13 14:38:40 2010 -0500
+++ b/buildbot_setup.sh Wed Jan 13 16:12:57 2010 -0500
@@ -20,6 +20,7 @@
/depot/data2/galaxy/binned_scores.loc
/depot/data2/galaxy/blastdb.loc
/depot/data2/galaxy/bowtie_indices.loc
+/depot/data2/galaxy/bowtie_indices_color.loc
/depot/data2/galaxy/encode_datasets.loc
/galaxy/home/universe/encode_feature_partitions
/depot/data2/galaxy/lastz_seqs.loc
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/ec12f3ad520a
changeset: 3233:ec12f3ad520a
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Wed Jan 13 14:38:40 2010 -0500
description:
Tweaked the interfaces for Bowtie wrappers for paired-end data
diffstat:
test-data/bowtie_out7.sam | 4 +-
tools/sr_mapping/bowtie_color_wrapper.xml | 32 ++++++++++++++----------------
tools/sr_mapping/bowtie_wrapper.py | 21 +++++++++----------
tools/sr_mapping/bowtie_wrapper.xml | 31 +++++++++++++----------------
4 files changed, 41 insertions(+), 47 deletions(-)
diffs (308 lines):
diff -r 4b7a92551151 -r ec12f3ad520a test-data/bowtie_out7.sam
--- a/test-data/bowtie_out7.sam Wed Jan 13 13:19:25 2010 -0500
+++ b/test-data/bowtie_out7.sam Wed Jan 13 14:38:40 2010 -0500
@@ -1,2 +1,2 @@
-869_1532_1255 77 * 0 0 * * 0 0 CAGGGTTCCAAATCGGGTTGCAAG =;8:?@=?;;9:8;=>;5A?;<8> XM:i:0
-869_1532_1255 141 * 0 0 * * 0 0 TACGGGAAACCGCGGCCTTTAAGG ;89<:==5<8>69;8=<9;<>9:= XM:i:0
+869_1532_1255 179 chrM 3728 255 23M = 3752 47 GAAATATGTCTGACAAAAGAGTT !RVYVSTXTRSNSUSPQYVUTPR XA:i:1 MD:Z:23 NM:i:0 CM:i:1
+869_1532_1255 115 chrM 3753 255 23M = 3727 -49 TTTGATAGAGTAAAACATAGAGG USVY_UOXZWRQRSUY[\^XQR! XA:i:1 MD:Z:23 NM:i:0 CM:i:1
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_color_wrapper.xml
--- a/tools/sr_mapping/bowtie_color_wrapper.xml Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_color_wrapper.xml Wed Jan 13 14:38:40 2010 -0500
@@ -9,7 +9,6 @@
--genomeSource=$refGenomeSource.genomeSource
#if $refGenomeSource.genomeSource == "history":
--ref=$refGenomeSource.ownFile
- --dbkey=$dbkey
--indexSettings=$refGenomeSource.indexParams.indexSettings
#if $refGenomeSource.indexParams.indexSettings == "indexFull":
--iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
@@ -49,7 +48,6 @@
#end if
#else:
--ref=$refGenomeSource.index.value
- --dbkey="None"
--indexSettings="None"
--iautoB="None"
--ipacked="None"
@@ -129,6 +127,8 @@
#else:
--input1=$singlePaired.pInput1
--input2=$singlePaired.pInput2
+ --maxInsert=$singlePaired.pMaxInsert
+ --mateOrient=$singlePaired.pMateOrient
--params=$singlePaired.pParams.pSettingsType
#if $singlePaired.pParams.pSettingsType == "full":
--skip=$singlePaired.pParams.pSkip
@@ -141,8 +141,6 @@
--rounding=$singlePaired.pParams.pRounding
--maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
--minInsert=$singlePaired.pParams.pMinInsert
- --maxInsert=$singlePaired.pParams.pMaxInsert
- --mateOrient=$singlePaired.pParams.pMateOrient
--maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
--forwardAlign=$singlePaired.pParams.pForwardAlign
--reverseAlign=$singlePaired.pParams.pReverseAlign
@@ -174,8 +172,6 @@
--rounding="None"
--maqSoapAlign="None"
--minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
--maxAlignAttempt="None"
--forwardAlign="None"
--reverseAlign="None"
@@ -323,6 +319,12 @@
<when value="paired">
<param name="pInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="ff">FF (for SOLiD)</option>
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ </param>
<conditional name="pParams">
<param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
<option value="preSet">Commonly used</option>
@@ -343,12 +345,6 @@
</param>
<param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
<param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="ff">FF (for SOLiD)</option>
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- </param>
<param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
<param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
<option value="forward">Align against the forward reference strand</option>
@@ -421,7 +417,7 @@
<!--
Bowtie command:
bowtie-build -f -C test-data/chr_m.fasta chrM_color
- bowtie -n 2 -e 70 -l 28 -X 250 +ff +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
+ bowtie -X 1000 +ff -n 2 -e 70 -l 28 -X 250 +ff +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -431,6 +427,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="full" />
<param name="pSkip" value="0" />
<param name="pAlignLimit" value="-1" />
@@ -442,8 +440,6 @@
<param name="pRounding" value="round" />
<param name="pMaqSoapAlign" value="-1" />
<param name="pMinInsert" value="0" />
- <param name="pMaxInsert" value="250" />
- <param name="pMateOrient" value="ff" />
<param name="pMaxAlignAttempt" value="100" />
<param name="pForwardAlign" value="forward" />
<param name="pReverseAlign" value="reverse" />
@@ -500,11 +496,11 @@
<!--
Bowtie command:
bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color
- bowtie -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
+ bowtie -X 1000 +ff -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
- <param name="genomeSource" value="cHistory" />
+ <param name="genomeSource" value="history" />
<param name="ownFile" value="chr_m.fasta" />
<param name="indexSettings" value="indexFull" />
<param name="autoB" value="set" />
@@ -523,6 +519,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out7.sam" />
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_wrapper.py
--- a/tools/sr_mapping/bowtie_wrapper.py Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.py Wed Jan 13 14:38:40 2010 -0500
@@ -40,7 +40,6 @@
-6, --snpfrac=6: Fraction of sites expected to be SNP sites
-7, --keepends=7: Keep extreme-end nucleotides and qualities
-S, --seed=S: Seed for pseudo-random number generator
- -d, --dbkey=d: Dbkey of reference genome
-C, --params=C: Whether to use default or specified parameters
-u, --iautoB=u: Automatic or specified behavior
-K, --ipacked=K: Whether or not to use a packed representation for DNA strings
@@ -103,7 +102,6 @@
parser.add_option( '-8', '--snpphred', dest='snpphred', help='SNP penalty on Phred scale' )
parser.add_option( '-6', '--snpfrac', dest='snpfrac', help='Fraction of sites expected to be SNP sites' )
parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' )
- parser.add_option( '-d', '--dbkey', dest='dbkey', help='Dbkey of reference genome' )
parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' )
parser.add_option( '-u', '--iautoB', dest='iautoB', help='Automatic or specified behavior' )
parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' )
@@ -206,8 +204,17 @@
suppressHeader = '--sam-nohead'
else:
suppressHeader = ''
+ if options.maxInsert != 'None' and int( options.maxInsert ) > 0:
+ maxInsert = '-X %s' % options.maxInsert
+ else:
+ maxInsert = ''
+ if options.mateOrient != 'None':
+ mateOrient = '--%s' % options.mateOrient
+ else:
+ mateOrient = ''
if options.params == 'preSet':
- aligning_cmds = '-p %s -S %s -q %s ' % ( options.threads, suppressHeader, colorspace )
+ aligning_cmds = '%s %s -p %s -S %s -q %s ' % \
+ ( maxInsert, mateOrient, options.threads, suppressHeader, colorspace )
else:
try:
if options.skip != 'None' and int( options.skip ) > 0:
@@ -251,14 +258,6 @@
minInsert = '-I %s' % options.minInsert
else:
minInsert = ''
- if options.maxInsert != 'None' and int( options.maxInsert ) > 0:
- maxInsert = '-X %s' % options.maxInsert
- else:
- maxInsert = ''
- if options.mateOrient != 'None':
- mateOrient = '--%s' % options.mateOrient
- else:
- mateOrient = ''
if options.maxAlignAttempt != 'None' and int( options.maxAlignAttempt ) >= 0:
maxAlignAttempt = '--pairtries %s' % options.maxAlignAttempt
else:
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_wrapper.xml
--- a/tools/sr_mapping/bowtie_wrapper.xml Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.xml Wed Jan 13 14:38:40 2010 -0500
@@ -12,7 +12,6 @@
--keepends="None"
#if $refGenomeSource.genomeSource == "history":
--ref=$refGenomeSource.ownFile
- --dbkey=$dbkey
--indexSettings=$refGenomeSource.indexParams.indexSettings
#if $refGenomeSource.indexParams.indexSettings == "indexFull":
--iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
@@ -52,7 +51,6 @@
#end if
#else:
--ref=$refGenomeSource.index.value
- --dbkey="None"
--indexSettings="None"
--iautoB="None"
--ipacked="None"
@@ -129,6 +127,8 @@
#else:
--input1=$singlePaired.pInput1
--input2=$singlePaired.pInput2
+ --maxInsert=$singlePaired.pMaxInsert
+ --mateOrient=$singlePaired.pMateOrient
--params=$singlePaired.pParams.pSettingsType
#if $singlePaired.pParams.pSettingsType == "full":
--skip=$singlePaired.pParams.pSkip
@@ -141,8 +141,6 @@
--rounding=$singlePaired.pParams.pRounding
--maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
--minInsert=$singlePaired.pParams.pMinInsert
- --maxInsert=$singlePaired.pParams.pMaxInsert
- --mateOrient=$singlePaired.pParams.pMateOrient
--maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
--forwardAlign=$singlePaired.pParams.pForwardAlign
--reverseAlign=$singlePaired.pParams.pReverseAlign
@@ -180,8 +178,6 @@
--offrate="None"
--seed="None"
--minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
--maxAlignAttempt="None"
--forwardAlign="None"
--reverseAlign="None"
@@ -311,6 +307,12 @@
<when value="paired">
<param name="pInput1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ <option value="ff">FF (for SOLiD)</option>
+ </param>
<conditional name="pParams">
<param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
<option value="preSet">Commonly used</option>
@@ -331,12 +333,6 @@
</param>
<param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
<param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- <option value="ff">FF (for SOLiD)</option>
- </param>
<param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
<param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
<option value="forward">Align against the forward reference strand</option>
@@ -403,7 +399,7 @@
<!--
Bowtie command:
bowtie-build -f test-data/chr_m.fasta chrM_base
- bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam
+ bowtie -X 1000 +fr -n 2 -e 70 -l 28 +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -413,6 +409,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="fr" />
<param name="pSettingsType" value="full" />
<param name="pSkip" value="0" />
<param name="pAlignLimit" value="-1" />
@@ -424,8 +422,6 @@
<param name="pRounding" value="round" />
<param name="pMaqSoapAlign" value="-1" />
<param name="pMinInsert" value="0" />
- <param name="pMaxInsert" value="250" />
- <param name="pMateOrient" value="fr" />
<param name="pMaxAlignAttempt" value="100" />
<param name="pForwardAlign" value="forward" />
<param name="pReverseAlign" value="reverse" />
@@ -441,7 +437,6 @@
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out4.sam" />
</test>
-<!-- Comment out test 3 because they are failing for an unknown reason -->
<test>
<!--
Bowtie command:
@@ -478,7 +473,7 @@
<!--
Bowtie command:
bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/chr_m.fasta chrM_base
- bowtie -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out8.sam
+ bowtie -X 1000 +fr -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out8.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -497,6 +492,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="fr" />
<param name="pSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out8.sam" />
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/4b7a92551151
changeset: 3232:4b7a92551151
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Wed Jan 13 13:19:25 2010 -0500
description:
Bug fixes and refactoring for displaying semi-public and published items. All display templates are now based on a single template, /display_base.mako Also, all relevant controllers use the same action, list_published, to provide a list of published items.
diffstat:
lib/galaxy/web/controllers/history.py | 20 +-
lib/galaxy/web/controllers/page.py | 2 +-
lib/galaxy/web/controllers/workflow.py | 6 +-
templates/display_base.mako | 171 ++++++++++++++++++++
templates/display_common.mako | 12 -
templates/history/display.mako | 270 +++++++++++++++++++++++++++++++++
templates/history/list_public.mako | 23 --
templates/history/list_published.mako | 23 ++
templates/history/sharing.mako | 2 +-
templates/history/view.mako | 127 +++++---------
templates/page/display.mako | 96 +----------
templates/tagging_common.mako | 2 +-
templates/workflow/display.mako | 165 ++++---------------
templates/workflow/list_public.mako | 23 --
templates/workflow/list_published.mako | 23 ++
15 files changed, 598 insertions(+), 367 deletions(-)
diffs (1172 lines):
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/history.py Wed Jan 13 13:19:25 2010 -0500
@@ -172,11 +172,11 @@
def apply_default_filter( self, trans, query, **kwargs ):
return query.filter( model.HistoryUserShareAssociation.user == trans.user )
-class PublicHistoryListGrid( grids.Grid ):
+class HistoryAllPublishedGrid( grids.Grid ):
class NameURLColumn( PublicURLColumn, NameColumn ):
pass
- title = "Public Histories"
+ title = "Published Histories"
model_class = model.History
default_sort_key = "-update_time"
default_filter = dict( public_url="All", username="All", tags="All" )
@@ -212,16 +212,16 @@
stored_list_grid = HistoryListGrid()
shared_list_grid = SharedHistoryListGrid()
- public_list_grid = PublicHistoryListGrid()
+ published_list_grid = HistoryAllPublishedGrid()
@web.expose
- def list_public( self, trans, **kwargs ):
- grid = self.public_list_grid( trans, **kwargs )
+ def list_published( self, trans, **kwargs ):
+ grid = self.published_list_grid( trans, **kwargs )
if 'async' in kwargs:
return grid
else:
# Render grid wrapped in panels
- return trans.fill_template( "history/list_public.mako", grid=grid )
+ return trans.fill_template( "history/list_published.mako", grid=grid )
@web.expose
@web.require_login( "work with multiple histories" )
@@ -555,12 +555,8 @@
.options( eagerload_all( "dataset.actions" ) )
# Do not show deleted datasets.
query = query.filter( model.HistoryDatasetAssociation.deleted == False )
- user_owns_history = ( trans.get_user() == history.user )
- return trans.stream_template_mako( "history/view.mako",
- history = history,
- datasets = query.all(),
- user_owns_history = user_owns_history,
- show_deleted = False )
+ return trans.stream_template_mako( "history/display.mako",
+ item = history, item_data = query.all() )
@web.expose
@web.require_login( "share histories with other users" )
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/page.py
--- a/lib/galaxy/web/controllers/page.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/page.py Wed Jan 13 13:19:25 2010 -0500
@@ -321,7 +321,7 @@
page = trans.sa_session.query( model.Page ).filter_by( user=user, slug=slug, deleted=False, published=True ).first()
if page is None:
raise web.httpexceptions.HTTPNotFound()
- return trans.fill_template( "page/display.mako", page=page )
+ return trans.fill_template( "page/display.mako", item=page )
@web.expose
@web.require_login("select a history from saved histories")
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Wed Jan 13 13:19:25 2010 -0500
@@ -145,13 +145,13 @@
shared_by_others = shared_by_others )
@web.expose
- def list_public( self, trans, **kwargs ):
+ def list_published( self, trans, **kwargs ):
grid = self.public_list_grid( trans, **kwargs )
if 'async' in kwargs:
return grid
else:
# Render grid wrapped in panels
- return trans.fill_template( "workflow/list_public.mako", grid=grid )
+ return trans.fill_template( "workflow/list_published.mako", grid=grid )
@web.expose
def display_by_username_and_slug( self, trans, username, slug ):
@@ -187,7 +187,7 @@
# Connections by input name
step.input_connections_by_name = dict( ( conn.input_name, conn ) for conn in step.input_connections )
- return trans.fill_template_mako( "workflow/display.mako", workflow = stored_workflow, steps = stored_workflow.latest_workflow.steps )
+ return trans.fill_template_mako( "workflow/display.mako", item=stored_workflow, item_data=stored_workflow.latest_workflow.steps )
@web.expose
@web.require_login( "use Galaxy workflows" )
diff -r b10ae696a0e9 -r 4b7a92551151 templates/display_base.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/display_base.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,171 @@
+<%inherit file="/base_panels.mako"/>
+<%namespace file="./tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+
+<%!
+ from galaxy.model import History, StoredWorkflow, Page
+%>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "galaxy.base", "jquery", "json2", "jquery.autocomplete", "autocomplete_tagging" )}
+
+ <script type="text/javascript">
+ //
+ // Handle click on community tag.
+ //
+ function community_tag_click(tag_name, tag_value)
+ {
+ <% controller_name = get_controller_name( item ) %>
+ var href = '${h.url_for ( controller='/' + controller_name , action='list_published')}';
+ href = href + "?f-tags=" + tag_name;
+ if (tag_value != null && tag_value != "")
+ href = href + ":" + tag_value;
+ self.location = href;
+ }
+ </script>
+</%def>
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "autocomplete_tagging" )}
+ <style type="text/css">
+ .page-body
+ {
+ padding: 10px;
+ float: left;
+ width: 65%;
+ }
+ .page-meta
+ {
+ float: right;
+ width: 27%;
+ padding: 0.5em;
+ margin: 0.25em;
+ vertical-align: text-top;
+ border: 2px solid #DDDDDD;
+ border-top: 4px solid #DDDDDD;
+ }
+ </style>
+</%def>
+
+<%def name="render_item_links( item )">
+ Item Links
+</%def>
+
+<%def name="render_item( item, item_data=None )">
+ Item
+</%def>
+
+<%def name="get_item_name( item )">
+ <% return item.name %>
+</%def>
+
+
+##
+## Page content. Pages that inherit this page should override render_item_links() and render_item()
+##
+<%def name="center_panel()">
+
+ ## Get URL to other published items owned by user that owns this item.
+ <%
+ ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
+ controller_name = get_controller_name( item )
+ item_plural = get_item_plural( item )
+ href_to_all_items = h.url_for( controller='/' + controller_name, action='list_published')
+ href_to_user_items = h.url_for( controller='/' + controller_name, action='list_published', xxx=item.user.username)
+ href_to_user_items = href_to_user_items.replace( 'xxx', 'f-username')
+ %>
+
+ <div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ <a href="${href_to_all_items}">Published ${item_plural}</a> |
+ <a href="${href_to_user_items}">${item.user.username}</a> | ${self.get_item_name( item )}
+ </div>
+ </div>
+
+ <div class="unified-panel-body">
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-body">
+ <div style="padding: 0px 0px 5px 0px">
+ ${self.render_item_links( item )}
+ </div>
+
+ ${self.render_item( item, item_data )}
+ </div>
+
+ <div class="page-meta">
+ ## Page meta.
+ <div><strong>Related ${item_plural}</strong></div>
+ <p>
+ <a href="${href_to_all_items}">All published ${item_plural.lower()}</a><br>
+ <a href="${href_to_user_items}">${item_plural} owned by ${item.user.username}</a>
+
+ ## Tags.
+ <div><strong>Tags</strong></div>
+ <p>
+ ## Community tags.
+ <div>
+ Community:
+ ${render_community_tagging_element( tagged_item=item, tag_click_fn='community_tag_click', use_toggle_link=False )}
+ %if len ( item.tags ) == 0:
+ none
+ %endif
+ </div>
+ ## Individual tags.
+ <p>
+ <div>
+ Yours:
+ ${render_individual_tagging_element( user=trans.get_user(), tagged_item=item, elt_context='view.mako', use_toggle_link=False, tag_click_fn='community_tag_click' )}
+ </div>
+ </div>
+ </div>
+ </div>
+</%def>
+
+
+##
+## Utility methods.
+##
+
+## Get plural term for item.
+<%def name="get_item_plural( item )">
+ <%
+ items_plural = "items"
+ if isinstance( item, History ):
+ items_plural = "Histories"
+ elif isinstance( item, StoredWorkflow ):
+ items_plural = "Workflows"
+ elif isinstance( item, Page ):
+ items_plural = "Pages"
+ return items_plural
+ %>
+</%def>
+
+## Returns the controller name for an item based on its class.
+<%def name="get_controller_name( item )">
+ <%
+ if isinstance( item, History ):
+ return "history"
+ elif isinstance( item, StoredWorkflow ):
+ return "workflow"
+ elif isinstance( item, Page ):
+ return "page"
+ %>
+</%def>
+
+## Return a link to view a history.
+<%def name="get_history_link( history, qualify=False )">
+ %if history.slug and history.user.username:
+ <% return h.url_for( controller='/history', action='display_by_username_and_slug', username=history.user.username, slug=history.slug, qualified=qualify ) %>
+ %else:
+ <% return h.url_for( controller='/history', action='view', id=trans.security.encode_id( history.id ), qualified=qualify ) %>
+ %endif
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/display_common.mako
--- a/templates/display_common.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-##
-## A set of useful methods for displaying different items.
-##
-
-## Return a link to view a history.
-<%def name="get_history_link( history, qualify=False )">
- %if history.slug and history.user.username:
- <% return h.url_for( controller='/history', action='display_by_username_and_slug', username=history.user.username, slug=history.slug, qualified=qualify ) %>
- %else:
- <% return h.url_for( controller='/history', action='view', id=trans.security.encode_id( history.id ), qualified=qualify ) %>
- %endif
-</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/display.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/history/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,270 @@
+<%inherit file="/display_base.mako"/>
+<%namespace file="/root/history_common.mako" import="render_dataset" />
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "jquery.jstore-all" )}
+
+ ## Set vars so that there's no need to change the code below.
+ <%
+ history = published_item
+ datasets = published_item_data
+ %>
+
+ <script type="text/javascript">
+ $(function() {
+ // Load jStore for local storage
+ $.extend(jQuery.jStore.defaults, { project: 'galaxy', flash: '/static/jStore.Flash.html' })
+ $.jStore.load(); // Auto-select best storage
+
+ $.jStore.ready(function(engine) {
+ engine.ready(function() {
+ // Init stuff that requires the local storage to be running
+ initShowHide();
+ setupHistoryItem( $("div.historyItemWrapper") );
+ });
+ });
+
+ // Generate 'collapse all' link
+ $("#top-links").append( "| " ).append( $("<a href='#'>${_('collapse all')}</a>").click( function() {
+ $( "div.historyItemBody:visible" ).each( function() {
+ if ( $.browser.mozilla ) {
+ $(this).find( "pre.peek" ).css( "overflow", "hidden" );
+ }
+ $(this).slideUp( "fast" );
+ });
+ $.jStore.remove("history_expand_state");
+ }));
+
+ });
+ // Functionized so AJAX'd datasets can call them
+ function initShowHide() {
+
+ // Load saved state and show as necessary
+ try {
+ var stored = $.jStore.store("history_expand_state");
+ if (stored) {
+ var st = JSON.parse(stored);
+ for (var id in st) {
+ $("#" + id + " div.historyItemBody" ).show();
+ }
+ }
+ } catch(err) {
+ // Something was wrong with values in storage, so clear storage
+ $.jStore.remove("history_expand_state");
+ }
+
+ // If Mozilla, hide scrollbars in hidden items since they cause animation bugs
+ if ( $.browser.mozilla ) {
+ $( "div.historyItemBody" ).each( function() {
+ if ( ! $(this).is( ":visible" ) ) $(this).find( "pre.peek" ).css( "overflow", "hidden" );
+ })
+ }
+ }
+ // Add show/hide link and delete link to a history item
+ function setupHistoryItem( query ) {
+ query.each( function() {
+ var id = this.id;
+ var body = $(this).children( "div.historyItemBody" );
+ var peek = body.find( "pre.peek" )
+ $(this).children( ".historyItemTitleBar" ).find( ".historyItemTitle" ).wrap( "<a href='#'></a>" ).click( function() {
+ if ( body.is(":visible") ) {
+ // Hiding stuff here
+ if ( $.browser.mozilla ) { peek.css( "overflow", "hidden" ) }
+ body.slideUp( "fast" );
+
+ // Save setting
+ var stored = $.jStore.store("history_expand_state")
+ var prefs = stored ? JSON.parse(stored) : null
+ if (prefs) {
+ delete prefs[id];
+ $.jStore.store("history_expand_state", JSON.stringify(prefs));
+ }
+ } else {
+ // Showing stuff here
+ body.slideDown( "fast", function() {
+ if ( $.browser.mozilla ) { peek.css( "overflow", "auto" ); }
+ });
+
+ // Save setting
+ var stored = $.jStore.store("history_expand_state")
+ var prefs = stored ? JSON.parse(stored) : new Object;
+ prefs[id] = true;
+ $.jStore.store("history_expand_state", JSON.stringify(prefs));
+ }
+ return false;
+ });
+ // Delete link
+ $(this).find( "div.historyItemButtons > .delete" ).each( function() {
+ var data_id = this.id.split( "-" )[1];
+ $(this).click( function() {
+ $( '#historyItem-' + data_id + "> div.historyItemTitleBar" ).addClass( "spinner" );
+ $.ajax({
+ url: "${h.url_for( action='delete_async', id='XXX' )}".replace( 'XXX', data_id ),
+ error: function() { alert( "Delete failed" ) },
+ success: function() {
+ %if show_deleted:
+ var to_update = {};
+ to_update[data_id] = "none";
+ updater( to_update );
+ %else:
+ $( "#historyItem-" + data_id ).fadeOut( "fast", function() {
+ $( "#historyItemContainer-" + data_id ).remove();
+ if ( $( "div.historyItemContainer" ).length < 1 ) {
+ $( "#emptyHistoryMessage" ).show();
+ }
+ });
+ %endif
+ }
+ });
+ return false;
+ });
+ });
+ // Undelete link
+ $(this).find( "a.historyItemUndelete" ).each( function() {
+ var data_id = this.id.split( "-" )[1];
+ $(this).click( function() {
+ $( '#historyItem-' + data_id + " > div.historyItemTitleBar" ).addClass( "spinner" );
+ $.ajax({
+ url: "${h.url_for( controller='dataset', action='undelete_async', id='XXX' )}".replace( 'XXX', data_id ),
+ error: function() { alert( "Undelete failed" ) },
+ success: function() {
+ var to_update = {};
+ to_update[data_id] = "none";
+ updater( to_update );
+ }
+ });
+ return false;
+ });
+ });
+ });
+ };
+ // Looks for changes in dataset state using an async request. Keeps
+ // calling itself (via setTimeout) until all datasets are in a terminal
+ // state.
+ var updater = function ( tracked_datasets ) {
+ // Check if there are any items left to track
+ var empty = true;
+ for ( i in tracked_datasets ) {
+ empty = false;
+ break;
+ }
+ if ( ! empty ) {
+ // console.log( "Updater running in 3 seconds" );
+ setTimeout( function() { updater_callback( tracked_datasets ) }, 3000 );
+ } else {
+ // console.log( "Updater finished" );
+ }
+ };
+ var updater_callback = function ( tracked_datasets ) {
+ // Build request data
+ var ids = []
+ var states = []
+ var force_history_refresh = false
+ $.each( tracked_datasets, function ( id, state ) {
+ ids.push( id );
+ states.push( state );
+ });
+ // Make ajax call
+ $.ajax( {
+ type: "POST",
+ url: "${h.url_for( controller='root', action='history_item_updates' )}",
+ dataType: "json",
+ data: { ids: ids.join( "," ), states: states.join( "," ) },
+ success : function ( data ) {
+ $.each( data, function( id, val ) {
+ // Replace HTML
+ var container = $("#historyItemContainer-" + id);
+ container.html( val.html );
+ setupHistoryItem( container.children( ".historyItemWrapper" ) );
+ initShowHide();
+ // If new state was terminal, stop tracking
+ if (( val.state == "ok") || ( val.state == "error") || ( val.state == "empty") || ( val.state == "deleted" ) || ( val.state == "discarded" )) {
+ if ( val.force_history_refresh ){
+ force_history_refresh = true;
+ }
+ delete tracked_datasets[ parseInt(id) ];
+ } else {
+ tracked_datasets[ parseInt(id) ] = val.state;
+ }
+ });
+ if ( force_history_refresh ) {
+ parent.frames.galaxy_history.location.reload();
+ } else {
+ // Keep going (if there are still any items to track)
+ updater( tracked_datasets );
+ }
+ },
+ error: function() {
+ // Just retry, like the old method, should try to be smarter
+ updater( tracked_datasets );
+ }
+ });
+ };
+ </script>
+</%def>
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "history" )}
+ <style type="text/css">
+ .visible-right-border {
+ padding-right: 3px;
+ border-right-style: solid;
+ border-right-color: #66AA66;
+ }
+ .historyItemBody {
+ display: none;
+ }
+ </style>
+
+ <noscript>
+ <style>
+ .historyItemBody {
+ display: block;
+ }
+ </style>
+ </noscript>
+</%def>
+
+<%def name="render_item_links( history )">
+ %if history.user != trans.get_user():
+ <a href="${h.url_for( controller='/history', action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ %else:
+ your history |
+ %endif
+ <a href="${self.get_history_link( history )}">${_('refresh')}</a>
+ %if show_deleted:
+ | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
+ %endif
+</%def>
+
+<%def name="render_item( history, datasets )">
+ <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
+ <div id="history-name">${history.get_display_name()}</div>
+ </div>
+
+ %if history.deleted:
+ <div class="warningmessagesmall">
+ ${_('You are currently viewing a deleted history!')}
+ </div>
+ <p></p>
+ %endif
+
+ %if not datasets:
+ <div class="infomessagesmall" id="emptyHistoryMessage">
+ %else:
+ ## Render requested datasets, ordered from newest to oldest
+ %for data in datasets:
+ %if data.visible:
+ <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
+ ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
+ </div>
+ %endif
+ %endfor
+ <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
+ %endif
+ ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
+ </div>
+
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/list_public.mako
--- a/templates/history/list_public.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<%inherit file="/base_panels.mako"/>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.active_view="page"
- self.message_box_visible=False
-%>
-</%def>
-
-<%def name="center_panel()">
-
- ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
-
- <div style="overflow: auto; height: 100%;">
- <div class="page-container" style="padding: 10px;">
- ${unicode( grid, 'utf-8' )}
- </div>
- </div>
-
-
-</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/list_published.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/history/list_published.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,23 @@
+<%inherit file="/base_panels.mako"/>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.active_view="page"
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="center_panel()">
+
+ ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
+
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-container" style="padding: 10px;">
+ ${unicode( grid, 'utf-8' )}
+ </div>
+ </div>
+
+
+</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/sharing.mako
--- a/templates/history/sharing.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/history/sharing.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,6 +1,6 @@
<%inherit file="/base.mako"/>
<%namespace file="/message.mako" import="render_msg" />
-<%namespace file="/display_common.mako" import="get_history_link" />
+<%namespace file="/display_base.mako" import="get_history_link" />
##<h2>Import via link</h2>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/view.mako
--- a/templates/history/view.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/history/view.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,7 +1,7 @@
<%inherit file="/base_panels.mako"/>
-<%namespace file="/display_common.mako" import="get_history_link" />
+<%namespace file="/display_base.mako" import="get_history_link, get_controller_name" />
<%namespace file="/root/history_common.mako" import="render_dataset" />
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%namespace file="/tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
<%def name="javascripts()">
${parent.javascripts()}
@@ -256,7 +256,7 @@
//
function community_tag_click(tag_name, tag_value)
{
- var href = '${h.url_for( controller='/history', action='list_public')}';
+ var href = '${h.url_for( controller='/history', action='list_published')}';
href = href + "?f-tags=" + tag_name;
if (tag_value != null && tag_value != "")
href = href + ":" + tag_value;
@@ -324,91 +324,60 @@
## Get URL to other histories owned by user that owns this history.
<%
##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_histories = h.url_for( controller='/history', action='list_public', xxx=history.user.username)
+ href_to_published_histories = h.url_for( controller='/history', action='list_published')
+ href_to_user_histories = h.url_for( controller='/history', action='list_published', xxx=history.user.username)
href_to_user_histories = href_to_user_histories.replace( 'xxx', 'f-username')
%>
<div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( controller='/history', action='list_public' )}">Public Histories</a> |
- <a href="${href_to_user_histories}">${history.user.username}</a> | ${history.name}
- </div>
</div>
<div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page-body">
- ## Render view of history.
- <div id="top-links" class="historyLinks" style="padding: 0px 0px 5px 0px">
- %if not user_owns_history:
- <a href="${h.url_for( controller='history', action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ <div style="overflow: auto; height: 100%;">
+ ## Render view of history.
+ <div id="top-links" class="historyLinks" style="padding: 0px 0px 5px 0px">
+ %if not user_owns_history:
+ <a href="${h.url_for( action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ %endif
+ <a href="${get_history_link( history )}">${_('refresh')}</a>
+ %if show_deleted:
+ | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
+ %endif
+ </div>
+
+ <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
+ %if user_owns_history:
+ <div style="float: right"><a id="history-rename" title="Rename" class="icon-button edit" target="galaxy_main" href="${h.url_for( controller='history', action='rename' )}"></a></div>
+ %endif
+ <div id="history-name">${history.get_display_name()}</div>
+ </div>
+
+ %if history.deleted:
+ <div class="warningmessagesmall">
+ ${_('You are currently viewing a deleted history!')}
+ </div>
+ <p></p>
+ %endif
+
+ %if not datasets:
+
+ <div class="infomessagesmall" id="emptyHistoryMessage">
+
+ %else:
+
+ ## Render requested datasets, ordered from newest to oldest
+ %for data in datasets:
+ %if data.visible:
+ <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
+ ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
+ </div>
%endif
- <a href="${get_history_link( history )}">${_('refresh')}</a>
- %if show_deleted:
- | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
- %endif
+ %endfor
+
+ <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
+ %endif
+ ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
</div>
-
- <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
- %if user_owns_history:
- <div style="float: right"><a id="history-rename" title="Rename" class="icon-button edit" target="galaxy_main" href="${h.url_for( controller='history', action='rename' )}"></a></div>
- %endif
- <div id="history-name">${history.get_display_name()}</div>
- </div>
-
- %if history.deleted:
- <div class="warningmessagesmall">
- ${_('You are currently viewing a deleted history!')}
- </div>
- <p></p>
- %endif
-
- %if not datasets:
-
- <div class="infomessagesmall" id="emptyHistoryMessage">
-
- %else:
-
- ## Render requested datasets, ordered from newest to oldest
- %for data in datasets:
- %if data.visible:
- <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
- ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
- </div>
- %endif
- %endfor
-
- <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
- %endif
- ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
- </div>
- </div>
-
- <div class="page-meta">
- ## Histories.
- <div><strong>Related Histories</strong></div>
- <p>
- <a href="${h.url_for ( controller='/history', action='list_public' )}">All public histories</a><br>
- <a href="${href_to_user_histories}">Histories owned by ${history.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=history, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( history.tags ) == 0:
- none
- %endif
- </div>
- ## Individual tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( user=trans.get_user(), tagged_item=history, elt_context='view.mako', use_toggle_link=False )}
- </div>
- </div>
</div>
</div>
</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/page/display.mako
--- a/templates/page/display.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/page/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,6 +1,9 @@
-<%inherit file="/base_panels.mako"/>
+<%inherit file="/display_base.mako"/>
-<%def name="title()">Galaxy :: ${page.user.username} :: ${page.title}</%def>
+<%def name="title()">
+ <% page = item %>
+ Galaxy :: ${page.user.username} :: ${page.title}
+</%def>
<%def name="javascripts()">
${parent.javascripts()}
@@ -144,43 +147,12 @@
count++;
return count;
};
-
- //
- // Handle click on community tag.
- //
- function community_tag_click(tag_name, tag_value)
- {
- // Do nothing until community tags implemented in published pages grid.
- var href = '${h.url_for( controller='/page', action='list_published')}';
- href = href + "?f-tags=" + tag_name;
- if (tag_value != null && tag_value != "")
- href = href + ":" + tag_value;
- self.location = href;
- }
</script>
</%def>
<%def name="stylesheets()">
${parent.stylesheets()}
${h.css( "base", "history", "autocomplete_tagging" )}
- <style>
- .page-body
- {
- padding: 10px;
- float: left;
- width: 65%;
- }
- .page-meta
- {
- float: right;
- width: 27%;
- padding: 0.5em;
- margin: 0.25em;
- vertical-align: text-top;
- border: 2px solid #DDDDDD;
- border-top: 4px solid #DDDDDD;
- }
- </style>
</%def>
<%def name="init()">
@@ -192,55 +164,13 @@
%>
</%def>
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%def name="get_item_name( page )">
+ <% return page.title %>
+</%def>
-<%def name="center_panel()">
+<%def name="render_item_links( page )">
+</%def>
- ## Get URL to other pages owned by user that owns this page.
- <%
- ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_pages = h.url_for( controller='/page', action='list_published', xxx=page.user.username)
- href_to_user_pages = href_to_user_pages.replace( 'xxx', 'f-username')
- %>
-
- <div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( controller='/page', action='list_published' )}">Published Pages</a> |
- <a href="${href_to_user_pages}">${page.user.username}</a> | ${page.title}
- </div>
- </div>
-
- <div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page text-content page-body">
- ${page.latest_revision.content.decode( "utf-8" )}
- </div>
- <div class="page-meta">
- ## Pages.
- <div><strong>Related Pages</strong></div>
- <p>
- <a href="${h.url_for ( controller='/page', action='list_published' )}">All published pages</a><br>
- <a href="${href_to_user_pages}">Pages published by ${page.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=page, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( page.tags ) == 0:
- none
- %endif
- </div>
- ## User tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( tagged_item=page, elt_context='display.mako', use_toggle_link=False )}
- </div>
- </div>
- </div>
- </div>
-
-</%def>
+<%def name="render_item( page, page_data=None )">
+ ${page.latest_revision.content.decode( "utf-8" )}
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/tagging_common.mako
--- a/templates/tagging_common.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/tagging_common.mako Wed Jan 13 13:19:25 2010 -0500
@@ -76,7 +76,7 @@
%if in_form:
<textarea class="tag-input" rows='1' cols='${input_size}'></textarea>
%else:
- <input class="tag-input" type='text' size='${input_size}'></input>
+ <input class="tag-input" type='text' size='${input_size}'/>
%endif
## Add "add tag" button.
<img src='${h.url_for('/static/images/add_icon.png')}' rollover='${h.url_for('/static/images/add_icon_dark.png')}' class="add-tag-button"/>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/display.mako
--- a/templates/workflow/display.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/workflow/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,68 +1,16 @@
-<%inherit file="/base_panels.mako"/>
-<%namespace file="/display_common.mako" import="get_history_link" />
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%inherit file="/display_base.mako"/>
-<%! from galaxy.tools.parameters import DataToolParameter %>
-
-<%def name="javascripts()">
- ${parent.javascripts()}
- ${h.js( "galaxy.base", "jquery", "json2", "jquery.autocomplete", "autocomplete_tagging" )}
-
- <script type="text/javascript">
- //
- // Handle click on community tag.
- //
- function community_tag_click(tag_name, tag_value)
- {
- var href = '${h.url_for( controller='/workflow', action='list_public')}';
- href = href + "?f-tags=" + tag_name;
- if (tag_value != null && tag_value != "")
- href = href + ":" + tag_value;
- self.location = href;
- }
- </script>
-</%def>
+<%! from galaxy.tools.parameters import DataToolParameter, RuntimeValue %>
<%def name="stylesheets()">
${parent.stylesheets()}
- ${h.css( "workflow", "autocomplete_tagging" )}
+ ${h.css( "workflow" )}
<style type="text/css">
- .page-body
- {
- padding: 10px;
- float: left;
- width: 65%;
- }
- .page-meta
- {
- float: right;
- width: 27%;
- padding: 0.5em;
- margin: 0.25em;
- vertical-align: text-top;
- border: 2px solid #DDDDDD;
- border-top: 4px solid #DDDDDD;
- }
div.toolForm{
margin-top: 10px;
margin-bottom: 10px;
}
</style>
- <noscript>
- <style>
- .historyItemBody {
- display: block;
- }
- </style>
- </noscript>
-</%def>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.message_box_visible=False
-%>
</%def>
<%def name="do_inputs( inputs, values, prefix, step, other_values=None )">
@@ -107,8 +55,10 @@
## FIXME: Initialize in the controller
<%
if value is None:
+ other_values = {}
value = other_values[ param.name ] = param.get_initial_value( t, other_values )
%>
+ <% print param.__class__ %>
${param.get_html_field( t, value, other_values ).get_html( str(step.id) + "|" + prefix )}
%endif
%else:
@@ -118,78 +68,35 @@
</div>
</%def>
-<%def name="center_panel()">
- ## Get URL to other workflows owned by user that owns this workflow.
- <%
- ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_workflows = h.url_for( action='list_public', xxx=workflow.user.username )
- href_to_user_workflows = href_to_user_workflows.replace( 'xxx', 'f-username' )
- %>
-
- <div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( action='list_public' )}">Public Workflows</a> |
- <a href="${href_to_user_workflows}">${workflow.user.username}</a> | ${workflow.name}
- </div>
- </div>
-
- <div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page-body">
- ## Render top links.
- <div id="top-links" style="padding: 0px 0px 5px 0px">
- %if workflow.user != trans.get_user():
- <a href="${h.url_for( action='imp', id=trans.security.encode_id(workflow.id) )}">import and start using workflow</a>
- %endif
- </div>
-
- ## Render Workflow.
- <h2>${workflow.name}</h2>
- %for i, step in enumerate( steps ):
- %if step.type == 'tool' or step.type is None:
- <% tool = app.toolbox.tools_by_id[step.tool_id] %>
- <div class="toolForm">
- <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${tool.name}</div>
- <div class="toolFormBody">
- ${do_inputs( tool.inputs, step.state.inputs, "", step )}
- </div>
- </div>
- %else:
- <% module = step.module %>
- <div class="toolForm">
- <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${module.name}</div>
- <div class="toolFormBody">
- </div>
- </div>
- %endif
- %endfor
- </div>
-
- <div class="page-meta">
- ## Workflows.
- <div><strong>Related Workflows</strong></div>
- <p>
- <a href="${h.url_for ( action='list_public' )}">All public workflows</a><br>
- <a href="${href_to_user_workflows}">Workflows owned by ${workflow.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=workflow, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( workflow.tags ) == 0:
- none
- %endif
- </div>
- ## Individual tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( user=trans.get_user(), tagged_item=workflow, elt_context='view.mako', use_toggle_link=False )}
- </div>
- </div>
- </div>
- </div>
+
+<%def name="render_item_links( workflow )">
+ %if workflow.user != trans.get_user():
+ <a href="${h.url_for( controller='/workflow', action='imp', id=trans.security.encode_id(workflow.id) )}">import and start using workflow</a>
+ %else:
+ you own this workflow
+ %endif
</%def>
+
+<%def name="render_item( workflow, steps )">
+ <h2>${workflow.name}</h2>
+ %for i, step in enumerate( steps ):
+ %if step.type == 'tool' or step.type is None:
+ <% tool = app.toolbox.tools_by_id[step.tool_id] %>
+ <div class="toolForm">
+ <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${tool.name}</div>
+ <div class="toolFormBody">
+ ${do_inputs( tool.inputs, step.state.inputs, "", step )}
+ </div>
+ </div>
+ %else:
+ <% module = step.module %>
+ <div class="toolForm">
+ <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${module.name}</div>
+ <div class="toolFormBody">
+ ##Need to do more work to print only dataset label and not combo box as well.
+ ##${do_inputs( module.get_runtime_inputs(), step.state.inputs, "", step )}
+ </div>
+ </div>
+ %endif
+ %endfor
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/list_public.mako
--- a/templates/workflow/list_public.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<%inherit file="/base_panels.mako"/>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.active_view="page"
- self.message_box_visible=False
-%>
-</%def>
-
-<%def name="center_panel()">
-
- ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
-
- <div style="overflow: auto; height: 100%;">
- <div class="page-container" style="padding: 10px;">
- ${unicode( grid, 'utf-8' )}
- </div>
- </div>
-
-
-</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/list_published.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/workflow/list_published.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,23 @@
+<%inherit file="/base_panels.mako"/>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.active_view="page"
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="center_panel()">
+
+ ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
+
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-container" style="padding: 10px;">
+ ${unicode( grid, 'utf-8' )}
+ </div>
+ </div>
+
+
+</%def>
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/b10ae696a0e9
changeset: 3231:b10ae696a0e9
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 10:24:30 2010 -0500
description:
Add a new LIBRARY_ACCESS permission that behaves similar to the DATASET_ACCESS permission. The LIBRARY_ACCESS permission exists only at the Data Library level, and if present, restricts access to the library to users that have the role(s). If absent, the Data Library is considered public.
This new permission significantly reduces the checks needed to display the list of accesible libraries displayed on the Data Libraries view, displaying the page must more quickly. The weakness is that Data Libraries may be displayed for the current user whose actual contents may be restricted from the user, so when clicked, no contents will be displayed.
If a Data Library is not public, the LIBRARY_ACCESS permission will override the DATASET_ACCESS permissions for it's contained datasets. For example, if LIBRARY_ACCESS is set to Role1, but the library contains "public" datasets, the library will still only be displayed to those users that have Role1.
Informative messages still need to be added for scenarios like this, and checks need to be added to ensure that permissions on library items ( folders and datasets ) are not set such that the item will be inaccessible. Additional functional tests are also still needed. These will all come in another change set soon.
diffstat:
lib/galaxy/security/__init__.py | 87 +++++++-------
lib/galaxy/tools/actions/__init__.py | 4 +-
lib/galaxy/tools/actions/upload_common.py | 8 +-
lib/galaxy/tools/parameters/basic.py | 2 +-
lib/galaxy/web/controllers/dataset.py | 4 +-
lib/galaxy/web/controllers/library.py | 22 +---
lib/galaxy/web/controllers/library_common.py | 42 +++---
lib/galaxy/web/controllers/requests.py | 2 +-
lib/galaxy/web/controllers/root.py | 8 +-
lib/galaxy/web/framework/__init__.py | 4 +-
templates/dataset/edit_attributes.mako | 2 +-
templates/library/browse_libraries.mako | 4 +-
templates/library/common/browse_library.mako | 20 +-
templates/library/common/common.mako | 4 +-
templates/library/common/folder_info.mako | 4 +-
templates/library/common/folder_permissions.mako | 7 +-
templates/library/common/ldda_edit_info.mako | 4 +-
templates/library/common/ldda_info.mako | 9 +-
templates/library/common/ldda_permissions.mako | 3 +-
templates/library/common/library_dataset_info.mako | 4 +-
templates/library/common/library_dataset_permissions.mako | 7 +-
templates/library/common/library_info.mako | 4 +-
templates/library/common/library_permissions.mako | 4 +-
templates/mobile/history/detail.mako | 2 +-
templates/mobile/manage_library.mako | 6 +-
templates/root/history_common.mako | 2 +-
26 files changed, 131 insertions(+), 138 deletions(-)
diffs (850 lines):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/security/__init__.py
--- a/lib/galaxy/security/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/security/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -20,6 +20,7 @@
permitted_actions = Bunch(
DATASET_MANAGE_PERMISSIONS = Action( "manage permissions", "Role members can manage the roles associated with this dataset", "grant" ),
DATASET_ACCESS = Action( "access", "Role members can import this dataset into their history for analysis", "restrict" ),
+ LIBRARY_ACCESS = Action( "access library", "Restrict access to this library to role members only", "restrict" ),
LIBRARY_ADD = Action( "add library item", "Role members can add library items to this library item", "grant" ),
LIBRARY_MODIFY = Action( "modify library item", "Role members can modify this library item", "grant" ),
LIBRARY_MANAGE = Action( "manage library permissions", "Role members can manage roles associated with this library item", "grant" )
@@ -41,11 +42,13 @@
raise "Unimplemented Method"
def can_manage_dataset( self, roles, dataset ):
raise "Unimplemented Method"
- def can_add_library_item( self, user, roles, item ):
+ def can_access_library( self, roles, library ):
raise "Unimplemented Method"
- def can_modify_library_item( self, user, roles, item ):
+ def can_add_library_item( self, roles, item ):
raise "Unimplemented Method"
- def can_manage_library_item( self, user, roles, item ):
+ def can_modify_library_item( self, roles, item ):
+ raise "Unimplemented Method"
+ def can_manage_library_item( self, roles, item ):
raise "Unimplemented Method"
def associate_components( self, **kwd ):
raise 'No valid method of associating provided components: %s' % kwd
@@ -61,12 +64,16 @@
raise "Unimplemented Method"
def set_dataset_permission( self, dataset, permission ):
raise "Unimplemented Method"
- def set_all_library_permissions( self, dataset, permissions ):
- raise "Unimplemented Method"
def dataset_is_public( self, dataset ):
raise "Unimplemented Method"
def make_dataset_public( self, dataset ):
raise "Unimplemented Method"
+ def set_all_library_permissions( self, dataset, permissions ):
+ raise "Unimplemented Method"
+ def library_is_public( self, library ):
+ raise "Unimplemented Method"
+ def make_library_public( self, library ):
+ raise "Unimplemented Method"
def get_component_associations( self, **kwd ):
raise "Unimplemented Method"
def components_are_associated( self, **kwd ):
@@ -93,50 +100,33 @@
def sa_session( self ):
"""Returns a SQLAlchemy session"""
return self.model.context
- def allow_dataset_action( self, roles, action, dataset ):
+ def allow_action( self, roles, action, item ):
"""
- Returns true when user has permission to perform an action on an
- instance of Dataset.
+ Method for checking a permission for the current user ( based on roles ) to perform a
+ specific action on an item, which must be one of:
+ Dataset, Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
"""
- dataset_actions = self.get_item_actions( action, dataset )
- if not dataset_actions:
- return action.model == 'restrict'
- ret_val = False
- for dataset_action in dataset_actions:
- if dataset_action.role in roles:
- ret_val = True
- break
- return ret_val
- def can_access_dataset( self, roles, dataset ):
- return self.allow_dataset_action( roles, self.permitted_actions.DATASET_ACCESS, dataset )
- def can_manage_dataset( self, roles, dataset ):
- return self.allow_dataset_action( roles, self.permitted_actions.DATASET_MANAGE_PERMISSIONS, dataset )
- def allow_library_item_action( self, user, roles, action, item ):
- """
- Method for checking a permission for the current user to perform a
- specific library action on a library item, which must be one of:
- Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
- """
- if user is None:
- # All permissions are granted, so non-users cannot have permissions
- return False
- # Check to see if user has access to any of the roles associated with action
item_actions = self.get_item_actions( action, item )
if not item_actions:
- # All permissions are granted, so item must have action
- return False
+ return action.model == 'restrict'
ret_val = False
for item_action in item_actions:
if item_action.role in roles:
ret_val = True
break
return ret_val
- def can_add_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_ADD, item )
- def can_modify_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_MODIFY, item )
- def can_manage_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_MANAGE, item )
+ def can_access_dataset( self, roles, dataset ):
+ return self.allow_action( roles, self.permitted_actions.DATASET_ACCESS, dataset )
+ def can_manage_dataset( self, roles, dataset ):
+ return self.allow_action( roles, self.permitted_actions.DATASET_MANAGE_PERMISSIONS, dataset )
+ def can_access_library( self, roles, library ):
+ return self.library_is_public( library ) or self.allow_action( roles, self.permitted_actions.LIBRARY_ACCESS, library )
+ def can_add_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_ADD, item )
+ def can_modify_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_MODIFY, item )
+ def can_manage_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_MANAGE, item )
def get_item_actions( self, action, item ):
# item must be one of: Dataset, Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
return [ permission for permission in item.actions if permission.action == action.action ]
@@ -393,6 +383,15 @@
for role_assoc in [ permission_class( action, library_item, role ) for role in roles ]:
self.sa_session.add( role_assoc )
self.sa_session.flush()
+ def library_is_public( self, library ):
+ # A library is considered public if there are no "access" actions associated with it.
+ return self.permitted_actions.LIBRARY_ACCESS.action not in [ a.action for a in library.actions ]
+ def make_library_public( self, library ):
+ # A library is considered public if there are no "access" actions associated with it.
+ for lp in library.actions:
+ if lp.action == self.permitted_actions.LIBRARY_ACCESS.action:
+ self.sa_session.delete( lp )
+ self.sa_session.flush()
def get_library_dataset_permissions( self, library_dataset ):
# Permissions will always be the same for LibraryDatasets and associated
# LibraryDatasetDatasetAssociations
@@ -407,9 +406,13 @@
permissions[ action ] = [ library_dataset_permission.role ]
return permissions
def copy_library_permissions( self, source_library_item, target_library_item, user=None ):
- # Copy all permissions from source
+ # Copy all relevant permissions from source.
permissions = {}
for role_assoc in source_library_item.actions:
+ if role_assoc.action == self.permitted_actions.LIBRARY_ACCESS and \
+ not( isinstance( source_library_item, galaxy.model.Libary ) and isinstance( target_library_item, galaxy.model.Libary ) ):
+ # LIBRARY_ACCESS is a special permission that is set only at the library level.
+ continue
if role_assoc.action in permissions:
permissions[role_assoc.action].append( role_assoc.role )
else:
@@ -441,7 +444,7 @@
when it finds the first library_item that allows user to perform any one action in actions_to_check.
"""
for action in actions_to_check:
- if self.allow_library_item_action( user, roles, action, library_item ):
+ if self.allow_action( roles, action, library_item ):
return True, hidden_folder_ids
if isinstance( library_item, self.model.Library ):
return self.show_library_item( user, roles, library_item.root_folder, actions_to_check, hidden_folder_ids='' )
@@ -467,7 +470,7 @@
if isinstance( library_item, self.model.LibraryFolder ):
if library_item.id not in hidden_folder_ids:
for action in actions_to_check:
- if self.allow_library_item_action( user, roles, action, library_item ):
+ if self.allow_action( roles, action, library_item ):
showable_folders.append( library_item )
break
for folder in library_item.active_folders:
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/actions/__init__.py
--- a/lib/galaxy/tools/actions/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/actions/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -51,7 +51,7 @@
trans.sa_session.add( assoc )
trans.sa_session.flush()
data = new_data
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if data and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
raise "User does not have permission to use a dataset (%s) provided for input." % data.id
return data
@@ -269,7 +269,7 @@
# parameters to the command as a special case.
for name, value in tool.params_to_strings( incoming, trans.app ).iteritems():
job.add_parameter( name, value )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for name, dataset in inp_data.iteritems():
if dataset:
if not trans.app.security_agent.can_access_dataset( roles, dataset.dataset ):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 10:24:30 2010 -0500
@@ -67,7 +67,7 @@
async_datasets = []
if params.get( 'async_datasets', None ) not in ["None", "", None]:
async_datasets = params['async_datasets'].split(',')
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for id in async_datasets:
try:
data = trans.sa_session.query( data_obj ).get( int( id ) )
@@ -82,7 +82,7 @@
else:
rval.append( data )
elif data_obj is trans.app.model.LibraryDatasetDatasetAssociation:
- if controller == 'library' and not trans.app.security_agent.can_add_library_item( user, roles, data.library_dataset.folder ):
+ if controller == 'library' and not trans.app.security_agent.can_add_library_item( roles, data.library_dataset.folder ):
log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, user.id ) )
else:
rval.append( data )
@@ -122,8 +122,8 @@
trans.sa_session.flush()
return hda
def new_library_upload( trans, uploaded_dataset, library_bunch, state=None ):
- user, roles = trans.get_user_and_roles()
- if not ( trans.app.security_agent.can_add_library_item( user, roles, library_bunch.folder ) \
+ roles = trans.get_current_user_roles()
+ if not ( trans.app.security_agent.can_add_library_item( roles, library_bunch.folder ) \
or trans.user.email in trans.app.config.get( "admin_users", "" ).split( "," ) ):
# This doesn't have to be pretty - the only time this should happen is if someone's being malicious.
raise Exception( "User is not authorized to add datasets to this library." )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/parameters/basic.py Wed Jan 13 10:24:30 2010 -0500
@@ -1177,7 +1177,7 @@
field = form_builder.SelectField( self.name, self.multiple, None, self.refresh_on_change, refresh_on_change_values = self.refresh_on_change_values )
# CRUCIAL: the dataset_collector function needs to be local to DataToolParameter.get_html_field()
def dataset_collector( hdas, parent_hid ):
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for i, hda in enumerate( hdas ):
if len( hda.name ) > 30:
hda_name = '%s..%s' % ( hda.name[:17], hda.name[-11:] )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/dataset.py
--- a/lib/galaxy/web/controllers/dataset.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/dataset.py Wed Jan 13 10:24:30 2010 -0500
@@ -192,7 +192,7 @@
data = data = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( dataset_id )
if not data:
raise paste.httpexceptions.HTTPRequestRangeNotSatisfiable( "Invalid reference dataset id: %s." % str( dataset_id ) )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
if data.state == trans.model.Dataset.states.UPLOAD:
return trans.show_error_message( "Please wait until this dataset finishes uploading before attempting to view it." )
@@ -298,7 +298,7 @@
if 'display_url' not in kwd or 'redirect_url' not in kwd:
return trans.show_error_message( 'Invalid parameters specified for "display at" link, please contact a Galaxy administrator' )
redirect_url = kwd['redirect_url'] % urllib.quote_plus( kwd['display_url'] )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.dataset_is_public( data.dataset ):
return trans.response.send_redirect( redirect_url ) # anon access already permitted by rbac
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/library.py
--- a/lib/galaxy/web/controllers/library.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/library.py Wed Jan 13 10:24:30 2010 -0500
@@ -21,28 +21,14 @@
params = util.Params( kwd )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
all_libraries = trans.sa_session.query( trans.app.model.Library ) \
.filter( trans.app.model.Library.table.c.deleted==False ) \
.order_by( trans.app.model.Library.name )
- library_actions = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD,
- trans.app.security_agent.permitted_actions.LIBRARY_MODIFY,
- trans.app.security_agent.permitted_actions.LIBRARY_MANAGE ]
- # The authorized_libraries dictionary looks like: { library : '1,2' }, library : '3' }
- # Its keys are the libraries that should be displayed for the current user and whose values are a
- # string of comma-separated folder ids of the associated folders that should NOT be displayed.
- # The folders that should not be displayed may not be a complete list, but it is ultimately passed
- # to the browse_library() method and the browse_library.mako template to keep from re-checking the
- # same folders when the library is rendered.
- authorized_libraries = odict()
+ authorized_libraries = []
for library in all_libraries:
- can_access, hidden_folder_ids = trans.app.security_agent.check_folder_contents( user, roles, library.root_folder )
- if can_access:
- authorized_libraries[ library ] = hidden_folder_ids
- else:
- can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( user, roles, library, library_actions )
- if can_show:
- authorized_libraries[ library ] = hidden_folder_ids
+ if trans.app.security_agent.library_is_public( library ) or trans.app.security_agent.can_access_library( roles, library ):
+ authorized_libraries.append( library )
return trans.fill_template( '/library/browse_libraries.mako',
libraries=authorized_libraries,
default_action=params.get( 'default_action', None ),
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Wed Jan 13 10:24:30 2010 -0500
@@ -234,11 +234,11 @@
messagetype = params.get( 'messagetype', 'done' )
folder = trans.sa_session.query( trans.app.model.LibraryFolder ).get( trans.security.decode_id( id ) )
if cntrller != 'library_admin':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
# See if we have any associated templates
widgets = folder.get_template_widgets( trans )
if params.get( 'rename_folder_button', False ):
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, folder ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, folder ):
old_name = folder.name
new_name = util.restore_text( params.name )
new_description = util.restore_text( params.description )
@@ -295,10 +295,10 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'update_roles_button', False ):
# The user clicked the Save button on the 'Associate With Roles' form
- if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, folder ):
+ if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( roles, folder ):
permissions = {}
for k, v in trans.app.model.Library.permitted_actions.items():
in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( int( x ) ) for x in util.listify( params.get( k + '_in', [] ) ) ]
@@ -344,14 +344,14 @@
if isinstance( dbkey, list ):
dbkey = dbkey[0]
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
file_formats = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
file_formats.sort()
# See if we have any associated templates
widgets = ldda.get_template_widgets( trans )
if params.get( 'change', False ):
# The user clicked the Save button on the 'Change data type' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
if ldda.datatype.allow_datatype_change and trans.app.datatypes_registry.get_datatype_by_extension( params.datatype ).allow_datatype_change:
trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
trans.sa_session.flush()
@@ -373,7 +373,7 @@
messagetype=messagetype )
elif params.get( 'save', False ):
# The user clicked the Save button on the 'Edit Attributes' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
old_name = ldda.name
new_name = util.restore_text( params.get( 'name', '' ) )
new_info = util.restore_text( params.get( 'info', '' ) )
@@ -413,7 +413,7 @@
messagetype=messagetype )
elif params.get( 'detect', False ):
# The user clicked the Auto-detect button on the 'Edit Attributes' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
for name, spec in ldda.datatype.metadata_spec.items():
# We need to be careful about the attributes we are resetting
if name not in [ 'name', 'info', 'dbkey' ]:
@@ -435,7 +435,7 @@
widgets=widgets,
msg=msg,
messagetype=messagetype )
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
if "dbkey" in ldda.datatype.metadata_spec and not ldda.metadata.dbkey:
# Copy dbkey into metadata, for backwards compatability
# This looks like it does nothing, but getting the dbkey
@@ -497,7 +497,7 @@
messagetype='error' ) )
lddas.append( ldda )
if params.get( 'update_roles_button', False ):
- if cntrller=='library_admin' or ( trans.app.security_agent.can_manage_library_item( user, roles, ldda ) and \
+ if cntrller=='library_admin' or ( trans.app.security_agent.can_manage_library_item( roles, ldda ) and \
trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) ):
permissions = {}
accessible = False
@@ -623,10 +623,10 @@
replace_dataset = None
upload_option = params.get( 'upload_option', 'upload_file' )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if cntrller == 'library_admin' or \
- ( trans.app.security_agent.can_add_library_item( user, roles, folder ) or \
- ( replace_dataset and trans.app.security_agent.can_modify_library_item( user, roles, replace_dataset ) ) ):
+ ( trans.app.security_agent.can_add_library_item( roles, folder ) or \
+ ( replace_dataset and trans.app.security_agent.can_modify_library_item( roles, replace_dataset ) ) ):
if params.get( 'runtool_btn', False ) or params.get( 'ajax_upload', False ):
# See if we have any inherited templates, but do not inherit contents.
info_association, inherited = folder.get_info_association( inherited=True )
@@ -662,7 +662,7 @@
# Since permissions on all LibraryDatasetDatasetAssociations must be the same at this point, we only need
# to check one of them to see if the current user can manage permissions on them.
check_ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( ldda_id_list[0] )
- if trans.app.security_agent.can_manage_library_item( user, roles, check_ldda ):
+ if trans.app.security_agent.can_manage_library_item( roles, check_ldda ):
if replace_dataset:
default_action = ''
else:
@@ -949,8 +949,8 @@
# Since permissions on all LibraryDatasetDatasetAssociations must be the same at this point, we only need
# to check one of them to see if the current user can manage permissions on them.
check_ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id_list[0] ) )
- user, roles = trans.get_user_and_roles()
- if trans.app.security_agent.can_manage_library_item( user, roles, check_ldda ):
+ roles = trans.get_current_user_roles()
+ if trans.app.security_agent.can_manage_library_item( roles, check_ldda ):
if replace_dataset:
default_action = ''
else:
@@ -1040,9 +1040,9 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'edit_attributes_button', False ):
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_dataset ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_dataset ):
if params.get( 'edit_attributes_button', False ):
old_name = library_dataset.name
new_name = util.restore_text( params.get( 'name', '' ) )
@@ -1081,9 +1081,9 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'update_roles_button', False ):
- if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, library_dataset ):
+ if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( roles, library_dataset ):
# The user clicked the Save button on the 'Associate With Roles' form
permissions = {}
for k, v in trans.app.model.Library.permitted_actions.items():
@@ -1204,7 +1204,7 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
seen = []
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for ldda_id in ldda_ids:
ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id ) )
if not ldda \
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Jan 13 10:24:30 2010 -0500
@@ -604,7 +604,7 @@
all_libraries = trans.sa_session.query( trans.app.model.Library ) \
.filter( trans.app.model.Library.table.c.deleted == False ) \
.order_by( trans.app.model.Library.name )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
actions_to_check = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD ]
libraries = odict()
for library in all_libraries:
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/root.py
--- a/lib/galaxy/web/controllers/root.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/root.py Wed Jan 13 10:24:30 2010 -0500
@@ -161,7 +161,7 @@
except:
return "Dataset id '%s' is invalid" %str( id )
if data:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
mime = trans.app.datatypes_registry.get_mimetype_by_extension( data.extension.lower() )
trans.response.set_content_type(mime)
@@ -194,7 +194,7 @@
if data:
child = data.get_child_by_designation( designation )
if child:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, child ):
return self.display( trans, id=child.id, tofile=tofile, toext=toext )
else:
@@ -211,7 +211,7 @@
if 'authz_method' in kwd:
authz_method = kwd['authz_method']
if data:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if authz_method == 'rbac' and trans.app.security_agent.can_access_dataset( roles, data ):
trans.response.set_content_type( data.get_mime() )
trans.log_event( "Formatted dataset id %s for display at %s" % ( str( id ), display_app ) )
@@ -266,7 +266,7 @@
return trans.show_error_message( "Problem retrieving dataset." )
if id is not None and data.history.user is not None and data.history.user != trans.user:
return trans.show_error_message( "This instance of a dataset (%s) in a history does not belong to you." % ( data.id ) )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
if data.state == trans.model.Dataset.states.UPLOAD:
return trans.show_error_message( "Please wait until this dataset finishes uploading before attempting to edit its metadata." )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/framework/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -524,13 +524,13 @@
self.sa_session.add( self.galaxy_session )
self.sa_session.flush()
user = property( get_user, set_user )
- def get_user_and_roles( self ):
+ def get_current_user_roles( self ):
user = self.get_user()
if user:
roles = user.all_roles()
else:
roles = []
- return user, roles
+ return roles
def user_is_admin( self ):
admin_users = self.app.config.get( "admin_users", "" ).split( "," )
return self.user and admin_users and self.user.email in admin_users
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/dataset/edit_attributes.mako
--- a/templates/dataset/edit_attributes.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/dataset/edit_attributes.mako Wed Jan 13 10:24:30 2010 -0500
@@ -6,7 +6,7 @@
<%def name="stylesheets()">
${h.css( "base", "autocomplete_tagging" )}
</%def>
-<% user, user_roles = trans.get_user_and_roles() %>
+<% user_roles = trans.get_current_user_roles() %>
<%def name="javascripts()">
${parent.javascripts()}
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/browse_libraries.mako
--- a/templates/library/browse_libraries.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/browse_libraries.mako Wed Jan 13 10:24:30 2010 -0500
@@ -20,9 +20,9 @@
</tr>
</thead>
<tbody>
- %for library, hidden_folder_ids in libraries.items():
+ %for library in libraries:
<tr class="libraryRow libraryOrFolderRow" id="libraryRow">
- <td><a href="${h.url_for( controller='library_common', action='browse_library', cntrller='library', id=trans.security.encode_id( library.id ), hidden_folder_ids=hidden_folder_ids )}">${library.name}</a></td>
+ <td><a href="${h.url_for( controller='library_common', action='browse_library', cntrller='library', id=trans.security.encode_id( library.id ), hidden_folder_ids='' )}">${library.name}</a></td>
<td><i>${library.description}</i></td>
</tr>
%endfor
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/browse_library.mako
--- a/templates/library/common/browse_library.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/browse_library.mako Wed Jan 13 10:24:30 2010 -0500
@@ -16,12 +16,12 @@
<%
if cntrller in [ 'library', 'requests' ]:
- user, roles = trans.get_user_and_roles()
- can_add = trans.app.security_agent.can_add_library_item( user, roles, library )
+ roles = trans.get_current_user_roles()
+ can_add = trans.app.security_agent.can_add_library_item( roles, library )
if can_add:
info_association, inherited = library.get_info_association()
- can_modify = trans.app.security_agent.can_modify_library_item( user, roles, library )
- can_manage = trans.app.security_agent.can_manage_library_item( user, roles, library )
+ can_modify = trans.app.security_agent.can_modify_library_item( roles, library )
+ can_manage = trans.app.security_agent.can_manage_library_item( roles, library )
elif cntrller in [ 'library_admin', 'requests_admin' ]:
info_association, inherited = library.get_info_association()
@@ -162,8 +162,8 @@
if ldda == library_dataset.library_dataset_dataset_association:
current_version = True
if cntrller in [ 'library', 'requests' ]:
- can_modify_library_dataset = trans.app.security_agent.can_modify_library_item( user, roles, library_dataset )
- can_manage_library_dataset = trans.app.security_agent.can_manage_library_item( user, roles, library_dataset )
+ can_modify_library_dataset = trans.app.security_agent.can_modify_library_item( roles, library_dataset )
+ can_manage_library_dataset = trans.app.security_agent.can_manage_library_item( roles, library_dataset )
else:
current_version = False
if current_version and ldda.state not in ( 'ok', 'error', 'empty', 'deleted', 'discarded' ):
@@ -191,7 +191,7 @@
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ) )}">View this dataset's information</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ] or can_manage_library_dataset:
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=ldda.id, permissions=True )}">Edit this dataset's permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), permissions=True )}">Edit this dataset's permissions</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ] or can_modify_library_dataset:
<a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), replace_id=trans.security.encode_id( library_dataset.id ) )}">Upload a new version of this dataset</a>
@@ -247,11 +247,11 @@
trans.app.security_agent.permitted_actions.LIBRARY_MANAGE ] )
if not can_show:
return ""
- can_add = trans.app.security_agent.can_add_library_item( user, roles, folder )
+ can_add = trans.app.security_agent.can_add_library_item( roles, folder )
if can_add:
info_association, inherited = folder.get_info_association( restrict=True )
- can_modify = trans.app.security_agent.can_modify_library_item( user, roles, folder )
- can_manage = trans.app.security_agent.can_manage_library_item( user, roles, folder )
+ can_modify = trans.app.security_agent.can_modify_library_item( roles, folder )
+ can_manage = trans.app.security_agent.can_manage_library_item( roles, folder )
elif cntrller in [ 'library_admin', 'requests_admin' ]:
info_association, inherited = folder.get_info_association( restrict=True )
%>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/common.mako
--- a/templates/library/common/common.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/common.mako Wed Jan 13 10:24:30 2010 -0500
@@ -15,14 +15,14 @@
library_item_type = 'library_dataset_dataset_association'
library_item_desc = 'library dataset'
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if widgets:
<p/>
<div class="toolForm">
<div class="toolFormTitle">Other information about ${library_item_desc} ${library_item.name}</div>
<div class="toolFormBody">
- %if editable and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_item ) ):
+ %if editable and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_item ) ):
<form name="edit_info" action="${h.url_for( controller='library_common', action='edit_template_info', cntrller=cntrller, library_id=library_id, response_action=response_action, num_widgets=len( widgets ) )}" method="post">
<input type="hidden" name="library_item_id" value="${trans.security.encode_id( library_item.id )}"/>
<input type="hidden" name="library_item_type" value="${library_item_type}"/>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/folder_info.mako
--- a/templates/library/common/folder_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/folder_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller != 'library_admin':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -21,7 +21,7 @@
<div class="toolForm">
<div class="toolFormTitle">Edit folder name and description</div>
<div class="toolFormBody">
- %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, folder ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, folder ):
<form name="folder" action="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id )}" method="post" >
<div class="form-row">
<label>Name:</label>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/folder_permissions.mako
--- a/templates/library/common/folder_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/folder_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -13,8 +13,9 @@
${render_msg( msg, messagetype )}
%endif
-<% user, roles = trans.get_user_and_roles() %>
+<% roles = trans.get_current_user_roles() %>
-%if cntrller=='library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, folder ):
- ${render_permission_form( folder, folder.name, h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id ), roles )}
+%if cntrller=='library_admin' or trans.app.security_agent.can_manage_library_item( roles, folder ):
+ ## LIBRARY_ACCESS is a special permission that is set only at the library level.
+ ${render_permission_form( folder, folder.name, h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
%endif
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_edit_info.mako
--- a/templates/library/common/ldda_edit_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_edit_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -22,7 +22,7 @@
<%
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if ldda == ldda.library_dataset.library_dataset_dataset_association:
@@ -54,7 +54,7 @@
</select>
</%def>
-%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ):
+%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ):
<div class="toolForm">
<div class="toolFormTitle">Edit attributes of ${ldda.name}</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_info.mako
--- a/templates/library/common/ldda_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -8,7 +8,8 @@
current_version = True
else:
current_version = False
- user, roles = trans.get_user_and_roles()
+ if cntrller == 'library':
+ roles = trans.get_current_user_roles()
%>
%if current_version:
@@ -41,15 +42,15 @@
%if not library.deleted and not ldda.library_dataset.folder.deleted and not ldda.deleted:
<a id="dataset-${ldda.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="dataset-${ldda.id}-popup">
- %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ):
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">Edit this dataset's information</a>
%else:
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">View this dataset's information</a>
%endif
- %if cntrller=='library_admin' or trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) and trans.app.security_agent.can_manage_library_item( user, roles, ldda.library_dataset ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) and trans.app.security_agent.can_manage_library_item( roles, ldda.library_dataset ):
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">Edit this dataset's permissions</a>
%endif
- %if current_version and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ) ):
+ %if current_version and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ) ):
<a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), replace_id=trans.security.encode_id( ldda.library_dataset.id ) )}">Upload a new version of this dataset</a>
%endif
%if cntrller=='library' and ldda.has_data:
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_permissions.mako
--- a/templates/library/common/ldda_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -62,4 +62,5 @@
%endif
<% ldda_ids = ",".join( [ trans.security.encode_id( d.id ) for d in lddas ] ) %>
-${render_permission_form( lddas[0], name_str, h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( lddas[0].library_dataset.folder.id ), id=ldda_ids ), roles )}
+## LIBRARY_ACCESS is a special permission that is set only at the library level.
+${render_permission_form( lddas[0], name_str, h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( lddas[0].library_dataset.folder.id ), id=ldda_ids ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_dataset_info.mako
--- a/templates/library/common/library_dataset_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_dataset_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller=='library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if library_dataset == library_dataset.library_dataset_dataset_association.library_dataset:
@@ -24,7 +24,7 @@
${render_msg( msg, messagetype )}
%endif
-%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_dataset ):
+%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_dataset ):
<div class="toolForm">
<div class="toolFormTitle">Edit attributes of ${library_dataset.name}</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_dataset_permissions.mako
--- a/templates/library/common/library_dataset_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_dataset_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if library_dataset == library_dataset.library_dataset_dataset_association.library_dataset:
@@ -24,11 +24,12 @@
${render_msg( msg, messagetype )}
%endif
-%if trans.app.security_agent.can_manage_library_item( user, user_roles, library_dataset ):
+%if trans.app.security_agent.can_manage_library_item( user_roles, library_dataset ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
.order_by( trans.app.model.Role.table.c.name )
%>
- ${render_permission_form( library_dataset, library_dataset.name, h.url_for( controller='library_common', action='library_dataset_permissions', cntrller=cntrller, id=trans.security.encode_id( library_dataset.id ), library_id=library_id ), roles )}
+ ## LIBRARY_ACCESS is a special permission that is set only at the library level.
+ ${render_permission_form( library_dataset, library_dataset.name, h.url_for( controller='library_common', action='library_dataset_permissions', cntrller=cntrller, id=trans.security.encode_id( library_dataset.id ), library_id=library_id ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
%endif
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_info.mako
--- a/templates/library/common/library_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if not trans.user_is_admin():
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -18,7 +18,7 @@
${render_msg( msg, messagetype )}
%endif
-%if cntrller == 'library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library ):
+%if cntrller == 'library_admin' or trans.app.security_agent.can_modify_library_item( roles, library ):
<div class="toolForm">
<div class="toolFormTitle">Change library name and description</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_permissions.mako
--- a/templates/library/common/library_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if not trans.user_is_admin():
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -18,7 +18,7 @@
${render_msg( msg, messagetype )}
%endif
-%if trans.user_is_admin or trans.app.security_agent.can_manage_library_item( user, user_roles, library ):
+%if trans.user_is_admin or trans.app.security_agent.can_manage_library_item( user_roles, library ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/mobile/history/detail.mako
--- a/templates/mobile/history/detail.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/mobile/history/detail.mako Wed Jan 13 10:24:30 2010 -0500
@@ -36,7 +36,7 @@
<div class="secondary">
## Body for history items, extra info and actions, data "peek"
- <% user, roles = trans.get_user_and_roles() %>
+ <% roles = trans.get_current_user_roles() %>
%if not trans.user_is_admin() and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
<div>You do not have permission to view this dataset.</div>
%elif data_state == "queued":
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/mobile/manage_library.mako
--- a/templates/mobile/manage_library.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/mobile/manage_library.mako Wed Jan 13 10:24:30 2010 -0500
@@ -3,13 +3,13 @@
<%namespace file="/dataset/security_common.mako" import="render_permission_form" />
<%namespace file="/library/common/common.mako" import="render_template_info" />
-<% user, roles = trans.get_user_and_roles() %>
+<% roles = trans.get_current_user_roles() %>
%if msg:
${render_msg( msg, messagetype )}
%endif
-%if trans.app.security_agent.can_modify_library_item( user, roles, library ):
+%if trans.app.security_agent.can_modify_library_item( roles, library ):
<div class="toolForm">
<div class="toolFormTitle">Change library name and description</div>
<div class="toolFormBody">
@@ -49,7 +49,7 @@
</div>
</div>
%endif
-%if trans.app.security_agent.can_manage_library_item( user, roles, library ):
+%if trans.app.security_agent.can_manage_library_item( roles, library ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/root/history_common.mako
--- a/templates/root/history_common.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/root/history_common.mako Wed Jan 13 10:24:30 2010 -0500
@@ -7,7 +7,7 @@
data_state = "queued"
else:
data_state = data.state
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if not trans.user_is_admin() and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
<div class="historyItemWrapper historyItem historyItem-${data_state} historyItem-noPermission" id="historyItem-${data.id}">
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/35d2a31cfbaf
changeset: 3230:35d2a31cfbaf
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Tue Jan 12 16:49:02 2010 -0500
description:
Changed the bowtie wrapper tool into two different tools: one for illumina data and one for solid
diffstat:
test-data/bowtie_in1.fastq | 5 -
test-data/bowtie_in2.fastq | 4 -
test-data/bowtie_in3.fastq | 4 -
test-data/bowtie_in4.fastqsanger | 2 +-
test-data/bowtie_out3.sam | 4 +-
test-data/bowtie_out7.sam | 4 +-
tool_conf.xml.sample | 1 +
tools/sr_mapping/bowtie_color_wrapper.xml | 659 +++++++++++++
tools/sr_mapping/bowtie_wrapper.py | 51 +-
tools/sr_mapping/bowtie_wrapper.xml | 1423 +++++++++-------------------
tools/sr_mapping/bowtie_wrapper_code.py | 13 +-
11 files changed, 1141 insertions(+), 1029 deletions(-)
diffs (2385 lines):
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_in1.fastq
--- a/test-data/bowtie_in1.fastq Tue Jan 12 15:48:21 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-@HWI-EAS91_1_30788AAXX:1:1:1513:715/1
-GTTTTTTNNGCATAGATGTTTAGTTGTGGTAGTCAG
-+/1
-IIIIIII""IIIIIIIIIIIIIIIIIIIDI?II-+I
-
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_in2.fastq
--- a/test-data/bowtie_in2.fastq Tue Jan 12 15:48:21 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-@HWI-EAS91_1_30788AAXX:1:2:618:346/1
-TAGACTACGAAAGTGACTTTAATACCTCTGACTACA
-+
-IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_in3.fastq
--- a/test-data/bowtie_in3.fastq Tue Jan 12 15:48:21 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-@HWI-EAS91_1_30788AAXX:1:2:618:346/2
-ATAGGCTGAATTAGCAATGGATGGTGGGGTTTATCG
-+
-IIIIIIIIIIIIIII9I.II5II6DFIIIIII*I2)
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_in4.fastqsanger
--- a/test-data/bowtie_in4.fastqsanger Tue Jan 12 15:48:21 2010 -0500
+++ b/test-data/bowtie_in4.fastqsanger Tue Jan 12 16:49:02 2010 -0500
@@ -1,4 +1,4 @@
@869_1532_1255/2
-2200333112212110002221031T
+T1301222000112122113330022
+
;89<:==5<8>69;8=<9;<>9:=<
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_out3.sam
--- a/test-data/bowtie_out3.sam Tue Jan 12 15:48:21 2010 -0500
+++ b/test-data/bowtie_out3.sam Tue Jan 12 16:49:02 2010 -0500
@@ -1,2 +1,2 @@
-869_1532_1255 163 chrM 3727 255 27M = 3752 50 GGAAATATGTCTGACAAAAGAGTTACT !!PTUVYQPSUSNSRTXTSVYVRVX<! XA:i:2 MD:Z:27 NM:i:0 CM:i:2
-869_1532_1255 83 chrM 3752 255 25M = 3727 -50 CTTTGATAGAGTAAAACATAGAGGC >USVY_UOXZWRQRSUY[\^XQR!! XA:i:1 MD:Z:25 NM:i:0 CM:i:1
+869_1532_1255 179 chrM 3727 255 25M = 3752 50 GGAAATATGTCTGACAAAAGAGTTA !!RVYVSTXTRSNSUSPQYVUTPR; XA:i:1 MD:Z:25 NM:i:0 CM:i:1
+869_1532_1255 115 chrM 3752 255 25M = 3727 -50 CTTTGATAGAGTAAAACATAGAGGC >USVY_UOXZWRQRSUY[\^XQR!! XA:i:1 MD:Z:25 NM:i:0 CM:i:1
diff -r b78de785df21 -r 35d2a31cfbaf test-data/bowtie_out7.sam
--- a/test-data/bowtie_out7.sam Tue Jan 12 15:48:21 2010 -0500
+++ b/test-data/bowtie_out7.sam Tue Jan 12 16:49:02 2010 -0500
@@ -1,2 +1,2 @@
-869_1532_1255 163 chrM 3728 255 25M = 3752 47 GAAATATGTCTGACAAAAGAGTTAC !PTUVYQPSUSNSRTXTSVYVRVX< XA:i:2 MD:Z:25 NM:i:0 CM:i:2
-869_1532_1255 83 chrM 3753 255 23M = 3727 -49 TTTGATAGAGTAAAACATAGAGG USVY_UOXZWRQRSUY[\^XQR! XA:i:1 MD:Z:23 NM:i:0 CM:i:1
+869_1532_1255 77 * 0 0 * * 0 0 CAGGGTTCCAAATCGGGTTGCAAG =;8:?@=?;;9:8;=>;5A?;<8> XM:i:0
+869_1532_1255 141 * 0 0 * * 0 0 TACGGGAAACCGCGGCCTTTAAGG ;89<:==5<8>69;8=<9;<>9:= XM:i:0
diff -r b78de785df21 -r 35d2a31cfbaf tool_conf.xml.sample
--- a/tool_conf.xml.sample Tue Jan 12 15:48:21 2010 -0500
+++ b/tool_conf.xml.sample Tue Jan 12 16:49:02 2010 -0500
@@ -192,6 +192,7 @@
<section name="NGS: Mapping" id="solexa_tools">
<tool file="sr_mapping/lastz_wrapper.xml" />
<tool file="sr_mapping/bowtie_wrapper.xml" />
+ <tool file="sr_mapping/bowtie_color_wrapper.xml" />
<tool file="sr_mapping/bwa_wrapper.xml" />
<tool file="metag_tools/megablast_wrapper.xml" />
<tool file="metag_tools/megablast_xml_parser.xml" />
diff -r b78de785df21 -r 35d2a31cfbaf tools/sr_mapping/bowtie_color_wrapper.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/sr_mapping/bowtie_color_wrapper.xml Tue Jan 12 16:49:02 2010 -0500
@@ -0,0 +1,659 @@
+<tool id="bowtie_color_wrapper" name="Map with Bowtie for SOLiD" version="1.0.0">
+ <description></description>
+ <command interpreter="python">
+ bowtie_wrapper.py
+ --threads="4"
+ --dataType="solid"
+ --output=$output
+ --suppressHeader=$suppressHeader
+ --genomeSource=$refGenomeSource.genomeSource
+ #if $refGenomeSource.genomeSource == "history":
+ --ref=$refGenomeSource.ownFile
+ --dbkey=$dbkey
+ --indexSettings=$refGenomeSource.indexParams.indexSettings
+ #if $refGenomeSource.indexParams.indexSettings == "indexFull":
+ --iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
+ #if $refGenomeSource.indexParams.autoBehavior.autoB == "set":
+ --ipacked=$refGenomeSource.indexParams.autoBehavior.packed
+ --ibmax=$refGenomeSource.indexParams.autoBehavior.bmax
+ --ibmaxdivn=$refGenomeSource.indexParams.autoBehavior.bmaxdivn
+ --idcv=$refGenomeSource.indexParams.autoBehavior.dcv
+ #else:
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ #end if
+ --inodc=$refGenomeSource.indexParams.nodc
+ --inoref=$refGenomeSource.indexParams.noref
+ --ioffrate=$refGenomeSource.indexParams.offrate
+ --iftab=$refGenomeSource.indexParams.ftab
+ --intoa=$refGenomeSource.indexParams.ntoa
+ --iendian=$refGenomeSource.indexParams.endian
+ --iseed=$refGenomeSource.indexParams.seed
+ --icutoff=$refGenomeSource.indexParams.cutoff
+ #else:
+ --iautoB="None"
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ --inodc="None"
+ --inoref="None"
+ --ioffrate="None"
+ --iftab="None"
+ --intoa="None"
+ --iendian="None"
+ --iseed="None"
+ --icutoff="None"
+ #end if
+ #else:
+ --ref=$refGenomeSource.index.value
+ --dbkey="None"
+ --indexSettings="None"
+ --iautoB="None"
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ --inodc="None"
+ --inoref="None"
+ --ioffrate="None"
+ --iftab="None"
+ --intoa="None"
+ --iendian="None"
+ --iseed="None"
+ --icutoff="None"
+ #end if
+ --paired=$singlePaired.sPaired
+ #if $singlePaired.sPaired == "single":
+ --input1=$singlePaired.sInput1
+ --input2="None"
+ --params=$singlePaired.sParams.sSettingsType
+ #if $singlePaired.sParams.sSettingsType == "full":
+ --skip=$singlePaired.sParams.sSkip
+ --alignLimit=$singlePaired.sParams.sAlignLimit
+ --trimH=$singlePaired.sParams.sTrimH
+ --trimL=$singlePaired.sParams.sTrimL
+ --mismatchSeed=$singlePaired.sParams.sMismatchSeed
+ --mismatchQual=$singlePaired.sParams.sMismatchQual
+ --seedLen=$singlePaired.sParams.sSeedLen
+ --rounding=$singlePaired.sParams.sRounding
+ --maqSoapAlign=$singlePaired.sParams.sMaqSoapAlign
+ --tryHard=$singlePaired.sParams.sTryHard
+ --valAlign=$singlePaired.sParams.sValAlign
+ --allValAligns=$singlePaired.sParams.sAllValAligns
+ --suppressAlign=$singlePaired.sParams.sSuppressAlign
+ --best=$singlePaired.sParams.sBestOption.sBest
+ #if $singlePaired.sParams.sBestOption.sBest == "doBest":
+ --maxBacktracks=$singlePaired.sParams.sBestOption.sdMaxBacktracks
+ --strata=$singlePaired.sParams.sBestOption.sdStrata
+ #else:
+ --maxBacktracks=$singlePaired.sParams.sBestOption.snMaxBacktracks
+ --strata="None"
+ #end if
+ --offrate=$singlePaired.sParams.sOffrate
+ --seed=$singlePaired.sParams.sSeed
+ --snpphred=$singlePaired.sParams.sSnpphred
+ --snpfrac=$singlePaired.sParams.sSnpfrac
+ --keepends=$singlePaired.sParams.sKeepends
+ #else:
+ --skip="None"
+ --alignLimit="None"
+ --trimH="None"
+ --trimL="None"
+ --mismatchSeed="None"
+ --mismatchQual="None"
+ --seedLen="None"
+ --rounding="None"
+ --maqSoapAlign="None"
+ --tryHard="None"
+ --valAlign="None"
+ --allValAligns="None"
+ --suppressAlign="None"
+ --best="None"
+ --maxBacktracks="None"
+ --strata="None"
+ --offrate="None"
+ --seed="None"
+ --snpphred="None"
+ --snpfrac="None"
+ --keepends="None"
+ #end if
+ --minInsert="None"
+ --maxInsert="None"
+ --mateOrient="None"
+ --maxAlignAttempt="None"
+ --forwardAlign="None"
+ --reverseAlign="None"
+ #else:
+ --input1=$singlePaired.pInput1
+ --input2=$singlePaired.pInput2
+ --params=$singlePaired.pParams.pSettingsType
+ #if $singlePaired.pParams.pSettingsType == "full":
+ --skip=$singlePaired.pParams.pSkip
+ --alignLimit=$singlePaired.pParams.pAlignLimit
+ --trimH=$singlePaired.pParams.pTrimH
+ --trimL=$singlePaired.pParams.pTrimL
+ --mismatchSeed=$singlePaired.pParams.pMismatchSeed
+ --mismatchQual=$singlePaired.pParams.pMismatchQual
+ --seedLen=$singlePaired.pParams.pSeedLen
+ --rounding=$singlePaired.pParams.pRounding
+ --maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
+ --minInsert=$singlePaired.pParams.pMinInsert
+ --maxInsert=$singlePaired.pParams.pMaxInsert
+ --mateOrient=$singlePaired.pParams.pMateOrient
+ --maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
+ --forwardAlign=$singlePaired.pParams.pForwardAlign
+ --reverseAlign=$singlePaired.pParams.pReverseAlign
+ --tryHard=$singlePaired.pParams.pTryHard
+ --valAlign=$singlePaired.pParams.pValAlign
+ --allValAligns=$singlePaired.pParams.pAllValAligns
+ --suppressAlign=$singlePaired.pParams.pSuppressAlign
+ --best=$singlePaired.pParams.pBestOption.pBest
+ #if $singlePaired.pParams.pBestOption.pBest == "doBest":
+ --maxBacktracks=$singlePaired.pParams.pBestOption.pdMaxBacktracks
+ --strata=$singlePaired.pParams.pBestOption.pdStrata
+ #else:
+ --maxBacktracks=$singlePaired.pParams.pBestOption.pnMaxBacktracks
+ --strata="None"
+ #end if
+ --offrate=$singlePaired.pParams.pOffrate
+ --seed=$singlePaired.pParams.pSeed
+ --snpphred=$singlePaired.pParams.pSnpphred
+ --snpfrac=$singlePaired.pParams.pSnpfrac
+ --keepends=$singlePaired.pParams.pKeepends
+ #else:
+ --skip="None"
+ --alignLimit="None"
+ --trimH="None"
+ --trimL="None"
+ --mismatchSeed="None"
+ --mismatchQual="None"
+ --seedLen="None"
+ --rounding="None"
+ --maqSoapAlign="None"
+ --minInsert="None"
+ --maxInsert="None"
+ --mateOrient="None"
+ --maxAlignAttempt="None"
+ --forwardAlign="None"
+ --reverseAlign="None"
+ --tryHard="None"
+ --valAlign="None"
+ --allValAligns="None"
+ --suppressAlign="None"
+ --best="None"
+ --maxBacktracks="None"
+ --strata="None"
+ --offrate="None"
+ --seed="None"
+ --snpphred="None"
+ --snpfrac="None"
+ --keepends="None"
+ #end if
+ #end if
+ </command>
+ <inputs>
+ <conditional name="refGenomeSource">
+ <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
+ <option value="indexed">Use a built-in index</option>
+ <option value="history">Use one from the history</option>
+ </param>
+ <when value="indexed">
+ <param name="index" type="select" label="Select the reference genome" help="if your genome of interest is not listed - contact Galaxy team">
+ <options from_file="bowtie_indices_color.loc">
+ <column name="value" index="1" />
+ <column name="name" index="0" />
+ </options>
+ </param>
+ </when>
+ <when value="history">
+ <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" />
+ <conditional name="indexParams">
+ <param name="indexSettings" type="select" label="Choose whether to use default options for building indices or to set your own">
+ <option value="indexPreSet">Default</option>
+ <option value="indexFull">Set your own</option>
+ </param>
+ <when value="indexPreSet" />
+ <when value="indexFull">
+ <conditional name="autoBehavior">
+ <param name="autoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
+ <option value="auto">Automatic behavior</option>
+ <option value="set">Set values (sets --noauto and allows others to be set)</option>
+ </param>
+ <when value="auto" />
+ <when value="set">
+ <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (-p)">
+ <option value="unpacked">Use regular representation</option>
+ <option value="packed">Use packed representation</option>
+ </param>
+ <param name="bmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
+ <param name="bmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
+ <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
+ </when>
+ </conditional>
+ <param name="nodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (a very repetitive reference)">
+ <option value="dc">Use difference-cover sample</option>
+ <option value="nodc">Disable difference-cover sample</option>
+ </param>
+ <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
+ <option value="ref">Build all index files</option>
+ <option value="noref">Do not build paired-end alignment index files</option>
+ </param>
+ <param name="offrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
+ <param name="ftab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
+ <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
+ <option value="no">Do not convert Ns</option>
+ <option value="yes">Convert Ns to As</option>
+ </param>
+ <param name="endian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
+ <option value="little">Little</option>
+ <option value="big">Big</option>
+ </param>
+ <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
+ <param name="cutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
+ </when> <!-- cIndexFull -->
+ </conditional> <!-- cIndexParams -->
+ </when> <!-- cHistory -->
+ </conditional> <!-- cRefGenomeSource -->
+ <conditional name="singlePaired">
+ <param name="sPaired" type="select" label="Is this library mate-paired?">
+ <option value="single">Single-end</option>
+ <option value="paired">Paired-end</option>
+ </param>
+ <when value="single">
+ <param name="sInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <conditional name="sParams">
+ <param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
+ <option value="preSet">Commonly used</option>
+ <option value="full">Full parameter list</option>
+ </param>
+ <when value="preSet" />
+ <when value="full">
+ <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
+ <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
+ <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
+ <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
+ <param name="sMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+ <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
+ <param name="sSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
+ <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
+ <option value="round">Round to nearest 10</option>
+ <option value="noRound">Do not round to nearest 10</option>
+ </param>
+ <param name="sMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
+ <param name="sTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
+ <option value="noTryHard">Do not try hard</option>
+ <option value="doTryHard">Try hard</option>
+ </param>
+ <param name="sValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" />
+ <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
+ <option value="noAllValAligns">Do not report all valid alignments</option>
+ <option value="doAllValAligns">Report all valid alignments</option>
+ </param>
+ <param name="sSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
+ <conditional name="sBestOption">
+ <param name="sBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
+ <option value="noBest">Do not use best</option>
+ <option value="doBest">Use best</option>
+ </param>
+ <when value="noBest">
+ <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ </when>
+ <when value="doBest">
+ <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ <param name="sdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
+ <option value="noStrata">Do not use strata option</option>
+ <option value="doStrata">Use strata option</option>
+ </param>
+ </when>
+ </conditional> <!-- csBestOption -->
+ <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
+ <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
+ <param name="sSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" />
+ <param name="sSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" />
+ <param name="sKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)">
+ <option value="doKeepends">Keep ends</option>
+ <option value="noKeepends">Trim ends</option>
+ </param>
+ </when> <!-- csFull -->
+ </conditional> <!-- csParams -->
+ </when> <!-- cSingle -->
+ <when value="paired">
+ <param name="pInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <conditional name="pParams">
+ <param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
+ <option value="preSet">Commonly used</option>
+ <option value="full">Full parameter list</option>
+ </param>
+ <when value="preSet" />
+ <when value="full">
+ <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
+ <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
+ <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
+ <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
+ <param name="pMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+ <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
+ <param name="pSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
+ <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
+ <option value="round">Round to nearest 10</option>
+ <option value="noRound">Do not round to nearest 10</option>
+ </param>
+ <param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
+ <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
+ <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="ff">FF (for SOLiD)</option>
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ </param>
+ <param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
+ <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
+ <option value="forward">Align against the forward reference strand</option>
+ <option value="noForward">Do not align against the forward reference strand</option>
+ </param>
+ <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
+ <option value="reverse">Align against the reverse-complement reference strand</option>
+ <option value="noReverse">Do not align against the reverse-complement reference strand</option>
+ </param>
+ <param name="pTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
+ <option value="noTryHard">Do not try hard</option>
+ <option value="doTryHard">Try hard</option>
+ </param>
+ <param name="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
+ <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
+ <option value="noAllValAligns">Do not report all valid alignments</option>
+ <option value="doAllValAligns">Report all valid alignments</option>
+ </param>
+ <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
+ <conditional name="pBestOption">
+ <param name="pBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
+ <option value="noBest">Do not use best</option>
+ <option value="doBest">Use best</option>
+ </param>
+ <when value="noBest">
+ <param name="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ </when>
+ <when value="doBest">
+ <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ <param name="pdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
+ <option value="noStrata">Do not use strata option</option>
+ <option value="doStrata">Use strata option</option>
+ </param>
+ </when>
+ </conditional> <!-- cpBestOption -->
+ <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
+ <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
+ <param name="pSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" />
+ <param name="pSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" />
+ <param name="pKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)">
+ <option value="doKeepends">Keep ends</option>
+ <option value="noKeepends">Trim ends</option>
+ </param>
+ </when> <!-- cpFull -->
+ </conditional> <!-- cpParams -->
+ </when> <!-- cPaired -->
+ </conditional> <!-- cSinglePaired -->
+ <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information" />
+ </inputs>
+ <outputs>
+ <data format="sam" name="output" />
+ </outputs>
+ <tests>
+ <test>
+ <!--
+ Bowtie command:
+ bowtie -p 4 -S +sam-nohead -q -C chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out1.sam
+ -p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes.
+ chrM_color needs to be the base location/name of the index files.
+ -->
+ <param name="genomeSource" value="indexed" />
+ <param name="index" value="equCab2chrM" />
+ <param name="sPaired" value="single" />
+ <param name="sInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" />
+ <param name="sSettingsType" value="preSet" />
+ <param name="suppressHeader" value="true" />
+ <output name="output" ftype="sam" file="bowtie_out1.sam" />
+ </test>
+ <test>
+ <!--
+ Bowtie command:
+ bowtie-build -f -C test-data/chr_m.fasta chrM_color
+ bowtie -n 2 -e 70 -l 28 -X 250 +ff +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
+ -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
+ chrM_base is the index files' location/base name.
+ -->
+ <param name="genomeSource" value="history" />
+ <param name="ownFile" value="chr_m.fasta" />
+ <param name="indexSettings" value="indexPreSet" />
+ <param name="sPaired" value="paired" />
+ <param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
+ <param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pSettingsType" value="full" />
+ <param name="pSkip" value="0" />
+ <param name="pAlignLimit" value="-1" />
+ <param name="pTrimH" value="0" />
+ <param name="pTrimL" value="0" />
+ <param name="pMismatchSeed" value="2" />
+ <param name="pMismatchQual" value="70" />
+ <param name="pSeedLen" value="28" />
+ <param name="pRounding" value="round" />
+ <param name="pMaqSoapAlign" value="-1" />
+ <param name="pMinInsert" value="0" />
+ <param name="pMaxInsert" value="250" />
+ <param name="pMateOrient" value="ff" />
+ <param name="pMaxAlignAttempt" value="100" />
+ <param name="pForwardAlign" value="forward" />
+ <param name="pReverseAlign" value="reverse" />
+ <param name="pTryHard" value="noTryHard" />
+ <param name="pValAlign" value="1" />
+ <param name="pAllValAligns" value="noAllValAligns" />
+ <param name="pSuppressAlign" value="-1" />
+ <param name="pBest" value="noBest" />
+ <param name="pnMaxBacktracks" value="125" />
+ <param name="pOffrate" value="-1" />
+ <param name="pSeed" value="-1" />
+ <param name="pSnpphred" value="-1" />
+ <param name="pSnpfrac" value="0.001" />
+ <param name="pKeepends" value="doKeepends" />
+ <param name="suppressHeader" value="true" />
+ <output name="output" ftype="sam" file="bowtie_out3.sam" />
+ </test>
+ <test>
+ <!--
+ Bowtie command:
+ bowtie -n 2 -e 70 -l 28 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out5.sam
+ -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
+ chrM_base is the index files' location/base name.
+ -->
+ <param name="genomeSource" value="indexed" />
+ <param name="index" value="equCab2chrM" />
+ <param name="sPaired" value="single" />
+ <param name="sInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" />
+ <param name="sSettingsType" value="full" />
+ <param name="sSkip" value="0" />
+ <param name="sAlignLimit" value="-1" />
+ <param name="sTrimH" value="0" />
+ <param name="sTrimL" value="0" />
+ <param name="sMismatchSeed" value="2" />
+ <param name="sMismatchQual" value="70" />
+ <param name="sSeedLen" value="28" />
+ <param name="sRounding" value="round" />
+ <param name="sMaqSoapAlign" value="-1" />
+ <param name="sTryHard" value="noTryHard" />
+ <param name="sValAlign" value="1" />
+ <param name="sAllValAligns" value="noAllValAligns" />
+ <param name="sSuppressAlign" value="-1" />
+ <param name="sBest" value="noBest" />
+ <param name="snMaxBacktracks" value="125" />
+ <param name="sOffrate" value="-1" />
+ <param name="sSeed" value="-1" />
+ <param name="sSnpphred" value="-1" />
+ <param name="sSnpfrac" value="0.001" />
+ <param name="sKeepends" value="doKeepends" />
+ <param name="suppressHeader" value="true" />
+ <output name="output" ftype="sam" file="bowtie_out5.sam" />
+ </test>
+ <test>
+ <!--
+ Bowtie command:
+ bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color
+ bowtie -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
+ -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
+ chrM_base is the index files' location/base name.
+ -->
+ <param name="genomeSource" value="cHistory" />
+ <param name="ownFile" value="chr_m.fasta" />
+ <param name="indexSettings" value="indexFull" />
+ <param name="autoB" value="set" />
+ <param name="packed" value="unpacked" />
+ <param name="bmax" value="-1" />
+ <param name="bmaxdivn" value="4" />
+ <param name="dcv" value="1024" />
+ <param name="nodc" value="dc" />
+ <param name="noref" value="ref" />
+ <param name="offrate" value="5" />
+ <param name="ftab" value="10" />
+ <param name="ntoa" value="no" />
+ <param name="endian" value="little" />
+ <param name="seed" value="-1" />
+ <param name="cutoff" value="-1" />
+ <param name="sPaired" value="paired" />
+ <param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
+ <param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pSettingsType" value="preSet" />
+ <param name="suppressHeader" value="true" />
+ <output name="output" ftype="sam" file="bowtie_out7.sam" />
+ </test>
+ </tests>
+
+ <help>
+
+**What it does**
+
+Bowtie_ is a short read aligner designed to be ultrafast and memory-efficient. It is developed by Ben Langmead and Cole Trapnell. Please cite: Langmead B, Trapnell C, Pop M, Salzberg SL. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biology 10:R25.
+
+.. _Bowtie: http://bowtie-bio.sourceforge.net/index.shtml
+
+------
+
+**Know what you are doing**
+
+.. class:: warningmark
+
+There is no such thing (yet) as automated gearshift in short read mapping. It is all like stick-shift driving in San Francisco. In other words = running this tool with default parameters will probably not give you meaningful results. A way to deal with this is to **understand** the parameters by carefully reading `documentation`__ and experimenting. Fortunaly, Galaxy makes experimenting easy.
+
+ .. __: http://bowtie-bio.sourceforge.net/index.shtml
+
+------
+
+**Input formats**
+
+Bowtie accepts files in Sanger FASTQ format.
+
+------
+
+**Outputs**
+
+The output is in SAM format, and has the following columns::
+
+ Column Description
+ -------- --------------------------------------------------------
+ 1 QNAME Query (pair) NAME
+ 2 FLAG bitwise FLAG
+ 3 RNAME Reference sequence NAME
+ 4 POS 1-based leftmost POSition/coordinate of clipped sequence
+ 5 MAPQ MAPping Quality (Phred-scaled)
+ 6 CIGAR extended CIGAR string
+ 7 MRNM Mate Reference sequence NaMe ('=' if same as RNAME)
+ 8 MPOS 1-based Mate POSition
+ 9 ISIZE Inferred insert SIZE
+ 10 SEQ query SEQuence on the same strand as the reference
+ 11 QUAL query QUALity (ASCII-33 gives the Phred base quality)
+ 12 OPT variable OPTional fields in the format TAG:VTYPE:VALUE
+
+The flags are as follows::
+
+ Flag Description
+ ------ -------------------------------------
+ 0x0001 the read is paired in sequencing
+ 0x0002 the read is mapped in a proper pair
+ 0x0004 the query sequence itself is unmapped
+ 0x0008 the mate is unmapped
+ 0x0010 strand of the query (1 for reverse)
+ 0x0020 strand of the mate
+ 0x0040 the read is the first read in a pair
+ 0x0080 the read is the second read in a pair
+ 0x0100 the alignment is not primary
+
+It looks like this (scroll sideways to see the entire example)::
+
+ QNAME FLAG RNAME POS MAPQ CIAGR MRNM MPOS ISIZE SEQ QUAL OPT
+ HWI-EAS91_1_30788AAXX:1:1:1761:343 4 * 0 0 * * 0 0 AAAAAAANNAAAAAAAAAAAAAAAAAAAAAAAAAAACNNANNGAGTNGNNNNNNNGCTTCCCACAGNNCTGG hhhhhhh;;hhhhhhhhhhh^hOhhhhghhhfhhhgh;;h;;hhhh;h;;;;;;;hhhhhhghhhh;;Phhh
+ HWI-EAS91_1_30788AAXX:1:1:1578:331 4 * 0 0 * * 0 0 GTATAGANNAATAAGAAAAAAAAAAATGAAGACTTTCNNANNTCTGNANNNNNNNTCTTTTTTCAGNNGTAG hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhhhh;;h;;hhhh;h;;;;;;;hhhhhhhhhhh;;hhVh
+
+-------
+
+**Bowtie settings**
+
+All of the options have a default value. You can change any of them. Most of the options in Bowtie have been implemented here.
+
+------
+
+**Bowtie parameter list**
+
+This is an exhaustive list of Bowtie options:
+
+For indexing (bowtie-build)::
+ -a No auto behavior. Disable the default behavior where bowtie automatically selects values for --bmax/--dcv/--packed parameters according to the memory available. [off]
+ -p Packing. Use a packed representation for DNA strings. [auto]
+ --bmax <int> Suffix maximum. The maximum number of suffixes allowed in a block. [auto]
+ --bmaxdivn <int> Suffix maximum fraction. The maximum number of suffixes allowed in a block expressed as a fraction of the length of the reference. [4]
+ --dcv <int> Difference-cover sample. Use <int> as the period for the difference-cover sample. [1024]
+ --nodc <int> No difference-cover sample. Disable the difference-cover sample. [off]
+ -r No reference indexes. Do not build the NAME.3.ebwt and NAME.4.ebwt portions of the index, used only for paired-end alignment. [off]
+ -o Offrate. How many Burrows-Wheeler rows get marked by the indexer. The indexer will mark every 2^<int> rows. The marked rows correspond to rows on the genome. [5]
+ -t <int> Ftab. The lookup table used to calculate an initial Burrows-Wheeler range with respect to the first <int> characters of the query. Ftab is 4^<int>+1 bytes. [10]
+ --ntoa N conversion. Convert Ns to As before building the index. Otherwise, Ns are simply excluded from the index and Bowtie will not find alignments that overlap them. [off]
+ --big Endianness. Endianness to use when serializing integers to the index file. [off]
+ --little Endianness. [--little]
+ --seed <int> Random seed. Use <int> as the seed for the pseudo-random number generator. [off]
+ --cutoff <int> Cutoff. Index only the first <int> bases of the reference sequences (cumulative across sequences) and ignore the rest. [off]
+
+For aligning (bowtie)::
+ -s <int> Skip. Do not align the first <int> reads or pairs in the input. [off]
+ -u <int> Align limit. Only align the first <int> reads/pairs from the input. [no limit]
+ -5 <int> High-quality trim. Trim <int> bases from the high-quality (left) end of each read before alignment. [0]
+ -3 <int> Low-quality trim. Trim <int> bases from the low-quality (right) end of each read before alignment. [0]
+ -n <int> Mismatch seed. Maximum number of mismatches permitted in the seed (defined with seed length option). Can be 0, 1, 2, or 3. [2]
+ -e <int> Mismatch quality. Maximum permitted total of quality values at mismatched read positions. Bowtie rounds quality values to the nearest 10 and saturates at 30. [70]
+ -l <int> Seed length. The number of bases on the high-quality end of the read to which the -n ceiling applies. Must be at least 5. [28]
+ --nomaqround Suppress MAQ rounding. Values are internally rounded to the nearest 10 and saturate at 30. This options turns off that rounding. [off]
+ -v <int> MAQ- or SOAP-like alignment policy. This option turns off the default MAQ-like alignment policy in favor of a SOAP-like one. End-to-end alignments with at most <int> mismatches. [off]
+ -I <int> Minimum insert. The minimum insert size for valid paired-end alignments. Does checking on untrimmed reads if -5 or -3 is used. [0]
+ --fr Mate orientation. The upstream/downstream mate orientations for a valid paired-end alignment against the forward reference strand. [--fr]
+ --rf Mate orientation. [off]
+ --ff Mate orientation. [off]
+ -X <int> Maximum insert. The maximum insert size for valid paired-end alignments. Does checking on untrimmed reads if -5 or -3 is used. [250]
+ --pairtries <int> Maximum alignment attempts for paired-end data. [100]
+ --nofw No forward aligning. Choosing this option means that Bowtie will not attempt to align against the forward reference strand. [off]
+ --norc No reverse-complement aligning. Setting this will mean that Bowtie will not attempt to align against the reverse-complement reference strand. [off]
+ --maxbts <int> Maximum backtracks. The maximum number of backtracks permitted when aligning a read in -n 2 or -n 3 mode. [125 without --best] [800 with --best]
+ -y Try hard. Try as hard as possible to find valid alignments when they exist, including paired-end alignments. [off]
+ --chunkmbs <int> Thread memory. The number of megabytes of memory a given thread is given to store path descriptors in --best mode. [32]
+ -k <int> Valid alignments. The number of valid alignments per read or pair. [off]
+ -a All valid alignments. Choosing this means that all valid alignments per read or pair will be reported. [off]
+ -m <int> Suppress alignments. Suppress all alignments for a particular read or pair if more than <int> reportable alignments exist for it. [no limit]
+ --best Best mode. Make Bowtie guarantee that reported singleton alignments are "best" in terms of stratum (the number of mismatches) and quality values at mismatched position. [off]
+ --strata Best strata. When running in best mode, report alignments that fall into the best stratum if there are ones falling into more than one. [off]
+ -o <int> Offrate override. Override the offrate of the index with <int>. Some row markings are discarded when index read into memory. <int> must be greater than the value used to build the index (default: 5). [off]
+ --seed <int> Random seed. Use <int> as the seed for the pseudo-random number generator. [off]
+ --snpphred <int> Use <int> as the SNP penalty for decoding colorspace alignments. True ratio of SNPs per base in the subject genome. [see --snpfrac]
+ --snpfrac <dec> Use <dec> as the estimated ratio of SNPs per base when decoding colorspace alignments. [0.001]
+ --col-keepends Keep the extreme-end nucleotides and qualities when decoding colorspace alignments. [off]
+
+ </help>
+ <code file="bowtie_wrapper_code.py" />
+</tool>
diff -r b78de785df21 -r 35d2a31cfbaf tools/sr_mapping/bowtie_wrapper.py
--- a/tools/sr_mapping/bowtie_wrapper.py Tue Jan 12 15:48:21 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.py Tue Jan 12 16:49:02 2010 -0500
@@ -42,7 +42,7 @@
-S, --seed=S: Seed for pseudo-random number generator
-d, --dbkey=d: Dbkey of reference genome
-C, --params=C: Whether to use default or specified parameters
- -u, --iauto_b=u: Automatic or specified behavior
+ -u, --iautoB=u: Automatic or specified behavior
-K, --ipacked=K: Whether or not to use a packed representation for DNA strings
-Q, --ibmax=Q: Maximum number of suffixes allowed in a block
-Y, --ibmaxdivn=Y: Maximum number of suffixes allowed in a block as a fraction of the length of the reference
@@ -105,7 +105,7 @@
parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' )
parser.add_option( '-d', '--dbkey', dest='dbkey', help='Dbkey of reference genome' )
parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' )
- parser.add_option( '-u', '--iauto_b', dest='iauto_b', help='Automatic or specified behavior' )
+ parser.add_option( '-u', '--iautoB', dest='iautoB', help='Automatic or specified behavior' )
parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' )
parser.add_option( '-Q', '--ibmax', dest='ibmax', help='Maximum number of suffixes allowed in a block' )
parser.add_option( '-Y', '--ibmaxdivn', dest='ibmaxdivn', help='Maximum number of suffixes allowed in a block as a fraction of the length of the reference' )
@@ -129,17 +129,17 @@
else:
colorspace = ''
# index if necessary
- if options.genomeSource == 'cHistory' or options.genomeSource == 'xHistory':
+ if options.genomeSource == 'history':
# set up commands
- if options.index_settings =='cIndexPreSet' or options.index_settings == 'xIndexPreSet':
+ if options.index_settings =='indexPreSet':
indexing_cmds = '%s' % colorspace
else:
try:
- if options.iauto_b == 'set':
- iauto_b = '--noauto'
+ if options.iautoB != 'None' and options.iautoB == 'set':
+ iautoB = '--noauto'
else:
- iauto_b = ''
- if options.ipacked == 'packed':
+ iautoB = ''
+ if options. ipacked != 'None' and options.ipacked == 'packed':
ipacked = '--packed'
else:
ipacked = ''
@@ -155,11 +155,11 @@
idcv = '--dcv %s' % options.idcv
else:
idcv = ''
- if options.inodc == 'nodc':
+ if options.inodc != 'None' and options.inodc == 'nodc':
inodc = '--nodc'
else:
inodc = ''
- if options.inoref == 'noref':
+ if options.inoref != 'None' and options.inoref == 'noref':
inoref = '--noref'
else:
inoref = ''
@@ -167,24 +167,24 @@
iftab = '--ftabchars %s' % options.iftab
else:
iftab = ''
- if options.intoa == 'yes':
+ if options.intoa != 'None' and options.intoa == 'yes':
intoa = '--ntoa'
else:
intoa = ''
- if options.iendian == 'big':
+ if options.iendian != 'None' and options.iendian == 'big':
iendian = '--big'
else:
iendian = '--little'
- if int( options.iseed ) > 0:
+ if options.iseed != 'None' and int( options.iseed ) > 0:
iseed = '--seed %s' % options.iseed
else:
iseed = ''
- if int( options.icutoff ) > 0:
+ if options.icutoff != 'None' and int( options.icutoff ) > 0:
icutoff = '--cutoff %s' % options.icutoff
else:
icutoff = ''
indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s %s' % \
- ( iauto_b, ipacked, ibmax, ibmaxdivn, idcv, inodc,
+ ( iautoB, ipacked, ibmax, ibmaxdivn, idcv, inodc,
inoref, options.ioffrate, iftab, intoa, iendian,
iseed, icutoff, colorspace )
except ValueError:
@@ -206,8 +206,7 @@
suppressHeader = '--sam-nohead'
else:
suppressHeader = ''
- if options.params == 'csPreSet' or options.params == 'cpPreSet' or \
- options.params == 'xsPreSet' or options.params == 'xpPreSet':
+ if options.params == 'preSet':
aligning_cmds = '-p %s -S %s -q %s ' % ( options.threads, suppressHeader, colorspace )
else:
try:
@@ -215,27 +214,28 @@
skip = '-s %s' % options.skip
else:
skip = ''
- if int( options.alignLimit ) >= 0:
+ if options.alignLimit != 'None' and int( options.alignLimit ) >= 0:
alignLimit = '-u %s' % options.alignLimit
else:
alignLimit = ''
- if int( options.trimH ) > 0:
+ if options.trimH != 'None' and int( options.trimH ) > 0:
trimH = '-5 %s' % options.trimH
else:
trimH = ''
- if int( options.trimL ) > 0:
+ if options.trimL != 'None' and int( options.trimL ) > 0:
trimL = '-3 %s' % options.trimL
else:
trimL = ''
- if options.mismatchSeed == '0' or options.mismatchSeed == '1' or options.mismatchSeed == '2' or options.mismatchSeed == '3':
+ if options. mismatchSeed != 'None' and (options.mismatchSeed == '0' or options.mismatchSeed == '1' \
+ or options.mismatchSeed == '2' or options.mismatchSeed == '3'):
mismatchSeed = '-n %s' % options.mismatchSeed
else:
mismatchSeed = ''
- if int( options.mismatchQual ) >= 0:
+ if options.mismatchQual != 'None' and int( options.mismatchQual ) >= 0:
mismatchQual = '-e %s' % options.mismatchQual
else:
mismatchQual = ''
- if int( options.seedLen ) >= 5:
+ if options.seedLen != 'None' and int( options.seedLen ) >= 5:
seedLen = '-l %s' % options.seedLen
else:
seedLen = ''
@@ -292,8 +292,7 @@
suppressAlign = '-m %s' % options.suppressAlign
else:
suppressAlign = ''
- if options.best == 'csDoBest' or options.best == 'cpDoBest' or \
- options.best == 'xsDoBest' or options.best == 'xpDoBest':
+ if options.best == 'doBest':
best = '--best'
else:
best = ''
@@ -332,7 +331,7 @@
except ValueError, e:
stop_err( 'Something is wrong with the alignment parameters and the alignment could not be run\n' + str( e ) )
# prepare actual aligning commands
- if options.paired == 'cPaired' or options.paired == 'xPaired':
+ if options.paired == 'paired':
cmd2 = 'bowtie %s %s -1 %s -2 %s > %s 2> /dev/null' % ( aligning_cmds, options.ref, options.input1, options.input2, options.output )
else:
cmd2 = 'bowtie %s %s %s > %s 2> /dev/null' % ( aligning_cmds, options.ref, options.input1, options.output )
diff -r b78de785df21 -r 35d2a31cfbaf tools/sr_mapping/bowtie_wrapper.xml
--- a/tools/sr_mapping/bowtie_wrapper.xml Tue Jan 12 15:48:21 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.xml Tue Jan 12 16:49:02 2010 -0500
@@ -1,780 +1,383 @@
-<tool id="bowtie_wrapper" name="Map with Bowtie" version="1.0.5">
+<tool id="bowtie_wrapper" name="Map with Bowtie for Illumina" version="1.0.6">
<description></description>
<command interpreter="python">
- bowtie_wrapper.py --threads="4" --output=$output --suppressHeader=$suppressHeader --dataType=$solidOrSolexa.dataType
-#if $solidOrSolexa.dataType == "solid":
- --genomeSource=$solidOrSolexa.cRefGenomeSource.cGenomeSource
- #if $solidOrSolexa.cRefGenomeSource.cGenomeSource == "cIndexed":
- --ref=$solidOrSolexa.cRefGenomeSource.cIndex.value
- --dbkey="None"
- --indexSettings="None"
- --iauto_b="None"
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- --inodc="None"
- --inoref="None"
- --ioffrate="None"
- --iftab="None"
- --intoa="None"
- --iendian="None"
- --iseed="None"
- --icutoff="None"
- #else:
- --ref=$solidOrSolexa.cRefGenomeSource.cOwnFile
- --dbkey=$dbkey
- --indexSettings=$solidOrSolexa.cRefGenomeSource.cIndexParams.cIndexSettings
- #if $solidOrSolexa.cRefGenomeSource.cIndexParams.cIndexSettings == "cIndexFull":
- --iauto_b=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cAutoB == "cSet"
- #if $solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cAutoB == "cSet":
- --ipacked=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cPacked
- --ibmax=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cBmax
- --ibmaxdivn=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cBmaxdivn
- --idcv=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cDcv
- #else:
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- #end if
- --inodc=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNodc
- --inoref=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNoref
- --ioffrate=$solidOrSolexa.cRefGenomeSource.cIndexParams.cOffrate
- --iftab=$solidOrSolexa.cRefGenomeSource.cIndexParams.cFtab
- --intoa=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNtoa
- --iendian=$solidOrSolexa.cRefGenomeSource.cIndexParams.cEndian
- --iseed=$solidOrSolexa.cRefGenomeSource.cIndexParams.cSeed
- --icutoff=$solidOrSolexa.cRefGenomeSource.cIndexParams.cCutoff
- #else:
- --iauto_b="None"
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- --inodc="None"
- --inoref="None"
- --ioffrate="None"
- --iftab="None"
- --intoa="None"
- --iendian="None"
- --iseed="None"
- --icutoff="None"
- #end if
- #end if
- --paired=$solidOrSolexa.cSinglePaired.cSPaired
- #if $solidOrSolexa.cSinglePaired.cSPaired == "cSingle":
- --input1=$solidOrSolexa.cSinglePaired.csInput1
- --input2="None"
- --params=$solidOrSolexa.cSinglePaired.csParams.csSettingsType
- #if $solidOrSolexa.cSinglePaired.csParams.csSettingsType == "csFull":
- --skip=$solidOrSolexa.cSinglePaired.csParams.csSkip
- --alignLimit=$solidOrSolexa.cSinglePaired.csParams.csAlignLimit
- --trimH=$solidOrSolexa.cSinglePaired.csParams.csTrimH
- --trimL=$solidOrSolexa.cSinglePaired.csParams.csTrimL
- --mismatchSeed=$solidOrSolexa.cSinglePaired.csParams.csMismatchSeed
- --mismatchQual=$solidOrSolexa.cSinglePaired.csParams.csMismatchQual
- --seedLen=$solidOrSolexa.cSinglePaired.csParams.csSeedLen
- --rounding=$solidOrSolexa.cSinglePaired.csParams.csRounding
- --maqSoapAlign=$solidOrSolexa.cSinglePaired.csParams.csMaqSoapAlign
- --tryHard=$solidOrSolexa.cSinglePaired.csParams.csTryHard
- --valAlign=$solidOrSolexa.cSinglePaired.csParams.csValAlign
- --allValAligns=$solidOrSolexa.cSinglePaired.csParams.csAllValAligns
- --suppressAlign=$solidOrSolexa.cSinglePaired.csParams.csSuppressAlign
- --best=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csBest
- #if $solidOrSolexa.cSinglePaired.csParams.csBestOption.csBest == "csDoBest":
- --maxBacktracks=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csdMaxBacktracks
- --strata=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csdStrata
- #else:
- --maxBacktracks=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csnMaxBacktracks
- --strata="None"
- #end if
- --offrate=$solidOrSolexa.cSinglePaired.csParams.csOffrate
- --seed=$solidOrSolexa.cSinglePaired.csParams.csSeed
- --snpphred=$solidOrSolexa.cSinglePaired.csParams.csSnpphred
- --snpfrac=$solidOrSolexa.cSinglePaired.csParams.csSnpfrac
- --keepends=$solidOrSolexa.cSinglePaired.csParams.csKeepends
- #else:
- --skip="None"
- --alignLimit="None"
- --trimH="None"
- --trimL="None"
- --mismatchSeed="None"
- --mismatchQual="None"
- --seedLen="None"
- --rounding="None"
- --maqSoapAlign="None"
- --tryHard="None"
- --valAlign="None"
- --allValAligns="None"
- --suppressAlign="None"
- --best="None"
- --maxBacktracks="None"
- --strata="None"
- --offrate="None"
- --seed="None"
- --snpphred="None"
- --snpfrac="None"
- --keepends="None"
- #end if
- --minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
- --maxAlignAttempt="None"
- --forwardAlign="None"
- --reverseAlign="None"
- #else:
- --input1=$solidOrSolexa.cSinglePaired.cpInput1
- --input2=$solidOrSolexa.cSinglePaired.cpInput2
- --params=$solidOrSolexa.cSinglePaired.cpParams.cpSettingsType
- #if $solidOrSolexa.cSinglePaired.cpParams.cpSettingsType == "cpFull":
- --skip=$solidOrSolexa.cSinglePaired.cpParams.cpSkip
- --alignLimit=$solidOrSolexa.cSinglePaired.cpParams.cpAlignLimit
- --trimH=$solidOrSolexa.cSinglePaired.cpParams.cpTrimH
- --trimL=$solidOrSolexa.cSinglePaired.cpParams.cpTrimL
- --mismatchSeed=$solidOrSolexa.cSinglePaired.cpParams.cpMismatchSeed
- --mismatchQual=$solidOrSolexa.cSinglePaired.cpParams.cpMismatchQual
- --seedLen=$solidOrSolexa.cSinglePaired.cpParams.cpSeedLen
- --rounding=$solidOrSolexa.cSinglePaired.cpParams.cpRounding
- --maqSoapAlign=$solidOrSolexa.cSinglePaired.cpParams.cpMaqSoapAlign
- --minInsert=$solidOrSolexa.cSinglePaired.cpParams.cpMinInsert
- --maxInsert=$solidOrSolexa.cSinglePaired.cpParams.cpMaxInsert
- --mateOrient=$solidOrSolexa.cSinglePaired.cpParams.cpMateOrient
- --maxAlignAttempt=$solidOrSolexa.cSinglePaired.cpParams.cpMaxAlignAttempt
- --forwardAlign=$solidOrSolexa.cSinglePaired.cpParams.cpForwardAlign
- --reverseAlign=$solidOrSolexa.cSinglePaired.cpParams.cpReverseAlign
- --tryHard=$solidOrSolexa.cSinglePaired.cpParams.cpTryHard
- --valAlign=$solidOrSolexa.cSinglePaired.cpParams.cpValAlign
- --allValAligns=$solidOrSolexa.cSinglePaired.cpParams.cpAllValAligns
- --suppressAlign=$solidOrSolexa.cSinglePaired.cpParams.cpSuppressAlign
- --best=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpBest
- #if $solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpBest == "cpDoBest":
- --maxBacktracks=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpdMaxBacktracks
- --strata=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpdStrata
- #else:
- --maxBacktracks=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpnMaxBacktracks
- --strata="None"
- #end if
- --offrate=$solidOrSolexa.cSinglePaired.cpParams.cpOffrate
- --seed=$solidOrSolexa.cSinglePaired.cpParams.cpSeed
- --snpphred=$solidOrSolexa.cSinglePaired.cpParams.cpSnpphred
- --snpfrac=$solidOrSolexa.cSinglePaired.cpParams.cpSnpfrac
- --keepends=$solidOrSolexa.cSinglePaired.cpParams.cpKeepends
- #else:
- --skip="None"
- --alignLimit="None"
- --trimH="None"
- --trimL="None"
- --mismatchSeed="None"
- --mismatchQual="None"
- --seedLen="None"
- --rounding="None"
- --maqSoapAlign="None"
- --tryHard="None"
- --valAlign="None"
- --allValAligns="None"
- --suppressAlign="None"
- --best="None"
- --maxBacktracks="None"
- --strata="None"
- --offrate="None"
- --seed="None"
- --snpphred="None"
- --snpfrac="None"
- --keepends="None"
- --minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
- --maxAlignAttempt="None"
- --forwardAlign="None"
- --reverseAlign="None"
- #end if
- #end if
-#else:
- --genomeSource=$solidOrSolexa.xRefGenomeSource.xGenomeSource
- #if $solidOrSolexa.xRefGenomeSource.xGenomeSource == "xIndexed":
- --ref=$solidOrSolexa.xRefGenomeSource.xIndex.value
- --dbkey="None"
- --indexSettings="None"
- --iauto_b="None"
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- --inodc="None"
- --inoref="None"
- --ioffrate="None"
- --iftab="None"
- --intoa="None"
- --iendian="None"
- --iseed="None"
- --icutoff="None"
- #else:
- --ref=$solidOrSolexa.xRefGenomeSource.xOwnFile
- --dbkey=$dbkey
- --indexSettings=$solidOrSolexa.xRefGenomeSource.xIndexParams.xIndexSettings
- #if $solidOrSolexa.xRefGenomeSource.xIndexParams.xIndexSettings == "xIndexFull":
- --iauto_b=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xAutoB == "xSet"
- #if $solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xAutoB == "xSet":
- --ipacked=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xPacked
- --ibmax=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xBmax
- --ibmaxdivn=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xBmaxdivn
- --idcv=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xDcv
- #else:
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- #end if
- --inodc=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNodc
- --inoref=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNoref
- --ioffrate=$solidOrSolexa.xRefGenomeSource.xIndexParams.xOffrate
- --iftab=$solidOrSolexa.xRefGenomeSource.xIndexParams.xFtab
- --intoa=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNtoa
- --iendian=$solidOrSolexa.xRefGenomeSource.xIndexParams.xEndian
- --iseed=$solidOrSolexa.xRefGenomeSource.xIndexParams.xSeed
- --icutoff=$solidOrSolexa.xRefGenomeSource.xIndexParams.xCutoff
- #else:
- --iauto_b="None"
- --ipacked="None"
- --ibmax="None"
- --ibmaxdivn="None"
- --idcv="None"
- --inodc="None"
- --inoref="None"
- --ioffrate="None"
- --iftab="None"
- --intoa="None"
- --iendian="None"
- --iseed="None"
- --icutoff="None"
- #end if
- #end if
- --paired=$solidOrSolexa.xSinglePaired.xSPaired
- #if $solidOrSolexa.xSinglePaired.xSPaired == "xSingle":
- --input1=$solidOrSolexa.xSinglePaired.xsInput1
- --input2="None"
- --params=$solidOrSolexa.xSinglePaired.xsParams.xsSettingsType
- #if $solidOrSolexa.xSinglePaired.xsParams.xsSettingsType == "xsFull":
- --skip=$solidOrSolexa.xSinglePaired.xsParams.xsSkip
- --alignLimit=$solidOrSolexa.xSinglePaired.xsParams.xsAlignLimit
- --trimH=$solidOrSolexa.xSinglePaired.xsParams.xsTrimH
- --trimL=$solidOrSolexa.xSinglePaired.xsParams.xsTrimL
- --mismatchSeed=$solidOrSolexa.xSinglePaired.xsParams.xsMismatchSeed
- --mismatchQual=$solidOrSolexa.xSinglePaired.xsParams.xsMismatchQual
- --seedLen=$solidOrSolexa.xSinglePaired.xsParams.xsSeedLen
- --rounding=$solidOrSolexa.xSinglePaired.xsParams.xsRounding
- --maqSoapAlign=$solidOrSolexa.xSinglePaired.xsParams.xsMaqSoapAlign
- --tryHard=$solidOrSolexa.xSinglePaired.xsParams.xsTryHard
- --valAlign=$solidOrSolexa.xSinglePaired.xsParams.xsValAlign
- --allValAligns=$solidOrSolexa.xSinglePaired.xsParams.xsAllValAligns
- --suppressAlign=$solidOrSolexa.xSinglePaired.xsParams.xsSuppressAlign
- --best=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsBest
- #if $solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsBest == "xsDoBest":
- --maxBacktracks=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsdMaxBacktracks
- --strata=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsdStrata
- #else:
- --maxBacktracks=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsnMaxBacktracks
- --strata="None"
- #end if
- --offrate=$solidOrSolexa.xSinglePaired.xsParams.xsOffrate
- --seed=$solidOrSolexa.xSinglePaired.xsParams.xsSeed
- #else:
- --skip="None"
- --alignLimit="None"
- --trimH="None"
- --trimL="None"
- --mismatchSeed="None"
- --mismatchQual="None"
- --seedLen="None"
- --rounding="None"
- --maqSoapAlign="None"
- --tryHard="None"
- --valAlign="None"
- --allValAligns="None"
- --suppressAlign="None"
- --best="None"
- --maxBacktracks="None"
- --strata="None"
- --offrate="None"
- --seed="None"
- #end if
- --snpphred="None"
- --snpfrac="None"
- --keepends="None"
- --minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
- --maxAlignAttempt="None"
- --forwardAlign="None"
- --reverseAlign="None"
- #else:
- --input1=$solidOrSolexa.xSinglePaired.xpInput1
- --input2=$solidOrSolexa.xSinglePaired.xpInput2
- --params=$solidOrSolexa.xSinglePaired.xpParams.xpSettingsType
- #if $solidOrSolexa.xSinglePaired.xpParams.xpSettingsType == "xpFull":
- --skip=$solidOrSolexa.xSinglePaired.xpParams.xpSkip
- --alignLimit=$solidOrSolexa.xSinglePaired.xpParams.xpAlignLimit
- --trimH=$solidOrSolexa.xSinglePaired.xpParams.xpTrimH
- --trimL=$solidOrSolexa.xSinglePaired.xpParams.xpTrimL
- --mismatchSeed=$solidOrSolexa.xSinglePaired.xpParams.xpMismatchSeed
- --mismatchQual=$solidOrSolexa.xSinglePaired.xpParams.xpMismatchQual
- --seedLen=$solidOrSolexa.xSinglePaired.xpParams.xpSeedLen
- --rounding=$solidOrSolexa.xSinglePaired.xpParams.xpRounding
- --maqSoapAlign=$solidOrSolexa.xSinglePaired.xpParams.xpMaqSoapAlign
- --minInsert=$solidOrSolexa.xSinglePaired.xpParams.xpMinInsert
- --maxInsert=$solidOrSolexa.xSinglePaired.xpParams.xpMaxInsert
- --mateOrient=$solidOrSolexa.xSinglePaired.xpParams.xpMateOrient
- --maxAlignAttempt=$solidOrSolexa.xSinglePaired.xpParams.xpMaxAlignAttempt
- --forwardAlign=$solidOrSolexa.xSinglePaired.xpParams.xpForwardAlign
- --reverseAlign=$solidOrSolexa.xSinglePaired.xpParams.xpReverseAlign
- --tryHard=$solidOrSolexa.xSinglePaired.xpParams.xpTryHard
- --valAlign=$solidOrSolexa.xSinglePaired.xpParams.xpValAlign
- --allValAligns=$solidOrSolexa.xSinglePaired.xpParams.xpAllValAligns
- --suppressAlign=$solidOrSolexa.xSinglePaired.xpParams.xpSuppressAlign
- --best=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpBest
- #if $solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpBest == "xpDoBest":
- --maxBacktracks=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpdMaxBacktracks
- --strata=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpdStrata
- #else:
- --maxBacktracks=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpnMaxBacktracks
- --strata="None"
- #end if
- --offrate=$solidOrSolexa.xSinglePaired.xpParams.xpOffrate
- --seed=$solidOrSolexa.xSinglePaired.xpParams.xpSeed
- #else:
- --skip="None"
- --alignLimit="None"
- --trimH="None"
- --trimL="None"
- --mismatchSeed="None"
- --mismatchQual="None"
- --seedLen="None"
- --rounding="None"
- --maqSoapAlign="None"
- --tryHard="None"
- --valAlign="None"
- --allValAligns="None"
- --suppressAlign="None"
- --best="None"
- --maxBacktracks="None"
- --strata="None"
- --offrate="None"
- --seed="None"
- --minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
- --maxAlignAttempt="None"
- --forwardAlign="None"
- --reverseAlign="None"
- #end if
- --snpphred="None"
- --snpfrac="None"
- --keepends="None"
- #end if
-#end if
+ bowtie_wrapper.py
+ --threads="4"
+ --dataType="solexa"
+ --output=$output
+ --suppressHeader=$suppressHeader
+ --genomeSource=$refGenomeSource.genomeSource
+ --snpphred="None"
+ --snpfrac="None"
+ --keepends="None"
+ #if $refGenomeSource.genomeSource == "history":
+ --ref=$refGenomeSource.ownFile
+ --dbkey=$dbkey
+ --indexSettings=$refGenomeSource.indexParams.indexSettings
+ #if $refGenomeSource.indexParams.indexSettings == "indexFull":
+ --iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
+ #if $refGenomeSource.indexParams.autoBehavior.autoB == "set":
+ --ipacked=$refGenomeSource.indexParams.autoBehavior.packed
+ --ibmax=$refGenomeSource.indexParams.autoBehavior.bmax
+ --ibmaxdivn=$refGenomeSource.indexParams.autoBehavior.bmaxdivn
+ --idcv=$refGenomeSource.indexParams.autoBehavior.dcv
+ #else:
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ #end if
+ --inodc=$refGenomeSource.indexParams.nodc
+ --inoref=$refGenomeSource.indexParams.noref
+ --ioffrate=$refGenomeSource.indexParams.offrate
+ --iftab=$refGenomeSource.indexParams.ftab
+ --intoa=$refGenomeSource.indexParams.ntoa
+ --iendian=$refGenomeSource.indexParams.endian
+ --iseed=$refGenomeSource.indexParams.seed
+ --icutoff=$refGenomeSource.indexParams.cutoff
+ #else:
+ --iautoB="None"
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ --inodc="None"
+ --inoref="None"
+ --ioffrate="None"
+ --iftab="None"
+ --intoa="None"
+ --iendian="None"
+ --iseed="None"
+ --icutoff="None"
+ #end if
+ #else:
+ --ref=$refGenomeSource.index.value
+ --dbkey="None"
+ --indexSettings="None"
+ --iautoB="None"
+ --ipacked="None"
+ --ibmax="None"
+ --ibmaxdivn="None"
+ --idcv="None"
+ --inodc="None"
+ --inoref="None"
+ --ioffrate="None"
+ --iftab="None"
+ --intoa="None"
+ --iendian="None"
+ --iseed="None"
+ --icutoff="None"
+ #end if
+ --paired=$singlePaired.sPaired
+ #if $singlePaired.sPaired == "single":
+ --input1=$singlePaired.sInput1
+ --input2="None"
+ --params=$singlePaired.sParams.sSettingsType
+ #if $singlePaired.sParams.sSettingsType == "full":
+ --skip=$singlePaired.sParams.sSkip
+ --alignLimit=$singlePaired.sParams.sAlignLimit
+ --trimH=$singlePaired.sParams.sTrimH
+ --trimL=$singlePaired.sParams.sTrimL
+ --mismatchSeed=$singlePaired.sParams.sMismatchSeed
+ --mismatchQual=$singlePaired.sParams.sMismatchQual
+ --seedLen=$singlePaired.sParams.sSeedLen
+ --rounding=$singlePaired.sParams.sRounding
+ --maqSoapAlign=$singlePaired.sParams.sMaqSoapAlign
+ --tryHard=$singlePaired.sParams.sTryHard
+ --valAlign=$singlePaired.sParams.sValAlign
+ --allValAligns=$singlePaired.sParams.sAllValAligns
+ --suppressAlign=$singlePaired.sParams.sSuppressAlign
+ --best=$singlePaired.sParams.sBestOption.sBest
+ #if $singlePaired.sParams.sBestOption.sBest == "doBest":
+ --maxBacktracks=$singlePaired.sParams.sBestOption.sdMaxBacktracks
+ --strata=$singlePaired.sParams.sBestOption.sdStrata
+ #else:
+ --maxBacktracks=$singlePaired.sParams.sBestOption.snMaxBacktracks
+ --strata="None"
+ #end if
+ --offrate=$singlePaired.sParams.sOffrate
+ --seed=$singlePaired.sParams.sSeed
+ #else:
+ --skip="None"
+ --alignLimit="None"
+ --trimH="None"
+ --trimL="None"
+ --mismatchSeed="None"
+ --mismatchQual="None"
+ --seedLen="None"
+ --rounding="None"
+ --maqSoapAlign="None"
+ --tryHard="None"
+ --valAlign="None"
+ --allValAligns="None"
+ --suppressAlign="None"
+ --best="None"
+ --maxBacktracks="None"
+ --strata="None"
+ --offrate="None"
+ --seed="None"
+ --snpphred="None"
+ --snpfrac="None"
+ --keepends="None"
+ #end if
+ --minInsert="None"
+ --maxInsert="None"
+ --mateOrient="None"
+ --maxAlignAttempt="None"
+ --forwardAlign="None"
+ --reverseAlign="None"
+ #else:
+ --input1=$singlePaired.pInput1
+ --input2=$singlePaired.pInput2
+ --params=$singlePaired.pParams.pSettingsType
+ #if $singlePaired.pParams.pSettingsType == "full":
+ --skip=$singlePaired.pParams.pSkip
+ --alignLimit=$singlePaired.pParams.pAlignLimit
+ --trimH=$singlePaired.pParams.pTrimH
+ --trimL=$singlePaired.pParams.pTrimL
+ --mismatchSeed=$singlePaired.pParams.pMismatchSeed
+ --mismatchQual=$singlePaired.pParams.pMismatchQual
+ --seedLen=$singlePaired.pParams.pSeedLen
+ --rounding=$singlePaired.pParams.pRounding
+ --maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
+ --minInsert=$singlePaired.pParams.pMinInsert
+ --maxInsert=$singlePaired.pParams.pMaxInsert
+ --mateOrient=$singlePaired.pParams.pMateOrient
+ --maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
+ --forwardAlign=$singlePaired.pParams.pForwardAlign
+ --reverseAlign=$singlePaired.pParams.pReverseAlign
+ --tryHard=$singlePaired.pParams.pTryHard
+ --valAlign=$singlePaired.pParams.pValAlign
+ --allValAligns=$singlePaired.pParams.pAllValAligns
+ --suppressAlign=$singlePaired.pParams.pSuppressAlign
+ --best=$singlePaired.pParams.pBestOption.pBest
+ #if $singlePaired.pParams.pBestOption.pBest == "doBest":
+ --maxBacktracks=$singlePaired.pParams.pBestOption.pdMaxBacktracks
+ --strata=$singlePaired.pParams.pBestOption.pdStrata
+ #else:
+ --maxBacktracks=$singlePaired.pParams.pBestOption.pnMaxBacktracks
+ --strata="None"
+ #end if
+ --offrate=$singlePaired.pParams.pOffrate
+ --seed=$singlePaired.pParams.pSeed
+ #else:
+ --skip="None"
+ --alignLimit="None"
+ --trimH="None"
+ --trimL="None"
+ --mismatchSeed="None"
+ --mismatchQual="None"
+ --seedLen="None"
+ --rounding="None"
+ --maqSoapAlign="None"
+ --tryHard="None"
+ --valAlign="None"
+ --allValAligns="None"
+ --suppressAlign="None"
+ --best="None"
+ --maxBacktracks="None"
+ --strata="None"
+ --offrate="None"
+ --seed="None"
+ --minInsert="None"
+ --maxInsert="None"
+ --mateOrient="None"
+ --maxAlignAttempt="None"
+ --forwardAlign="None"
+ --reverseAlign="None"
+ #end if
+ #end if
</command>
<inputs>
- <conditional name="solidOrSolexa">
- <param name="dataType" type="select" label="Is your data SOLiD or Solexa?">
- <option value="solid">SOLiD</option>
- <option value="solexa">Solexa</option>
+ <conditional name="refGenomeSource">
+ <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
+ <option value="indexed">Use a built-in index</option>
+ <option value="history">Use one from the history</option>
</param>
- <when value="solid">
- <conditional name="cRefGenomeSource">
- <param name="cGenomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
- <option value="cIndexed">Use a built-in index</option>
- <option value="cHistory">Use one from the history</option>
- </param>
- <when value="cIndexed">
- <param name="cIndex" type="select" label="Select the reference genome" help="if your genome of interest is not listed - contact Galaxy team">
- <options from_file="bowtie_indices_color.loc">
- <column name="value" index="1" />
- <column name="name" index="0" />
- </options>
- </param>
- </when>
- <when value="cHistory">
- <param name="cOwnFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" />
- <conditional name="cIndexParams">
- <param name="cIndexSettings" type="select" label="Choose whether to use default options for building indices or to set your own">
- <option value="cIndexPreSet">Default</option>
- <option value="cIndexFull">Set your own</option>
- </param>
- <when value="cIndexPreSet" />
- <when value="cIndexFull">
- <conditional name="cAutoBehavior">
- <param name="cAutoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
- <option value="cAuto">Automatic behavior</option>
- <option value="cSet">Set values (sets --noauto and allows others to be set)</option>
- </param>
- <when value="cAuto" />
- <when value="cSet">
- <param name="cPacked" type="select" label="Whether or not to use a packed representation for DNA strings (-p)">
- <option value="unpacked">Use regular representation</option>
- <option value="packed">Use packed representation</option>
- </param>
- <param name="cBmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
- <param name="cBmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
- <param name="cDcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
- </when>
- </conditional>
- <param name="cNodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (a very repetitive reference)">
- <option value="dc">Use difference-cover sample</option>
- <option value="nodc">Disable difference-cover sample</option>
+ <when value="indexed">
+ <param name="index" type="select" label="Select a reference genome" help="if your genome of interest is not listed - contact Galaxy team">
+ <options from_file="bowtie_indices.loc">
+ <column name="value" index="1" />
+ <column name="name" index="0" />
+ </options>
+ </param>
+ </when>
+ <when value="history">
+ <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" />
+ <conditional name="indexParams">
+ <param name="indexSettings" type="select" label="Choose whether to use default options for building indices or to set your own">
+ <option value="indexPreSet">Default</option>
+ <option value="indexFull">Set your own</option>
+ </param>
+ <when value="indexPreSet" />
+ <when value="indexFull">
+ <conditional name="autoBehavior">
+ <param name="autoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
+ <option value="auto">Automatic behavior</option>
+ <option value="set">Set values (sets --noauto and allows others to be set)</option>
+ </param>
+ <when value="auto" />
+ <when value="set">
+ <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (-p)">
+ <option value="unpacked">Use regular representation</option>
+ <option value="packed">Use packed representation</option>
</param>
- <param name="cNoref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
- <option value="ref">Build all index files</option>
- <option value="noref">Do not build paired-end alignment index files</option>
+ <param name="bmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
+ <param name="bmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
+ <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
+ </when>
+ </conditional>
+ <param name="nodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (a very repetitive reference)">
+ <option value="dc">Use difference-cover sample</option>
+ <option value="nodc">Disable difference-cover sample</option>
+ </param>
+ <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
+ <option value="ref">Build all index files</option>
+ <option value="noref">Do not build paired-end alignment index files</option>
+ </param>
+ <param name="offrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
+ <param name="ftab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
+ <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
+ <option value="no">Do not convert Ns</option>
+ <option value="yes">Convert Ns to As</option>
+ </param>
+ <param name="endian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
+ <option value="little">Little</option>
+ <option value="big">Big</option>
+ </param>
+ <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
+ <param name="cutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
+ </when> <!-- indexFull -->
+ </conditional> <!-- indexParams -->
+ </when> <!-- history -->
+ </conditional> <!-- refGenomeSource -->
+ <conditional name="singlePaired">
+ <param name="sPaired" type="select" label="Is this library mate-paired?">
+ <option value="single">Single-end</option>
+ <option value="paired">Paired-end</option>
+ </param>
+ <when value="single">
+ <param name="sInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <conditional name="sParams">
+ <param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
+ <option value="preSet">Commonly used</option>
+ <option value="full">Full parameter list</option>
+ </param>
+ <when value="preSet" />
+ <when value="full">
+ <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
+ <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
+ <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
+ <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
+ <param name="sMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+ <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
+ <param name="sSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
+ <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
+ <option value="round">Round to nearest 10</option>
+ <option value="noRound">Do not round to nearest 10</option>
+ </param>
+ <param name="sMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
+ <param name="sTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
+ <option value="noTryHard">Do not try hard</option>
+ <option value="doTryHard">Try hard</option>
+ </param>
+ <param name="sValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" />
+ <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
+ <option value="noAllValAligns">Do not report all valid alignments</option>
+ <option value="doAllValAligns">Report all valid alignments</option>
+ </param>
+ <param name="sSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
+ <conditional name="sBestOption">
+ <param name="sBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
+ <option value="noBest">Do not use best</option>
+ <option value="doBest">Use best</option>
+ </param>
+ <when value="noBest">
+ <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ </when>
+ <when value="doBest">
+ <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ <param name="sdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
+ <option value="noStrata">Do not use strata option</option>
+ <option value="doStrata">Use strata option</option>
</param>
- <param name="cOffrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
- <param name="cFtab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
- <param name="cNtoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
- <option value="no">Do not convert Ns</option>
- <option value="yes">Convert Ns to As</option>
+ </when>
+ </conditional> <!-- bestOption -->
+ <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
+ <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
+ </when> <!-- full -->
+ </conditional> <!-- sParams -->
+ </when> <!-- single -->
+ <when value="paired">
+ <param name="pInput1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <conditional name="pParams">
+ <param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
+ <option value="preSet">Commonly used</option>
+ <option value="full">Full parameter list</option>
+ </param>
+ <when value="preSet" />
+ <when value="full">
+ <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
+ <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
+ <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
+ <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
+ <param name="pMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+ <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
+ <param name="pSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
+ <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
+ <option value="round">Round to nearest 10</option>
+ <option value="noRound">Do not round to nearest 10</option>
+ </param>
+ <param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
+ <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
+ <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ <option value="ff">FF (for SOLiD)</option>
+ </param>
+ <param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
+ <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
+ <option value="forward">Align against the forward reference strand</option>
+ <option value="noForward">Do not align against the forward reference strand</option>
+ </param>
+ <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
+ <option value="reverse">Align against the reverse-complement reference strand</option>
+ <option value="noReverse">Do not align against the reverse-complement reference strand</option>
+ </param>
+ <param name="pTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
+ <option value="noTryHard">Do not try hard</option>
+ <option value="doTryHard">Try hard</option>
+ </param>
+ <param name="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
+ <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
+ <option value="noAllValAligns">Do not report all valid alignments</option>
+ <option value="doAllValAligns">Report all valid alignments</option>
+ </param>
+ <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
+ <conditional name="pBestOption">
+ <param name="pBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
+ <option value="noBest">Do not use best</option>
+ <option value="doBest">Use best</option>
+ </param>
+ <when value="noBest">
+ <param name="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ </when>
+ <when value="doBest">
+ <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+ <param name="pdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
+ <option value="noStrata">Do not use strata option</option>
+ <option value="doStrata">Use strata option</option>
</param>
- <param name="cEndian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
- <option value="little">Little</option>
- <option value="big">Big</option>
- </param>
- <param name="cSeed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
- <param name="cCutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
- </when> <!-- cIndexFull -->
- </conditional> <!-- cIndexParams -->
- </when> <!-- cHistory -->
- </conditional> <!-- cRefGenomeSource -->
- <conditional name="cSinglePaired">
- <param name="cSPaired" type="select" label="Is this library mate-paired?">
- <option value="cSingle">Single-end</option>
- <option value="cPaired">Paired-end</option>
- </param>
- <when value="cSingle">
- <param name="csInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <conditional name="csParams">
- <param name="csSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
- <option value="csPreSet">Commonly used</option>
- <option value="csFull">Full parameter list</option>
- </param>
- <when value="csPreSet" />
- <when value="csFull">
- <param name="csSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
- <param name="csAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
- <param name="csTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
- <param name="csTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
- <param name="csMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
- <param name="csMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
- <param name="csSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
- <param name="csRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
- <option value="round">Round to nearest 10</option>
- <option value="noRound">Do not round to nearest 10</option>
- </param>
- <param name="csMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
- <param name="csTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
- <option value="noTryHard">Do not try hard</option>
- <option value="doTryHard">Try hard</option>
- </param>
- <param name="csValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" />
- <param name="csAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
- <option value="noAllValAligns">Do not report all valid alignments</option>
- <option value="doAllValAligns">Report all valid alignments</option>
- </param>
- <param name="csSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
- <conditional name="csBestOption">
- <param name="csBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
- <option value="csNoBest">Do not use best</option>
- <option value="csDoBest">Use best</option>
- </param>
- <when value="csNoBest">
- <param name="csnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- </when>
- <when value="csDoBest">
- <param name="csdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- <param name="csdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
- <option value="noStrata">Do not use strata option</option>
- <option value="doStrata">Use strata option</option>
- </param>
- </when>
- </conditional> <!-- csBestOption -->
- <param name="csOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
- <param name="csSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
- <param name="csSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" />
- <param name="csSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" />
- <param name="csKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)">
- <option value="doKeepends">Keep ends</option>
- <option value="noKeepends">Trim ends</option>
- </param>
- </when> <!-- csFull -->
- </conditional> <!-- csParams -->
- </when> <!-- cSingle -->
- <when value="cPaired">
- <param name="cpInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <param name="cpInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <conditional name="cpParams">
- <param name="cpSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
- <option value="cpPreSet">Commonly used</option>
- <option value="cpFull">Full parameter list</option>
- </param>
- <when value="cpPreSet" />
- <when value="cpFull">
- <param name="cpSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
- <param name="cpAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
- <param name="cpTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
- <param name="cpTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
- <param name="cpMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
- <param name="cpMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
- <param name="cpSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
- <param name="cpRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
- <option value="round">Round to nearest 10</option>
- <option value="noRound">Do not round to nearest 10</option>
- </param>
- <param name="cpMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
- <param name="cpMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="cpMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="cpMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- <option value="ff">FF</option>
- </param>
- <param name="cpMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
- <param name="cpForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
- <option value="forward">Align against the forward reference strand</option>
- <option value="noForward">Do not align against the forward reference strand</option>
- </param>
- <param name="cpReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
- <option value="reverse">Align against the reverse-complement reference strand</option>
- <option value="noReverse">Do not align against the reverse-complement reference strand</option>
- </param>
- <param name="cpTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
- <option value="noTryHard">Do not try hard</option>
- <option value="doTryHard">Try hard</option>
- </param>
- <param name="cpValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
- <param name="cpAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
- <option value="noAllValAligns">Do not report all valid alignments</option>
- <option value="doAllValAligns">Report all valid alignments</option>
- </param>
- <param name="cpSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
- <conditional name="cpBestOption">
- <param name="cpBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
- <option value="cpNoBest">Do not use best</option>
- <option value="cpDoBest">Use best</option>
- </param>
- <when value="cpNoBest">
- <param name="cpnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- </when>
- <when value="cpDoBest">
- <param name="cpdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- <param name="cpdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
- <option value="noStrata">Do not use strata option</option>
- <option value="doStrata">Use strata option</option>
- </param>
- </when>
- </conditional> <!-- cpBestOption -->
- <param name="cpOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
- <param name="cpSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
- <param name="cpSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" />
- <param name="cpSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" />
- <param name="cpKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)">
- <option value="doKeepends">Keep ends</option>
- <option value="noKeepends">Trim ends</option>
- </param>
- </when> <!-- cpFull -->
- </conditional> <!-- cpParams -->
- </when> <!-- cPaired -->
- </conditional> <!-- cSinglePaired -->
- </when> <!-- solid -->
- <when value="solexa">
- <conditional name="xRefGenomeSource">
- <param name="xGenomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
- <option value="xIndexed">Use a built-in index</option>
- <option value="xHistory">Use one from the history</option>
- </param>
- <when value="xIndexed">
- <param name="xIndex" type="select" label="Select the reference genome" help="if your genome of interest is not listed - contact Galaxy team">
- <options from_file="bowtie_indices.loc">
- <column name="value" index="1" />
- <column name="name" index="0" />
- </options>
- </param>
- </when>
- <when value="xHistory">
- <param name="xOwnFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" />
- <conditional name="xIndexParams">
- <param name="xIndexSettings" type="select" label="Choose whether to use default options for building indices or to set your own">
- <option value="xIndexPreSet">Default</option>
- <option value="xIndexFull">Set your own</option>
- </param>
- <when value="xIndexPreSet" />
- <when value="xIndexFull">
- <conditional name="xAutoBehavior">
- <param name="xAutoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
- <option value="xAuto">Automatic behavior</option>
- <option value="xSet">Set values (sets --noauto and allows others to be set)</option>
- </param>
- <when value="xAuto" />
- <when value="xSet">
- <param name="xPacked" type="select" label="Whether or not to use a packed representation for DNA strings (-p)">
- <option value="unpacked">Use regular representation</option>
- <option value="packed">Use packed representation</option>
- </param>
- <param name="xBmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
- <param name="xBmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
- <param name="xDcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
- </when>
- </conditional>
- <param name="xNodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (a very repetitive reference)">
- <option value="dc">Use difference-cover sample</option>
- <option value="nodc">Disable difference-cover sample</option>
- </param>
- <param name="xNoref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
- <option value="ref">Build all index files</option>
- <option value="noref">Do not build paired-end alignment index files</option>
- </param>
- <param name="xOffrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
- <param name="xFtab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
- <param name="xNtoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
- <option value="no">Do not convert Ns</option>
- <option value="yes">Convert Ns to As</option>
- </param>
- <param name="xEndian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
- <option value="little">Little</option>
- <option value="big">Big</option>
- </param>
- <param name="xSeed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
- <param name="xCutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
- </when> <!-- xIndexFull -->
- </conditional> <!-- xIndexParams -->
- </when> <!-- xHistory -->
- </conditional> <!-- xRefGenomeSource -->
- <conditional name="xSinglePaired">
- <param name="xSPaired" type="select" label="Is this library mate-paired?">
- <option value="xSingle">Single-end</option>
- <option value="xPaired">Paired-end</option>
- </param>
- <when value="xSingle">
- <param name="xsInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <conditional name="xsParams">
- <param name="xsSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
- <option value="xsPreSet">Commonly used</option>
- <option value="xsFull">Full parameter list</option>
- </param>
- <when value="xsPreSet" />
- <when value="xsFull">
- <param name="xsSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
- <param name="xsAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
- <param name="xsTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
- <param name="xsTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
- <param name="xsMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
- <param name="xsMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
- <param name="xsSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
- <param name="xsRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
- <option value="round">Round to nearest 10</option>
- <option value="noRound">Do not round to nearest 10</option>
- </param>
- <param name="xsMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
- <param name="xsTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
- <option value="noTryHard">Do not try hard</option>
- <option value="doTryHard">Try hard</option>
- </param>
- <param name="xsValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" />
- <param name="xsAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
- <option value="noAllValAligns">Do not report all valid alignments</option>
- <option value="doAllValAligns">Report all valid alignments</option>
- </param>
- <param name="xsSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
- <conditional name="xsBestOption">
- <param name="xsBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
- <option value="xsNoBest">Do not use best</option>
- <option value="xsDoBest">Use best</option>
- </param>
- <when value="xsNoBest">
- <param name="xsnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- </when>
- <when value="xsDoBest">
- <param name="xsdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- <param name="xsdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
- <option value="noStrata">Do not use strata option</option>
- <option value="doStrata">Use strata option</option>
- </param>
- </when>
- </conditional> <!-- xsBestOption -->
- <param name="xsOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
- <param name="xsSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
- </when> <!-- xsFull -->
- </conditional> <!-- xsParams -->
- </when> <!-- xSingle -->
- <when value="xPaired">
- <param name="xpInput1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <param name="xpInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
- <conditional name="xpParams">
- <param name="xpSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
- <option value="xpPreSet">Commonly used</option>
- <option value="xpFull">Full parameter list</option>
- </param>
- <when value="xpPreSet" />
- <when value="xpFull">
- <param name="xpSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
- <param name="xpAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
- <param name="xpTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
- <param name="xpTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
- <param name="xpMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
- <param name="xpMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
- <param name="xpSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
- <param name="xpRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
- <option value="round">Round to nearest 10</option>
- <option value="noRound">Do not round to nearest 10</option>
- </param>
- <param name="xpMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
- <param name="xpMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="xpMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="xpMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- <option value="ff">FF</option>
- </param>
- <param name="xpMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
- <param name="xpForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
- <option value="forward">Align against the forward reference strand</option>
- <option value="noForward">Do not align against the forward reference strand</option>
- </param>
- <param name="xpReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
- <option value="reverse">Align against the reverse-complement reference strand</option>
- <option value="noReverse">Do not align against the reverse-complement reference strand</option>
- </param>
- <param name="xpTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
- <option value="noTryHard">Do not try hard</option>
- <option value="doTryHard">Try hard</option>
- </param>
- <param name="xpValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
- <param name="xpAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
- <option value="noAllValAligns">Do not report all valid alignments</option>
- <option value="doAllValAligns">Report all valid alignments</option>
- </param>
- <param name="xpSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
- <conditional name="xpBestOption">
- <param name="xpBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
- <option value="xpNoBest">Do not use best</option>
- <option value="xpDoBest">Use best</option>
- </param>
- <when value="xpNoBest">
- <param name="xpnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- </when>
- <when value="xpDoBest">
- <param name="xpdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
- <param name="xpdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
- <option value="noStrata">Do not use strata option</option>
- <option value="doStrata">Use strata option</option>
- </param>
- </when>
- </conditional> <!-- xpBestOption -->
- <param name="xpOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
- <param name="xpSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
- </when> <!-- xpFull -->
- </conditional> <!-- xpParams -->
- </when> <!-- xPaired -->
- </conditional> <!-- xSinglePaired -->
- </when> <!-- solexa -->
- </conditional> <!-- solidOrSolexa -->
+ </when>
+ </conditional>
+ <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
+ <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
+ </when> <!-- full -->
+ </conditional> <!-- pParams -->
+ </when> <!-- paired -->
+ </conditional> <!-- singlePaired -->
<param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information" />
</inputs>
<outputs>
@@ -784,225 +387,93 @@
<test>
<!--
Bowtie command:
- bowtie -p 4 -S +sam-nohead -q -C chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out1.sam
- -p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes.
- chrM_color needs to be the base location/name of the index files.
- -->
- <param name="dataType" value="solid" />
- <param name="cGenomeSource" value="cIndexed" />
- <param name="cIndex" value="equCab2chrM" />
- <param name="cSPaired" value="cSingle" />
- <param name="csInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" />
- <param name="csSettingsType" value="csPreSet" />
- <param name="suppressHeader" value="true" />
- <output name="output" ftype="sam" file="bowtie_out1.sam" />
- </test>
- <test>
- <!--
- Bowtie command:
bowtie -p 4 -S +sam-nohead -q chrM_base test-data/bowtie_in2.fastqsanger > test-data/bowtie_out2.sam
-p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes.
chrM_base needs to be the base location/name of the index files.
-->
- <param name="dataType" value="solexa" />
- <param name="xGenomeSource" value="xIndexed" />
- <param name="xIndex" value="equCab2chrM" />
- <param name="xSPaired" value="xSingle" />
- <param name="xsInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" />
- <param name="xsSettingsType" value="xsPreSet" />
+ <param name="genomeSource" value="indexed" />
+ <param name="index" value="equCab2chrM" />
+ <param name="sPaired" value="single" />
+ <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" />
+ <param name="sSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out2.sam" />
</test>
<test>
<!--
Bowtie command:
- bowtie-build -f -C test-data/chr_m.fasta chrM_color
- bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
- -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
- chrM_base is the index files' location/base name.
- -->
- <param name="dataType" value="solid" />
- <param name="cGenomeSource" value="cHistory" />
- <param name="cOwnFile" value="chr_m.fasta" />
- <param name="cIndexSettings" value="cIndexPreSet" />
- <param name="cSPaired" value="cPaired" />
- <param name="cpInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
- <param name="cpInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
- <param name="cpSettingsType" value="cpFull" />
- <param name="cpSkip" value="0" />
- <param name="cpAlignLimit" value="-1" />
- <param name="cpTrimH" value="0" />
- <param name="cpTrimL" value="0" />
- <param name="cpMismatchSeed" value="2" />
- <param name="cpMismatchQual" value="70" />
- <param name="cpSeedLen" value="28" />
- <param name="cpRounding" value="round" />
- <param name="cpMaqSoapAlign" value="-1" />
- <param name="cpMinInsert" value="0" />
- <param name="cpMaxInsert" value="250" />
- <param name="cpMateOrient" value="fr" />
- <param name="cpMaxAlignAttempt" value="100" />
- <param name="cpForwardAlign" value="forward" />
- <param name="cpReverseAlign" value="reverse" />
- <param name="cpTryHard" value="noTryHard" />
- <param name="cpValAlign" value="1" />
- <param name="cpAllValAligns" value="noAllValAligns" />
- <param name="cpSuppressAlign" value="-1" />
- <param name="cpBest" value="cpNoBest" />
- <param name="cpnMaxBacktracks" value="125" />
- <param name="cpOffrate" value="-1" />
- <param name="cpSeed" value="-1" />
- <param name="cpSnpphred" value="-1" />
- <param name="cpSnpfrac" value="0.001" />
- <param name="cpKeepends" value="doKeepends" />
- <param name="suppressHeader" value="true" />
- <output name="output" ftype="sam" file="bowtie_out3.sam" />
- </test>
- <test>
- <!--
- Bowtie command:
bowtie-build -f test-data/chr_m.fasta chrM_base
bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
- <param name="dataType" value="solexa" />
- <param name="xGenomeSource" value="xHistory" />
- <param name="xOwnFile" value="chr_m.fasta" />
- <param name="xIndexSettings" value="xIndexPreSet" />
- <param name="xSPaired" value="xPaired" />
- <param name="xpInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
- <param name="xpInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
- <param name="xpSettingsType" value="xpFull" />
- <param name="xpSkip" value="0" />
- <param name="xpAlignLimit" value="-1" />
- <param name="xpTrimH" value="0" />
- <param name="xpTrimL" value="0" />
- <param name="xpMismatchSeed" value="2" />
- <param name="xpMismatchQual" value="70" />
- <param name="xpSeedLen" value="28" />
- <param name="xpRounding" value="round" />
- <param name="xpMaqSoapAlign" value="-1" />
- <param name="xpMinInsert" value="0" />
- <param name="xpMaxInsert" value="250" />
- <param name="xpMateOrient" value="fr" />
- <param name="xpMaxAlignAttempt" value="100" />
- <param name="xpForwardAlign" value="forward" />
- <param name="xpReverseAlign" value="reverse" />
- <param name="xpTryHard" value="noTryHard" />
- <param name="xpValAlign" value="1" />
- <param name="xpAllValAligns" value="noAllValAligns" />
- <param name="xpSuppressAlign" value="-1" />
- <param name="xpBest" value="xpDoBest" />
- <param name="xpdMaxBacktracks" value="800" />
- <param name="xpdStrata" value="noStrata" />
- <param name="xpOffrate" value="-1" />
- <param name="xpSeed" value="-1" />
+ <param name="genomeSource" value="history" />
+ <param name="ownFile" value="chr_m.fasta" />
+ <param name="indexSettings" value="indexPreSet" />
+ <param name="sPaired" value="paired" />
+ <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
+ <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pSettingsType" value="full" />
+ <param name="pSkip" value="0" />
+ <param name="pAlignLimit" value="-1" />
+ <param name="pTrimH" value="0" />
+ <param name="pTrimL" value="0" />
+ <param name="pMismatchSeed" value="2" />
+ <param name="pMismatchQual" value="70" />
+ <param name="pSeedLen" value="28" />
+ <param name="pRounding" value="round" />
+ <param name="pMaqSoapAlign" value="-1" />
+ <param name="pMinInsert" value="0" />
+ <param name="pMaxInsert" value="250" />
+ <param name="pMateOrient" value="fr" />
+ <param name="pMaxAlignAttempt" value="100" />
+ <param name="pForwardAlign" value="forward" />
+ <param name="pReverseAlign" value="reverse" />
+ <param name="pTryHard" value="noTryHard" />
+ <param name="pValAlign" value="1" />
+ <param name="pAllValAligns" value="noAllValAligns" />
+ <param name="pSuppressAlign" value="-1" />
+ <param name="pBest" value="doBest" />
+ <param name="pdMaxBacktracks" value="800" />
+ <param name="pdStrata" value="noStrata" />
+ <param name="pOffrate" value="-1" />
+ <param name="pSeed" value="-1" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out4.sam" />
</test>
-<!-- Comment out tests 5 and 6 because they are failing for an unknown reason
+<!-- Comment out test 3 because they are failing for an unknown reason -->
<test>
---> <!--
- Bowtie command:
- bowtie -n 2 -e 70 -l 28 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out5.sam
- -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
- chrM_base is the index files' location/base name.
- -->
-<!-- <param name="dataType" value="solid" />
- <param name="cGenomeSource" value="cIndexed" />
- <param name="cIndex" value="equCab2chrM" />
- <param name="cSPaired" value="cSingle" />
- <param name="csInput1" value="bowtie_in1.fastqsanger" />
- <param name="csSettingsType" value="csFull" />
- <param name="csSkip" value="0" />
- <param name="csAlignLimit" value="-1" />
- <param name="csTrimH" value="0" />
- <param name="csTrimL" value="0" />
- <param name="csMismatchSeed" value="2" />
- <param name="csMismatchQual" value="70" />
- <param name="csSeedLen" value="28" />
- <param name="csRounding" value="round" />
- <param name="csMaqSoapAlign" value="-1" />
- <param name="csTryHard" value="noTryHard" />
- <param name="csValAlign" value="1" />
- <param name="csAllValAligns" value="noAllValAligns" />
- <param name="csSuppressAlign" value="-1" />
- <param name="csBest" value="csNoBest" />
- <param name="csnMaxBacktracks" value="125" />
- <param name="csOffrate" value="-1" />
- <param name="csSeed" value="-1" />
- <param name="csSnpphred" value="-1" />
- <param name="csSnpfrac" value="0.001" />
- <param name="csKeepends" value="doKeepends" />
- <param name="suppressHeader" value="true" />
- <output name="output" ftype="sam" file="bowtie_out5.sam" />
- </test>
- <test>
---> <!--
+ <!--
Bowtie command:
bowtie -n 2 -e 70 -l 28 -k 1 +maxbts 125 -y -p 4 -S +sam-nohead -q chrM_base test-data/bowtie_in2.fastqsanger > test-data/bowtie_out6.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
-<!-- <param name="dataType" value="solexa" />
- <param name="xGenomeSource" value="xIndexed" />
- <param name="xIndex" value="equCab2chrM" />
- <param name="xSPaired" value="xSingle" />
- <param name="xsInput1" value="bowtie_in2.fastqsanger" />
- <param name="xsSettingsType" value="xsFull" />
- <param name="xsSkip" value="0" />
- <param name="xsAlignLimit" value="-1" />
- <param name="xsTrimH" value="0" />
- <param name="xsTrimL" value="0" />
- <param name="xsMismatchSeed" value="2" />
- <param name="xsMismatchQual" value="70" />
- <param name="xsSeedLen" value="28" />
- <param name="xsRounding" value="round" />
- <param name="xsMaqSoapAlign" value="-1" />
- <param name="xsTryHard" value="doTryHard" />
- <param name="xsValAlign" value="1" />
- <param name="xsAllValAligns" value="noAllValAligns" />
- <param name="xsSuppressAlign" value="-1" />
- <param name="xsBest" value="xsNoBest" />
- <param name="xsnMaxBacktracks" value="125" />
- <param name="xsOffrate" value="-1" />
- <param name="xsSeed" value="-1" />
+ <param name="genomeSource" value="indexed" />
+ <param name="index" value="equCab2chrM" />
+ <param name="sPaired" value="single" />
+ <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" />
+ <param name="sSettingsType" value="full" />
+ <param name="sSkip" value="0" />
+ <param name="sAlignLimit" value="-1" />
+ <param name="sTrimH" value="0" />
+ <param name="sTrimL" value="0" />
+ <param name="sMismatchSeed" value="2" />
+ <param name="sMismatchQual" value="70" />
+ <param name="sSeedLen" value="28" />
+ <param name="sRounding" value="round" />
+ <param name="sMaqSoapAlign" value="-1" />
+ <param name="sTryHard" value="doTryHard" />
+ <param name="sValAlign" value="1" />
+ <param name="sAllValAligns" value="noAllValAligns" />
+ <param name="sSuppressAlign" value="-1" />
+ <param name="sBest" value="noBest" />
+ <param name="snMaxBacktracks" value="125" />
+ <param name="sOffrate" value="-1" />
+ <param name="sSeed" value="-1" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out6.sam" />
</test>
---> <test>
- <!--
- Bowtie command:
- bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color
- bowtie -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
- -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
- chrM_base is the index files' location/base name.
- -->
- <param name="dataType" value="solid" />
- <param name="cGenomeSource" value="cHistory" />
- <param name="cOwnFile" value="chr_m.fasta" />
- <param name="cIndexSettings" value="cIndexFull" />
- <param name="cAutoB" value="cSet" />
- <param name="cPacked" value="unpacked" />
- <param name="cBmax" value="-1" />
- <param name="cBmaxdivn" value="4" />
- <param name="cDcv" value="1024" />
- <param name="cNodc" value="dc" />
- <param name="cNoref" value="ref" />
- <param name="cOffrate" value="5" />
- <param name="cFtab" value="10" />
- <param name="cNtoa" value="no" />
- <param name="cEndian" value="little" />
- <param name="cSeed" value="-1" />
- <param name="cCutoff" value="-1" />
- <param name="cSPaired" value="cPaired" />
- <param name="cpInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
- <param name="cpInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
- <param name="cpSettingsType" value="cpPreSet" />
- <param name="suppressHeader" value="true" />
- <output name="output" ftype="sam" file="bowtie_out7.sam" />
- </test>
<test>
<!--
Bowtie command:
@@ -1011,23 +482,22 @@
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
- <param name="dataType" value="solexa" />
- <param name="xGenomeSource" value="xHistory" />
- <param name="xOwnFile" value="chr_m.fasta" />
- <param name="xIndexSettings" value="xIndexFull" />
- <param name="xAutoB" value="xAuto" />
- <param name="xNodc" value="dc" />
- <param name="xNoref" value="ref" />
- <param name="xOffrate" value="5" />
- <param name="xFtab" value="10" />
- <param name="xNtoa" value="no" />
- <param name="xEndian" value="little" />
- <param name="xSeed" value="-1" />
- <param name="xCutoff" value="-1" />
- <param name="xSPaired" value="xPaired" />
- <param name="xpInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
- <param name="xpInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
- <param name="xpSettingsType" value="xpPreSet" />
+ <param name="genomeSource" value="history" />
+ <param name="ownFile" value="chr_m.fasta" />
+ <param name="indexSettings" value="indexFull" />
+ <param name="autoB" value="auto" />
+ <param name="nodc" value="dc" />
+ <param name="noref" value="ref" />
+ <param name="offrate" value="5" />
+ <param name="ftab" value="10" />
+ <param name="ntoa" value="no" />
+ <param name="endian" value="little" />
+ <param name="seed" value="-1" />
+ <param name="cutoff" value="-1" />
+ <param name="sPaired" value="paired" />
+ <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
+ <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out8.sam" />
</test>
diff -r b78de785df21 -r 35d2a31cfbaf tools/sr_mapping/bowtie_wrapper_code.py
--- a/tools/sr_mapping/bowtie_wrapper_code.py Tue Jan 12 15:48:21 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper_code.py Tue Jan 12 16:49:02 2010 -0500
@@ -2,19 +2,12 @@
def exec_before_job(app, inp_data, out_data, param_dict, tool):
try:
- try:
- refFile = param_dict[ 'solidOrSolexa' ][ 'cRefGenomeSource' ][ 'cIndex' ].value
- except:
- refFile = param_dict[ 'solidOrSolexa' ][ 'xRefGenomeSource' ][ 'xIndex' ].value
+ refFile = param_dict[ 'refGenomeSource' ][ 'index' ].value
except:
try:
- try:
- refFile = param_dict[ 'solidOrSolexa' ][ 'cRefGenomeSource' ][ 'cOwnFile' ].dbkey
- except:
- refFile = param_dict[ 'solidOrSolexa' ][ 'xRefGenomeSource' ][ 'xOwnFile' ].dbkey
+ refFile = param_dict[ 'refGenomeSource' ][ 'ownFile' ].dbkey
except:
- out_data[ 'output' ].set_dbkey( '?' )
- return
+ refFile = '?'
dbkey = os.path.split( refFile )[1].split( '.' )[0]
# deal with the one odd case
if dbkey.find( 'chrM' ) >= 0 or dbkey.find( 'chr_m' ) >= 0:
1
0