galaxy-commits
Threads by month
- ----- 2025 -----
- 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
- 15302 discussions

commit/galaxy-central: anton: Fix to sam2interval bug reported by Kathy So. The bug was causing sam2interval to successfully parse unmapped sam entries, which have no valid coordinate.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/076fe3217342/
changeset: 076fe3217342
user: anton
date: 2011-06-10 20:42:41
summary: Fix to sam2interval bug reported by Kathy So. The bug was causing sam2interval to successfully parse unmapped sam entries, which have no valid coordinate.
affected #: 4 files (334 bytes)
Diff too large to display.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

commit/galaxy-central: jgoecks: Add bookmarking to Trackster. Also group Trackster options into a single menu button.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/7412c7af8859/
changeset: 7412c7af8859
user: jgoecks
date: 2011-06-10 19:38:24
summary: Add bookmarking to Trackster. Also group Trackster options into a single menu button.
affected #: 7 files (7.0 KB)
--- a/lib/galaxy/web/base/controller.py Fri Jun 10 13:15:17 2011 -0400
+++ b/lib/galaxy/web/base/controller.py Fri Jun 10 13:38:24 2011 -0400
@@ -160,6 +160,7 @@
if visualization.type == 'trackster':
# Trackster config; taken from tracks/browser
latest_revision = visualization.latest_revision
+ bookmarks = latest_revision.config.get( 'bookmarks', [] )
tracks = []
# Set tracks.
@@ -193,7 +194,7 @@
} )
config = { "title": visualization.title, "vis_id": trans.security.encode_id( visualization.id ),
- "tracks": tracks, "chrom": "", "dbkey": visualization.dbkey }
+ "tracks": tracks, "bookmarks": bookmarks, "chrom": "", "dbkey": visualization.dbkey }
if 'viewport' in latest_revision.config:
config['viewport'] = latest_revision.config['viewport']
--- a/lib/galaxy/web/controllers/tracks.py Fri Jun 10 13:15:17 2011 -0400
+++ b/lib/galaxy/web/controllers/tracks.py Fri Jun 10 13:38:24 2011 -0400
@@ -571,6 +571,8 @@
vis_rev.dbkey = dbkey
# Tracks from payload
tracks = []
+ # TODO: why go through the trouble of unpacking config only to repack and
+ # put in database? How about sticking JSON directly into database?
for track in decoded_payload['tracks']:
tracks.append( { "dataset_id": track['dataset_id'],
"hda_ldda": track.get('hda_ldda', "hda"),
@@ -579,14 +581,15 @@
"prefs": track['prefs'],
"is_child": track.get('is_child', False)
} )
+ bookmarks = decoded_payload[ 'bookmarks' ]
+ vis_rev.config = { "tracks": tracks, "bookmarks": bookmarks }
# Viewport from payload
if 'viewport' in decoded_payload:
chrom = decoded_payload['viewport']['chrom']
start = decoded_payload['viewport']['start']
end = decoded_payload['viewport']['end']
- vis_rev.config = { "tracks": tracks, "viewport": { 'chrom': chrom, 'start': start, 'end': end } }
- else:
- vis_rev.config = { "tracks": tracks }
+ vis_rev.config[ "viewport" ] = { 'chrom': chrom, 'start': start, 'end': end }
+
vis.latest_revision = vis_rev
session.add( vis_rev )
session.flush()
--- a/static/june_2007_style/blue/trackster.css Fri Jun 10 13:15:17 2011 -0400
+++ b/static/june_2007_style/blue/trackster.css Fri Jun 10 13:38:24 2011 -0400
@@ -48,3 +48,7 @@
.param-label{float:left;font-weight:bold;padding-top:0.2em;}
.child-track-icon{background:url('../images/fugue/arrow-000-small-bw.png') no-repeat;width:30px;cursor:move;}
.track-resize{background:white url('../images/visualization/draggable_vertical.png') no-repeat top center;position:absolute;right:3px;bottom:-4px;width:14px;height:7px;border:solid #999 1px;z-index:100;}
+.bookmark{background:white;border:solid #999 1px;border-right:none;margin:0.5em;margin-right:0;padding:0.5em}
+.bookmark .position{font-weight:bold;}
+.icon-button.import{margin-left:0.5em;width:100%;}
+.delete-icon-container{float:right;}
\ No newline at end of file
--- a/static/june_2007_style/trackster.css.tmpl Fri Jun 10 13:15:17 2011 -0400
+++ b/static/june_2007_style/trackster.css.tmpl Fri Jun 10 13:38:24 2011 -0400
@@ -278,4 +278,22 @@
border: solid #999 1px;
z-index: 100;
}
+.bookmark {
+ background:white;
+ border:solid #999 1px;
+ border-right:none;
+ margin:0.5em;
+ margin-right:0;
+ padding:0.5em
+}
+.bookmark .position {
+ font-weight:bold;
+}
+.icon-button.import {
+ margin-left:0.5em;
+ width:100%;
+}
+.delete-icon-container {
+ float:right;
+}
--- a/static/scripts/galaxy.base.js Fri Jun 10 13:15:17 2011 -0400
+++ b/static/scripts/galaxy.base.js Fri Jun 10 13:38:24 2011 -0400
@@ -330,7 +330,76 @@
});
}
-// Edit and save text asynchronously.
+/**
+ * Returns editable text element. Element is a div with text: (a) when user clicks on text, a textbox/area
+ * enables user to edit text; (b) when user presses enter key, element's text is set.
+ */
+// TODO: use this function to implement async_save_text (implemented below).
+function get_editable_text_elt(text, use_textarea, num_cols, num_rows, on_finish) {
+ // Set defaults if necessary.
+ if (num_cols === undefined) {
+ num_cols = 30;
+ }
+ if (num_rows === undefined) {
+ num_rows = 4;
+ }
+
+ // Create div for element.
+ var container = $("<div/>").addClass("editable-text").text(text).click(function() {
+ // If there's already an input element, editing is active, so do nothing.
+ if ($(this).children(":input").length > 0) {
+ return;
+ }
+
+ container.removeClass("editable-text");
+
+ // Set element text.
+ var set_text = function(new_text) {
+ if (new_text != "") {
+ container.text(new_text);
+ }
+ else {
+ // Need a line so that there is a click target.
+ container.html("<br>");
+ }
+ container.addClass("editable-text");
+ };
+
+ // Create input element for editing.
+ var cur_text = container.text(),
+ input_elt = (use_textarea ?
+ $("<textarea></textarea>").attr({ rows: num_rows, cols: num_cols }).text( $.trim(cur_text) ) :
+ $("<input type='text'></input>").attr({ value: $.trim(cur_text), size: num_cols })
+ ).blur(function() {
+ $(this).remove();
+ set_text(cur_text);
+ }).keyup(function(e) {
+ if (e.keyCode === 27) {
+ // Escape key.
+ $(this).trigger("blur");
+ } else if (e.keyCode === 13) {
+ // Enter key.
+ $(this).remove();
+ var new_text = $(this).val();
+ set_text(new_text);
+ if (on_finish) {
+ on_finish(new_text);
+ }
+ }
+ });
+
+ // Replace text with input object and focus & select.
+ container.text("");
+ container.append(input_elt);
+ input_elt.focus();
+ input_elt.select();
+ });
+ return container;
+}
+
+/**
+ * Edit and save text asynchronously.
+ */
function async_save_text(click_to_edit_elt, text_elt_id, save_url, text_parm_name, num_cols, use_textarea, num_rows, on_start, on_finish) {
// Set defaults if necessary.
if (num_cols === undefined) {
@@ -341,7 +410,7 @@
}
// Set up input element.
- $("#" + click_to_edit_elt).live( "click", function() {
+ $("#" + click_to_edit_elt).live("click", function() {
// Check if this is already active
if ( $("#renaming-active").length > 0) {
return;
@@ -399,7 +468,7 @@
}
// Replace text with input object and focus & select.
text_elt.hide();
- t.insertAfter( text_elt );
+ t.insertAfter(text_elt);
t.focus();
t.select();
--- a/templates/tracks/browser.mako Fri Jun 10 13:15:17 2011 -0400
+++ b/templates/tracks/browser.mako Fri Jun 10 13:38:24 2011 -0400
@@ -3,7 +3,7 @@
<%def name="init()"><%
self.has_left_panel=False
- self.has_right_panel=False
+ self.has_right_panel=True
self.active_view="visualization"
self.message_box_visible=False
%>
@@ -35,19 +35,6 @@
</style></%def>
-<%def name="center_panel()">
-<div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <div style="float:left;" id="title"></div>
- <a class="panel-header-button right-float" href="${h.url_for( controller='visualization', action='list' )}">Close</a>
- <a id="save-button" class="panel-header-button right-float" href="javascript:void(0);">Save</a>
- <a id="add-track" class="panel-header-button right-float" href="javascript:void(0);">Add Tracks</a>
- </div>
-</div>
-<div id="browser-container" class="unified-panel-body"></div>
-
-</%def>
-
<%def name="javascripts()">
${parent.javascripts()}
@@ -72,8 +59,36 @@
converted_datasets_state_url = "${h.url_for( action='converted_datasets_state' )}",
addable_track_types = { "LineTrack": LineTrack, "FeatureTrack": FeatureTrack, "ReadTrack": ReadTrack },
view;
+
+
+ /**
+ * Add bookmark.
+ */
+ var add_bookmark = function(position, annotation) {
+ var
+ bookmarks_container = $("#bookmarks-container"),
+ new_bookmark = $("<div/>").addClass("bookmark").appendTo(bookmarks_container),
+ delete_icon_container = $("<div/>").addClass("delete-icon-container").appendTo(new_bookmark).click(function (){
+ // Remove bookmark.
+ new_bookmark.slideUp("fast");
+ new_bookmark.remove();
+ view.has_changes = true;
+ return false;
+ }),
+ delete_icon = $("<a href=''/>").addClass("icon-button delete").appendTo(delete_icon_container),
+ position_div = $("<div/>").addClass("position").text(position).appendTo(new_bookmark),
+ annotation_div = get_editable_text_elt(annotation, false).addClass("annotation").appendTo(new_bookmark);
+
+ view.has_changes = true;
+ return new_bookmark;
+ }
$(function() {
+ // Hide bookmarks by default right now.
+ parent.force_right_panel("hide");
+
+ // Resize view when showing/hiding right panel (bookmarks for now).
+ $("#right-border").click(function() { view.resize_window(); });
%if config:
var callback;
@@ -107,6 +122,17 @@
parent_obj.add_track(track);
}
init();
+
+ // Load bookmarks.
+ var bookmarks = JSON.parse('${ h.to_json_string( config.get('bookmarks') ) }'),
+ bookmark;
+ for (var i = 0; i < bookmarks.length; i++) {
+ bookmark = bookmarks[i];
+ add_bookmark(bookmark['position'], bookmark['annotation']);
+ }
+
+ // View has no changes as of yet.
+ view.has_changes = false;
%else:
var continue_fn = function() {
view = new View( $("#browser-container"), $("#new-title").val(), undefined, $("#new-dbkey").val() );
@@ -149,13 +175,13 @@
track_data.prefs, track_data.filters, track_data.tool );
view.add_track(new_track);
// Should replace with live event but can't get working
- sortable( new_track.container_div, ".draghandle" );
+ sortable(new_track.container_div, ".draghandle");
view.has_changes = true;
$("#no-tracks").hide();
};
%if add_dataset is not None:
- $.ajax( {
+ $.ajax({
url: "${h.url_for( action='add_track_async' )}",
data: { hda_id: "${add_dataset}" },
dataType: "json",
@@ -164,105 +190,132 @@
%endif
- // Use a popup grid to add more tracks
- $("#add-track").bind("click", function(e) {
- $.ajax({
- url: "${h.url_for( action='list_histories' )}",
- data: { "f-dbkey": view.dbkey },
- error: function() { alert( "Grid failed" ); },
- success: function(table_html) {
- show_modal(
- "Select datasets for new tracks",
- table_html, {
- "Cancel": function() {
- hide_modal();
- },
- "Insert": function() {
- var requests = [];
- $('input[name=id]:checked,input[name=ldda_ids]:checked').each(function() {
- var data,
- id = $(this).val();
- if ($(this).attr("name") === "id") {
- data = { hda_id: id };
- } else {
- data = { ldda_id: id};
- }
- requests[requests.length] = $.ajax({
- url: "${h.url_for( action='add_track_async' )}",
- data: data,
- dataType: "json",
- });
- });
- // To preserve order, wait until there are definitions for all tracks and then add
- // them sequentially.
- $.when.apply($, requests).then(function() {
- // jQuery always returns an Array for arguments, so need to look at first element
- // to determine whether multiple requests were made and consequently how to
- // map arguments to track definitions.
- var track_defs = (arguments[0] instanceof Array ?
- $.map(arguments, function(arg) { return arg[0]; }) :
- [ arguments[0] ]
- );
- for (var i= 0; i < track_defs.length; i++) {
- add_async_success(track_defs[i]);
- }
- });
- hide_modal();
+ $("#viz-options-button").css( "position", "relative" );
+ make_popupmenu( $("#viz-options-button"), {
+ "Add Tracks": function() {
+ // Use a popup grid to add more tracks
+ $.ajax({
+ url: "${h.url_for( action='list_histories' )}",
+ data: { "f-dbkey": view.dbkey },
+ error: function() { alert( "Grid failed" ); },
+ success: function(table_html) {
+ show_modal(
+ "Select datasets for new tracks",
+ table_html, {
+ "Cancel": function() {
+ hide_modal();
+ },
+ "Insert": function() {
+ var requests = [];
+ $('input[name=id]:checked,input[name=ldda_ids]:checked').each(function() {
+ var data,
+ id = $(this).val();
+ if ($(this).attr("name") === "id") {
+ data = { hda_id: id };
+ } else {
+ data = { ldda_id: id};
+ }
+ requests[requests.length] = $.ajax({
+ url: "${h.url_for( action='add_track_async' )}",
+ data: data,
+ dataType: "json",
+ });
+ });
+ // To preserve order, wait until there are definitions for all tracks and then add
+ // them sequentially.
+ $.when.apply($, requests).then(function() {
+ // jQuery always returns an Array for arguments, so need to look at first element
+ // to determine whether multiple requests were made and consequently how to
+ // map arguments to track definitions.
+ var track_defs = (arguments[0] instanceof Array ?
+ $.map(arguments, function(arg) { return arg[0]; }) :
+ [ arguments[0] ]
+ );
+ for (var i= 0; i < track_defs.length; i++) {
+ add_async_success(track_defs[i]);
+ }
+ });
+ hide_modal();
+ }
}
- }
- );
- }
- });
+ );
+ }
+ });
+ },
+ "Save": function() {
+ // Show saving dialog box
+ show_modal("Saving...", "<img src='${h.url_for('/static/images/yui/rel_interstitial_loading.gif')}'/>");
+
+ // Save all tracks.
+ var tracks = [];
+ $(".viewport-container .track").each(function () {
+ // ID has form track_<main_track_id>_<child_track_id>
+ var
+ id_split = $(this).attr("id").split("_"),
+ track_id = id_split[1],
+ child_id = id_split[2];
+
+ // Get track.
+ var track = view.tracks[track_id];
+ if (child_id) {
+ track = track.child_tracks[child_id];
+ }
+
+ // Add track.
+ tracks.push( {
+ "track_type": track.track_type,
+ "name": track.name,
+ "hda_ldda": track.hda_ldda,
+ "dataset_id": track.dataset_id,
+ "prefs": track.prefs,
+ "is_child": (child_id ? true : false )
+ });
+ });
+
+ // Save all bookmarks.
+ var bookmarks = [];
+ $(".bookmark").each(function() {
+ bookmarks[bookmarks.length] = {
+ position: $(this).children(".position").text(),
+ annotation: $(this).children(".annotation").text()
+ };
+ });
+
+ var payload = {
+ 'tracks': tracks,
+ 'viewport': { 'chrom': view.chrom, 'start': view.low , 'end': view.high },
+ 'bookmarks': bookmarks
+ };
+
+ $.ajax({
+ url: "${h.url_for( action='save' )}",
+ type: "POST",
+ data: {
+ 'vis_id': view.vis_id,
+ 'vis_title': view.title,
+ 'dbkey': view.dbkey,
+ 'payload': JSON.stringify(payload)
+ },
+ success: function(vis_id) {
+ view.vis_id = vis_id;
+ view.has_changes = false;
+ hide_modal();
+ },
+ error: function() { alert("Could not save visualization"); }
+ });
+ },
+ "Bookmarks": function() {
+ // HACK -- use style to determine if panel is hidden and hide/show accordingly.
+ parent.force_right_panel(($("div#right").css("right") == "0px" ? "hide" : "show"));
+ },
+ "Close": function() { window.location = "${h.url_for( controller='visualization', action='list' )}"; }
});
- $("#save-button").bind("click", function(e) {
- // Show saving dialog box
- show_modal("Saving...", "<img src='${h.url_for('/static/images/yui/rel_interstitial_loading.gif')}'/>");
-
- // Save all tracks.
- var tracks = [];
- $(".viewport-container .track").each(function () {
- // ID has form track_<main_track_id>_<child_track_id>
- var
- id_split = $(this).attr("id").split("_"),
- track_id = id_split[1],
- child_id = id_split[2];
-
- // Get track.
- var track = view.tracks[track_id];
- if (child_id) {
- track = track.child_tracks[child_id];
- }
-
- // Add track.
- tracks.push( {
- "track_type": track.track_type,
- "name": track.name,
- "hda_ldda": track.hda_ldda,
- "dataset_id": track.dataset_id,
- "prefs": track.prefs,
- "is_child": (child_id ? true : false )
- });
- });
-
- var payload = { 'tracks': tracks, 'viewport': { 'chrom': view.chrom, 'start': view.low , 'end': view.high } };
-
- $.ajax({
- url: "${h.url_for( action='save' )}",
- type: "POST",
- data: {
- 'vis_id': view.vis_id,
- 'vis_title': view.title,
- 'dbkey': view.dbkey,
- 'payload': JSON.stringify(payload)
- },
- success: function(vis_id) {
- view.vis_id = vis_id;
- view.has_changes = false;
- hide_modal();
- },
- error: function() { alert("Could not save visualization"); }
- });
+ $("#add-bookmark-button").click(function() {
+ // Add new bookmark.
+ var position = view.chrom + ":" + view.low + "-" + view.high,
+ annotation = "Bookmark description";
+ return add_bookmark(position, annotation);
});
//
@@ -298,3 +351,32 @@
</script></%def>
+
+<%def name="center_panel()">
+<div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ <div style="float:left;" id="title"></div>
+ <div style="float: right">
+ <a id="viz-options-button" class='panel-header-button popup' href="javascript:void(0)" target="galaxy_main">${_('Options')}</a>
+ </div>
+ </div>
+</div>
+<div id="browser-container" class="unified-panel-body"></div>
+
+</%def>
+
+<%def name="right_panel()">
+
+<div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ Bookmarks
+ </div>
+</div>
+<div class="unified-panel-body" style="overflow: auto;">
+ <div id="bookmarks-container"></div>
+ <div>
+ <a class="icon-button import" original-title="Add Bookmark" id="add-bookmark-button" href="javascript:void(0);">Add Bookmark</a>
+ </div>
+</div>
+
+</%def>
--- a/templates/visualization/display.mako Fri Jun 10 13:15:17 2011 -0400
+++ b/templates/visualization/display.mako Fri Jun 10 13:38:24 2011 -0400
@@ -78,6 +78,7 @@
if (container_element.parents(".item-content").length > 0) { // Embedded viz
container_element.parents(".item-content").css( { "max-height": "none", "overflow": "visible" } );
} else { // Viewing just one shared viz
+ // TODO: need live or just bind click?
$("#right-border").live("click", function() { view.resize_window(); });
}
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
6 new changesets in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/01bd5792fbc7/
changeset: 01bd5792fbc7
user: fangly
date: 2010-12-16 09:26:59
summary: Added 2 Python scripts to deal with FASTQ mate pairs:
- the interlacer puts mate pairs present in 2 files into a single file
- the deinterlacer puts mate pairs present in a single file into 2 files
affected #: 3 files (3.0 KB)
--- a/lib/galaxy_utils/sequence/fastq.py Fri Jun 10 12:36:16 2011 -0400
+++ b/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 18:26:59 2010 +1000
@@ -609,12 +609,15 @@
return rval
def get_paired_identifier( self, fastq_read ):
identifier = fastq_read.identifier
+ identifier_is_first = None
if identifier[-2] == '/':
if identifier[-1] == "1":
identifier = "%s2" % identifier[:-1]
+ identifier_is_first = False
elif identifier[-1] == "2":
identifier = "%s1" % identifier[:-1]
- return identifier
+ identifier_is_first = True
+ return identifier, identifier_is_first
class fastqSplitter( object ):
def split( self, fastq_read ):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Thu Dec 16 18:26:59 2010 +1000
@@ -0,0 +1,53 @@
+#Florent Angly
+import sys
+from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
+
+def main():
+ input_filename = sys.argv[1]
+ input_type = sys.argv[2] or 'sanger'
+ mate1_filename = sys.argv[3]
+ mate2_filename = sys.argv[4]
+
+ type = input_type
+ input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
+ out1 = fastqWriter( open( mate1_filename, 'wb' ), format = type )
+ out2 = fastqWriter( open( mate2_filename, 'wb' ), format = type )
+ joiner = fastqJoiner( type )
+
+ i = None
+ skip_count = 0
+ found = {}
+ for i, mate1 in enumerate( fastqReader( open( input_filename, 'rb' ), format = type ) ):
+
+ if mate1.identifier in found:
+ del found[mate1.identifier]
+ continue
+
+ mate2_id, mate2_is_first = joiner.get_paired_identifier( mate1 )
+
+ mate2 = input.get( mate2_id )
+ if mate2:
+ found[mate2_id] = None
+ if mate2_is_first:
+ out1.write( mate2 )
+ out2.write( mate1 )
+ else:
+ out1.write( mate1 )
+ out2.write( mate2 )
+ else:
+ skip_count += 1
+
+ if i is None:
+ print "Your input file contained no valid FASTQ sequences."
+ else:
+ if skip_count:
+ print '%i reads had no mate.' % skip_count
+ print 'De-interlaced %s pairs of sequences.' % ( (i - skip_count + 1)/2 )
+
+ input.close()
+ out1.close()
+ out2.close()
+
+
+if __name__ == "__main__":
+ main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Thu Dec 16 18:26:59 2010 +1000
@@ -0,0 +1,46 @@
+#Florent Angly
+import sys
+from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
+
+def main():
+ mate1_filename = sys.argv[1]
+ mate1_type = sys.argv[2] or 'sanger'
+ mate2_filename = sys.argv[3]
+ mate2_type = sys.argv[4] or 'sanger'
+ output_filename = sys.argv[5]
+
+ if mate1_type != mate2_type:
+ print "WARNING: You are trying to interlace files of two different types: %s and %s." % ( mate1_type, mate2_type )
+ return
+
+ type = mate1_type
+ joiner = fastqJoiner( type )
+ out = fastqWriter( open( output_filename, 'wb' ), format = type )
+ mate_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
+
+ i = None
+ skip_count = 0
+ for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
+
+ mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
+
+ if mate2:
+ out.write( mate1 )
+ out.write( mate2 )
+ else:
+ skip_count += 1
+
+ if i is None:
+ print "Your input file contained no valid FASTQ sequences."
+ else:
+ not_used_msg = mate_input.has_data()
+ if not_used_msg:
+ print not_used_msg
+ print 'Interlaced %s pairs of sequences.' % ( i - skip_count + 1 )
+
+ mate_input.close()
+ out.close()
+
+
+if __name__ == "__main__":
+ main()
http://bitbucket.org/galaxy/galaxy-central/changeset/8fe0ba2e1910/
changeset: 8fe0ba2e1910
user: fangly
date: 2010-12-16 08:12:01
summary: Little bug fix and more informative error message
affected #: 1 file (26 bytes)
--- a/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 18:26:59 2010 +1000
+++ b/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 17:12:01 2010 +1000
@@ -438,7 +438,7 @@
while True:
line = self.file.readline()
if not line:
- raise Exception( 'Invalid FASTQ file: could not parse second instance of sequence identifier.' )
+ raise Exception( 'Invalid FASTQ file: could not find quality score of sequence identifier %s.' % rval.identifier )
line = line.rstrip( '\n\r' )
if line.startswith( '+' ) and ( len( line ) == 1 or line[1:].startswith( fastq_header[1:] ) ):
rval.description = line
@@ -547,7 +547,7 @@
eof = True
self.file.seek( offset )
if count:
- rval = "There were %i known sequence reads not utilized. "
+ rval = "There were %i known sequence reads not utilized. " % count
if not eof:
rval = "%s%s" % ( rval, "An additional unknown number of reads exist in the input that were not utilized." )
return rval
http://bitbucket.org/galaxy/galaxy-central/changeset/eebd5ac107c3/
changeset: eebd5ac107c3
user: fangly
date: 2010-12-17 06:04:17
summary: FASTQ interlacer and de-interlacer tools fully integrated in Galaxy and functional
affected #: 15 files (17.2 KB)
--- a/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 17:12:01 2010 +1000
+++ b/lib/galaxy_utils/sequence/fastq.py Fri Dec 17 15:04:17 2010 +1000
@@ -609,15 +609,22 @@
return rval
def get_paired_identifier( self, fastq_read ):
identifier = fastq_read.identifier
- identifier_is_first = None
if identifier[-2] == '/':
if identifier[-1] == "1":
identifier = "%s2" % identifier[:-1]
- identifier_is_first = False
elif identifier[-1] == "2":
identifier = "%s1" % identifier[:-1]
- identifier_is_first = True
- return identifier, identifier_is_first
+ return identifier
+ def is_first_mate( self, sequence_id ):
+ is_first = None
+ if not isinstance( sequence_id, basestring ):
+ sequence_id = sequence_id.identifier
+ if sequence_id[-2] == '/':
+ if sequence_id[-1] == "1":
+ is_first = True
+ else:
+ is_first = False
+ return is_first
class fastqSplitter( object ):
def split( self, fastq_read ):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,16 @@
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++9999:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,16 @@
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++9999:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,40 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,24 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,40 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++9999:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- a/tool_conf.xml.sample Thu Dec 16 17:12:01 2010 +1000
+++ b/tool_conf.xml.sample Fri Dec 17 15:04:17 2010 +1000
@@ -260,6 +260,8 @@
<tool file="fastq/fastq_trimmer.xml" /><tool file="fastq/fastq_trimmer_by_quality.xml" /><tool file="fastq/fastq_masker_by_quality.xml" />
+ <tool file="fastq/fastq_paired_end_interlacer.xml" />
+ <tool file="fastq/fastq_paired_end_deinterlacer.xml" /><tool file="fastq/fastq_manipulation.xml" /><tool file="fastq/fastq_to_fasta.xml" /><tool file="fastq/fastq_to_tabular.xml" />
--- a/tools/fastq/fastq_paired_end_deinterlacer.py Thu Dec 16 17:12:01 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Fri Dec 17 15:04:17 2010 +1000
@@ -23,17 +23,16 @@
del found[mate1.identifier]
continue
- mate2_id, mate2_is_first = joiner.get_paired_identifier( mate1 )
+ mate2 = input.get( joiner.get_paired_identifier( mate1 ) )
- mate2 = input.get( mate2_id )
if mate2:
- found[mate2_id] = None
- if mate2_is_first:
+ found[mate2.identifier] = None
+ if joiner.is_first_mate( mate1 ):
+ out1.write( mate1 )
+ out2.write( mate2 )
+ else:
out1.write( mate2 )
out2.write( mate1 )
- else:
- out1.write( mate1 )
- out2.write( mate2 )
else:
skip_count += 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,64 @@
+<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0">
+ <description>on paired end reads</description>
+ <command interpreter="python">fastq_paired_end_deinterlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$output1_file' '$output2_file'</command>
+ <inputs>
+ <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" />
+ </inputs>
+ <outputs>
+ <data name="output1_file" format="input" />
+ <data name="output2_file" format="input" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input1_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_file" file="paired_end_1.fastqsanger" />
+ <output name="output2_file" file="paired_end_2.fastqsanger" />
+ </test>
+ <test>
+ <param name="input1_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_file" file="paired_end_1_cleaned.fastqsanger" />
+ <output name="output2_file" file="paired_end_2_cleaned.fastqsanger" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are excluded from the output files.
+
+Sequence identifiers for paired-end reads must follow the /1 and /2 convention.
+
+-----
+
+**Input**
+
+A multiple-fastq file containing paired-end reads, for example::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+-----
+
+**Output**
+
+Multi-fastq file with left-hand mate only::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+Multi-fastq file with right-hand mate only::
+
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+ </help>
+</tool>
--- a/tools/fastq/fastq_paired_end_interlacer.py Thu Dec 16 17:12:01 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Fri Dec 17 15:04:17 2010 +1000
@@ -21,9 +21,7 @@
i = None
skip_count = 0
for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
-
mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
-
if mate2:
out.write( mate1 )
out.write( mate2 )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,64 @@
+<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0">
+ <description>on paired end reads</description>
+ <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$output_file'</command>
+ <inputs>
+ <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="Left-hand mates" />
+ <param name="input2_file" type="data" format="fastqsanger,fastqcssanger" label="Right-hand mates" />
+ </inputs>
+ <outputs>
+ <data name="output_file" format="input" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input1_file" value="paired_end_1.fastqsanger" ftype="fastqsanger" />
+ <param name="input2_file" value="paired_end_2.fastqsanger" ftype="fastqsanger" />
+ <output name="output_file" file="paired_end_merged.fastqsanger" />
+ </test>
+ <test>
+ <param name="input1_file" value="paired_end_1_errors.fastqsanger" ftype="fastqsanger" />
+ <param name="input2_file" value="paired_end_2_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output_file" file="paired_end_merged_cleaned.fastqsanger" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where letf mates alternate with their right mate. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is excluded from the output.
+
+Sequence identifiers with /1 and /2 appended override the left-hand and right-hand designation; i.e. if the reads end with /1 and /2, the read containing /1 will be used as the left-hand read and the read containing /2 will be used as the right-hand read. Sequences without this designation will follow the left-hand and right-hand settings set by the user.
+
+-----
+
+**Input**
+
+Left-hand mates, for example::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+Right-hand mates, for example::
+
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+-----
+
+**Output**
+
+A multiple-fastq file containing interlaced left and right paired reads::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+ </help>
+</tool>
http://bitbucket.org/galaxy/galaxy-central/changeset/bc292ff9d647/
changeset: bc292ff9d647
user: fangly
date: 2011-05-17 09:26:04
summary: Interlacer and de-interlacer now keep track or single reads (that have no mate)
affected #: 7 files (4.0 KB)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,4 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,4 @@
+@9999:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++9999:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,16 @@
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++9999:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++9999:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- a/tools/fastq/fastq_paired_end_deinterlacer.py Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Tue May 17 17:26:04 2011 +1000
@@ -3,16 +3,20 @@
from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
def main():
- input_filename = sys.argv[1]
- input_type = sys.argv[2] or 'sanger'
- mate1_filename = sys.argv[3]
- mate2_filename = sys.argv[4]
+ input_filename = sys.argv[1]
+ input_type = sys.argv[2] or 'sanger'
+ mate1_filename = sys.argv[3]
+ mate2_filename = sys.argv[4]
+ single1_filename = sys.argv[5]
+ single2_filename = sys.argv[6]
- type = input_type
- input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
- out1 = fastqWriter( open( mate1_filename, 'wb' ), format = type )
- out2 = fastqWriter( open( mate2_filename, 'wb' ), format = type )
- joiner = fastqJoiner( type )
+ type = input_type
+ input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
+ mate1_out = fastqWriter( open( mate1_filename, 'wb' ), format = type )
+ mate2_out = fastqWriter( open( mate2_filename, 'wb' ), format = type )
+ single1_out = fastqWriter( open( single1_filename, 'wb' ), format = type )
+ single2_out = fastqWriter( open( single2_filename, 'wb' ), format = type )
+ joiner = fastqJoiner( type )
i = None
skip_count = 0
@@ -26,27 +30,35 @@
mate2 = input.get( joiner.get_paired_identifier( mate1 ) )
if mate2:
+ # This is a mate pair
found[mate2.identifier] = None
if joiner.is_first_mate( mate1 ):
- out1.write( mate1 )
- out2.write( mate2 )
+ mate1_out.write( mate1 )
+ mate2_out.write( mate2 )
else:
- out1.write( mate2 )
- out2.write( mate1 )
+ mate1_out.write( mate2 )
+ mate2_out.write( mate1 )
else:
+ # This is a single
skip_count += 1
+ if joiner.is_first_mate( mate1 ):
+ single1_out.write( mate1 )
+ else:
+ single2_out.write( mate1 )
if i is None:
print "Your input file contained no valid FASTQ sequences."
else:
if skip_count:
- print '%i reads had no mate.' % skip_count
+ print 'There were %i reads with no mate.' % skip_count
print 'De-interlaced %s pairs of sequences.' % ( (i - skip_count + 1)/2 )
input.close()
- out1.close()
- out2.close()
-
+ mate1_out.close()
+ mate2_out.close()
+ single1_out.close()
+ single2_out.close()
+
if __name__ == "__main__":
main()
--- a/tools/fastq/fastq_paired_end_deinterlacer.xml Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:26:04 2011 +1000
@@ -1,29 +1,35 @@
<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0"><description>on paired end reads</description>
- <command interpreter="python">fastq_paired_end_deinterlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$output1_file' '$output2_file'</command>
+ <command interpreter="python">fastq_paired_end_deinterlacer.py '$input_file' '${input_file.extension[len( 'fastq' ):]}' '$output1_pairs_file' '$output2_pairs_file' '$output1_singles_file' '$output2_singles_file'</command><inputs>
- <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" />
+ <param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" /></inputs><outputs>
- <data name="output1_file" format="input" />
- <data name="output2_file" format="input" />
+ <data name="output1_pairs_file" format="input" label="FASTQ de-interlacer left mates from data ${input_file.hid}" />
+ <data name="output2_pairs_file" format="input" label="FASTQ de-interlacer right mates from data ${input_file.hid}"/>
+ <data name="output1_singles_file" format="input" label="FASTQ de-interlacer left singles from data ${input_file.hid}"/>
+ <data name="output2_singles_file" format="input" label="FASTQ de-interlacer right singles from data ${input_file.hid}"/></outputs><tests><test>
- <param name="input1_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
- <output name="output1_file" file="paired_end_1.fastqsanger" />
- <output name="output2_file" file="paired_end_2.fastqsanger" />
+ <param name="input_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_pairs_file" file="paired_end_1.fastqsanger" />
+ <output name="output2_pairs_file" file="paired_end_2.fastqsanger" />
+ <output name="output1_singles_file" file="paired_end_1_singles.fastqsanger" />
+ <output name="output2_singles_file" file="paired_end_2_singles.fastqsanger" /></test><test>
- <param name="input1_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
- <output name="output1_file" file="paired_end_1_cleaned.fastqsanger" />
- <output name="output2_file" file="paired_end_2_cleaned.fastqsanger" />
+ <param name="input_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_pairs_file" file="paired_end_1_cleaned.fastqsanger" />
+ <output name="output2_pairs_file" file="paired_end_2_cleaned.fastqsanger" />
+ <output name="output1_singles_file" file="paired_end_1_cleaned_singles.fastqsanger" />
+ <output name="output2_singles_file" file="paired_end_2_cleaned_singles.fastqsanger" /></test></tests><help>
**What it does**
-De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are excluded from the output files.
+De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are saved in separate output files.
Sequence identifiers for paired-end reads must follow the /1 and /2 convention.
--- a/tools/fastq/fastq_paired_end_interlacer.py Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Tue May 17 17:26:04 2011 +1000
@@ -3,11 +3,12 @@
from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
def main():
- mate1_filename = sys.argv[1]
- mate1_type = sys.argv[2] or 'sanger'
- mate2_filename = sys.argv[3]
- mate2_type = sys.argv[4] or 'sanger'
- output_filename = sys.argv[5]
+ mate1_filename = sys.argv[1]
+ mate1_type = sys.argv[2] or 'sanger'
+ mate2_filename = sys.argv[3]
+ mate2_type = sys.argv[4] or 'sanger'
+ outfile_pairs = sys.argv[5]
+ outfile_singles = sys.argv[6]
if mate1_type != mate2_type:
print "WARNING: You are trying to interlace files of two different types: %s and %s." % ( mate1_type, mate2_type )
@@ -15,29 +16,43 @@
type = mate1_type
joiner = fastqJoiner( type )
- out = fastqWriter( open( output_filename, 'wb' ), format = type )
- mate_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
+ out_pairs = fastqWriter( open( outfile_pairs, 'wb' ), format = type )
+ out_singles = fastqWriter( open( outfile_singles, 'wb' ), format = type )
+ # Pairs + singles present in mate1
+ nof_singles = 0
+ nof_pairs = 0
+ mate2_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
i = None
- skip_count = 0
for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
- mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
+ mate2 = mate2_input.get( joiner.get_paired_identifier( mate1 ) )
if mate2:
- out.write( mate1 )
- out.write( mate2 )
+ out_pairs.write( mate1 )
+ out_pairs.write( mate2 )
+ nof_pairs += 1
else:
- skip_count += 1
+ out_singles.write( mate1 )
+ nof_singles += 1
- if i is None:
- print "Your input file contained no valid FASTQ sequences."
+ # Singles present in mate2
+ mate1_input = fastqNamedReader( open( mate1_filename, 'rb' ), format = type )
+ j = None
+ for j, mate2 in enumerate( fastqReader( open( mate2_filename, 'rb' ), format = type ) ):
+ mate1 = mate1_input.get( joiner.get_paired_identifier( mate2 ) )
+ if not mate1:
+ out_singles.write( mate2 )
+ nof_singles += 1
+
+ if (i is None) and (j is None):
+ print "Your input files contained no valid FASTQ sequences."
else:
- not_used_msg = mate_input.has_data()
- if not_used_msg:
- print not_used_msg
- print 'Interlaced %s pairs of sequences.' % ( i - skip_count + 1 )
+ print 'There were %s single reads.' % ( nof_singles )
+ print 'Interlaced %s pairs of sequences.' % ( nof_pairs )
- mate_input.close()
- out.close()
+ mate1_input.close()
+ mate2_input.close()
+ out_pairs.close()
+ out_singles.close()
if __name__ == "__main__":
--- a/tools/fastq/fastq_paired_end_interlacer.xml Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:26:04 2011 +1000
@@ -1,29 +1,35 @@
<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0"><description>on paired end reads</description>
- <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$output_file'</command>
+ <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$outfile_pairs' '$outfile_singles'</command><inputs><param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="Left-hand mates" /><param name="input2_file" type="data" format="fastqsanger,fastqcssanger" label="Right-hand mates" /></inputs><outputs>
- <data name="output_file" format="input" />
+ <!-- $input1_file.name = filename , e.g. paired_end_2_errors.fastqsanger -->
+ <!-- $input1_file.id = ID , e.g. 10 -->
+ <!-- $input1_file.hid = history ID, e.g. 5 -->
+ <data name="outfile_pairs" format="input" label="FASTQ interlacer pairs from data ${input1_file.hid} and data ${input2_file.hid}"/>
+ <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data data ${input1_file.hid} and data ${input2_file.hid}"/></outputs><tests><test><param name="input1_file" value="paired_end_1.fastqsanger" ftype="fastqsanger" /><param name="input2_file" value="paired_end_2.fastqsanger" ftype="fastqsanger" />
- <output name="output_file" file="paired_end_merged.fastqsanger" />
+ <output name="outfile_pairs" file="paired_end_merged.fastqsanger" />
+ <output name="outfile_singles" file="paired_end_merged_singles.fastqsanger" /></test><test><param name="input1_file" value="paired_end_1_errors.fastqsanger" ftype="fastqsanger" /><param name="input2_file" value="paired_end_2_errors.fastqsanger" ftype="fastqsanger" />
- <output name="output_file" file="paired_end_merged_cleaned.fastqsanger" />
+ <output name="outfile_pairs" file="paired_end_merged_cleaned.fastqsanger" />
+ <output name="outfile_singles" file="paired_end_merged_cleaned_singles.fastqsanger" /></test></tests><help>
**What it does**
-This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where letf mates alternate with their right mate. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is excluded from the output.
+This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where left mates alternate with their right mates. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is included in a separate file.
Sequence identifiers with /1 and /2 appended override the left-hand and right-hand designation; i.e. if the reads end with /1 and /2, the read containing /1 will be used as the left-hand read and the read containing /2 will be used as the right-hand read. Sequences without this designation will follow the left-hand and right-hand settings set by the user.
@@ -60,5 +66,7 @@
+1539:931/2
WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+A multiple-fastq file containing reads that have no mate is also produced.
+
</help></tool>
http://bitbucket.org/galaxy/galaxy-central/changeset/de86763942a3/
changeset: de86763942a3
user: fangly
date: 2011-05-17 09:54:04
summary: Updated tool wrapper version number
affected #: 2 files (4 bytes)
--- a/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:26:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:54:04 2011 +1000
@@ -1,4 +1,4 @@
-<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0">
+<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.1"><description>on paired end reads</description><command interpreter="python">fastq_paired_end_deinterlacer.py '$input_file' '${input_file.extension[len( 'fastq' ):]}' '$output1_pairs_file' '$output2_pairs_file' '$output1_singles_file' '$output2_singles_file'</command><inputs>
--- a/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:26:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:54:04 2011 +1000
@@ -1,4 +1,4 @@
-<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0">
+<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.1"><description>on paired end reads</description><command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$outfile_pairs' '$outfile_singles'</command><inputs>
http://bitbucket.org/galaxy/galaxy-central/changeset/36ced92e1da8/
changeset: 36ced92e1da8
user: kanwei
date: 2011-06-10 19:15:17
summary: Typo
affected #: 1 file (5 bytes)
--- a/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:54:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Fri Jun 10 13:15:17 2011 -0400
@@ -10,7 +10,7 @@
<!-- $input1_file.id = ID , e.g. 10 --><!-- $input1_file.hid = history ID, e.g. 5 --><data name="outfile_pairs" format="input" label="FASTQ interlacer pairs from data ${input1_file.hid} and data ${input2_file.hid}"/>
- <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data data ${input1_file.hid} and data ${input2_file.hid}"/>
+ <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data ${input1_file.hid} and data ${input2_file.hid}"/></outputs><tests><test>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/93e4915c0508/
changeset: 93e4915c0508
user: kanwei
date: 2011-06-10 18:36:16
summary: Copy datasets:
- Now copy datasets in the order they were listed in source history. Fixes #483
- Properly refresh current history if data is copied into it
- Add link to switch to new history if one is created
affected #: 3 files (1.1 KB)
--- a/lib/galaxy/web/controllers/dataset.py Fri Jun 10 08:46:11 2011 -0400
+++ b/lib/galaxy/web/controllers/dataset.py Fri Jun 10 12:36:16 2011 -0400
@@ -789,10 +789,11 @@
else:
target_history_ids = []
done_msg = error_msg = ""
+ new_history = None
if do_copy:
invalid_datasets = 0
if not source_dataset_ids or not ( target_history_ids or new_history_name ):
- error_msg = "You must provide both source datasets and target histories."
+ error_msg = "You must provide both source datasets and target histories. "
else:
if new_history_name:
new_history = trans.app.model.History()
@@ -807,23 +808,28 @@
target_histories = [ history ]
if len( target_histories ) != len( target_history_ids ):
error_msg = error_msg + "You do not have permission to add datasets to %i requested histories. " % ( len( target_history_ids ) - len( target_histories ) )
- for data in map( trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get, source_dataset_ids ):
- if data is None:
- error_msg = error_msg + "You tried to copy a dataset that does not exist. "
+ source_hdas = map( trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get, source_dataset_ids )
+ source_hdas.sort(key=lambda hda: hda.hid)
+ for hda in source_hdas:
+ if hda is None:
+ error_msg = error_msg + "You tried to copy a dataset that does not exist. "
invalid_datasets += 1
- elif data.history != history:
- error_msg = error_msg + "You tried to copy a dataset which is not in your current history. "
+ elif hda.history != history:
+ error_msg = error_msg + "You tried to copy a dataset which is not in your current history. "
invalid_datasets += 1
else:
for hist in target_histories:
- hist.add_dataset( data.copy( copy_children = True ) )
+ hist.add_dataset( hda.copy( copy_children = True ) )
if history in target_histories:
refresh_frames = ['history']
trans.sa_session.flush()
hist_names_str = ", ".join( [ hist.name for hist in target_histories ] )
num_source = len( source_dataset_ids ) - invalid_datasets
num_target = len(target_histories)
- done_msg = "%i %s copied to %i %s: %s" % (num_source, inflector.cond_plural(num_source, "dataset"), num_target, inflector.cond_plural(num_target, "history"), hist_names_str )
+ done_msg = "%i %s copied to %i %s: %s." % (num_source, inflector.cond_plural(num_source, "dataset"), num_target, inflector.cond_plural(num_target, "history"), hist_names_str )
+ if new_history is not None:
+ done_msg += " <a href=\"%s\" target=\"_top\">Switch to the new history.</a>" % url_for(
+ controller="history", action="switch_to_history", hist_id=trans.security.encode_id( new_history.id ) )
trans.sa_session.refresh( history )
source_datasets = history.visible_datasets
target_histories = [history]
--- a/lib/galaxy/web/controllers/history.py Fri Jun 10 08:46:11 2011 -0400
+++ b/lib/galaxy/web/controllers/history.py Fri Jun 10 12:36:16 2011 -0400
@@ -1182,3 +1182,13 @@
else:
msg = '%d cloned histories are now included in your previously stored histories.' % len( histories )
return trans.show_ok_message( msg )
+
+ @web.expose
+ @web.require_login( "switch to a history" )
+ def switch_to_history( self, trans, hist_id=None ):
+ decoded_id = trans.security.decode_id(hist_id)
+ hist = trans.sa_session.query( trans.app.model.History ).get( decoded_id )
+
+ trans.set_history( hist )
+ return trans.response.send_redirect( url_for( "/" ) )
+
\ No newline at end of file
--- a/templates/dataset/copy_view.mako Fri Jun 10 08:46:11 2011 -0400
+++ b/templates/dataset/copy_view.mako Fri Jun 10 12:36:16 2011 -0400
@@ -1,21 +1,29 @@
<%inherit file="/base.mako"/>
-<%namespace file="/message.mako" import="javascripts" /><%def name="title()">Copy History Items</%def><%def name="javascripts()">
-${parent.javascripts()}
-${h.js( "jquery", "galaxy.base" )}
-<script type="text/javascript">
- $(function() {
- $("#select-multiple").click(function() {
- $("#single-dest-select").val("");
- $("#single-destination").hide();
- $("#multiple-destination").show();
+ ${parent.javascripts()}
+ ${h.js( "jquery", "galaxy.base" )}
+
+ <script type="text/javascript">
+ $(function() {
+ $("#select-multiple").click(function() {
+ $("#single-dest-select").val("");
+ $("#single-destination").hide();
+ $("#multiple-destination").show();
+ });
});
- });
-</script>
-
+ %if 'history' in refresh_frames:
+ if ( parent.frames && parent.frames.galaxy_history ) {
+ parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
+ if ( parent.force_right_panel ) {
+ parent.force_right_panel( 'show' );
+ }
+ }
+ %endif
+ </script>
+
</%def>
%if error_msg:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

commit/galaxy-central: dan: Write a newline between intervals in BedDataProvider.write_data_to_file.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/1edea6b133ce/
changeset: 1edea6b133ce
user: dan
date: 2011-06-10 14:46:11
summary: Write a newline between intervals in BedDataProvider.write_data_to_file.
affected #: 1 file (9 bytes)
--- a/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 18:35:42 2011 -0400
+++ b/lib/galaxy/visualization/tracks/data_providers.py Fri Jun 10 08:46:11 2011 -0400
@@ -604,7 +604,7 @@
iterator = self.get_iterator( chrom, start, end )
out = open( filename, "w" )
for line in iterator:
- out.write( line )
+ out.write( "%s\n" % line )
out.close()
class VcfDataProvider( TabixDataProvider ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

commit/galaxy-central: dan: Better handling of implict datatype conversion and dynamic options. Still lots of cleanup to do.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/0886ed0a8c9f/
changeset: 0886ed0a8c9f
user: dan
date: 2011-06-10 00:35:42
summary: Better handling of implict datatype conversion and dynamic options. Still lots of cleanup to do.
affected #: 4 files (815 bytes)
--- a/lib/galaxy/tools/__init__.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/__init__.py Thu Jun 09 18:35:42 2011 -0400
@@ -798,6 +798,8 @@
elif elem.tag == "param":
param = self.parse_param_elem( elem, enctypes, context )
rval[param.name] = param
+ if hasattr( param, 'data_ref' ):
+ param.ref_input = context[ param.data_ref ]
return rval
def parse_param_elem( self, input_elem, enctypes, context ):
@@ -923,8 +925,6 @@
if not self.check_values:
return
for input in self.inputs.itervalues():
- if input.name not in value:
- value[input.name] = input.get_initial_value( None, value )
if isinstance( input, ToolParameter ):
callback( "", input, value[input.name] )
else:
--- a/lib/galaxy/tools/actions/__init__.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/actions/__init__.py Thu Jun 09 18:35:42 2011 -0400
@@ -37,7 +37,7 @@
if data and not isinstance( data.datatype, formats ):
# Need to refresh in case this conversion just took place, i.e. input above in tool performed the same conversion
trans.sa_session.refresh( data )
- target_ext, converted_dataset = data.find_conversion_destination( formats, converter_safe = input.converter_safe( param_values, trans ) )
+ target_ext, converted_dataset = data.find_conversion_destination( formats )
if target_ext:
if converted_dataset:
data = converted_dataset
--- a/lib/galaxy/tools/parameters/basic.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/parameters/basic.py Thu Jun 09 18:35:42 2011 -0400
@@ -714,6 +714,9 @@
# Dependency on a value that does not yet exist
if isinstance( dep_value, RuntimeValue ):
return True
+ #dataset not ready yet
+ if hasattr( self, 'ref_input' ) and isinstance( dep_value, self.tool.app.model.HistoryDatasetAssociation ) and ( dep_value.is_pending or not isinstance( dep_value.datatype, self.ref_input.formats ) ):
+ return True
# Dynamic, but all dependenceis are known and have values
return False
def get_initial_value( self, trans, context ):
@@ -844,6 +847,7 @@
self.force_select = string_as_bool( elem.get( "force_select", True ))
self.accept_default = string_as_bool( elem.get( "accept_default", False ))
self.data_ref = elem.get( "data_ref", None )
+ self.ref_input = None
self.default_value = elem.get( "default_value", None )
self.is_dynamic = True
def from_html( self, value, trans=None, context={} ):
@@ -939,7 +943,7 @@
if not dataset.metadata.columns:
# Only allow late validation if the dataset is not yet ready
# (since we have reason to expect the metadata to be ready eventually)
- if dataset.is_pending:
+ if dataset.is_pending or not isinstance( dataset.datatype, self.ref_input.formats ):
return True
# No late validation
return False
@@ -1321,7 +1325,7 @@
selected = ( value and ( hda in value ) )
field.add_option( "%s: %s" % ( hid, hda_name ), hda.id, selected )
else:
- target_ext, converted_dataset = hda.find_conversion_destination( self.formats, converter_safe = self.converter_safe( other_values, trans ) )
+ target_ext, converted_dataset = hda.find_conversion_destination( self.formats )
if target_ext:
if converted_dataset:
hda = converted_dataset
@@ -1370,13 +1374,22 @@
pass #no valid options
def dataset_collector( datasets ):
def is_convertable( dataset ):
- target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = self.converter_safe( context, trans ) )
+ target_ext, converted_dataset = dataset.find_conversion_destination( self.formats )
if target_ext is not None:
return True
return False
for i, data in enumerate( datasets ):
- if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED] and ( isinstance( data.datatype, self.formats) or is_convertable( data ) ):
- if self.options and self._options_filter_attribute( data ) != filter_value:
+ if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED]:
+ is_valid = False
+ if isinstance( data.datatype, self.formats ):
+ is_valid = True
+ else:
+ target_ext, converted_dataset = data.find_conversion_destination( self.formats )
+ if target_ext:
+ is_valid = True
+ if converted_dataset:
+ data = converted_dataset
+ if not is_valid or ( self.options and self._options_filter_attribute( data ) != filter_value ):
continue
most_recent_dataset[0] = data
# Also collect children via association object
--- a/lib/galaxy/tools/parameters/dynamic_options.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/parameters/dynamic_options.py Thu Jun 09 18:35:42 2011 -0400
@@ -440,6 +440,9 @@
# Load Validators
for validator in elem.findall( 'validator' ):
self.validators.append( validation.Validator.from_element( self.tool_param, validator ) )
+
+ if self.dataset_ref_name:
+ tool_param.data_ref = self.dataset_ref_name
def parse_column_definitions( self, elem ):
for column_elem in elem.findall( 'column' ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/3f2e99f97694/
changeset: 3f2e99f97694
user: kanwei
date: 2011-06-09 23:49:20
summary: VCF can take floats
affected #: 2 files (98 bytes)
--- a/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 15:58:25 2011 -0400
+++ b/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 17:49:20 2011 -0400
@@ -637,7 +637,7 @@
# alternative base(s)
feature[4],
# phred quality score
- int( feature[5] )]
+ float( feature[5] )]
rval.append(payload)
return { 'data_type' : 'vcf', 'data': rval, 'message': message }
--- a/lib/galaxy_utils/sequence/vcf.py Thu Jun 09 15:58:25 2011 -0400
+++ b/lib/galaxy_utils/sequence/vcf.py Thu Jun 09 17:49:20 2011 -0400
@@ -1,6 +1,5 @@
#Dan Blankenberg
-#See: http://1000genomes.org/wiki/doku.php?id=1000_genomes:analysis:vcf3.3
-#See: http://1000genomes.org/wiki/doku.php?id=1000_genomes:analysis:variant_call_…
+# See http://www.1000genomes.org/wiki/Analysis/variant-call-format
NOT_A_NUMBER = float( 'NaN' )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/90c81fa6114f/
changeset: 90c81fa6114f
user: dan
date: 2011-06-09 21:58:25
summary: Some fixes for trackster/visual analytics.
affected #: 1 file (157 bytes)
--- a/lib/galaxy/web/controllers/tracks.py Thu Jun 09 12:06:07 2011 -0400
+++ b/lib/galaxy/web/controllers/tracks.py Thu Jun 09 15:58:25 2011 -0400
@@ -412,6 +412,7 @@
return msg
# Return data.
+ data = None
if isinstance( dataset.datatype, Gff ):
data = GFFDataProvider( original_dataset=dataset ).get_data( chrom, low, high, **kwargs )
data[ 'dataset_type' ] = 'interval_index'
@@ -768,7 +769,9 @@
#
for jida in original_job.input_datasets:
input_dataset = jida.dataset
- if run_on_region and hasattr( input_dataset.datatype, 'get_track_type' ):
+ if input_dataset is None: #optional dataset and dataset wasn't selected
+ tool_params[ jida.name ] = None
+ elif run_on_region and hasattr( input_dataset.datatype, 'get_track_type' ):
# Dataset is indexed and hence a subset can be extracted and used
# as input.
track_type, data_sources = input_dataset.datatype.get_track_type()
@@ -802,7 +805,7 @@
trans.sa_session.flush()
# Add dataset to tool's parameters.
- tool_params[ jida.name ] = new_dataset
+ tool_params[ jida.name ] = new_dataset.id
#
# Execute tool and handle outputs.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

commit/galaxy-central: jgoecks: Make Cuffcompare wrapper compatible with v1.0.3
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/f4b98c453389/
changeset: f4b98c453389
user: jgoecks
date: 2011-06-09 18:06:07
summary: Make Cuffcompare wrapper compatible with v1.0.3
affected #: 6 files (890 bytes)
--- a/test-data/cuffcompare_out1.tmap Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out1.tmap Thu Jun 09 12:06:07 2011 -0400
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 27.255658 0.000000 65.800979 1.741935 31 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 9.999117 0.000000 19.998234 0.639053 169 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 17.776896 9.153835 26.399957 1.136139 404 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 8.710571 0.000000 21.029179 0.556701 97 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 29.337687 3.097262 55.578113 1.875000 72 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 13.851236 0.000000 33.439842 0.885246 61 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 23.470150 0.000000 50.571145 1.500000 54 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 14.567679 5.354270 23.781089 0.931034 290 CUFF.25.1 -
-- - u CUFF.27 CUFF.27.1 100 34.253732 0.000000 73.806535 2.189189 37 CUFF.27.1 -
-- - u CUFF.29 CUFF.29.1 100 107.103219 71.402146 142.804292 6.845070 142 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 122.650461 40.883487 204.417435 7.838710 31 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 109.527366 26.732460 192.322273 7.000000 27 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 96.747183 61.420107 132.074259 6.183206 131 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 104.085013 53.596365 154.573660 6.652174 69 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 23.912983 0.000000 51.525317 1.528302 53 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 10.561567 0.000000 25.497879 0.675000 80 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 20.708956 2.186303 39.231609 1.323529 102 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 45.263860 0.000000 97.530065 2.892857 28 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 12.998852 0.000000 31.382005 0.830769 65 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 10.058636 0.000000 24.283695 0.642857 84 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 8.621688 0.000000 20.814595 0.551020 98 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 16.248565 0.000000 39.227507 1.038462 52 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 13.201959 0.000000 31.872349 0.843750 64 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 13.201959 0.000000 28.446269 0.843750 96 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 17.243375 0.000000 41.629191 1.102041 49 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 16.567165 0.000000 39.996674 1.058824 51 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 21.664754 0.000000 52.303342 1.384615 39 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 46.940300 0.000000 101.142289 3.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 21.481154 0.000000 46.285454 1.372881 59 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 14.567679 0.000000 35.169489 0.931034 58 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 169 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 404 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.11.1 -
+- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.13.1 -
+- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.15.1 -
+- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.17.1 -
+- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.19.1 -
+- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.21.1 -
+- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 54 CUFF.23.1 -
+- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 290 CUFF.25.1 -
+- - u CUFF.27 CUFF.27.1 100 0.000000 0.000000 0.000000 0.000000 37 CUFF.27.1 -
+- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 142 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.31.1 -
+- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.33.1 -
+- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 131 CUFF.35.1 -
+- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 69 CUFF.37.1 -
+- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 53 CUFF.39.1 -
+- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.41.1 -
+- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 80 CUFF.43.1 -
+- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 102 CUFF.45.1 -
+- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.47.1 -
+- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
+- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.51.1 -
+- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
+- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
+- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
+- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
+- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 28 CUFF.61.1 -
+- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
+- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.65.1 -
+- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 65 CUFF.67.1 -
+- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.69.1 -
+- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 98 CUFF.71.1 -
+- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.73.1 -
+- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
+- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 52 CUFF.77.1 -
+- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.79.1 -
+- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 64 CUFF.81.1 -
+- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 96 CUFF.83.1 -
+- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.85.1 -
+- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 49 CUFF.87.1 -
+- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 51 CUFF.89.1 -
+- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
+- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 39 CUFF.93.1 -
+- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
+- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.97.1 -
+- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 58 CUFF.99.1 -
--- a/test-data/cuffcompare_out3.tmap Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out3.tmap Thu Jun 09 12:06:07 2011 -0400
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 21.226627 0.000000 59.889707 1.205672 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 29.709524 19.806349 39.612698 1.687500 576 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 34.072933 23.364686 44.781179 1.935341 565 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 32.531777 24.582998 40.480555 1.847804 979 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 16.582060 0.000000 35.729373 0.941860 86 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 16.205195 0.000000 34.917342 0.920455 88 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.25.1 -
-- - u CUFF.26 CUFF.26.1 100 29.709524 0.000000 71.725135 1.687500 32 CUFF.26.1 -
-- - u CUFF.29 CUFF.29.1 100 13.581496 0.000000 32.788633 0.771429 70 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 22.635827 0.000000 45.271655 1.285714 84 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 23.767619 0.000000 57.380108 1.350000 40 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 11.317914 0.000000 27.323861 0.642857 84 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 11.500461 0.000000 24.780049 0.653226 124 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 43.213852 0.000000 93.112911 2.454545 33 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 23.474191 0.000000 46.948383 1.333333 81 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 20.667495 0.000000 49.895746 1.173913 46 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 14.948188 7.228977 22.667399 0.849057 477 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 13.204233 0.000000 31.877838 0.750000 72 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 31.170648 0.000000 62.341295 1.770492 61 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 15.681351 3.378764 27.983938 0.890700 197 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 18.799247 8.750627 28.847866 1.067797 354 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 22.635827 0.000000 54.647722 1.285714 42 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 17.605644 0.000000 52.816931 1.000000 27 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 13.390208 0.000000 32.326821 0.760563 71 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 11.211141 1.183592 21.238690 0.636792 212 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 21.126772 0.000000 51.004540 1.200000 45 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 19.014095 0.000000 38.028190 1.080000 100 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 24.170460 0.000000 52.080103 1.372881 59 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 29.709524 0.000000 64.015126 1.687500 48 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 19.602160 0.000000 39.204320 1.113402 97 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 576 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 565 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 979 CUFF.11.1 -
+- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 86 CUFF.13.1 -
+- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.15.1 -
+- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.17.1 -
+- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.19.1 -
+- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.21.1 -
+- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 88 CUFF.23.1 -
+- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.25.1 -
+- - u CUFF.26 CUFF.26.1 100 0.000000 0.000000 0.000000 0.000000 32 CUFF.26.1 -
+- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 70 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.31.1 -
+- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 40 CUFF.33.1 -
+- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.35.1 -
+- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 124 CUFF.37.1 -
+- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.39.1 -
+- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 33 CUFF.41.1 -
+- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 81 CUFF.43.1 -
+- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 46 CUFF.45.1 -
+- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.47.1 -
+- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
+- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 477 CUFF.51.1 -
+- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
+- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
+- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
+- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
+- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.61.1 -
+- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
+- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.65.1 -
+- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 197 CUFF.67.1 -
+- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 354 CUFF.69.1 -
+- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 42 CUFF.71.1 -
+- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.73.1 -
+- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
+- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.77.1 -
+- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 71 CUFF.79.1 -
+- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 212 CUFF.81.1 -
+- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 45 CUFF.83.1 -
+- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 100 CUFF.85.1 -
+- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.87.1 -
+- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 48 CUFF.89.1 -
+- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
+- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.93.1 -
+- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
+- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.97.1 -
+- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.99.1 -
--- a/test-data/cuffcompare_out6.tracking Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out6.tracking Thu Jun 09 12:06:07 2011 -0400
@@ -1,100 +1,100 @@
-TCONS_00000001 XLOC_000001 - u q1:CUFF.1|CUFF.1.1|100|20.607936|0.000000|49.751960|1.317073|- -
-TCONS_00000002 XLOC_000002 - u q1:CUFF.3|CUFF.3.1|100|27.255658|0.000000|65.800979|1.741935|- -
-TCONS_00000003 XLOC_000006 - u q1:CUFF.29|CUFF.29.1|100|107.103219|71.402146|142.804292|6.845070|- -
-TCONS_00000004 XLOC_000006 - u q1:CUFF.31|CUFF.31.1|100|122.650461|40.883487|204.417435|7.838710|- -
-TCONS_00000005 XLOC_000006 - u q1:CUFF.33|CUFF.33.1|100|109.527366|26.732460|192.322273|7.000000|- -
-TCONS_00000006 XLOC_000008 - u q1:CUFF.35|CUFF.35.1|100|96.747183|61.420107|132.074259|6.183206|- -
-TCONS_00000007 XLOC_000008 - u q1:CUFF.37|CUFF.37.1|100|104.085013|53.596365|154.573660|6.652174|- -
-TCONS_00000008 XLOC_000010 - u q1:CUFF.39|CUFF.39.1|100|23.912983|0.000000|51.525317|1.528302|- -
-TCONS_00000009 XLOC_000011 - u q1:CUFF.41|CUFF.41.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000010 XLOC_000013 - u q1:CUFF.43|CUFF.43.1|100|10.561567|0.000000|25.497879|0.675000|- -
-TCONS_00000011 XLOC_000014 - u q1:CUFF.45|CUFF.45.1|100|20.708956|2.186303|39.231609|1.323529|- -
-TCONS_00000012 XLOC_000015 - u q1:CUFF.47|CUFF.47.1|100|20.607936|0.000000|49.751960|1.317073|- -
-TCONS_00000013 XLOC_000016 - u q1:CUFF.49|CUFF.49.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000014 XLOC_000018 - u q1:CUFF.51|CUFF.51.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000015 XLOC_000019 - u q1:CUFF.53|CUFF.53.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000016 XLOC_000020 - u q1:CUFF.55|CUFF.55.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000017 XLOC_000021 - u q1:CUFF.57|CUFF.57.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000018 XLOC_000022 - u q1:CUFF.59|CUFF.59.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000019 XLOC_000024 - u q1:CUFF.7|CUFF.7.1|100|9.999117|0.000000|19.998234|0.639053|- -
-TCONS_00000020 XLOC_000025 - u q1:CUFF.5|CUFF.5.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000021 XLOC_000028 - u q1:CUFF.9|CUFF.9.1|100|17.776896|9.153835|26.399957|1.136139|- -
-TCONS_00000022 XLOC_000030 - u q1:CUFF.11|CUFF.11.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000023 XLOC_000032 - u q1:CUFF.13|CUFF.13.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000024 XLOC_000034 - u q1:CUFF.15|CUFF.15.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000025 XLOC_000035 - u q1:CUFF.19|CUFF.19.1|100|29.337687|3.097262|55.578113|1.875000|- -
-TCONS_00000026 XLOC_000037 - u q1:CUFF.17|CUFF.17.1|100|8.710571|0.000000|21.029179|0.556701|- -
-TCONS_00000027 XLOC_000040 - u q1:CUFF.25|CUFF.25.1|100|14.567679|5.354270|23.781089|0.931034|- -
-TCONS_00000028 XLOC_000042 - u q1:CUFF.21|CUFF.21.1|100|13.851236|0.000000|33.439842|0.885246|- -
-TCONS_00000029 XLOC_000044 - u q1:CUFF.23|CUFF.23.1|100|23.470150|0.000000|50.571145|1.500000|- -
-TCONS_00000030 XLOC_000046 - u q1:CUFF.27|CUFF.27.1|100|34.253732|0.000000|73.806535|2.189189|- -
-TCONS_00000031 XLOC_000048 - u q1:CUFF.61|CUFF.61.1|100|45.263860|0.000000|97.530065|2.892857|- -
-TCONS_00000032 XLOC_000049 - u q1:CUFF.63|CUFF.63.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000033 XLOC_000052 - u q1:CUFF.65|CUFF.65.1|100|15.362280|0.000000|37.087825|0.981818|- -
-TCONS_00000034 XLOC_000057 - u q1:CUFF.67|CUFF.67.1|100|12.998852|0.000000|31.382005|0.830769|- -
-TCONS_00000035 XLOC_000059 - u q1:CUFF.69|CUFF.69.1|100|10.058636|0.000000|24.283695|0.642857|- -
-TCONS_00000036 XLOC_000059 - u q1:CUFF.71|CUFF.71.1|100|8.621688|0.000000|20.814595|0.551020|- -
-TCONS_00000037 XLOC_000060 - u q1:CUFF.73|CUFF.73.1|100|15.362280|0.000000|37.087825|0.981818|- -
-TCONS_00000038 XLOC_000062 - u q1:CUFF.75|CUFF.75.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000039 XLOC_000065 - u q1:CUFF.77|CUFF.77.1|100|16.248565|0.000000|39.227507|1.038462|- -
-TCONS_00000040 XLOC_000068 - u q1:CUFF.79|CUFF.79.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000041 XLOC_000071 - u q1:CUFF.81|CUFF.81.1|100|13.201959|0.000000|31.872349|0.843750|- -
-TCONS_00000042 XLOC_000073 - u q1:CUFF.83|CUFF.83.1|100|13.201959|0.000000|28.446269|0.843750|- -
-TCONS_00000043 XLOC_000075 - u q1:CUFF.85|CUFF.85.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000044 XLOC_000077 - u q1:CUFF.87|CUFF.87.1|100|17.243375|0.000000|41.629191|1.102041|- -
-TCONS_00000045 XLOC_000080 - u q1:CUFF.89|CUFF.89.1|100|16.567165|0.000000|39.996674|1.058824|- -
-TCONS_00000046 XLOC_000083 - u q1:CUFF.91|CUFF.91.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000047 XLOC_000084 - u q1:CUFF.93|CUFF.93.1|100|21.664754|0.000000|52.303342|1.384615|- -
-TCONS_00000048 XLOC_000085 - u q1:CUFF.95|CUFF.95.1|100|46.940300|0.000000|101.142289|3.000000|- -
-TCONS_00000049 XLOC_000086 - u q1:CUFF.97|CUFF.97.1|100|21.481154|0.000000|46.285454|1.372881|- -
-TCONS_00000050 XLOC_000087 - u q1:CUFF.99|CUFF.99.1|100|14.567679|0.000000|35.169489|0.931034|- -
-TCONS_00000051 XLOC_000003 - u - q2:CUFF.1|CUFF.1.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000052 XLOC_000004 - u - q2:CUFF.3|CUFF.3.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000053 XLOC_000005 - u - q2:CUFF.5|CUFF.5.1|100|21.226627|0.000000|59.889707|1.205672|-
-TCONS_00000054 XLOC_000006 - u - q2:CUFF.11|CUFF.11.1|100|32.531777|24.582998|40.480555|1.847804|-
-TCONS_00000055 XLOC_000007 - u - q2:CUFF.7|CUFF.7.1|100|29.709524|19.806349|39.612698|1.687500|-
-TCONS_00000056 XLOC_000008 - u - q2:CUFF.9|CUFF.9.1|100|34.072933|23.364686|44.781179|1.935341|-
-TCONS_00000057 XLOC_000009 - u - q2:CUFF.13|CUFF.13.1|100|16.582060|0.000000|35.729373|0.941860|-
-TCONS_00000058 XLOC_000012 - u - q2:CUFF.15|CUFF.15.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000059 XLOC_000017 - u - q2:CUFF.17|CUFF.17.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000060 XLOC_000023 - u - q2:CUFF.19|CUFF.19.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000061 XLOC_000024 - u - q2:CUFF.23|CUFF.23.1|100|16.205195|0.000000|34.917342|0.920455|-
-TCONS_00000062 XLOC_000026 - u - q2:CUFF.21|CUFF.21.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000063 XLOC_000027 - u - q2:CUFF.26|CUFF.26.1|100|29.709524|0.000000|71.725135|1.687500|-
-TCONS_00000064 XLOC_000028 - u - q2:CUFF.25|CUFF.25.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000065 XLOC_000029 - u - q2:CUFF.29|CUFF.29.1|100|13.581496|0.000000|32.788633|0.771429|-
-TCONS_00000066 XLOC_000031 - u - q2:CUFF.31|CUFF.31.1|100|22.635827|0.000000|45.271655|1.285714|-
-TCONS_00000067 XLOC_000033 - u - q2:CUFF.33|CUFF.33.1|100|23.767619|0.000000|57.380108|1.350000|-
-TCONS_00000068 XLOC_000036 - u - q2:CUFF.35|CUFF.35.1|100|11.317914|0.000000|27.323861|0.642857|-
-TCONS_00000069 XLOC_000037 - u - q2:CUFF.37|CUFF.37.1|100|11.500461|0.000000|24.780049|0.653226|-
-TCONS_00000070 XLOC_000038 - u - q2:CUFF.39|CUFF.39.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000071 XLOC_000039 - u - q2:CUFF.41|CUFF.41.1|100|43.213852|0.000000|93.112911|2.454545|-
-TCONS_00000072 XLOC_000041 - u - q2:CUFF.43|CUFF.43.1|100|23.474191|0.000000|46.948383|1.333333|-
-TCONS_00000073 XLOC_000043 - u - q2:CUFF.45|CUFF.45.1|100|20.667495|0.000000|49.895746|1.173913|-
-TCONS_00000074 XLOC_000045 - u - q2:CUFF.47|CUFF.47.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000075 XLOC_000047 - u - q2:CUFF.49|CUFF.49.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000076 XLOC_000049 - u - q2:CUFF.51|CUFF.51.1|100|14.948188|7.228977|22.667399|0.849057|-
-TCONS_00000077 XLOC_000050 - u - q2:CUFF.53|CUFF.53.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000078 XLOC_000051 - u - q2:CUFF.55|CUFF.55.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000079 XLOC_000053 - u - q2:CUFF.57|CUFF.57.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000080 XLOC_000054 - u - q2:CUFF.59|CUFF.59.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000081 XLOC_000055 - u - q2:CUFF.61|CUFF.61.1|100|13.204233|0.000000|31.877838|0.750000|-
-TCONS_00000082 XLOC_000056 - u - q2:CUFF.63|CUFF.63.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000083 XLOC_000058 - u - q2:CUFF.65|CUFF.65.1|100|31.170648|0.000000|62.341295|1.770492|-
-TCONS_00000084 XLOC_000059 - u - q2:CUFF.69|CUFF.69.1|100|18.799247|8.750627|28.847866|1.067797|-
-TCONS_00000085 XLOC_000060 - u - q2:CUFF.67|CUFF.67.1|100|15.681351|3.378764|27.983938|0.890700|-
-TCONS_00000086 XLOC_000061 - u - q2:CUFF.71|CUFF.71.1|100|22.635827|0.000000|54.647722|1.285714|-
-TCONS_00000087 XLOC_000063 - u - q2:CUFF.73|CUFF.73.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000088 XLOC_000064 - u - q2:CUFF.75|CUFF.75.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000089 XLOC_000066 - u - q2:CUFF.77|CUFF.77.1|100|17.605644|0.000000|52.816931|1.000000|-
-TCONS_00000090 XLOC_000067 - u - q2:CUFF.79|CUFF.79.1|100|13.390208|0.000000|32.326821|0.760563|-
-TCONS_00000091 XLOC_000068 - u - q2:CUFF.81|CUFF.81.1|100|11.211141|1.183592|21.238690|0.636792|-
-TCONS_00000092 XLOC_000069 - u - q2:CUFF.83|CUFF.83.1|100|21.126772|0.000000|51.004540|1.200000|-
-TCONS_00000093 XLOC_000070 - u - q2:CUFF.85|CUFF.85.1|100|19.014095|0.000000|38.028190|1.080000|-
-TCONS_00000094 XLOC_000072 - u - q2:CUFF.87|CUFF.87.1|100|24.170460|0.000000|52.080103|1.372881|-
-TCONS_00000095 XLOC_000074 - u - q2:CUFF.89|CUFF.89.1|100|29.709524|0.000000|64.015126|1.687500|-
-TCONS_00000096 XLOC_000076 - u - q2:CUFF.91|CUFF.91.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000097 XLOC_000078 - u - q2:CUFF.93|CUFF.93.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000098 XLOC_000079 - u - q2:CUFF.95|CUFF.95.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000099 XLOC_000081 - u - q2:CUFF.97|CUFF.97.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000100 XLOC_000082 - u - q2:CUFF.99|CUFF.99.1|100|19.602160|0.000000|39.204320|1.113402|-
+TCONS_00000001 XLOC_000001 - u q1:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000002 XLOC_000002 - u q1:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000003 XLOC_000006 - u q1:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000004 XLOC_000006 - u q1:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000005 XLOC_000006 - u q1:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000006 XLOC_000008 - u q1:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000007 XLOC_000008 - u q1:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000008 XLOC_000010 - u q1:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000009 XLOC_000011 - u q1:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000010 XLOC_000013 - u q1:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000011 XLOC_000014 - u q1:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000012 XLOC_000015 - u q1:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000013 XLOC_000016 - u q1:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000014 XLOC_000018 - u q1:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000015 XLOC_000019 - u q1:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000016 XLOC_000020 - u q1:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000017 XLOC_000021 - u q1:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000018 XLOC_000022 - u q1:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000019 XLOC_000024 - u q1:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000020 XLOC_000025 - u q1:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000021 XLOC_000028 - u q1:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000022 XLOC_000030 - u q1:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000023 XLOC_000032 - u q1:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000024 XLOC_000034 - u q1:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000025 XLOC_000035 - u q1:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000026 XLOC_000037 - u q1:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000027 XLOC_000040 - u q1:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000028 XLOC_000042 - u q1:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000029 XLOC_000044 - u q1:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000030 XLOC_000046 - u q1:CUFF.27|CUFF.27.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000031 XLOC_000048 - u q1:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000032 XLOC_000049 - u q1:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000033 XLOC_000052 - u q1:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000034 XLOC_000057 - u q1:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000035 XLOC_000059 - u q1:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000036 XLOC_000059 - u q1:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000037 XLOC_000060 - u q1:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000038 XLOC_000062 - u q1:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000039 XLOC_000065 - u q1:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000040 XLOC_000068 - u q1:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000041 XLOC_000071 - u q1:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000042 XLOC_000073 - u q1:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000043 XLOC_000075 - u q1:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000044 XLOC_000077 - u q1:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000045 XLOC_000080 - u q1:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000046 XLOC_000083 - u q1:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000047 XLOC_000084 - u q1:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000048 XLOC_000085 - u q1:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000049 XLOC_000086 - u q1:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000050 XLOC_000087 - u q1:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000051 XLOC_000003 - u - q2:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000052 XLOC_000004 - u - q2:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000053 XLOC_000005 - u - q2:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000054 XLOC_000006 - u - q2:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000055 XLOC_000007 - u - q2:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000056 XLOC_000008 - u - q2:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000057 XLOC_000009 - u - q2:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000058 XLOC_000012 - u - q2:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000059 XLOC_000017 - u - q2:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000060 XLOC_000023 - u - q2:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000061 XLOC_000024 - u - q2:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000062 XLOC_000026 - u - q2:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000063 XLOC_000027 - u - q2:CUFF.26|CUFF.26.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000064 XLOC_000028 - u - q2:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000065 XLOC_000029 - u - q2:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000066 XLOC_000031 - u - q2:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000067 XLOC_000033 - u - q2:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000068 XLOC_000036 - u - q2:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000069 XLOC_000037 - u - q2:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000070 XLOC_000038 - u - q2:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000071 XLOC_000039 - u - q2:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000072 XLOC_000041 - u - q2:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000073 XLOC_000043 - u - q2:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000074 XLOC_000045 - u - q2:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000075 XLOC_000047 - u - q2:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000076 XLOC_000049 - u - q2:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000077 XLOC_000050 - u - q2:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000078 XLOC_000051 - u - q2:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000079 XLOC_000053 - u - q2:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000080 XLOC_000054 - u - q2:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000081 XLOC_000055 - u - q2:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000082 XLOC_000056 - u - q2:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000083 XLOC_000058 - u - q2:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000084 XLOC_000059 - u - q2:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000085 XLOC_000060 - u - q2:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000086 XLOC_000061 - u - q2:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000087 XLOC_000063 - u - q2:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000088 XLOC_000064 - u - q2:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000089 XLOC_000066 - u - q2:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000090 XLOC_000067 - u - q2:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000091 XLOC_000068 - u - q2:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000092 XLOC_000069 - u - q2:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000093 XLOC_000070 - u - q2:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000094 XLOC_000072 - u - q2:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000095 XLOC_000074 - u - q2:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000096 XLOC_000076 - u - q2:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000097 XLOC_000078 - u - q2:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000098 XLOC_000079 - u - q2:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000099 XLOC_000081 - u - q2:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000100 XLOC_000082 - u - q2:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|-
--- a/test-data/cuffcompare_out7.txt Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out7.txt Thu Jun 09 12:06:07 2011 -0400
@@ -1,19 +1,11 @@
-# Cuffcompare v1.0.1 | Command line was:
-#cuffcompare -r cuffcompare_in3.gtf -R cuffcompare_in1.gtf cuffcompare_in2.gtf
+# Cuffcompare v1.0.3 | Command line was:
+#cuffcompare -o cc_output -r cuffcompare_in3.gtf -R cuffcompare_in1.gtf cuffcompare_in2.gtf
#
-#> Genomic sequence: chr1
-# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
-# (0 multi-transcript loci, ~1.0 transcripts per locus)
-# Reference mRNAs : 0 in 0 loci (0 multi-exon)
#= Summary for dataset: cuffcompare_in1.gtf :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
# (0 multi-transcript loci, ~1.0 transcripts per locus)
# Reference mRNAs : 0 in 0 loci (0 multi-exon)
-#> Genomic sequence: chr1
-# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
-# (0 multi-transcript loci, ~1.0 transcripts per locus)
-# Reference mRNAs : 0 in 0 loci (0 multi-exon)
#= Summary for dataset: cuffcompare_in2.gtf :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
--- a/tools/ngs_rna/cuffcompare_wrapper.py Thu Jun 09 11:38:37 2011 -0400
+++ b/tools/ngs_rna/cuffcompare_wrapper.py Thu Jun 09 12:06:07 2011 -0400
@@ -116,7 +116,7 @@
raise Exception, stderr
# check that there are results in the output file
- cc_output_fname = "cc_output"
+ cc_output_fname = "cc_output.stats"
if len( open( cc_output_fname, 'rb' ).read().strip() ) == 0:
raise Exception, 'The main output file is empty, there may be an error with your input file or settings.'
except Exception, e:
--- a/tools/ngs_rna/cuffcompare_wrapper.xml Thu Jun 09 11:38:37 2011 -0400
+++ b/tools/ngs_rna/cuffcompare_wrapper.xml Thu Jun 09 12:06:07 2011 -0400
@@ -35,9 +35,7 @@
<inputs><param format="gtf" name="first_input" type="data" label="GTF file produced by Cufflinks" help=""/><repeat name="input_files" title="Additional GTF Input Files">
- <param format="gtf" name="additional_input" type="data" label="GTF file produced by Cufflinks" help="">
- <validator type="unspecified_build" />
- </param>
+ <param format="gtf" name="additional_input" type="data" label="GTF file produced by Cufflinks" help=""/></repeat><conditional name="annotation"><param name="use_ref_annotation" type="select" label="Use Reference Annotation">
@@ -73,13 +71,16 @@
</inputs><outputs>
- <data format="txt" name="transcripts_accuracy" label="${tool.name} on ${on_string}: transcript accuracy" from_work_dir="cc_output" />
- <data format="tabular" name="input1_tmap" label="${tool.name} on ${on_string}: ${first_input.hid} data tmap file" from_work_dir="input1.tmap" />
- <data format="tabular" name="input1_refmap" label="${tool.name} on ${on_string}: data ${first_input.hid} refmap file" from_work_dir="input1.refmap"/>
- <data format="tabular" name="input2_tmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} tmap file" from_work_dir="input2.tmap">
+ <data format="txt" name="transcripts_accuracy" label="${tool.name} on ${on_string}: transcript accuracy"
+ from_work_dir="cc_output.stats" />
+ <data format="tabular" name="input1_tmap" label="${tool.name} on ${on_string}: ${first_input.hid} data tmap file"
+ from_work_dir="cc_output.input1.tmap" />
+ <data format="tabular" name="input1_refmap" label="${tool.name} on ${on_string}: data ${first_input.hid} refmap file"
+ from_work_dir="cc_output.input1.refmap"/>
+ <data format="tabular" name="input2_tmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} tmap file" from_work_dir="cc_output.input2.tmap"><filter>len( input_files ) > 0</filter></data>
- <data format="tabular" name="input2_refmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} refmap file" from_work_dir="input2.refmap">
+ <data format="tabular" name="input2_refmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} refmap file" from_work_dir="cc_output.input2.refmap"><filter>len( input_files ) > 0</filter></data><data format="tabular" name="transcripts_tracking" label="${tool.name} on ${on_string}: transcript tracking" from_work_dir="cc_output.tracking">
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0

commit/galaxy-central: fubar: remove errant print statement from fastqc wrapper
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/5e6254f2b9e3/
changeset: 5e6254f2b9e3
user: fubar
date: 2011-06-09 17:38:37
summary: remove errant print statement from fastqc wrapper
affected #: 1 file (61 bytes)
--- a/tools/rgenetics/rgFastQC.py Thu Jun 09 11:26:41 2011 -0400
+++ b/tools/rgenetics/rgFastQC.py Thu Jun 09 11:38:37 2011 -0400
@@ -123,7 +123,6 @@
sauce = os.path.join(adir,f)
dest = os.path.join(self.opts.outputdir,f)
shutil.move(sauce,dest)
- print 'moved %s to %s' % (sauce,dest)
os.rmdir(adir)
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0