galaxy-dev
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 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
- 1 participants
- 10009 discussions
details: http://www.bx.psu.edu/hg/galaxy/rev/874817d9147a
changeset: 2792:874817d9147a
user: rc
date: Mon Sep 28 13:37:14 2009 -0400
description:
Sample Form definitions:
- layout details added to csv file importer
- form preview
3 file(s) affected in this change:
lib/galaxy/web/controllers/forms.py
lib/galaxy/web/controllers/requests_admin.py
templates/admin/forms/show_form_read_only.mako
diffs (236 lines):
diff -r 40c3c7798b64 -r 874817d9147a lib/galaxy/web/controllers/forms.py
--- a/lib/galaxy/web/controllers/forms.py Mon Sep 28 12:39:53 2009 -0400
+++ b/lib/galaxy/web/controllers/forms.py Mon Sep 28 13:37:14 2009 -0400
@@ -307,7 +307,7 @@
fields.append(self.__get_field(i, **kwd))
fields = fields
else:
- fields = self.__import_fields(trans, csv_file, form_type)
+ fields, layout = self.__import_fields(trans, csv_file, form_type)
return name, desc, form_type, layout, fields
def __update_current_form(self, trans, **kwd):
name, desc, form_type, layout, fields = self.__get_form(trans, **kwd)
@@ -325,6 +325,7 @@
'''
import csv
fields = []
+ layouts = set()
try:
reader = csv.reader(csv_file.file)
if form_type == trans.app.model.FormDefinition.types.SAMPLE:
@@ -337,6 +338,7 @@
'type': row[4],
'selectlist': options,
'layout':row[6]})
+ layouts.add(row[6])
else:
for row in reader:
options = row[5].split(',')
@@ -353,7 +355,7 @@
message='Error in importing <b>%s</b> file' % csv_file,
**kwd))
self.__imported_from_file = True
- return fields
+ return fields, list(layouts)
def __save_form(self, trans, fdc_id=None, **kwd):
'''
diff -r 40c3c7798b64 -r 874817d9147a lib/galaxy/web/controllers/requests_admin.py
--- a/lib/galaxy/web/controllers/requests_admin.py Mon Sep 28 12:39:53 2009 -0400
+++ b/lib/galaxy/web/controllers/requests_admin.py Mon Sep 28 13:37:14 2009 -0400
@@ -710,7 +710,11 @@
select_user.add_option('Select one', 'none', selected=True)
else:
select_user.add_option('Select one', 'none')
- for user in trans.app.model.User.query().all():
+ def __get_email(user):
+ return user.email
+ user_list = trans.app.model.User.query().all()
+ user_list.sort(key=__get_email)
+ for user in user_list:
if not user.deleted:
if userid == str(user.id):
select_user.add_option(user.email, user.id, selected=True)
diff -r 40c3c7798b64 -r 874817d9147a templates/admin/forms/show_form_read_only.mako
--- a/templates/admin/forms/show_form_read_only.mako Mon Sep 28 12:39:53 2009 -0400
+++ b/templates/admin/forms/show_form_read_only.mako Mon Sep 28 13:37:14 2009 -0400
@@ -6,62 +6,126 @@
${render_msg( msg, messagetype )}
%endif
+<%def name="render_grid( grid_index, grid_name, fields_dict )">
+ %if grid_name:
+ <div class="toolFormTitle">${grid_name}</div>
+ %endif
+ <div style="clear: both"></div>
+ <table class="grid">
+ <thead>
+ <tr>
+ %for index, field in fields_dict.items():
+ <th>
+ ${field['label']}
+ <div class="toolParamHelp" style="clear: both;">
+ <i>${field['helptext']}</i>
+ </div>
+ </th>
+ %endfor
+ <th></th>
+ </tr>
+ <thead>
+ <tbody>
+ <tr>
+ %for index, field in fields_dict.items():
+ <td>
+ <div>${field['required']}</div>
+## <div>${field['type']}</div>
+ </td>
+ %endfor
+ <th></th>
+ </tr>
+ %for index, field in fields_dict.items():
+ <td>
+## <div>${field['required']}</div>
+ <div><i>Type:</i></div>
+ <div>${field['type']}</div>
+ </td>
+ %endfor
+ <th></th>
+ </tr>
+ <tr>
+ %for index, field in fields_dict.items():
+ <td>
+ %if field['type'] == 'SelectField':
+ <div><i>Options:</i></div>
+ %for option in field['selectlist']:
+ <div>${option}</div>
+ %endfor
+ %endif
+ </td>
+ %endfor
+ <th></th>
+ </tr>
+ <tbody>
+ </table>
+</%def>
+
<div class="toolForm">
<div class="toolFormTitle">${form.name} - <i>${form.desc}</i></div>
<form name="library" action="${h.url_for( controller='forms', action='manage' )}" method="post" >
- <table class = "grid">
- <tbody>
- %for index, field in enumerate(form.fields):
- <tr>
- <td>
- <div class="form-row">
- <label>${1+index}. Label</label>
- <a>${field['label']}</a>
- %if field['type'] == 'SelectField':
- <a id="${field['label']}-popup" class="popup-arrow" style="display: none;">▼</a>
- %for option in field['selectlist']:
- <div popupmenu="${field['label']}-type-popup">
- <a class="action-button" href="" >${option}</a>
- </div>
- %endfor
- %endif
- </div>
- </td>
- <td>
- <div class="form-row">
- <label>Help text </label>
- %if not field['helptext']:
- <a><i>No helptext</i></a>
- %else:
- <a>${field['helptext']}</a>
- %endif
- </div>
- </td>
- <td>
- <div class="form-row">
- <label>Type:</label>
- <a>${field['type']}</a>
- %if field['type'] == 'SelectField':
- <a id="fieldtype-popup" class="popup-arrow" style="display: none;">▼</a>
- %for option in field['selectlist']:
- <div popupmenu="type-popup">
- <a class="action-button" href="" >${option}</a>
- </div>
- %endfor
- %endif
- </div>
- </td>
- <td>
- <div class="form-row">
- <label>Required?</label>
- <a>${field['required']}</a>
- </div>
- </td>
- </tr>
+ %if form.type == trans.app.model.FormDefinition.types.SAMPLE:
+ %if not len(form.layout):
+ ${render_grid( 0, '', form.fields_of_grid( None ) )}
+ %else:
+ %for grid_index, grid_name in enumerate(form.layout):
+ ${render_grid( grid_index, grid_name, form.fields_of_grid( grid_name ) )}
%endfor
- </tbody>
- </table>
- ##<input type="submit" name="save_changes_button" value="Back"/>
+ %endif
+ %else:
+ <table class = "grid">
+ <tbody>
+ %for index, field in enumerate(form.fields):
+ <tr>
+ <td>
+ <div class="form-row">
+ <label>${1+index}. Label</label>
+ <a>${field['label']}</a>
+ %if field['type'] == 'SelectField':
+ <a id="${field['label']}-popup" class="popup-arrow" style="display: none;">▼</a>
+ %for option in field['selectlist']:
+ <div popupmenu="${field['label']}-type-popup">
+ <a class="action-button" href="" >${option}</a>
+ </div>
+ %endfor
+ %endif
+ </div>
+ </td>
+ <td>
+ <div class="form-row">
+ <label>Help text </label>
+ %if not field['helptext']:
+ <a><i>No helptext</i></a>
+ %else:
+ <a>${field['helptext']}</a>
+ %endif
+ </div>
+ </td>
+ <td>
+ <div class="form-row">
+ <label>Type:</label>
+ <a>${field['type']}</a>
+ %if field['type'] == 'SelectField':
+ <a id="fieldtype-popup" class="popup-arrow" style="display: none;">▼</a>
+ %for option in field['selectlist']:
+ <div popupmenu="type-popup">
+ <a class="action-button" href="" >${option}</a>
+ </div>
+ %endfor
+ %endif
+ </div>
+ </td>
+ <td>
+ <div class="form-row">
+ <label>Required?</label>
+ <a>${field['required']}</a>
+ </div>
+ </td>
+ </tr>
+ %endfor
+ </tbody>
+ </table>
+ %endif
</form>
</div>
</div>
\ No newline at end of file
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/389226e41780
changeset: 2793:389226e41780
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Mon Sep 28 18:57:25 2009 -0400
description:
Association proxy for user preferences.
4 file(s) affected in this change:
lib/galaxy/model/__init__.py
lib/galaxy/model/mapping.py
lib/galaxy/web/controllers/history.py
lib/galaxy/web/framework/helpers/grids.py
diffs (148 lines):
diff -r 874817d9147a -r 389226e41780 lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py Mon Sep 28 13:37:14 2009 -0400
+++ b/lib/galaxy/model/__init__.py Mon Sep 28 18:57:25 2009 -0400
@@ -1316,11 +1316,9 @@
pass
class UserPreference ( object ):
- def __init( self, user_id=None, name=None, value=None ):
- self.user_id = user_id
+ def __init__( self, name=None, value=None ):
self.name = name
self.value = value
-
## ---- Utility methods -------------------------------------------------------
diff -r 874817d9147a -r 389226e41780 lib/galaxy/model/mapping.py
--- a/lib/galaxy/model/mapping.py Mon Sep 28 13:37:14 2009 -0400
+++ b/lib/galaxy/model/mapping.py Mon Sep 28 18:57:25 2009 -0400
@@ -14,6 +14,8 @@
from galaxy.model.custom_types import *
from galaxy.util.bunch import Bunch
from galaxy.security import GalaxyRBACAgent
+from sqlalchemy.orm.collections import attribute_mapped_collection
+from sqlalchemy.ext.associationproxy import association_proxy
metadata = MetaData()
context = Session = scoped_session( sessionmaker( autoflush=False, transactional=False ) )
@@ -754,10 +756,14 @@
stored_workflow_menu_entries=relation( StoredWorkflowMenuEntry, backref="user",
cascade="all, delete-orphan",
collection_class=ordering_list( 'order_index' ) ),
- preferences=relation( UserPreference, backref="user", order_by=UserPreference.table.c.id),
+ _preferences=relation( UserPreference, backref="user", collection_class=attribute_mapped_collection('name')),
# addresses=relation( UserAddress,
# primaryjoin=( User.table.c.id == UserAddress.table.c.user_id ) )
) )
+
+# Set up proxy so that this syntax is possible:
+# <user_obj>.preferences[pref_name] = pref_value
+User.preferences = association_proxy('_preferences', 'value', creator=UserPreference)
assign_mapper( context, Group, Group.table,
properties=dict( users=relation( UserGroupAssociation ) ) )
diff -r 874817d9147a -r 389226e41780 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Mon Sep 28 13:37:14 2009 -0400
+++ b/lib/galaxy/web/controllers/history.py Mon Sep 28 18:57:25 2009 -0400
@@ -125,6 +125,8 @@
grids.GridColumnFilter( "All", args=dict( deleted='All' ) ),
]
default_filter = dict( deleted="False", tags="All" )
+ preserve_state = False
+ use_paging = True
def get_current_item( self, trans ):
return trans.get_history()
def apply_default_filter( self, trans, query, **kwargs ):
diff -r 874817d9147a -r 389226e41780 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Mon Sep 28 13:37:14 2009 -0400
+++ b/lib/galaxy/web/framework/helpers/grids.py Mon Sep 28 18:57:25 2009 -0400
@@ -25,7 +25,7 @@
preserve_state = False
use_paging = False
- num_rows_per_page = 5
+ num_rows_per_page = 10
# Set preference names.
cur_filter_pref_name = ".filter"
@@ -51,18 +51,14 @@
base_sort_key = self.default_sort_key
if self.preserve_state:
pref_name = unicode( self.__class__.__name__ + self.cur_filter_pref_name )
- saved_filter_pref = trans.sa_session.query( UserPreference ).\
- filter_by( name=pref_name, user_id=trans.get_user().id ).first()
- if saved_filter_pref:
- saved_filter = from_json_string( saved_filter_pref.value )
+ if pref_name in trans.get_user().preferences:
+ saved_filter = from_json_string( trans.get_user().preferences[pref_name] )
base_filter.update( saved_filter )
pref_name = unicode( self.__class__.__name__ + self.cur_sort_key_pref_name )
- saved_sort_key_pref = trans.sa_session.query( UserPreference ).\
- filter_by( name=pref_name, user_id=trans.get_user().id ).first()
- if saved_sort_key_pref:
- base_sort_key = from_json_string( saved_sort_key_pref.value )
-
+ if pref_name in trans.get_user().preferences:
+ base_sort_key = from_json_string( trans.get_user().preferences[pref_name] )
+
# Build initial query
query = self.build_initial_query( session )
query = self.apply_default_filter( trans, query, **kwargs )
@@ -70,14 +66,23 @@
# Maintain sort state in generated urls
extra_url_args = {}
+ # Determine whether use_default_filter flag is set.
+ use_default_filter_str = kwargs.get( 'use_default_filter' )
+ use_default_filter = False
+ if use_default_filter_str:
+ use_default_filter = use_default_filter_str.lower() == 'true'
+
# Process filtering arguments to (a) build a query that represents the filter and (b) builds a
- # dictionary that denotes the current filter.
+ # dictionary that denotes the current filter.
cur_filter_dict = {}
for column in self.columns:
if column.key:
- # Look for filter criterion in kwargs; if not found, look in base filter.
+ # Get the filter criterion for the column. Precedence is (a) if using default filter, look there; (b) look in kwargs; and (c) look in
+ # base filter.
column_filter = None
- if "f-" + column.key in kwargs:
+ if use_default_filter and self.default_filter:
+ column_filter = self.default_filter.get( column.key )
+ elif "f-" + column.key in kwargs:
column_filter = kwargs.get( "f-" + column.key )
elif column.key in base_filter:
column_filter = base_filter.get( column.key )
@@ -136,17 +141,11 @@
# Preserve grid state: save current filter and sort key.
if self.preserve_state:
pref_name = unicode( self.__class__.__name__ + self.cur_filter_pref_name )
- if not saved_filter_pref:
- saved_filter_pref = UserPreference( name=pref_name )
- trans.get_user().preferences.append( saved_filter_pref )
- saved_filter_pref.value = unicode( to_json_string( cur_filter_dict ) )
+ trans.get_user().preferences[pref_name] = unicode( to_json_string( cur_filter_dict ) )
+
if sort_key:
- if not saved_sort_key_pref:
- pref_name = unicode( self.__class__.__name__ + self.cur_sort_key_pref_name )
- if not saved_sort_key_pref:
- saved_sort_key_pref = UserPreference( name=pref_name )
- trans.get_user().preferences.append( saved_sort_key_pref )
- saved_sort_key_pref.value = unicode( to_json_string( sort_key ) )
+ pref_name = unicode( self.__class__.__name__ + self.cur_sort_key_pref_name )
+ trans.get_user().preferences[pref_name] = unicode( to_json_string( sort_key ) )
trans.sa_session.flush()
# Render grid.
@@ -294,4 +293,4 @@
for k, v in self.args.items():
rval[ "f-" + k ] = v
return rval
-
\ No newline at end of file
+
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/d669408018a1
changeset: 2789:d669408018a1
user: Kanwei Li <kanwei(a)gmail.com>
date: Sun Sep 27 23:11:43 2009 -0400
description:
typo fixes for tools in folders A-M
38 file(s) affected in this change:
templates/base_panels.mako
tools/annotation_profiler/annotation_profiler.xml
tools/data_source/encode_import_all_latest_datasets.xml
tools/data_source/upload.xml
tools/extract/extract_genomic_dna.xml
tools/fastx_toolkit/fasta_formatter.xml
tools/fastx_toolkit/fastq_quality_converter.xml
tools/fastx_toolkit/fastx_barcode_splitter.xml
tools/fastx_toolkit/fastx_clipper.xml
tools/fastx_toolkit/fastx_collapser.xml
tools/fastx_toolkit/fastx_quality_statistics.xml
tools/fastx_toolkit/fastx_renamer.xml
tools/filters/axt_to_concat_fasta.xml
tools/filters/axt_to_fasta.xml
tools/filters/axt_to_lav.xml
tools/filters/compare.xml
tools/filters/cutWrapper.xml
tools/filters/grep.xml
tools/filters/joiner.xml
tools/filters/lav_to_bed.xml
tools/filters/pasteWrapper.xml
tools/filters/remove_beginning.xml
tools/hyphy/hyphy_dnds_wrapper.xml
tools/hyphy/hyphy_nj_tree_wrapper.xml
tools/maf/genebed_maf_to_fasta.xml
tools/maf/interval_maf_to_merged_fasta.xml
tools/maf/maf_to_bed.xml
tools/maf/maf_to_fasta.xml
tools/maf/maf_to_interval.xml
tools/metag_tools/blat_wrapper.xml
tools/metag_tools/convert_SOLiD_color2nuc.xml
tools/metag_tools/mapping_to_ucsc.xml
tools/metag_tools/megablast_xml_parser.xml
tools/metag_tools/short_reads_figure_high_quality_length.xml
tools/metag_tools/short_reads_figure_score.xml
tools/metag_tools/short_reads_trim_seq.xml
tools/metag_tools/shrimp_color_wrapper.xml
tools/metag_tools/shrimp_wrapper.xml
diffs (698 lines):
diff -r f7459ad62be9 -r d669408018a1 templates/base_panels.mako
--- a/templates/base_panels.mako Sat Sep 26 18:05:36 2009 -0400
+++ b/templates/base_panels.mako Sun Sep 27 23:11:43 2009 -0400
@@ -283,7 +283,7 @@
</head>
<body scroll="no" class="${self.body_class}">
- <div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-width: 960px;">
+ <div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-width: 600px;">
## Background displays first
<div id="background"></div>
## Layer iframes over backgrounds
diff -r f7459ad62be9 -r d669408018a1 tools/annotation_profiler/annotation_profiler.xml
--- a/tools/annotation_profiler/annotation_profiler.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/annotation_profiler/annotation_profiler.xml Sun Sep 27 23:11:43 2009 -0400
@@ -43,9 +43,9 @@
Takes an input set of intervals and for each interval determines the base coverage of the interval by a set of features (tables) available from UCSC.
-By default, this tool will check the coverage of your intervals against all available features; you may, however, choose to select only those tables that you want to include. Selecting a section heading will effectively cause all of it's children to be selected.
+By default, this tool will check the coverage of your intervals against all available features; you may, however, choose to select only those tables that you want to include. Selecting a section heading will effectively cause all of its children to be selected.
-You may alternatively choose to recieve a summary across all of the intervals that you provide.
+You may alternatively choose to receive a summary across all of the intervals that you provide.
-----
@@ -118,14 +118,14 @@
allIntervalCount is the number of provided intervals
allIntervalSize is the sum of the lengths of the provided interval file
allCoverage is the sum of the coverage for each provided interval
- allTableRegionsOverlaped is the sum of the number of regions of the table (non-unique) that were overlaped for each interval
- allIntervalsOverlapingTable is the number of provided intervals which overlap the table
+ allTableRegionsOverlapped is the sum of the number of regions of the table (non-unique) that were overlapped for each interval
+ allIntervalsOverlappingTable is the number of provided intervals which overlap the table
nrIntervalCount is the number of non-redundant intervals
nrIntervalSize is the sum of the lengths of non-redundant intervals
nrCoverage is the sum of the coverage of non-redundant intervals
- nrTableRegionsOverlaped is the number of regions of the table (unique) that were overlaped by the non-redundant intervals
- nrIntervalsOverlapingTable is the number of non-redundant intervals which overlap the table
+ nrTableRegionsOverlapped is the number of regions of the table (unique) that were overlapped by the non-redundant intervals
+ nrIntervalsOverlappingTable is the number of non-redundant intervals which overlap the table
.. class:: infomark
diff -r f7459ad62be9 -r d669408018a1 tools/data_source/encode_import_all_latest_datasets.xml
--- a/tools/data_source/encode_import_all_latest_datasets.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/data_source/encode_import_all_latest_datasets.xml Sun Sep 27 23:11:43 2009 -0400
@@ -46,7 +46,7 @@
*[gencode_partitioned]* means that the dataset was partitioned according to the protocol below:
-A partition scheme has been defined that is similar to what has previously been done with TARs/TRANSFRAGs such that any feature can be cla ssified as falling into one of the following 6 categories:
+A partition scheme has been defined that is similar to what has previously been done with TARs/TRANSFRAGs such that any feature can be classified as falling into one of the following 6 categories:
1. **Coding** -- coding exons defined from the GENCODE experimentally verified coding set (coding in any transcript)
2. **5UTR** -- 5' UTR exons defined from the GENCODE experimentally verified coding set (5' UTR in some transcript but never coding in any other)
3. **3UTR** -- 3' UTR exons defined from the GENCODE experimentally verified coding set (3' UTR in some transcript but never coding in any other)
@@ -63,4 +63,4 @@
</help>
-</tool>
+</tool>
diff -r f7459ad62be9 -r d669408018a1 tools/data_source/upload.xml
--- a/tools/data_source/upload.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/data_source/upload.xml Sun Sep 27 23:11:43 2009 -0400
@@ -94,7 +94,7 @@
**Fasta**
-A sequence in FASTA format consists of a single-line description, followed by lines of sequence data. The first character of the description line is a greater-than (">") symbol in the first column. All lines should be shorter than 80 charcters::
+A sequence in FASTA format consists of a single-line description, followed by lines of sequence data. The first character of the description line is a greater-than (">") symbol in the first column. All lines should be shorter than 80 characters::
>sequence1
atgcgtttgcgtgc
@@ -195,7 +195,7 @@
**Wig**
-The wiggle format is line-oriented. Wiggle data is preceeded by a track definition line, which adds a number of options for controlling the default display of this track.
+The wiggle format is line-oriented. Wiggle data is preceded by a track definition line, which adds a number of options for controlling the default display of this track.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/extract/extract_genomic_dna.xml
--- a/tools/extract/extract_genomic_dna.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/extract/extract_genomic_dna.xml Sun Sep 27 23:11:43 2009 -0400
@@ -55,7 +55,7 @@
.. class:: infomark
- **Extract genomic DNA using coordinates from ASSEMBLED genomes and UNassembled genomes** previously were achieved by two seperate tools.
+ **Extract genomic DNA using coordinates from ASSEMBLED genomes and UNassembled genomes** previously were achieved by two separate tools.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fasta_formatter.xml
--- a/tools/fastx_toolkit/fasta_formatter.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fasta_formatter.xml Sun Sep 27 23:11:43 2009 -0400
@@ -13,7 +13,7 @@
<inputs>
<param format="fasta" name="input" type="data" label="Library to re-format" />
- <param name="width" type="integer" value="0" label="New width for nucleotides strings" help="Use 0 for single line outout." />
+ <param name="width" type="integer" value="0" label="New width for nucleotides strings" help="Use 0 for single line out." />
</inputs>
<tests>
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastq_quality_converter.xml
--- a/tools/fastx_toolkit/fastq_quality_converter.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastq_quality_converter.xml Sun Sep 27 23:11:43 2009 -0400
@@ -53,7 +53,7 @@
**What it does**
-Converts a solexa FASTQ file to/from numeric or ASCII quality format.
+Converts a Solexa FASTQ file to/from numeric or ASCII quality format.
.. class:: warningmark
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastx_barcode_splitter.xml
--- a/tools/fastx_toolkit/fastx_barcode_splitter.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastx_barcode_splitter.xml Sun Sep 27 23:11:43 2009 -0400
@@ -36,7 +36,7 @@
**What it does**
-This tool splits a solexa library (FASTQ file) or a regular FASTA file to several files, using barcodes as the split criteria.
+This tool splits a Solexa library (FASTQ file) or a regular FASTA file into several files, using barcodes as the split criteria.
--------
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastx_clipper.xml
--- a/tools/fastx_toolkit/fastx_clipper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastx_clipper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -42,8 +42,8 @@
</param>
<param name="DISCARD_OPTIONS" type="select" label="Output options">
- <option value="-c">Output only clipped seqeunces (i.e. sequences which contained the adapter)</option>
- <option value="-C">Output only non-clipped seqeunces (i.e. sequences which did not contained the adapter)</option>
+ <option value="-c">Output only clipped sequences (i.e. sequences which contained the adapter)</option>
+ <option value="-C">Output only non-clipped sequences (i.e. sequences which did not contained the adapter)</option>
<option value="">Output both clipped and non-clipped sequences</option>
</param>
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastx_collapser.xml
--- a/tools/fastx_toolkit/fastx_collapser.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastx_collapser.xml Sun Sep 27 23:11:43 2009 -0400
@@ -63,7 +63,7 @@
Original Sequence Names / Lane descriptions (e.g. "CSHL_2_FC0042AGLLOO_1_1_742_502") are discarded.
-The output seqeunce name is composed of two numbers: the first is the sequence's number, the second is the multiplicity value.
+The output sequence name is composed of two numbers: the first is the sequence's number, the second is the multiplicity value.
The following output::
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastx_quality_statistics.xml
--- a/tools/fastx_toolkit/fastx_quality_statistics.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastx_quality_statistics.xml Sun Sep 27 23:11:43 2009 -0400
@@ -36,7 +36,7 @@
**The output file will contain the following fields:**
-* column = column number (1 to 36 for a 36-cycles read solexa file)
+* column = column number (1 to 36 for a 36-cycles read Solexa file)
* count = number of bases found in this column.
* min = Lowest quality score value found in this column.
* max = Highest quality score value found in this column.
diff -r f7459ad62be9 -r d669408018a1 tools/fastx_toolkit/fastx_renamer.xml
--- a/tools/fastx_toolkit/fastx_renamer.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/fastx_toolkit/fastx_renamer.xml Sun Sep 27 23:11:43 2009 -0400
@@ -23,7 +23,7 @@
.. class:: infomark
-Use this tool at the beginning of your workflow, as a way to keep the original sequence (before trimming,clipping,barcode-removal, etc).
+Use this tool at the beginning of your workflow, as a way to keep the original sequence (before trimming, clipping, barcode-removal, etc).
--------
diff -r f7459ad62be9 -r d669408018a1 tools/filters/axt_to_concat_fasta.xml
--- a/tools/filters/axt_to_concat_fasta.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/axt_to_concat_fasta.xml Sun Sep 27 23:11:43 2009 -0400
@@ -1,5 +1,5 @@
<tool id="axt_to_concat_fasta" name="AXT to concatenated FASTA">
- <description>Converts an AXT formated file to a concatenated FASTA alignment</description>
+ <description>Converts an AXT formatted file to a concatenated FASTA alignment</description>
<command interpreter="python">axt_to_concat_fasta.py $dbkey_1 $dbkey_2 < $axt_input > $out_file1</command>
<inputs>
<param format="axt" name="axt_input" type="data" label="AXT file"/>
@@ -27,7 +27,7 @@
**Syntax**
-This tool converts an AXT formated file to the FASTA format, and concatenates the results in the same build.
+This tool converts an AXT formatted file to the FASTA format, and concatenates the results in the same build.
- **AXT format** The alignments are produced from Blastz, an alignment tool available from Webb Miller's lab at Penn State University. The lav format Blastz output, which does not include the sequence, was converted to AXT format with lavToAxt. Each alignment block in an AXT file contains three lines: a summary line and 2 sequence lines. Blocks are separated from one another by blank lines.
diff -r f7459ad62be9 -r d669408018a1 tools/filters/axt_to_fasta.xml
--- a/tools/filters/axt_to_fasta.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/axt_to_fasta.xml Sun Sep 27 23:11:43 2009 -0400
@@ -1,5 +1,5 @@
<tool id="axt_to_fasta" name="AXT to FASTA">
- <description>Converts an AXT formated file to FASTA format</description>
+ <description>Converts an AXT formatted file to FASTA format</description>
<command interpreter="python">axt_to_fasta.py $dbkey_1 $dbkey_2 < $axt_input > $out_file1</command>
<inputs>
<param format="axt" name="axt_input" type="data" label="AXT file"/>
@@ -28,7 +28,7 @@
**Syntax**
-This tool converts an AXT formated file to the FASTA format.
+This tool converts an AXT formatted file to the FASTA format.
- **AXT format** The alignments are produced from Blastz, an alignment tool available from Webb Miller's lab at Penn State University. The lav format Blastz output, which does not include the sequence, was converted to AXT format with lavToAxt. Each alignment block in an AXT file contains three lines: a summary line and 2 sequence lines. Blocks are separated from one another by blank lines.
diff -r f7459ad62be9 -r d669408018a1 tools/filters/axt_to_lav.xml
--- a/tools/filters/axt_to_lav.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/axt_to_lav.xml Sun Sep 27 23:11:43 2009 -0400
@@ -1,5 +1,5 @@
<tool id="axt_to_lav_1" name="AXT to LAV">
- <description>Converts an AXT formated file to LAV format</description>
+ <description>Converts an AXT formatted file to LAV format</description>
<command interpreter="python">axt_to_lav.py /depot/data2/galaxy/$dbkey_1/seq/%s.nib:$dbkey_1:${GALAXY_DATA_INDEX_DIR}/shared/ucsc/chrom/${dbkey_1}.len /depot/data2/galaxy/$dbkey_2/seq/%s.nib:$dbkey_2:${GALAXY_DATA_INDEX_DIR}/shared/ucsc/chrom/${dbkey_2}.len $align_input $lav_file $seq_file1 $seq_file2</command>
<inputs>
<param name="align_input" type="data" format="axt" label="Alignment File" optional="False"/>
@@ -22,7 +22,7 @@
**Syntax**
-This tool converts an AXT formated file to the LAV format.
+This tool converts an AXT formatted file to the LAV format.
- **AXT format** The alignments are produced from Blastz, an alignment tool available from Webb Miller's lab at Penn State University. The lav format Blastz output, which does not include the sequence, was converted to AXT format with lavToAxt. Each alignment block in an AXT file contains three lines: a summary line and 2 sequence lines. Blocks are separated from one another by blank lines.
diff -r f7459ad62be9 -r d669408018a1 tools/filters/compare.xml
--- a/tools/filters/compare.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/compare.xml Sun Sep 27 23:11:43 2009 -0400
@@ -52,7 +52,7 @@
and this is **Second query**::
- geneA tumor-supressor
+ geneA tumor-suppressor
geneB Foxp2
geneC Gnas1
geneE INK4a
diff -r f7459ad62be9 -r d669408018a1 tools/filters/cutWrapper.xml
--- a/tools/filters/cutWrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/cutWrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -33,7 +33,7 @@
.. class:: infomark
-The output of this tool is always in tabular format (e.g., if your original delimeter was comma, it will be replaced with tab). For example:
+The output of this tool is always in tabular format (e.g., if your original delimiters are commas, they will be replaced with tabs). For example:
Cutting columns 1 and 3 from::
diff -r f7459ad62be9 -r d669408018a1 tools/filters/grep.xml
--- a/tools/filters/grep.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/grep.xml Sun Sep 27 23:11:43 2009 -0400
@@ -30,7 +30,7 @@
**Syntax**
-The select tool searches the data for lines containing or not containing a match to the given pattern. Regular Expression is introduced in this tool. A Regular Expression is a pattern descibing a certain amount of text.
+The select tool searches the data for lines containing or not containing a match to the given pattern. Regular Expression is introduced in this tool. A Regular Expression is a pattern describing a certain amount of text.
- **( ) { } [ ] . * ? + \ ^ $** are all special characters. **\\** can be used to "escape" a special character, allowing that special character to be searched for.
- **\\A** matches the beginning of a string(but not an internal line).
@@ -46,7 +46,7 @@
- **{** n or n, or n,m **}** specifies an expected number of repetitions of the preceding pattern.
- **{n}** The preceding item is matched exactly n times.
- - **{n,}** The preceding item ismatched n or more times.
+ - **{n,}** The preceding item is matched n or more times.
- **{n,m}** The preceding item is matched at least n times but not more than m times.
- **[** ... **]** creates a character class. Within the brackets, single characters can be placed. A dash (-) may be used to indicate a range such as **a-z**.
@@ -64,9 +64,9 @@
**Example**
-- **^chr([0-9A-Za-z])+** would match lines that begin with chromsomes, such as lines in a BED format file.
+- **^chr([0-9A-Za-z])+** would match lines that begin with chromosomes, such as lines in a BED format file.
- **(ACGT){1,5}** would match at least 1 "ACGT" and at most 5 "ACGT" consecutively.
-- **([^,][0-9]{1,3})(,[0-9]{3})\*** would match a large integer that is properly seperated with commas such as 23,078,651.
+- **([^,][0-9]{1,3})(,[0-9]{3})\*** would match a large integer that is properly separated with commas such as 23,078,651.
- **(abc)|(def)** would match either "abc" or "def".
- **^\\W+#** would match any line that is a comment.
</help>
diff -r f7459ad62be9 -r d669408018a1 tools/filters/joiner.xml
--- a/tools/filters/joiner.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/joiner.xml Sun Sep 27 23:11:43 2009 -0400
@@ -166,12 +166,12 @@
Joining the 4th column of Query1 with the 1st column of Query2 will yield::
- chr1 10 20 geneA geneA tumor-supressor
+ chr1 10 20 geneA geneA tumor-suppressor
chr1 50 80 geneB geneB Foxp2
Joining the 4th column of Query1 with the 1st column of Query2, while keeping all lines from Query1, will yield::
- chr1 10 20 geneA geneA tumor-supressor
+ chr1 10 20 geneA geneA tumor-suppressor
chr1 50 80 geneB geneB Foxp2
chr5 10 40 geneL
diff -r f7459ad62be9 -r d669408018a1 tools/filters/lav_to_bed.xml
--- a/tools/filters/lav_to_bed.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/lav_to_bed.xml Sun Sep 27 23:11:43 2009 -0400
@@ -1,5 +1,5 @@
<tool id="lav_to_bed1" name="LAV to BED">
- <description>Converts a LAV formated file to BED format</description>
+ <description>Converts a LAV formatted file to BED format</description>
<command interpreter="python">lav_to_bed.py $lav_file $bed_file1 $bed_file2</command>
<inputs>
<param name="lav_file" type="data" format="lav" label="LAV File" optional="False"/>
@@ -19,7 +19,7 @@
**Syntax**
-This tool converts a LAV formated file to the BED format.
+This tool converts a LAV formatted file to the BED format.
- **LAV format** LAV is an alignment format developed by Webb Miller's group at Penn State University. It is the primary output format for BLASTZ.
@@ -54,7 +54,7 @@
}
#:eof
-- To two BED formated files::
+- To two BED formatted files::
chr19 3001011 3001075 hg16_0 0 +
chr19 3008278 3008357 hg16_1 0 +
diff -r f7459ad62be9 -r d669408018a1 tools/filters/pasteWrapper.xml
--- a/tools/filters/pasteWrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/pasteWrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -33,7 +33,7 @@
.. class:: infomark
-Paste preserves column assignments of the first dataset
+Paste preserves column assignments of the first dataset.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/filters/remove_beginning.xml
--- a/tools/filters/remove_beginning.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/filters/remove_beginning.xml Sun Sep 27 23:11:43 2009 -0400
@@ -19,7 +19,7 @@
**What it does**
-This tool removes specified number of lines from the beginning of a dataset
+This tool removes a specified number of lines from the beginning of a dataset.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/hyphy/hyphy_dnds_wrapper.xml
--- a/tools/hyphy/hyphy_dnds_wrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/hyphy/hyphy_dnds_wrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -47,7 +47,7 @@
-----
-For the tree definition, you only need to specify the species build names. For example, you could use the tree *((hg17,panTro1),(mm5,rn3),canFam1)*, if your FASTA file looks like the example below. You may also use **Neighbor Joining Tree Builder** tool to obtain the tree definition::
+For the tree definition, you only need to specify the species build names. For example, you could use the tree *(hg17,panTro1),(mm5,rn3),canFam1)*, if your FASTA file looks like the example below. You may also use **Neighbor Joining Tree Builder** tool to obtain the tree definition::
>hg17.chr7(+):26907301-26907310|hg17_0
GTGGGAGGT
diff -r f7459ad62be9 -r d669408018a1 tools/hyphy/hyphy_nj_tree_wrapper.xml
--- a/tools/hyphy/hyphy_nj_tree_wrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/hyphy/hyphy_nj_tree_wrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -16,7 +16,7 @@
<option value="K2P">Kimura 2 parameter</option>
<option value="JC69">Jukes-Cantor</option>
<!-- <option value="T3P">Tamura 3-parameter (correction for GC content bias and transition/trasversion bias)</option> -->
- <!-- <option value="p_Distance">Number of observed substituions per site</option> -->
+ <!-- <option value="p_Distance">Number of observed substitutions per site</option> -->
<!-- <option value="Unaligned_LZ">Distance measure for unaligned sequences based on Lempel Ziv measure of information content</option> -->
<!-- <option value="Unaligned_LZ_FR">Distance measure for unaligned sequences based on Lempel Ziv measure of information content using the best choice forward and reverse string orientations</option> -->
</param>
diff -r f7459ad62be9 -r d669408018a1 tools/maf/genebed_maf_to_fasta.xml
--- a/tools/maf/genebed_maf_to_fasta.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/maf/genebed_maf_to_fasta.xml Sun Sep 27 23:11:43 2009 -0400
@@ -48,10 +48,10 @@
</param>
</when>
</conditional>
- <param name="overwrite_with_gaps" type="select" label="Split into Gapless MAF blocks" help="When set to Yes, blocks are divided around gaps appearing in any species. This will prevent gaps occuring in the interior of the sequence for an aligning species from overwriting a nucleotide found for the same position in a lower-scoring block.">
+ <param name="overwrite_with_gaps" type="select" label="Split into Gapless MAF blocks" help="When set to Yes, blocks are divided around gaps appearing in any species. This will prevent gaps occurring in the interior of the sequence for an aligning species from overwriting a nucleotide found for the same position in a lower-scoring block.">
<option value="True" selected="true">No</option>
<option value="False">Yes</option>
- </param>
+ </param>
</inputs>
<outputs>
<data format="fasta" name="out_file1" />
@@ -61,7 +61,7 @@
<param name="input1" value="8.bed"/>
<param name="maf_source" value="cached"/>in aligning species
<param name="maf_identifier" value="8_WAY_MULTIZ_hg17"/>
- <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
+ <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
<param name="overwrite_with_gaps" value="True"/>
<output name="out_file1" file="gene_bed_maf_to_fasta_out.fasta" />
</test>
@@ -69,7 +69,7 @@
<param name="input1" value="8.bed"/>
<param name="maf_source" value="user"/>
<param name="maf_file" value="4.maf"/>
- <param name="species" value="hg17,panTro1"/>
+ <param name="species" value="hg17,panTro1"/>
<param name="overwrite_with_gaps" value="True"/>
<output name="out_file1" file="gene_bed_maf_to_fasta_user_out.fasta" />
</test>
diff -r f7459ad62be9 -r d669408018a1 tools/maf/interval_maf_to_merged_fasta.xml
--- a/tools/maf/interval_maf_to_merged_fasta.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/maf/interval_maf_to_merged_fasta.xml Sun Sep 27 23:11:43 2009 -0400
@@ -49,10 +49,10 @@
</param>
</when>
</conditional>
- <param name="overwrite_with_gaps" type="select" label="Split into Gapless MAF blocks" help="When set to Yes, blocks are divided around gaps appearing in any species. This will prevent gaps occuring in the interior of the sequence for an aligning species from overwriting a nucleotide found for the same position in a lower-scoring block.">
+ <param name="overwrite_with_gaps" type="select" label="Split into Gapless MAF blocks" help="When set to Yes, blocks are divided around gaps appearing in any species. This will prevent gaps occurring in the interior of the sequence for an aligning species from overwriting a nucleotide found for the same position in a lower-scoring block.">
<option value="True" selected="true">No</option>
<option value="False">Yes</option>
- </param>
+ </param>
</page>
</inputs>
<outputs>
@@ -63,7 +63,7 @@
<param name="input1" value="13.bed" dbkey="hg18" ftype="bed"/>
<param name="maf_source" value="cached"/>
<param name="maf_identifier" value="17_WAY_MULTIZ_hg18"/>
- <param name="species" value="hg18,mm8"/>
+ <param name="species" value="hg18,mm8"/>
<param name="overwrite_with_gaps" value="True"/>
<output name="out_file1" file="interval_maf_to_merged_fasta_out3.fasta" />
</test>
@@ -71,7 +71,7 @@
<param name="input1" value="1.bed" dbkey="hg17" ftype="bed"/>
<param name="maf_source" value="cached"/>
<param name="maf_identifier" value="8_WAY_MULTIZ_hg17"/>
- <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
+ <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
<param name="overwrite_with_gaps" value="True"/>
<output name="out_file1" file="interval_maf_to_merged_fasta_out.dat" />
</test>
@@ -79,7 +79,7 @@
<param name="input1" value="1.bed" dbkey="hg17" ftype="bed"/>
<param name="maf_source" value="user"/>
<param name="maf_file" value="5.maf"/>
- <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
+ <param name="species" value="canFam1,hg17,mm5,panTro1,rn3"/>
<param name="overwrite_with_gaps" value="True"/>
<output name="out_file1" file="interval_maf_to_merged_fasta_user_out.dat" />
</test>
diff -r f7459ad62be9 -r d669408018a1 tools/maf/maf_to_bed.xml
--- a/tools/maf/maf_to_bed.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/maf/maf_to_bed.xml Sun Sep 27 23:11:43 2009 -0400
@@ -36,12 +36,12 @@
* **Step 2 of 2**. Choose species from the alignment to be included in the output and specify how to deal with alignment blocks that lack one or more species:
* **Choose species** - the tool reads the alignment provided during Step 1 and generates a list of species contained within that alignment. Using checkboxes you can specify taxa to be included in the output (only reference genome, shown in **bold**, is selected by default). If you select more than one species, then more than one history item will be created.
- * **Choose to include/exclude blocks with missing species** - if an alignment block does not contain any one of the species you selected within **Choose species** menu and this option is set to **exclude blocks with missing species**, then coordiantes of such a block **will not** be included in the output (see **Example 2** below).
+ * **Choose to include/exclude blocks with missing species** - if an alignment block does not contain any one of the species you selected within **Choose species** menu and this option is set to **exclude blocks with missing species**, then coordinates of such a block **will not** be included in the output (see **Example 2** below).
-----
-**Example 1**: **Include only refernce genome** (hg18 in this case) and **include blocks with missing species**:
+**Example 1**: **Include only reference genome** (hg18 in this case) and **include blocks with missing species**:
For the following alignment::
diff -r f7459ad62be9 -r d669408018a1 tools/maf/maf_to_fasta.xml
--- a/tools/maf/maf_to_fasta.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/maf/maf_to_fasta.xml Sun Sep 27 23:11:43 2009 -0400
@@ -71,7 +71,7 @@
Multiple Block output has additional options:
* **Choose species** - the tool reads the alignment provided during Step 1 and generates a list of species contained within that alignment. Using checkboxes you can specify taxa to be included in the output (all species are selected by default).
- * **Choose to include/exclude blocks with missing species** - if an alignment block does not contain any one of the species you selected within **Choose species** menu and this option is set to **exclude blocks with missing species**, then such a block **will not** be included in the output (see **Example 2** below). For example, if you want to extact human, mouse, and rat from a series of alignments and one of the blocks does not contain mouse sequence, then this block will not be converted to FASTA and will not be returned.
+ * **Choose to include/exclude blocks with missing species** - if an alignment block does not contain any one of the species you selected within **Choose species** menu and this option is set to **exclude blocks with missing species**, then such a block **will not** be included in the output (see **Example 2** below). For example, if you want to extract human, mouse, and rat from a series of alignments and one of the blocks does not contain mouse sequence, then this block will not be converted to FASTA and will not be returned.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/maf/maf_to_interval.xml
--- a/tools/maf/maf_to_interval.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/maf/maf_to_interval.xml Sun Sep 27 23:11:43 2009 -0400
@@ -1,5 +1,5 @@
<tool id="MAF_To_Interval1" name="MAF to Interval" force_history_refresh="True">
- <description>Converts a MAF formated file to the Interval format</description>
+ <description>Converts a MAF formatted file to the Interval format</description>
<command interpreter="python">maf_to_interval.py $input1 $out_file1 $out_file1.id $__new_file_path__ $input1.dbkey $species $input1.metadata.species $complete_blocks $remove_gaps</command>
<inputs>
<param format="maf" name="input1" type="data" label="MAF file to convert"/>
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/blat_wrapper.xml
--- a/tools/metag_tools/blat_wrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/blat_wrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -45,17 +45,17 @@
.. class:: warningmark
- Use a smaller word size (*Minimal Size of Exact Match*) will increase the computational time.
+Using a smaller word size (*Minimal Size of Exact Match*) will increase the computational time.
.. class:: warningmark
-Use a larger mismatch number (*Number of Mismatch in the Word*) will increase the computational time.
+Using a larger mismatch number (*Number of Mismatch in the Word*) will increase the computational time.
-----
**What it does**
-This tool currently uses alignment program **BLAT**. Your short reads file is searched against a genome build or another uploaded file.
+This tool currently uses the **BLAT** alignment program. Your short reads file is searched against a genome build or another uploaded file.
-----
@@ -66,13 +66,13 @@
>seq1
TGGTAATGGTGGTTTTTTTTTTTTTTTTTTATTTTT
-- Use default settings:
+- Use the default settings:
- alignment identity must be higher than or equal to 90%.
- minimal size of exact match to trigger an alignment is 11.
- - allow 0 mismatch in the above exact match size.
+ - allow 0 mismatches in the above exact match size.
- Search against ce2 (C. elegans March 2004), partial result::
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/convert_SOLiD_color2nuc.xml
--- a/tools/metag_tools/convert_SOLiD_color2nuc.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/convert_SOLiD_color2nuc.xml Sun Sep 27 23:11:43 2009 -0400
@@ -25,13 +25,13 @@
.. class:: warningmark
- The tool was designed for color space files generated from ABI SOLiD sequencer. The file format must be fasta-like: the title starts with a ">" sign, and each color space sequence starts with a leading nucleotide.
+The tool was designed for color space files generated from an ABI SOLiD sequencer. The file format must be fasta-like: the title starts with a ">" character, and each color space sequence starts with a leading nucleotide.
-----
**What it does**
- This tool convert a color space sequence to nucleotides. The leading character must be one of the nucleotides: A, C, G, T.
+This tool converts a color space sequence to nucleotides. The leading character must be a nucleotide: A, C, G, or T.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/mapping_to_ucsc.xml
--- a/tools/metag_tools/mapping_to_ucsc.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/mapping_to_ucsc.xml Sun Sep 27 23:11:43 2009 -0400
@@ -145,7 +145,7 @@
**What it does**
-This tool formats mapping data generated by short read mappers, as a custom track that can be displayed at UCSC genome browser.
+This tool turns mapping data generated by short read mappers into a format that can be displayed in the UCSC genome browser as a custom track.
-----
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/megablast_xml_parser.xml
--- a/tools/metag_tools/megablast_xml_parser.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/megablast_xml_parser.xml Sun Sep 27 23:11:43 2009 -0400
@@ -26,13 +26,13 @@
**What it does**
-This tool will process XML output of any NCBI blast tool (if you run your own blast jobs, the XML output can be generated with **-m 7** option).
+This tool processes the XML output of any NCBI blast tool (if you run your own blast jobs, the XML output can be generated with **-m 7** option).
-----
**Output fields**
-This tools returns tab-delimted output with the following fields::
+This tools returns tab-delimited output with the following fields::
Description Example
----------------------------------------- -----------------
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/short_reads_figure_high_quality_length.xml
--- a/tools/metag_tools/short_reads_figure_high_quality_length.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/short_reads_figure_high_quality_length.xml Sun Sep 27 23:11:43 2009 -0400
@@ -32,7 +32,7 @@
.. class:: warningmark
- To use this tool your dataset needs to be in *Quality Score* format. Click pencil icon next to your dataset to set datatype to *Quality Score* (see below for examples of quality scores).
+To use this tool, your dataset needs to be in the *Quality Score* format. Click the pencil icon next to your dataset to set the datatype to *Quality Score* (see below for examples).
-----
@@ -62,7 +62,7 @@
>seq1
23 33 34 25 28 28 28 32 23 34 27 4 28 28 31 21 28
-- If the threshold was set to 20:
+- If the threshold is set to 20:
- a low quality score 4 in the middle separated two segments of lengths 11 and 5.
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/short_reads_figure_score.xml
--- a/tools/metag_tools/short_reads_figure_score.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/short_reads_figure_score.xml Sun Sep 27 23:11:43 2009 -0400
@@ -29,7 +29,7 @@
.. class:: warningmark
- To use this tool your dataset needs to be in *Quality Score* format. Click pencil icon next to your dataset to set datatype to *Quality Score* (see below for examples of quality scores).
+To use this tool, your dataset needs to be in the *Quality Score* format. Click the pencil icon next to your dataset to set the datatype to *Quality Score* (see below for examples).
-----
@@ -58,7 +58,7 @@
.. image:: ../static/images/short_reads_boxplot.png
-where the **X-axis** is coordiante along the read and the **Y-axis** is quality score adjusted to comply with the Phred score metric. Units on the X-axis depend on whether your data comes from Roche (454) or Illumina (Solexa) and ABI SOLiD machines:
+where the **X-axis** is coordinate along the read and the **Y-axis** is quality score adjusted to comply with the Phred score metric. Units on the X-axis depend on whether your data comes from Roche (454) or Illumina (Solexa) and ABI SOLiD machines:
- For Roche (454) X-axis (shown above) indicates **relative** position (in %) within reads as this technology produces reads of different lengths;
- For Illumina (Solexa) and ABI SOLiD X-axis shows **absolute** position in nucleotides within reads.
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/short_reads_trim_seq.xml
--- a/tools/metag_tools/short_reads_trim_seq.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/short_reads_trim_seq.xml Sun Sep 27 23:11:43 2009 -0400
@@ -57,7 +57,7 @@
.. class:: warningmark
- To use this tool your quality score dataset needs to be in *Quality Score* format. Click pencil icon next to your dataset to set datatype to *Quality Score*.
+To use this tool, your dataset needs to be in the *Quality Score* format. Click the pencil icon next to your dataset to set the datatype to *Quality Score* (see below for examples).
-----
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/shrimp_color_wrapper.xml
--- a/tools/metag_tools/shrimp_color_wrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/shrimp_color_wrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -55,7 +55,7 @@
.. class:: warningmark
-To use this tool your dataset needs to be in *csfasta* (as ABI SOLiD color-space sequences) format. Click pencil icon next to your dataset to set datatype to *csfasta*.
+To use this tool your dataset needs to be in the *csfasta* (as ABI SOLiD color-space sequences) format. Click pencil icon next to your dataset to set the datatype to *csfasta*.
-----
@@ -166,8 +166,8 @@
-h S-W Full Hit Threshold (default: 68.00%)
In letter-space, this parameter determines the threshold
score for both vectored and full Smith-Waterman alignments.
- Any values less than this quanitity will be thrown away.
- *Note* This option differs slightly in meaning between letter-space and colour-space.
+ Any values less than this quantity will be thrown away.
+ *Note* This option differs slightly in meaning between letter-space and color-space.
-v
diff -r f7459ad62be9 -r d669408018a1 tools/metag_tools/shrimp_wrapper.xml
--- a/tools/metag_tools/shrimp_wrapper.xml Sat Sep 26 18:05:36 2009 -0400
+++ b/tools/metag_tools/shrimp_wrapper.xml Sun Sep 27 23:11:43 2009 -0400
@@ -219,7 +219,7 @@
running time. Higher values will have the opposite effect.
-t Seed Hit Taboo Length (default: 4)
The seed taboo length specifies how many target genome bases
- or colours must exist prior to a previous seed match in order
+ or colors must exist prior to a previous seed match in order
to count another seed match as a hit.
-9 Seed Generation Taboo Length (default: 0)
@@ -265,8 +265,8 @@
-h S-W Hit Threshold (default: 68.00%)
In letter-space, this parameter determines the threshold
score for both vectored and full Smith-Waterman alignments.
- Any values less than this quanitity will be thrown away.
- *Note* This option differs slightly in meaning between letter-space and colour-space.
+ Any values less than this quantity will be thrown away.
+ *Note* This option differs slightly in meaning between letter-space and color-space.
-----
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/4733c3b69226
changeset: 2790:4733c3b69226
user: jeremy goecks <jeremy.goecks at emory.edu>
date: Mon Sep 28 10:29:23 2009 -0400
description:
Paging for grids.
2 file(s) affected in this change:
lib/galaxy/web/framework/helpers/grids.py
templates/history/grid.mako
diffs (128 lines):
diff -r d669408018a1 -r 4733c3b69226 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Sun Sep 27 23:11:43 2009 -0400
+++ b/lib/galaxy/web/framework/helpers/grids.py Mon Sep 28 10:29:23 2009 -0400
@@ -4,7 +4,7 @@
from galaxy.web import url_for
from galaxy.util.json import from_json_string, to_json_string
-import sys, logging
+import sys, logging, math
log = logging.getLogger( __name__ )
@@ -23,6 +23,10 @@
default_filter = None
default_sort_key = None
preserve_state = False
+
+ use_paging = False
+ num_rows_per_page = 5
+
# Set preference names.
cur_filter_pref_name = ".filter"
cur_sort_key_pref_name = ".sort_key"
@@ -90,7 +94,7 @@
column_filter = unicode(column_filter)
extra_url_args[ "f-" + column.key ] = column_filter.encode("utf-8")
- # Process sort arguments
+ # Process sort arguments.
sort_key = sort_order = None
if 'sort' in kwargs:
sort_key = kwargs['sort']
@@ -110,7 +114,26 @@
# There might be a current row
current_item = self.get_current_item( trans )
- # Save current filter and sort key.
+ # Process page number.
+ if self.use_paging:
+ if 'page' in kwargs:
+ page_num = int( kwargs['page'] )
+ else:
+ page_num = 1
+
+ # Before modifying query, get the total number of rows that query returns so that the total number of pages can
+ # be computed.
+ total_num_rows = query.count()
+ query = query.limit( self.num_rows_per_page ).offset( ( page_num-1 ) * self.num_rows_per_page )
+
+ num_pages = int ( math.ceil( float( total_num_rows ) / self.num_rows_per_page ) )
+ else:
+ # Defaults.
+ page_num = 1
+ num_pages = 1
+
+
+ # Preserve grid state: save current filter and sort key.
if self.preserve_state:
pref_name = unicode( self.__class__.__name__ + self.cur_filter_pref_name )
if not saved_filter_pref:
@@ -146,9 +169,13 @@
else:
new_kwargs[ 'id' ] = trans.security.encode_id( id )
return url_for( **new_kwargs )
+
+
return trans.fill_template( self.template,
grid=self,
query=query,
+ cur_page_num = page_num,
+ num_pages = num_pages,
cur_filter_dict=cur_filter_dict,
sort_key=sort_key,
encoded_sort_key=encoded_sort_key,
diff -r d669408018a1 -r 4733c3b69226 templates/history/grid.mako
--- a/templates/history/grid.mako Sun Sep 27 23:11:43 2009 -0400
+++ b/templates/history/grid.mako Mon Sep 28 10:29:23 2009 -0400
@@ -299,20 +299,36 @@
</tr>
%endfor
</tbody>
- %if grid.operations:
- <tfoot>
- <tr>
- <td></td>
- <td colspan="100">
- For <span class="grid-selected-count"></span> selected histories:
- %for operation in grid.operations:
- %if operation.allow_multiple:
- <input type="submit" name="operation" value="${operation.label}" class="action-button">
- %endif
- %endfor
- </td>
- </tr>
- </tfoot>
+ <tfoot>
+ %if num_pages > 1:
+ <tr>
+ <td></td>
+ <td colspan="100" style="font-size: 90%; text-align: right">
+ Page:
+ %for page_index in range(1, num_pages + 1):
+ %if page_index == cur_page_num:
+ <span style="font-style: italic">${page_index}</span>
+ %else:
+ <% args = { "page" : page_index } %>
+ <span><a href="${url( args )}">${page_index}</a></span>
+ %endif
+ %endfor
+ </td>
+ </tr>
+ %endif
+ %if grid.operations:
+ <tr>
+ <td></td>
+ <td colspan="100">
+ For <span class="grid-selected-count"></span> selected histories:
+ %for operation in grid.operations:
+ %if operation.allow_multiple:
+ <input type="submit" name="operation" value="${operation.label}" class="action-button">
+ %endif
+ %endfor
+ </td>
+ </tr>
+ </tfoot>
%endif
</table>
</form>
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/40c3c7798b64
changeset: 2791:40c3c7798b64
user: Kanwei Li <kanwei(a)gmail.com>
date: Mon Sep 28 12:39:53 2009 -0400
description:
fix history grids
2 file(s) affected in this change:
templates/grid.mako
templates/history/grid.mako
diffs (100 lines):
diff -r 4733c3b69226 -r 40c3c7798b64 templates/grid.mako
--- a/templates/grid.mako Mon Sep 28 10:29:23 2009 -0400
+++ b/templates/grid.mako Mon Sep 28 12:39:53 2009 -0400
@@ -214,19 +214,19 @@
%endfor
</tbody>
%if grid.has_multiple_item_operations:
- <tfoot>
- <tr>
- <td></td>
- <td colspan="100">
- For <span class="grid-selected-count"></span> selected items:
- %for operation in grid.operations:
- %if operation.allow_multiple:
- <input type="submit" name="operation" value="${operation.label}" class="action-button">
- %endif
- %endfor
- </td>
- </tr>
- </tfoot>
+ <tfoot>
+ <tr>
+ <td></td>
+ <td colspan="100">
+ For <span class="grid-selected-count"></span> selected items:
+ %for operation in grid.operations:
+ %if operation.allow_multiple:
+ <input type="submit" name="operation" value="${operation.label}" class="action-button">
+ %endif
+ %endfor
+ </td>
+ </tr>
+ </tfoot>
%endif
</table>
</form>
diff -r 4733c3b69226 -r 40c3c7798b64 templates/history/grid.mako
--- a/templates/history/grid.mako Mon Sep 28 10:29:23 2009 -0400
+++ b/templates/history/grid.mako Mon Sep 28 12:39:53 2009 -0400
@@ -301,34 +301,34 @@
</tbody>
<tfoot>
%if num_pages > 1:
- <tr>
- <td></td>
- <td colspan="100" style="font-size: 90%; text-align: right">
- Page:
- %for page_index in range(1, num_pages + 1):
- %if page_index == cur_page_num:
- <span style="font-style: italic">${page_index}</span>
- %else:
- <% args = { "page" : page_index } %>
- <span><a href="${url( args )}">${page_index}</a></span>
- %endif
- %endfor
- </td>
- </tr>
+ <tr>
+ <td></td>
+ <td colspan="100" style="font-size: 90%; text-align: right">
+ Page:
+ %for page_index in range(1, num_pages + 1):
+ %if page_index == cur_page_num:
+ <span style="font-style: italic">${page_index}</span>
+ %else:
+ <% args = { "page" : page_index } %>
+ <span><a href="${url( args )}">${page_index}</a></span>
+ %endif
+ %endfor
+ </td>
+ </tr>
%endif
%if grid.operations:
- <tr>
- <td></td>
- <td colspan="100">
- For <span class="grid-selected-count"></span> selected histories:
- %for operation in grid.operations:
- %if operation.allow_multiple:
- <input type="submit" name="operation" value="${operation.label}" class="action-button">
- %endif
- %endfor
- </td>
- </tr>
+ <tr>
+ <td></td>
+ <td colspan="100">
+ For <span class="grid-selected-count"></span> selected histories:
+ %for operation in grid.operations:
+ %if operation.allow_multiple:
+ <input type="submit" name="operation" value="${operation.label}" class="action-button">
+ %endif
+ %endfor
+ </td>
+ </tr>
+ %endif
</tfoot>
- %endif
</table>
</form>
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/f7459ad62be9
changeset: 2788:f7459ad62be9
user: jeremy goecks <jeremy.goecks at emory.edu>
date: Sat Sep 26 18:05:36 2009 -0400
description:
Turn off grid state preservation.
1 file(s) affected in this change:
lib/galaxy/web/framework/helpers/grids.py
diffs (12 lines):
diff -r 659713ba1d92 -r f7459ad62be9 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Sat Sep 26 17:33:21 2009 -0400
+++ b/lib/galaxy/web/framework/helpers/grids.py Sat Sep 26 18:05:36 2009 -0400
@@ -22,7 +22,7 @@
standard_filters = []
default_filter = None
default_sort_key = None
- preserve_state = True
+ preserve_state = False
# Set preference names.
cur_filter_pref_name = ".filter"
cur_sort_key_pref_name = ".sort_key"
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/93dc1855f0d6
changeset: 2786:93dc1855f0d6
user: Kanwei Li <kanwei(a)gmail.com>
date: Fri Sep 25 18:47:40 2009 -0400
description:
trackster now supports BED files
10 file(s) affected in this change:
datatypes_conf.xml.sample
lib/galaxy/datatypes/converters/bed_to_interval_index_converter.py
lib/galaxy/datatypes/converters/bed_to_interval_index_converter.xml
lib/galaxy/visualization/__init__.py
lib/galaxy/visualization/tracks/__init__.py
lib/galaxy/visualization/tracks/data/array_tree.py
lib/galaxy/visualization/tracks/data/interval_index.py
lib/galaxy/web/controllers/tracks.py
static/scripts/packed/trackster.js
static/scripts/trackster.js
diffs (238 lines):
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 datatypes_conf.xml.sample
--- a/datatypes_conf.xml.sample Fri Sep 25 17:21:26 2009 -0400
+++ b/datatypes_conf.xml.sample Fri Sep 25 18:47:40 2009 -0400
@@ -7,6 +7,7 @@
<datatype extension="bed" type="galaxy.datatypes.interval:Bed" display_in_upload="true">
<converter file="bed_to_gff_converter.xml" target_datatype="gff"/>
<converter file="interval_to_coverage.xml" target_datatype="coverage"/>
+ <converter file="bed_to_interval_index_converter.xml" target_datatype="interval_index"/>
</datatype>
<datatype extension="binseq.zip" type="galaxy.datatypes.images:Binseq" mimetype="application/zip" display_in_upload="true"/>
<datatype extension="len" type="galaxy.datatypes.chrominfo:ChromInfo" display_in_upload="true">
@@ -61,6 +62,7 @@
<converter file="wiggle_to_array_tree_converter.xml" target_datatype="array_tree"/>
</datatype>
<datatype extension="array_tree" type="galaxy.datatypes.data:Data" />
+ <datatype extension="interval_index" type="galaxy.datatypes.data:Data" />
<!-- EMBOSS TOOLS -->
<datatype extension="acedb" type="galaxy.datatypes.data:Text"/>
<datatype extension="asn1" type="galaxy.datatypes.data:Text"/>
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/datatypes/converters/bed_to_interval_index_converter.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/datatypes/converters/bed_to_interval_index_converter.py Fri Sep 25 18:47:40 2009 -0400
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+from __future__ import division
+
+import sys
+from galaxy import eggs
+import pkg_resources; pkg_resources.require( "bx-python" )
+from bx.interval_index_file import Indexes
+
+def main():
+
+ input_fname = sys.argv[1]
+ out_fname = sys.argv[2]
+ index = Indexes()
+ offset = 0
+
+ for line in open(input_fname, "r"):
+ feature = line.split()
+ if feature[0] == "track":
+ offset += len(line)
+ continue
+ chrom = feature[0]
+ chrom_start = int(feature[1])
+ chrom_end = int(feature[2])
+ index.add( chrom, chrom_start, chrom_end, offset )
+ offset += len(line)
+
+ index.write( open(out_fname, "w") )
+
+if __name__ == "__main__":
+ main()
+
\ No newline at end of file
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/datatypes/converters/bed_to_interval_index_converter.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/datatypes/converters/bed_to_interval_index_converter.xml Fri Sep 25 18:47:40 2009 -0400
@@ -0,0 +1,14 @@
+<tool id="CONVERTER_bed_to_interval_index_0" name="Convert BED to Interval Index" version="1.0.0">
+<!-- <description>__NOT_USED_CURRENTLY_FOR_CONVERTERS__</description> -->
+ <command interpreter="python">bed_to_interval_index_converter.py $input1 $output1</command>
+ <inputs>
+ <page>
+ <param format="bed" name="input1" type="data" label="Choose BED file"/>
+ </page>
+ </inputs>
+ <outputs>
+ <data format="interval_index" name="output1"/>
+ </outputs>
+ <help>
+ </help>
+</tool>
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/visualization/__init__.py
--- a/lib/galaxy/visualization/__init__.py Fri Sep 25 17:21:26 2009 -0400
+++ b/lib/galaxy/visualization/__init__.py Fri Sep 25 18:47:40 2009 -0400
@@ -1,3 +1,3 @@
"""
-Package for Galaxy visulization plugins.
+Package for Galaxy visualization plugins.
"""
\ No newline at end of file
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/visualization/tracks/__init__.py
--- a/lib/galaxy/visualization/tracks/__init__.py Fri Sep 25 17:21:26 2009 -0400
+++ b/lib/galaxy/visualization/tracks/__init__.py Fri Sep 25 18:47:40 2009 -0400
@@ -1,3 +1,3 @@
"""
-Package for track style visulization using the trackster UI.
+Package for track style visualization using the trackster UI.
"""
\ No newline at end of file
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/visualization/tracks/data/array_tree.py
--- a/lib/galaxy/visualization/tracks/data/array_tree.py Fri Sep 25 17:21:26 2009 -0400
+++ b/lib/galaxy/visualization/tracks/data/array_tree.py Fri Sep 25 18:47:40 2009 -0400
@@ -1,5 +1,5 @@
"""
-Array tree data provider for Galaxy track browser.
+Array tree data provider for the Galaxy track browser.
"""
import pkg_resources; pkg_resources.require( "bx-python" )
@@ -16,7 +16,7 @@
BLOCK_SIZE = 1000
class ArrayTreeDataProvider( object ):
- def __init__( self, dataset ):
+ def __init__( self, dataset, original_dataset ):
self.dataset = dataset
def get_stats( self, chrom ):
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/visualization/tracks/data/interval_index.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/visualization/tracks/data/interval_index.py Fri Sep 25 18:47:40 2009 -0400
@@ -0,0 +1,41 @@
+"""
+Interval index data provider for the Galaxy track browser.
+Kanwei Li, 2009
+"""
+
+import pkg_resources; pkg_resources.require( "bx-python" )
+from bx.interval_index_file import Indexes
+
+class IntervalIndexDataProvider( object ):
+ def __init__( self, converted_dataset, original_dataset ):
+ self.original_dataset = original_dataset
+ self.converted_dataset = converted_dataset
+
+ def get_data( self, chrom, start, end ):
+ start, end = int(start), int(end)
+ chrom = str(chrom)
+ source = open( self.original_dataset.file_name )
+ index = Indexes( self.converted_dataset.file_name )
+ results = []
+
+ for start, end, offset in index.find(chrom, start, end):
+ source.seek(offset)
+ feature = source.readline().split()
+ payload = { 'start': start, 'end': end, 'name': feature[3] }
+ try:
+ block_sizes = [ int(n) for n in feature[10].split(',') if n != '']
+ block_starts = [ int(n) for n in feature[11].split(',') if n != '' ]
+ blocks = zip(block_sizes, block_starts)
+ payload['block_start_end'] = [ (chrom_start + block[1], chrom_start + block[1] + block[0]) for block in blocks]
+ except:
+ pass
+
+ try:
+ payload['exon_start'] = int(feature[6])
+ payload['exon_end'] = int(feature[7])
+ except:
+ pass
+
+ results.append(payload)
+
+ return results
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py Fri Sep 25 17:21:26 2009 -0400
+++ b/lib/galaxy/web/controllers/tracks.py Fri Sep 25 18:47:40 2009 -0400
@@ -24,6 +24,7 @@
from galaxy.util.bunch import Bunch
from galaxy.visualization.tracks.data.array_tree import ArrayTreeDataProvider
+from galaxy.visualization.tracks.data.interval_index import IntervalIndexDataProvider
# Message strings returned to browser
messages = Bunch(
@@ -36,18 +37,20 @@
# Dataset type required for each track type. This needs to be more flexible,
# there might be multiple types of indexes that suffice for a given track type.
track_type_to_dataset_type = {
- "line": "array_tree"
+ "line": "array_tree",
+ "feature": "interval_index"
}
# Mapping from dataset type to a class that can fetch data from a file of that
# type. This also needs to be more flexible.
dataset_type_to_data_provider = {
- "array_tree": ArrayTreeDataProvider
+ "array_tree": ArrayTreeDataProvider,
+ "interval_index": IntervalIndexDataProvider
}
# FIXME: hardcoding this for now, but it should be derived from the available
# converters
-browsable_types = set( ["wig" ] )
+browsable_types = set( ["wig", "bed" ] )
class TracksController( BaseController ):
"""
@@ -66,7 +69,7 @@
to 'index' once datasets to browse have been selected.
"""
session = trans.sa_session
- # If the user clicked the submit button explicately, try to build the browser
+ # If the user clicked the submit button explicitly, try to build the browser
if browse and dataset_ids:
if not isinstance( dataset_ids, list ):
dataset_ids = [ dataset_ids ]
@@ -183,7 +186,7 @@
return messages.PENDING
# We have a dataset in the right format that is ready to use, wrap in
# a data provider that knows how to access it
- data_provider = dataset_type_to_data_provider[ converted_dataset_type ]( converted_dataset )
+ data_provider = dataset_type_to_data_provider[ converted_dataset_type ]( converted_dataset, dataset )
# Return stats if we need them
if stats: return data_provider.get_stats( chrom )
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 static/scripts/packed/trackster.js
--- a/static/scripts/packed/trackster.js Fri Sep 25 17:21:26 2009 -0400
+++ b/static/scripts/packed/trackster.js Fri Sep 25 18:47:40 2009 -0400
@@ -1,1 +1,1 @@
-var DENSITY=1000;var DataCache=function(b,a){this.type=b;this.track=a;this.cache=Object()};$.extend(DataCache.prototype,{get:function(d,b){var c=this.cache;if(!(c[d]&&c[d][b])){if(!c[d]){c[d]=Object()}var a=b*DENSITY*d;var e=(b+1)*DENSITY*d;c[d][b]={state:"loading"};$.getJSON(data_url,{track_type:this.track.track_type,chrom:this.track.view.chrom,low:a,high:e,dataset_id:this.track.dataset_id},function(f){if(f=="pending"){setTimeout(fetcher,5000)}else{c[d][b]={state:"loaded",values:f}}$(document).trigger("redraw")})}return c[d][b]}});var View=function(a,b){this.chrom=a;this.tracks=[];this.max_low=0;this.max_high=b;this.low=this.max_low;this.high=this.max_high;this.length=this.max_high-this.max_low};$.extend(View.prototype,{add_track:function(a){a.view=this;this.tracks.push(a);if(a.init){a.init()}},redraw:function(){$("#overview-box").css({left:(this.low/this.length)*$("#overview-viewport").width(),width:Math.max(4,((this.high-this.low)/this.length)*$("#overview-viewport").widt
h())}).show();$("#low").text(this.low);$("#high").text(this.high);for(var a in this.tracks){this.tracks[a].draw()}$("#bottom-spacer").remove();$("#viewport").append('<div id="bottom-spacer" style="height: 200px;"></div>')},move:function(b,a){this.low=Math.max(this.max_low,Math.floor(b));this.high=Math.min(this.length,Math.ceil(a))},zoom_in:function(d,b){var c=this.high-this.low;var e=c/d/2;if(b==undefined){var a=(this.low+this.high)/2}else{var a=this.low+c*b/$(document).width()}this.low=Math.floor(a-e);this.high=Math.ceil(a+e);if(this.low<this.max_low){this.low=this.max_low;this.high=c/d}else{if(this.high>this.max_high){this.high=this.max_high;this.low=this.max_high-c/d}}if(this.high-this.low<1){this.high=this.low+1}},zoom_out:function(c){var a=(this.low+this.high)/2;var b=this.high-this.low;var d=b*c/2;this.low=Math.floor(Math.max(0,a-d));this.high=Math.ceil(Math.min(this.length,a+d))},left:function(b){var a=this.high-this.low;var c=Math.floor(a/b);if(this.low-c<0){this.low
=0;this.high=this.low+a}else{this.low-=c;this.high-=c}},right:function(b){var a=this.high-this.low;var c=Math.floor(a/b);if(this.high+c>this.length){this.high=this.length;this.low=this.high-a}else{this.low+=c;this.high+=c}}});var Track=function(a,b){this.name=a;this.parent_element=b;this.make_container()};$.extend(Track.prototype,{make_container:function(){this.header_div=$("<div class='track-header'>").text(this.name);this.content_div=$("<div class='track-content'>");this.container_div=$("<div class='track'></div>").append(this.header_div).append(this.content_div);this.parent_element.append(this.container_div)}});var TiledTrack=function(){this.last_resolution=null;this.last_w_scale=null;this.tile_cache={}};$.extend(TiledTrack.prototype,Track.prototype,{draw:function(){var k=this.view.low,c=this.view.high,e=c-k;var b=Math.pow(10,Math.ceil(Math.log(e/DENSITY)/Math.log(10)));b=Math.max(b,1);b=Math.min(b,100000);var o=$("<div style='position: relative;'></div>");this.content_di
v.children(":first").remove();this.content_div.append(o);var m=this.content_div.width(),d=this.content_div.height(),p=m/e,l={},n={};if(this.last_resolution==b&&this.last_w_scale==p){l=this.tile_cache}var g;var a=Math.floor(k/b/DENSITY);var i=0;while((a*1000*b)<c){if(a in l){g=l[a];var f=a*DENSITY*b;g.css({left:(f-this.view.low)*p});o.append(g)}else{g=this.draw_tile(b,a,o,p,d)}if(g){n[a]=g;i=Math.max(i,g.height())}a+=1}o.css("height",i);this.last_resolution=b;this.last_w_scale=p;this.tile_cache=n}});var LineTrack=function(c,b,a){Track.call(this,c,$("#viewport"));this.track_type="line";this.height_px=(a?a:100);this.container_div.addClass("line-track");this.dataset_id=b;this.cache=new DataCache("",this)};$.extend(LineTrack.prototype,TiledTrack.prototype,{make_container:function(){Track.prototype.make_container.call(this);this.content_div.css("height",this.height_px)},init:function(){track=this;$.getJSON(data_url,{stats:true,track_type:track.track_type,chrom:this.view.chrom,low:
null,high:null,dataset_id:this.dataset_id},function(a){if(a){track.min_value=a.min;track.max_value=a.max;track.vertical_range=track.max_value-track.min_value;track.view.redraw()}})},draw_tile:function(d,a,o,s,p){if(!this.vertical_range){return}var k=a*DENSITY*d,r=(a+1)*DENSITY*d,c=DENSITY*d;var n=this.cache.get(d,a);var h;if(n.state=="loading"){h=$("<div class='loading tile'></div>")}else{h=$("<canvas class='tile'></canvas>")}h.css({position:"absolute",top:0,left:(k-this.view.low)*s,});o.append(h);if(n.state=="loading"){e=false;return null}var b=h;b.get(0).width=Math.ceil(c*s);b.get(0).height=this.height_px;var q=b.get(0).getContext("2d");var e=false;q.beginPath();var g=n.values;if(!g){return}for(var f=0;f<g.length-1;f++){var m=g[f][0]-k;var l=g[f][1];if(isNaN(l)){e=false}else{m=m*s;y_above_min=l-this.min_value;l=y_above_min/this.vertical_range*this.height_px;if(e){q.lineTo(m,l)}else{q.moveTo(m,l);e=true}}}q.stroke();return h}});var LabelTrack=function(a){Track.call(this,nul
l,a);this.container_div.addClass("label-track")};$.extend(LabelTrack.prototype,Track.prototype,{draw:function(){var c=this.view,d=c.high-c.low,g=Math.floor(Math.pow(10,Math.floor(Math.log(d)/Math.log(10)))),a=Math.floor(c.low/g)*g,e=this.content_div.width(),b=$("<div style='position: relative; height: 1.3em;'></div>");while(a<c.high){var f=(a-c.low)/d*e;b.append($("<div class='label'>"+a+"</div>").css({position:"absolute",left:f-1}));a+=g}this.content_div.children(":first").remove();this.content_div.append(b)}});var itemHeight=13,itemPad=3,thinHeight=7,thinOffset=3;var FeatureTrack=function(b,a){Track.call(this,b,$("#viewport"));this.track_type="feature";this.container_div.addClass("feature-track");this.dataset_id=a;this.zo_slots=new Object();this.show_labels_scale=0.01;this.showing_labels=false};$.extend(FeatureTrack.prototype,TiledTrack.prototype,{calc_slots:function(d){end_ary=new Array();var c=this.container_div.width()/(this.view.high-this.view.low);if(d){this.zi_slots=
new Object()}var b=$("<canvas></canvas>").get(0).getContext("2d");for(var a in this.values){feature=this.values[a];f_start=Math.floor(Math.max(this.view.max_low,(feature.start-this.view.max_low)*c));if(d){f_start-=b.measureText(feature.name).width}f_end=Math.ceil(Math.min(this.view.max_high,(feature.end-this.view.max_low)*c));j=0;while(true){if(end_ary[j]==undefined||end_ary[j]<f_start){end_ary[j]=f_end;if(d){this.zi_slots[feature.name]=j}else{this.zo_slots[feature.name]=j}break}j++}}},init:function(){var a=this;$.getJSON("getfeature",{start:this.view.max_low,end:this.view.max_high,dataset_id:this.dataset_id,chrom:this.view.chrom},function(b){a.values=b;a.calc_slots();a.slots=a.zo_slots;a.draw()})},draw_tile:function(q,t,e,g,f){if(!this.values){return null}if(g>this.show_labels_scale&&!this.showing_labels){this.showing_labels=true;if(!this.zi_slots){this.calc_slots(true)}this.slots=this.zi_slots}else{if(g<=this.show_labels_scale&&this.showing_labels){this.showing_labels=fals
e;this.slots=this.zo_slots}}var u=t*DENSITY*q,c=(t+1)*DENSITY*q,b=DENSITY*q;var k=this.view,m=k.high-k.low,o=Math.ceil(b*g),h=new Array(),n=200,l=$("<canvas class='tile'></canvas>");l.css({position:"absolute",top:0,left:(u-this.view.low)*g,"border-right":"1px solid #ddd"});l.get(0).width=o;l.get(0).height=n;var p=l.get(0).getContext("2d");var r=0;for(var s in this.values){feature=this.values[s];if(feature.start<=c&&feature.end>=u){f_start=Math.floor(Math.max(0,(feature.start-u)*g));f_end=Math.ceil(Math.min(o,(feature.end-u)*g));p.fillStyle="#000";p.fillRect(f_start,this.slots[feature.name]*10+5,f_end-f_start,1);if(this.showing_labels&&p.fillText){p.font="10px monospace";p.textAlign="right";p.fillText(feature.name,f_start,this.slots[feature.name]*10+8)}if(feature.exon_start&&feature.exon_end){var d=Math.floor(Math.max(0,(feature.exon_start-u)*g));var w=Math.ceil(Math.min(o,(feature.exon_end-u)*g))}for(var s in feature.blocks){block=feature.blocks[s];block_start=Math.floor(Mat
h.max(0,(block[0]-u)*g));block_end=Math.ceil(Math.min(o,(block[1]-u)*g));var a=3,v=4;if(d&&block_start>=d&&block_end<=w){a=5,v=3}p.fillRect(d,this.slots[feature.name]*10+v,block_end-block_start,a)}r++}}e.append(l);return l},});
\ No newline at end of file
+var DENSITY=1000;var DataCache=function(b,a){this.type=b;this.track=a;this.cache=Object()};$.extend(DataCache.prototype,{get:function(d,b){var c=this.cache;if(!(c[d]&&c[d][b])){if(!c[d]){c[d]=Object()}var a=b*DENSITY*d;var e=(b+1)*DENSITY*d;c[d][b]={state:"loading"};$.getJSON(data_url,{track_type:this.track.track_type,chrom:this.track.view.chrom,low:a,high:e,dataset_id:this.track.dataset_id},function(f){if(f=="pending"){setTimeout(fetcher,5000)}else{c[d][b]={state:"loaded",values:f}}$(document).trigger("redraw")})}return c[d][b]}});var View=function(a,b){this.chrom=a;this.tracks=[];this.max_low=0;this.max_high=b;this.low=this.max_low;this.high=this.max_high;this.length=this.max_high-this.max_low};$.extend(View.prototype,{add_track:function(a){a.view=this;this.tracks.push(a);if(a.init){a.init()}},redraw:function(){$("#overview-box").css({left:(this.low/this.length)*$("#overview-viewport").width(),width:Math.max(4,((this.high-this.low)/this.length)*$("#overview-viewport").widt
h())}).show();$("#low").text(this.low);$("#high").text(this.high);for(var a in this.tracks){this.tracks[a].draw()}$("#bottom-spacer").remove();$("#viewport").append('<div id="bottom-spacer" style="height: 200px;"></div>')},move:function(b,a){this.low=Math.max(this.max_low,Math.floor(b));this.high=Math.min(this.length,Math.ceil(a))},zoom_in:function(d,b){if(this.max_high==0){return}var c=this.high-this.low;var e=c/d/2;if(b==undefined){var a=(this.low+this.high)/2}else{var a=this.low+c*b/$(document).width()}this.low=Math.floor(a-e);this.high=Math.ceil(a+e);if(this.low<this.max_low){this.low=this.max_low;this.high=c/d}else{if(this.high>this.max_high){this.high=this.max_high;this.low=this.max_high-c/d}}if(this.high-this.low<1){this.high=this.low+1}},zoom_out:function(c){if(this.max_high==0){return}var a=(this.low+this.high)/2;var b=this.high-this.low;var d=b*c/2;this.low=Math.floor(Math.max(0,a-d));this.high=Math.ceil(Math.min(this.length,a+d))},left:function(b){var a=this.high-
this.low;var c=Math.floor(a/b);if(this.low-c<0){this.low=0;this.high=this.low+a}else{this.low-=c;this.high-=c}},right:function(b){var a=this.high-this.low;var c=Math.floor(a/b);if(this.high+c>this.length){this.high=this.length;this.low=this.high-a}else{this.low+=c;this.high+=c}}});var Track=function(a,b){this.name=a;this.parent_element=b;this.make_container()};$.extend(Track.prototype,{make_container:function(){this.header_div=$("<div class='track-header'>").text(this.name);this.content_div=$("<div class='track-content'>");this.container_div=$("<div class='track'></div>").append(this.header_div).append(this.content_div);this.parent_element.append(this.container_div)}});var TiledTrack=function(){this.last_resolution=null;this.last_w_scale=null;this.tile_cache={}};$.extend(TiledTrack.prototype,Track.prototype,{draw:function(){var k=this.view.low,c=this.view.high,e=c-k;var b=Math.pow(10,Math.ceil(Math.log(e/DENSITY)/Math.log(10)));b=Math.max(b,1);b=Math.min(b,100000);var o=$("<
div style='position: relative;'></div>");this.content_div.children(":first").remove();this.content_div.append(o);var m=this.content_div.width(),d=this.content_div.height(),p=m/e,l={},n={};if(this.last_resolution==b&&this.last_w_scale==p){l=this.tile_cache}var g;var a=Math.floor(k/b/DENSITY);var i=0;while((a*1000*b)<c){if(a in l){g=l[a];var f=a*DENSITY*b;g.css({left:(f-this.view.low)*p});o.append(g)}else{g=this.draw_tile(b,a,o,p,d)}if(g){n[a]=g;i=Math.max(i,g.height())}a+=1}o.css("height",i);this.last_resolution=b;this.last_w_scale=p;this.tile_cache=n}});var LineTrack=function(c,b,a){Track.call(this,c,$("#viewport"));this.track_type="line";this.height_px=(a?a:100);this.container_div.addClass("line-track");this.dataset_id=b;this.cache=new DataCache("",this)};$.extend(LineTrack.prototype,TiledTrack.prototype,{make_container:function(){Track.prototype.make_container.call(this);this.content_div.css("height",this.height_px)},init:function(){track=this;$.getJSON(data_url,{stats:tru
e,track_type:track.track_type,chrom:this.view.chrom,low:null,high:null,dataset_id:this.dataset_id},function(a){if(a){track.min_value=a.min;track.max_value=a.max;track.vertical_range=track.max_value-track.min_value;track.view.redraw()}})},draw_tile:function(d,a,o,s,p){if(!this.vertical_range){return}var k=a*DENSITY*d,r=(a+1)*DENSITY*d,c=DENSITY*d;var n=this.cache.get(d,a);var h;if(n.state=="loading"){h=$("<div class='loading tile'></div>")}else{h=$("<canvas class='tile'></canvas>")}h.css({position:"absolute",top:0,left:(k-this.view.low)*s,});o.append(h);if(n.state=="loading"){e=false;return null}var b=h;b.get(0).width=Math.ceil(c*s);b.get(0).height=this.height_px;var q=b.get(0).getContext("2d");var e=false;q.beginPath();var g=n.values;if(!g){return}for(var f=0;f<g.length-1;f++){var m=g[f][0]-k;var l=g[f][1];if(isNaN(l)){e=false}else{m=m*s;y_above_min=l-this.min_value;l=y_above_min/this.vertical_range*this.height_px;if(e){q.lineTo(m,l)}else{q.moveTo(m,l);e=true}}}q.stroke();re
turn h}});var LabelTrack=function(a){Track.call(this,null,a);this.container_div.addClass("label-track")};$.extend(LabelTrack.prototype,Track.prototype,{draw:function(){var c=this.view,d=c.high-c.low,g=Math.floor(Math.pow(10,Math.floor(Math.log(d)/Math.log(10)))),a=Math.floor(c.low/g)*g,e=this.content_div.width(),b=$("<div style='position: relative; height: 1.3em;'></div>");while(a<c.high){var f=(a-c.low)/d*e;b.append($("<div class='label'>"+a+"</div>").css({position:"absolute",left:f-1}));a+=g}this.content_div.children(":first").remove();this.content_div.append(b)}});var itemHeight=13,itemPad=3,thinHeight=7,thinOffset=3;var FeatureTrack=function(b,a){Track.call(this,b,$("#viewport"));this.track_type="feature";this.container_div.addClass("feature-track");this.dataset_id=a;this.zo_slots=new Object();this.show_labels_scale=0.01;this.showing_labels=false};$.extend(FeatureTrack.prototype,TiledTrack.prototype,{calc_slots:function(d){end_ary=new Array();var c=this.container_div.wid
th()/(this.view.high-this.view.low);if(d){this.zi_slots=new Object()}var b=$("<canvas></canvas>").get(0).getContext("2d");for(var a in this.values){feature=this.values[a];f_start=Math.floor(Math.max(this.view.max_low,(feature.start-this.view.max_low)*c));if(d){f_start-=b.measureText(feature.name).width}f_end=Math.ceil(Math.min(this.view.max_high,(feature.end-this.view.max_low)*c));j=0;while(true){if(end_ary[j]==undefined||end_ary[j]<f_start){end_ary[j]=f_end;if(d){this.zi_slots[feature.name]=j}else{this.zo_slots[feature.name]=j}break}j++}}},init:function(){var a=this;$.getJSON(data_url,{track_type:a.track_type,low:a.view.max_low,high:a.view.max_high,dataset_id:a.dataset_id,chrom:a.view.chrom},function(b){a.values=b;a.calc_slots();a.slots=a.zo_slots;a.draw()})},draw_tile:function(q,t,e,g,f){if(!this.values){return null}if(g>this.show_labels_scale&&!this.showing_labels){this.showing_labels=true;if(!this.zi_slots){this.calc_slots(true)}this.slots=this.zi_slots}else{if(g<=this.s
how_labels_scale&&this.showing_labels){this.showing_labels=false;this.slots=this.zo_slots}}var u=t*DENSITY*q,c=(t+1)*DENSITY*q,b=DENSITY*q;var k=this.view,m=k.high-k.low,o=Math.ceil(b*g),h=new Array(),n=200,l=$("<canvas class='tile'></canvas>");l.css({position:"absolute",top:0,left:(u-this.view.low)*g,});l.get(0).width=o;l.get(0).height=n;var p=l.get(0).getContext("2d");var r=0;for(var s in this.values){feature=this.values[s];if(feature.start<=c&&feature.end>=u){f_start=Math.floor(Math.max(0,(feature.start-u)*g));f_end=Math.ceil(Math.min(o,(feature.end-u)*g));p.fillStyle="#000";p.fillRect(f_start,this.slots[feature.name]*10+5,f_end-f_start,1);if(this.showing_labels&&p.fillText){p.font="10px monospace";p.textAlign="right";p.fillText(feature.name,f_start,this.slots[feature.name]*10+8)}if(feature.exon_start&&feature.exon_end){var d=Math.floor(Math.max(0,(feature.exon_start-u)*g));var w=Math.ceil(Math.min(o,(feature.exon_end-u)*g))}for(var s in feature.blocks){block=feature.bloc
ks[s];block_start=Math.floor(Math.max(0,(block[0]-u)*g));block_end=Math.ceil(Math.min(o,(block[1]-u)*g));var a=3,v=4;if(d&&block_start>=d&&block_end<=w){a=5,v=3}p.fillRect(d,this.slots[feature.name]*10+v,block_end-block_start,a)}r++}}e.append(l);return l},});
\ No newline at end of file
diff -r d8e3ad46bfa3 -r 93dc1855f0d6 static/scripts/trackster.js
--- a/static/scripts/trackster.js Fri Sep 25 17:21:26 2009 -0400
+++ b/static/scripts/trackster.js Fri Sep 25 18:47:40 2009 -0400
@@ -364,7 +364,8 @@
init: function() {
var track = this;
- $.getJSON( "getfeature", { 'start': this.view.max_low, 'end': this.view.max_high, 'dataset_id': this.dataset_id, 'chrom': this.view.chrom }, function ( data ) {
+ $.getJSON( data_url, { track_type: track.track_type, low: track.view.max_low, high: track.view.max_high,
+ dataset_id: track.dataset_id, chrom: track.view.chrom }, function ( data ) {
track.values = data;
track.calc_slots();
track.slots = track.zo_slots;
@@ -402,7 +403,6 @@
position: "absolute",
top: 0,
left: ( tile_low - this.view.low ) * w_scale,
- "border-right": "1px solid #ddd"
});
new_canvas.get(0).width = width;
new_canvas.get(0).height = height;
1
0
02 Oct '09
details: http://www.bx.psu.edu/hg/galaxy/rev/659713ba1d92
changeset: 2787:659713ba1d92
user: jeremy goecks <jeremy.goecks at emory.edu>
date: Sat Sep 26 17:33:21 2009 -0400
description:
Ensure that all user preferences are in unicode.
1 file(s) affected in this change:
lib/galaxy/web/framework/helpers/grids.py
diffs (58 lines):
diff -r 93dc1855f0d6 -r 659713ba1d92 lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Fri Sep 25 18:47:40 2009 -0400
+++ b/lib/galaxy/web/framework/helpers/grids.py Sat Sep 26 17:33:21 2009 -0400
@@ -44,19 +44,21 @@
base_filter = {}
if self.default_filter:
base_filter = self.default_filter.copy()
- base_sort_key = self.default_sort_key
+ base_sort_key = self.default_sort_key
if self.preserve_state:
+ pref_name = unicode( self.__class__.__name__ + self.cur_filter_pref_name )
saved_filter_pref = trans.sa_session.query( UserPreference ).\
- filter_by( name=self.__class__.__name__ + self.cur_filter_pref_name, user_id=trans.get_user().id ).first()
+ filter_by( name=pref_name, user_id=trans.get_user().id ).first()
if saved_filter_pref:
saved_filter = from_json_string( saved_filter_pref.value )
base_filter.update( saved_filter )
+ pref_name = unicode( self.__class__.__name__ + self.cur_sort_key_pref_name )
saved_sort_key_pref = trans.sa_session.query( UserPreference ).\
- filter_by( name=self.__class__.__name__ + self.cur_sort_key_pref_name, user_id=trans.get_user().id ).first()
+ filter_by( name=pref_name, user_id=trans.get_user().id ).first()
if saved_sort_key_pref:
base_sort_key = from_json_string( saved_sort_key_pref.value )
-
+
# Build initial query
query = self.build_initial_query( session )
query = self.apply_default_filter( trans, query, **kwargs )
@@ -110,19 +112,20 @@
# Save current filter and sort key.
if self.preserve_state:
- pref_name = self.__class__.__name__ + self.cur_filter_pref_name
+ pref_name = unicode( self.__class__.__name__ + self.cur_filter_pref_name )
if not saved_filter_pref:
saved_filter_pref = UserPreference( name=pref_name )
trans.get_user().preferences.append( saved_filter_pref )
- saved_filter_pref.value = to_json_string( cur_filter_dict )
- if not saved_sort_key_pref:
- pref_name = self.__class__.__name__ + self.cur_sort_key_pref_name
+ saved_filter_pref.value = unicode( to_json_string( cur_filter_dict ) )
+ if sort_key:
if not saved_sort_key_pref:
- saved_sort_key_pref = UserPreference( name=pref_name )
- trans.get_user().preferences.append( saved_sort_key_pref )
- saved_sort_key_pref.value = to_json_string( sort_key )
+ pref_name = unicode( self.__class__.__name__ + self.cur_sort_key_pref_name )
+ if not saved_sort_key_pref:
+ saved_sort_key_pref = UserPreference( name=pref_name )
+ trans.get_user().preferences.append( saved_sort_key_pref )
+ saved_sort_key_pref.value = unicode( to_json_string( sort_key ) )
trans.sa_session.flush()
-
+
# Render grid.
def url( *args, **kwargs ):
# Only include sort/filter arguments if not linking to another
1
0
details: http://www.bx.psu.edu/hg/galaxy/rev/d8e3ad46bfa3
changeset: 2785:d8e3ad46bfa3
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Fri Sep 25 17:21:26 2009 -0400
description:
Fix migration script naming collision.
2 file(s) affected in this change:
lib/galaxy/model/migrate/versions/0020_user_prefs.py
lib/galaxy/model/migrate/versions/0021_user_prefs.py
diffs (100 lines):
diff -r 6f8b5f1e8ec9 -r d8e3ad46bfa3 lib/galaxy/model/migrate/versions/0020_user_prefs.py
--- a/lib/galaxy/model/migrate/versions/0020_user_prefs.py Fri Sep 25 17:07:13 2009 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-"""
-This migration script adds a user preferences table to Galaxy.
-"""
-
-from sqlalchemy import *
-from migrate import *
-
-import datetime
-now = datetime.datetime.utcnow
-
-import logging
-log = logging.getLogger( __name__ )
-
-metadata = MetaData( migrate_engine )
-
-def display_migration_details():
- print ""
- print "This migration script adds a user preferences table to Galaxy."
- print ""
-
-
-# New table to support user preferences.
-
-UserPreference_table = Table( "user_preference", metadata,
- Column( "id", Integer, primary_key=True ),
- Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
- Column( "name", Unicode( 255 ), index=True),
- Column( "value", Unicode( 1024 ) ) )
-
-def upgrade():
- display_migration_details()
- metadata.reflect()
- try:
- UserPreference_table.create()
- except Exception, e:
- print str(e)
- log.debug( "Creating user_preference table failed: %s" % str( e ) )
-
-def downgrade():
- metadata.reflect()
- try:
- UserPreference_table.drop()
- except Exception, e:
- print str(e)
- log.debug( "Dropping user_preference table failed: %s" % str( e ) )
\ No newline at end of file
diff -r 6f8b5f1e8ec9 -r d8e3ad46bfa3 lib/galaxy/model/migrate/versions/0021_user_prefs.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/galaxy/model/migrate/versions/0021_user_prefs.py Fri Sep 25 17:21:26 2009 -0400
@@ -0,0 +1,45 @@
+"""
+This migration script adds a user preferences table to Galaxy.
+"""
+
+from sqlalchemy import *
+from migrate import *
+
+import datetime
+now = datetime.datetime.utcnow
+
+import logging
+log = logging.getLogger( __name__ )
+
+metadata = MetaData( migrate_engine )
+
+def display_migration_details():
+ print ""
+ print "This migration script adds a user preferences table to Galaxy."
+ print ""
+
+
+# New table to support user preferences.
+
+UserPreference_table = Table( "user_preference", metadata,
+ Column( "id", Integer, primary_key=True ),
+ Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
+ Column( "name", Unicode( 255 ), index=True),
+ Column( "value", Unicode( 1024 ) ) )
+
+def upgrade():
+ display_migration_details()
+ metadata.reflect()
+ try:
+ UserPreference_table.create()
+ except Exception, e:
+ print str(e)
+ log.debug( "Creating user_preference table failed: %s" % str( e ) )
+
+def downgrade():
+ metadata.reflect()
+ try:
+ UserPreference_table.drop()
+ except Exception, e:
+ print str(e)
+ log.debug( "Dropping user_preference table failed: %s" % str( e ) )
\ No newline at end of file
1
0
02 Oct '09
details: http://www.bx.psu.edu/hg/galaxy/rev/e5d57c9e2824
changeset: 2782:e5d57c9e2824
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Fri Sep 25 16:49:30 2009 -0400
description:
Fixed an error in the help section of the Sam Pileup tool config
1 file(s) affected in this change:
tools/samtools/sam_pileup.xml
diffs (33 lines):
diff -r dd50d8d45177 -r e5d57c9e2824 tools/samtools/sam_pileup.xml
--- a/tools/samtools/sam_pileup.xml Fri Sep 25 14:50:34 2009 -0400
+++ b/tools/samtools/sam_pileup.xml Fri Sep 25 16:49:30 2009 -0400
@@ -85,9 +85,9 @@
**Types of pileup datasets**
-The description of pileup format below is largely based on information that can be found on SAMTools_ documentation page. The 6- and 10-column variants are described below.
+The description of pileup format below is largely based on information that can be found on SAMTools Pileup_ documentation page. The 6- and 10-column variants are described below.
-.. _SAMTools: http://samtools.sourceforge.net/pileup.shtml
+.. _Pileup: http://samtools.sourceforge.net/pileup.shtml
**Six column pileup**::
@@ -111,7 +111,7 @@
**Ten column pileup**
-The `ten-column`__ pileup incorporates additional consensus information generated with *-c* option of *samtools pileup* command::
+The `ten-column` (consensus_) pileup incorporates additional consensus information generated with *-c* option of *samtools pileup* command::
1 2 3 4 5 6 7 8 9 10
@@ -137,7 +137,7 @@
10 Quality values (phred33 scale, see Galaxy wiki for more)
-.. __: http://samtools.sourceforge.net/cns0.shtml
+.. _consensus: http://samtools.sourceforge.net/cns0.shtml
</help>
1
0