galaxy-commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
November 2011
- 1 participants
- 121 discussions
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/b258de1e6cea/
changeset: b258de1e6cea
user: jgoecks
date: 2011-11-17 21:08:49
summary: Pack js scripts.
affected #: 1 file
diff -r d39523d118fe21d71c994d185c2a0d96196f09b0 -r b258de1e6cea497052ae4eda1857bac3a7fdd935 static/scripts/packed/trackster.js
--- a/static/scripts/packed/trackster.js
+++ b/static/scripts/packed/trackster.js
@@ -1,1 +1,1 @@
-var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var get_random_color=function(a){if(!a){a="#ffffff"}if(typeof(a)==="string"){a=[a]}for(var j=0;j<a.length;j++){a[j]=parseInt(a[j].slice(1),16)}var m=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(u,t,v,r,i,s){return(Math.max(u,r)-Math.min(u,r))+(Math.max(t,i)-Math.min(t,i))+(Math.max(v,s)-Math.min(v,s))};var g,n,f,k,p,h,q,c,d,b,o,l=false;do{g=Math.random()*16777215;n=g|16711680;f=g|65280;k=g|255;d=m(n,f,k);l=true;for(var j=0;j<a.length;j++){p=a[j];h=p|16711680;q=p|65280;c=p|255;b=m(h,q,c);o=e(n,f,k,h,q,c);if((Math.abs(d-b)<125)||(o<500)){l=false;break}}}while(!l);return"#"+(16777216+g).toString(16).substr(1,6)};var trackster_module=function(f,X){var p=f("class").extend,s=f("slotting"),M=f("painters");var ae=function(af,ag){this.document=af;this.default_font=ag!==undefined?ag:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};p(ae.prototype,{load_pattern:function(af,aj){var ag=this.patterns,ah=this.dummy_context,ai=new Image();ai.src=image_path+aj;ai.onload=function(){ag[af]=ah.createPattern(ai,"repeat")}},get_pattern:function(af){return this.patterns[af]},new_canvas:function(){var af=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(af)}af.manager=this;return af}});var n={};var l=function(af,ag){n[af.attr("id")]=ag};var m=function(af,ah,aj,ai){aj=".group";var ag={};n[af.attr("id")]=ai;af.bind("drag",{handle:"."+ah,relative:true},function(ar,at){var aq=$(this);var aw=$(this).parent(),an=aw.children(),ap=n[$(this).attr("id")],am,al,au,ak,ao;al=$(this).parents(aj);if(al.length!==0){au=al.position().top;ak=au+al.outerHeight();if(at.offsetY<au){$(this).insertBefore(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable_before(ap,av);return}else{if(at.offsetY>ak){$(this).insertAfter(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable(ap);return}}}al=null;for(ao=0;ao<an.length;ao++){am=$(an.get(ao));au=am.position().top;ak=au+am.outerHeight();if(am.is(aj)&&this!==am.get(0)&&at.offsetY>=au&&at.offsetY<=ak){if(at.offsetY-au<ak-at.offsetY){am.find(".content-div").prepend(this)}else{am.find(".content-div").append(this)}if(ap.container){ap.container.remove_drawable(ap)}n[am.attr("id")].add_drawable(ap);return}}for(ao=0;ao<an.length;ao++){if(at.offsetY<$(an.get(ao)).position().top){break}}if(ao===an.length){if(this!==an.get(ao-1)){aw.append(this);n[aw.attr("id")].move_drawable(ap,ao)}}else{if(this!==an.get(ao)){$(this).insertBefore(an.get(ao));n[aw.attr("id")].move_drawable(ap,(at.deltaY>0?ao-1:ao))}}}).bind("dragstart",function(){ag["border-top"]=af.css("border-top");ag["border-bottom"]=af.css("border-bottom");$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css(ag)})};X.moveable=m;var ad=16,H=9,E=20,T=H+2,z=100,J=12000,R=200,C=5,v=10,L=5000,w=100,o="There was an error in indexing this dataset. ",K="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",F="No data for this chrom/contig.",t="Currently indexing... please wait",x="Tool cannot be rerun: ",a="Loading data...",Y="Ready for display",d=10,u=5,B=5;function Z(ag,af){if(!af){af=0}var ah=Math.pow(10,af);return Math.round(ag*ah)/ah}var c=function(af){this.num_elements=af;this.clear()};p(c.prototype,{get:function(ag){var af=this.key_ary.indexOf(ag);if(af!==-1){if(this.obj_cache[ag].stale){this.key_ary.splice(af,1);delete this.obj_cache[ag]}else{this.move_key_to_end(ag,af)}}return this.obj_cache[ag]},set:function(ag,ah){if(!this.obj_cache[ag]){if(this.key_ary.length>=this.num_elements){var af=this.key_ary.shift();delete this.obj_cache[af]}this.key_ary.push(ag)}this.obj_cache[ag]=ah;return ah},move_key_to_end:function(ag,af){this.key_ary.splice(af,1);this.key_ary.push(ag)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var S=function(ag,af,ah){c.call(this,ag);this.track=af;this.subset=(ah!==undefined?ah:true)};p(S.prototype,c.prototype,{load_data:function(ao,aj,am,ag,al){var an=this.track.view.chrom,ai={chrom:an,low:ao,high:aj,mode:am,resolution:ag,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(ai,al);if(this.track.filters_manager){var ap=[];var af=this.track.filters_manager.filters;for(var ak=0;ak<af.length;ak++){ap[ap.length]=af[ak].name}ai.filter_cols=JSON.stringify(ap)}var ah=this;return $.getJSON(this.track.data_url,ai,function(aq){ah.set_data(ao,aj,am,aq)})},get_data:function(af,aj,ak,ag,ai){var ah=this.get_data_from_cache(af,aj,ak);if(ah){return ah}ah=this.load_data(af,aj,ak,ag,ai);this.set_data(af,aj,ak,ah);return ah},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(an,ai,am,ah,al,aj){var ao=this.get_data_from_cache(an,ai,am);if(!ao){console.log("ERROR: no current data for: ",this.track,an,ai,am,ah,al);return}ao.stale=true;var ag=an;if(aj===this.DEEP_DATA_REQ){$.extend(al,{start_val:ao.data.length+1})}else{if(aj===this.BROAD_DATA_REQ){ag=(ao.max_high?ao.max_high:ao.data[ao.data.length-1][2])+1}}var af=this,ak=this.load_data(ag,ai,am,ah,al);new_data_available=$.Deferred();this.set_data(an,ai,am,new_data_available);$.when(ak).then(function(ap){if(ap.data){ap.data=ao.data.concat(ap.data);if(ap.max_low){ap.max_low=ao.max_low}if(ap.message){ap.message=ap.message.replace(/[0-9]+/,ap.data.length)}}af.set_data(an,ai,am,ap);new_data_available.resolve(ap)});return new_data_available},get_data_from_cache:function(af,ag,ah){return this.get(this.gen_key(af,ag,ah))},set_data:function(ag,ah,ai,af){return this.set(this.gen_key(ag,ah,ai),af)},gen_key:function(af,ah,ai){var ag=af+"_"+ah+"_"+ai;return ag},split_key:function(af){return af.split("_")}});var I=function(ag,af,ah){S.call(this,ag,af,ah)};p(I.prototype,S.prototype,c.prototype,{load_data:function(af,ai,aj,ag,ah){if(ag>1){return{data:null}}return S.prototype.load_data.call(this,af,ai,aj,ag,ah)}});var q=function(ai,ag,af,ah,aj){if(!q.id_counter){q.id_counter=0}this.id=q.id_counter++;this.name=ai;this.view=ag;this.container=af;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ai}],saved_values:ah,onchange:function(){this.track.set_name(this.track.config.values.name)}});this.prefs=this.config.values;this.drag_handle_class=aj;this.is_overview=false};p(q.prototype,{init:function(){},request_draw:function(){},_draw:function(){},to_json:function(){},update_icons:function(){},set_name:function(af){this.old_name=this.name;this.name=af;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)},remove:function(){this.container.remove_drawable(this);this.container_div.hide(0,function(){$(this).remove();view.update_intro_div();view.has_changes=true})}});var y=function(aj,ai,ag,af,ah,ak){q.call(this,ai,ag,af,ah,ak);this.obj_type=aj;this.drawables=[]};p(y.prototype,q.prototype,{init:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af].init()}},_draw:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af]._draw()}},to_json:function(){var ag=[];for(var af=0;af<this.drawables.length;af++){ag.push(this.drawables[af].to_json())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:ag}},add_drawable:function(af){this.drawables.push(af);af.container=this},add_drawable_before:function(ah,af){var ag=this.drawables.indexOf(af);if(ag!=-1){this.drawables.splice(ag,0,ah);return true}return false},remove_drawable:function(ag){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);ag.container=null;return true}return false},move_drawable:function(ag,ah){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);this.drawables.splice(ah,0,ag);return true}return false}});var Q=function(ai,ag,af,ah){y.call(this,"DrawableGroup",ai,ag,af,ah,"group-handle");this.container_div=$("<div/>").addClass("group").attr("id","group_"+this.id).appendTo(this.container.content_div);this.header_div=$("<div/>").addClass("track-header").appendTo(this.container_div);this.header_div.append($("<div/>").addClass(this.drag_handle_class));this.name_div=$("<div/>").addClass("group-name menubutton popup").text(this.name).appendTo(this.header_div);this.content_div=$("<div/>").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div);l(this.container_div,this);l(this.content_div,this);m(this.container_div,this.drag_handle_class,".group",this);this.update_icons()};p(Q.prototype,q.prototype,y.prototype,{update_icons:function(){var ag=this;var af={};af["Edit configuration"]=function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Group",ag.config.build_form(),{Cancel:aj,OK:ah})};af.Remove=function(){ag.remove()};make_popupmenu(ag.name_div,af)}});var ac=function(af,ai,ah,ag){y.call(this,"View");this.container=af;this.chrom=null;this.vis_id=ah;this.dbkey=ag;this.title=ai;this.label_tracks=[];this.tracks_to_be_redrawn=[];this.max_low=0;this.max_high=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.load_chroms_deferred=null;this.init();this.canvas_manager=new ae(af.get(0).ownerDocument);this.reset()};p(ac.prototype,y.prototype,{init:function(){var ah=this.container,af=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ah);this.browser_content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ah);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ah);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div);this.content_div=this.viewport_container;l(this.viewport_container,af);this.intro_div=$("<div/>").addClass("intro");var ai=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a/>").attr("href","javascript:void(0);").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var ag=function(aj){if(aj.type==="focusout"||(aj.keyCode||aj.which)===13||(aj.keyCode||aj.which)===27){if((aj.keyCode||aj.which)!==27){af.go_to($(this).val())}$(this).hide();$(this).val("");af.location_span.show();af.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",ag).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").attr("original-title","Click to change location").tipsy({gravity:"n"}).appendTo(this.nav_controls);this.location_span.click(function(){af.location_span.hide();af.chrom_select.hide();af.nav_input.val(af.chrom+":"+af.low+"-"+af.high);af.nav_input.css("display","inline-block");af.nav_input.select();af.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a/>").attr("id","zoom-out").attr("title","Zoom out").tipsy({gravity:"n"}).click(function(){af.zoom_out();af.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a/>").attr("id","zoom-in").attr("title","Zoom in").tipsy({gravity:"n"}).click(function(){af.zoom_in();af.request_redraw()}).appendTo(this.nav_controls);this.load_chroms_deferred=this.load_chroms({low:0});this.chrom_select.bind("change",function(){af.change_chrom(af.chrom_select.val())});this.browser_content_div.click(function(aj){$(this).find("input").trigger("blur")});this.browser_content_div.bind("dblclick",function(aj){af.zoom_in(aj.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(aj,ak){this.current_x=ak.offsetX}).bind("drag",function(aj,al){var am=al.offsetX-this.current_x;this.current_x=al.offsetX;var ak=Math.round(am/af.viewport_container.width()*(af.max_high-af.max_low));af.move_delta(-ak)});this.overview_close.click(function(){af.reset_overview()});this.viewport_container.bind("draginit",function(aj,ak){if(aj.clientX>af.viewport_container.width()-16){return false}}).bind("dragstart",function(aj,ak){ak.original_low=af.low;ak.current_height=aj.clientY;ak.current_x=ak.offsetX}).bind("drag",function(al,an){var aj=$(this);var ao=an.offsetX-an.current_x;var ak=aj.scrollTop()-(al.clientY-an.current_height);aj.scrollTop(ak);an.current_height=al.clientY;an.current_x=an.offsetX;var am=Math.round(ao/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}).bind("mousewheel",function(al,an,ak,aj){if(ak){ak*=50;var am=Math.round(-ak/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}});this.top_labeltrack.bind("dragstart",function(aj,ak){return $("<div />").css({height:af.browser_content_div.height()+af.top_labeltrack.height()+af.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(an,ao){$(ao.proxy).css({left:Math.min(an.pageX,ao.startX),width:Math.abs(an.pageX-ao.startX)});var ak=Math.min(an.pageX,ao.startX)-af.container.offset().left,aj=Math.max(an.pageX,ao.startX)-af.container.offset().left,am=(af.high-af.low),al=af.viewport_container.width();af.update_location(Math.round(ak/al*am)+af.low,Math.round(aj/al*am)+af.low)}).bind("dragend",function(ao,ap){var ak=Math.min(ao.pageX,ap.startX),aj=Math.max(ao.pageX,ap.startX),am=(af.high-af.low),al=af.viewport_container.width(),an=af.low;af.low=Math.round(ak/al*am)+an;af.high=Math.round(aj/al*am)+an;$(ap.proxy).remove();af.request_redraw()});this.add_label_track(new ab(this,{content_div:this.top_labeltrack}));this.add_label_track(new ab(this,{content_div:this.nav_labeltrack}));$(window).bind("resize",function(){af.resize_window()});$(document).bind("redraw",function(){af.redraw()});this.reset();$(window).trigger("resize")},update_intro_div:function(){if(this.drawables.length===0){this.intro_div.appendTo(this.viewport_container)}else{this.intro_div.remove()}},update_location:function(af,ag){this.location_span.text(commatize(af)+" - "+commatize(ag));this.nav_input.val(this.chrom+":"+commatize(af)+"-"+commatize(ag))},load_chroms:function(ah){ah.num=w;$.extend(ah,(this.vis_id!==undefined?{vis_id:this.vis_id}:{dbkey:this.dbkey}));var af=this,ag=$.Deferred();$.ajax({url:chrom_url,data:ah,dataType:"json",success:function(aj){if(aj.chrom_info.length===0){alert("Invalid chromosome: "+ah.chrom);return}if(aj.reference){af.add_label_track(new A(af))}af.chrom_data=aj.chrom_info;var am='<option value="">Select Chrom/Contig</option>';for(var al=0,ai=af.chrom_data.length;al<ai;al++){var ak=af.chrom_data[al].chrom;am+='<option value="'+ak+'">'+ak+"</option>"}if(aj.prev_chroms){am+='<option value="previous">Previous '+w+"</option>"}if(aj.next_chroms){am+='<option value="next">Next '+w+"</option>"}af.chrom_select.html(am);af.chrom_start_index=aj.start_index;ag.resolve(aj)},error:function(){alert("Could not load chroms for this dbkey:",af.dbkey)}});return ag},change_chrom:function(ak,ag,am){if(!ak||ak==="None"){return}var ah=this;if(ak==="previous"){ah.load_chroms({low:this.chrom_start_index-w});return}if(ak==="next"){ah.load_chroms({low:this.chrom_start_index+w});return}var al=$.grep(ah.chrom_data,function(an,ao){return an.chrom===ak})[0];if(al===undefined){ah.load_chroms({chrom:ak},function(){ah.change_chrom(ak,ag,am)});return}else{if(ak!==ah.chrom){ah.chrom=ak;ah.chrom_select.val(ah.chrom);ah.max_high=al.len-1;ah.reset();ah.request_redraw(true);for(var aj=0,af=ah.drawables.length;aj<af;aj++){var ai=ah.drawables[aj];if(ai.init){ai.init()}}}if(ag!==undefined&&am!==undefined){ah.low=Math.max(ag,0);ah.high=Math.min(am,ah.max_high)}ah.reset_overview();ah.request_redraw()}},go_to:function(aj){aj=aj.replace(/ |,/g,"");var an=this,af,ai,ag=aj.split(":"),al=ag[0],am=ag[1];if(am!==undefined){try{var ak=am.split("-");af=parseInt(ak[0],10);ai=parseInt(ak[1],10)}catch(ah){return false}}an.change_chrom(al,af,ai)},move_fraction:function(ah){var af=this;var ag=af.high-af.low;this.move_delta(ah*ag)},move_delta:function(ah){var af=this;var ag=af.high-af.low;if(af.low-ah<af.max_low){af.low=af.max_low;af.high=af.max_low+ag}else{if(af.high-ah>af.max_high){af.high=af.max_high;af.low=af.max_high-ag}else{af.high-=ah;af.low-=ah}}af.request_redraw()},add_drawable:function(af){y.prototype.add_drawable.call(this,af);af.init();this.has_changes=true;this.update_intro_div()},add_label_track:function(af){af.view=this;af.init();this.label_tracks.push(af)},remove_drawable:function(ah,ag){y.prototype.remove_drawable.call(this,ah);if(ag){var af=this;ah.container_div.hide(0,function(){$(this).remove();af.update_intro_div()});this.has_changes=true}},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(an,af,am,ag){var al=this,aj=(ag?[ag]:al.drawables),ah;var ag;for(var ak=0;ak<aj.length;ak++){ag=aj[ak];ah=-1;for(var ai=0;ai<al.tracks_to_be_redrawn.length;ai++){if(al.tracks_to_be_redrawn[ai][0]===ag){ah=ai;break}}if(ah<0){al.tracks_to_be_redrawn.push([ag,af,am])}else{al.tracks_to_be_redrawn[ak][1]=af;al.tracks_to_be_redrawn[ak][2]=am}}requestAnimationFrame(function(){al._redraw(an)})},_redraw:function(ap){var am=this.low,ai=this.high;if(am<this.max_low){am=this.max_low}if(ai>this.max_high){ai=this.max_high}var ao=this.high-this.low;if(this.high!==0&&ao<this.min_separation){ai=am+this.min_separation}this.low=Math.floor(am);this.high=Math.ceil(ai);this.resolution=Math.pow(C,Math.ceil(Math.log((this.high-this.low)/R)/Math.log(C)));this.zoom_res=Math.pow(v,Math.max(0,Math.ceil(Math.log(this.resolution,v)/Math.log(v))));var af=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var al=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var aq=13;this.overview_box.css({left:af,width:Math.max(aq,al)}).show();if(al<aq){this.overview_box.css("left",af-(aq-al)/2)}if(this.overview_highlight){this.overview_highlight.css({left:af,width:al})}this.update_location(this.low,this.high);if(!ap){var ah,ag,an;for(var aj=0,ak=this.tracks_to_be_redrawn.length;aj<ak;aj++){ah=this.tracks_to_be_redrawn[aj][0];ag=this.tracks_to_be_redrawn[aj][1];an=this.tracks_to_be_redrawn[aj][2];if(ah){ah._draw(ag,an)}}this.tracks_to_be_redrawn=[];for(aj=0,ak=this.label_tracks.length;aj<ak;aj++){this.label_tracks[aj]._draw()}}},zoom_in:function(ag,ah){if(this.max_high===0||this.high-this.low<this.min_separation){return}var ai=this.high-this.low,aj=ai/2+this.low,af=(ai/this.zoom_factor)/2;if(ag){aj=ag/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(aj-af);this.high=Math.round(aj+af);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var ag=this.high-this.low,ah=ag/2+this.low,af=(ag*this.zoom_factor)/2;this.low=Math.round(ah-af);this.high=Math.round(ah+af);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.nav_container.width(this.container.width());this.request_redraw()},set_overview:function(ah){if(this.overview_drawable){if(this.overview_drawable.dataset_id===ah.dataset_id){return}this.overview_viewport.find(".track").remove()}var ag=ah.copy({content_div:this.overview_viewport}),af=this;ag.header_div.hide();ag.is_overview=true;af.overview_drawable=ag;this.overview_drawable.postdraw_actions=function(){af.overview_highlight.show().height(af.overview_drawable.content_div.height());af.overview_viewport.height(af.overview_drawable.content_div.height()+af.overview_box.outerHeight());af.overview_close.show();af.resize_window()};this.overview_drawable.init();af.has_changes=true},reset_overview:function(){$(".tipsy").remove();this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();view.overview_drawable=null}});var r=function(ah,al){this.track=ah;this.name=al.name;this.params=[];var at=al.params;for(var ai=0;ai<at.length;ai++){var an=at[ai],ag=an.name,ar=an.label,aj=unescape(an.html),au=an.value,ap=an.type;if(ap==="number"){this.params[this.params.length]=new g(ag,ar,aj,au,an.min,an.max)}else{if(ap=="select"){this.params[this.params.length]=new O(ag,ar,aj,au)}else{console.log("WARNING: unrecognized tool parameter type:",ag,ap)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(aw){aw.stopPropagation()}).click(function(aw){aw.stopPropagation()}).bind("dblclick",function(aw){aw.stopPropagation()});var aq=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var ao=this.params;var am=this;$.each(this.params,function(ax,aA){var az=$("<div>").addClass("param-row").appendTo(am.parent_div);var aw=$("<div>").addClass("param-label").text(aA.label).appendTo(az);var ay=$("<div/>").addClass("slider").html(aA.html).appendTo(az);ay.find(":input").val(aA.value);$("<div style='clear: both;'/>").appendTo(az)});this.parent_div.find("input").click(function(){$(this).select()});var av=$("<div>").addClass("param-row").appendTo(this.parent_div);var ak=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(av);var af=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(av);var am=this;af.click(function(){am.run_on_region()});ak.click(function(){am.run_on_dataset()})};p(r.prototype,{get_param_values_dict:function(){var af={};this.parent_div.find(":input").each(function(){var ag=$(this).attr("name"),ah=$(this).val();af[ag]=JSON.stringify(ah)});return af},get_param_values:function(){var ag=[];var af={};this.parent_div.find(":input").each(function(){var ah=$(this).attr("name"),ai=$(this).val();if(ah){ag[ag.length]=ai}});return ag},run_on_dataset:function(){var af=this;af.run({dataset_id:this.track.original_dataset_id,tool_id:af.name},null,function(ag){show_modal(af.name+" is Running",af.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var ag={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},aj=this.track,ah=ag.tool_id+aj.tool_region_and_parameters_str(ag.chrom,ag.low,ag.high),af;if(aj.container===view){var ai=new Q(this.name,this.track.view,this.track.container);aj.container.add_drawable(ai);aj.container.remove_drawable(aj);ai.add_drawable(aj);aj.container_div.appendTo(ai.content_div);af=ai}else{af=aj.container}var ak=new aj.constructor(ah,view,af,"hda");ak.init_for_tool_data();ak.change_mode(aj.mode);af.add_drawable(ak);ak.content_div.text("Starting job.");this.run(ag,ak,function(al){ak.dataset_id=al.dataset_id;ak.content_div.text("Running job.");ak.init()})},run:function(ag,ah,ai){$.extend(ag,this.get_param_values_dict());var af=function(){$.getJSON(rerun_tool_url,ag,function(aj){if(aj==="no converter"){ah.container_div.addClass("error");ah.content_div.text(K)}else{if(aj.error){ah.container_div.addClass("error");ah.content_div.text(x+aj.message)}else{if(aj==="pending"){ah.container_div.addClass("pending");ah.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(af,2000)}else{ai(aj)}}}})};af()}});var O=function(ag,af,ah,ai){this.name=ag;this.label=af;this.html=ah;this.value=ai};var g=function(ah,ag,aj,ak,ai,af){O.call(this,ah,ag,aj,ak);this.min=ai;this.max=af};var h=function(ag,af,ah,ai){this.name=ag;this.index=af;this.tool_id=ah;this.tool_exp_name=ai};var V=function(ag,af,ah,ai){h.call(this,ag,af,ah,ai);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};p(V.prototype,{applies_to:function(af){if(af.length>this.index){return true}return false},keep:function(af){if(!this.applies_to(af)){return true}var ag=af[this.index];return(isNaN(ag)||(ag>=this.low&&ag<=this.high))},update_attrs:function(ag){var af=false;if(!this.applies_to(ag)){return af}if(ag[this.index]<this.min){this.min=Math.floor(ag[this.index]);af=true}if(ag[this.index]>this.max){this.max=Math.ceil(ag[this.index]);af=true}return af},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ah=function(ak,ai){var aj=ai-ak;return(aj<=2?0.01:1)};var ag=this.slider.slider("option","min"),af=this.slider.slider("option","max");if(this.min<ag||this.max>af){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ah(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var aa=function(aq,ay){this.track=aq;this.filters=[];for(var at=0;at<ay.length;at++){var au=ay[at],az=au.name,af=au.type,ah=au.index,ax=au.tool_id,aw=au.tool_exp_name;if(af==="int"||af==="float"){this.filters[at]=new V(az,ah,ax,aw)}else{console.log("ERROR: unsupported filter: ",az,af)}}var ai=function(aA,aB,aC){aA.click(function(){var aD=aB.text();max=parseFloat(aC.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(aC.slider("option","values")){input_size=2*input_size+1;multi_value=true}aB.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",aD).appendTo(aB).focus().select().click(function(aE){aE.stopPropagation()}).blur(function(){$(this).remove();aB.text(aD)}).keyup(function(aI){if(aI.keyCode===27){$(this).trigger("blur")}else{if(aI.keyCode===13){var aG=aC.slider("option","min"),aE=aC.slider("option","max"),aH=function(aJ){return(isNaN(aJ)||aJ>aE||aJ<aG)},aF=$(this).val();if(!multi_value){aF=parseFloat(aF);if(aH(aF)){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}else{aF=aF.split("-");aF=[parseFloat(aF[0]),parseFloat(aF[1])];if(aH(aF[0])||aH(aF[1])){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}aC.slider((multi_value?"values":"value"),aF)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(aA){aA.stopPropagation()}).click(function(aA){aA.stopPropagation()}).bind("dblclick",function(aA){aA.stopPropagation()}).bind("keydown",function(aA){aA.stopPropagation()});var av=$("<div/>").addClass("sliders").appendTo(this.parent_div);var an=this;$.each(this.filters,function(aD,aF){aF.container=$("<div/>").addClass("filter-row slider-row").appendTo(av);var aE=$("<div/>").addClass("elt-label").appendTo(aF.container);var aC=$("<span/>").addClass("slider-name").text(aF.name+" ").appendTo(aE);var aB=$("<span/>");var aH=$("<span/>").addClass("slider-value").appendTo(aE).append("[").append(aB).append("]");var aA=$("<div/>").addClass("slider").appendTo(aF.container);aF.control_element=$("<div/>").attr("id",aF.name+"-filter-control").appendTo(aA);var aG=[0,0];aF.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aJ,aK){var aI=aK.values;aB.text(aI[0]+"-"+aI[1]);aF.low=aI[0];aF.high=aI[1];an.track.request_draw(true,true)},change:function(aI,aJ){aF.control_element.slider("option","slide").call(aF.control_element,aI,aJ)}});aF.slider=aF.control_element;aF.slider_label=aB;ai(aH,aB,aF.control_element);$("<div style='clear: both;'/>").appendTo(aF.container)});if(this.filters.length!==0){var ak=$("<div/>").addClass("param-row").appendTo(av);var am=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ak);var ag=this;am.click(function(){ag.run_on_dataset()})}var ap=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ar,al,ao,aj={Transparency:function(aA){an.alpha_filter=aA},Height:function(aA){an.height_filter=aA}};$.each(aj,function(aC,aB){ar=$("<div/>").addClass("filter-row").appendTo(ap),al=$("<span/>").addClass("elt-label").text(aC+":").appendTo(ar),ao=$("<select/>").attr("name",aC+"_dropdown").css("float","right").appendTo(ar);$("<option/>").attr("value",-1).text("== None ==").appendTo(ao);for(var aA=0;aA<an.filters.length;aA++){$("<option/>").attr("value",aA).text(an.filters[aA].name).appendTo(ao)}ao.change(function(){$(this).children("option:selected").each(function(){var aD=parseInt($(this).val());aj[aC]((aD>=0?an.filters[aD]:null));an.track.request_draw(true,true)})});$("<div style='clear: both;'/>").appendTo(ar)});$("<div style='clear: both;'/>").appendTo(this.parent_div)};p(aa.prototype,{reset_filters:function(){for(var af=0;af<this.filters.length;af++){filter=this.filters[af];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null;this.height_filter=null},run_on_dataset:function(){var an=function(ar,ap,aq){if(!(ap in ar)){ar[ap]=aq}return ar[ap]};var ah={},af,ag,ai;for(var aj=0;aj<this.filters.length;aj++){af=this.filters[aj];if(af.tool_id){if(af.min!=af.low){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" >= "+af.low}if(af.max!=af.high){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" <= "+af.high}}}var al=[];for(var ao in ah){al[al.length]=[ao,ah[ao]]}var am=al.length;(function ak(aw,at){var aq=at[0],ar=aq[0],av=aq[1],au="("+av.join(") and (")+")",ap={cond:au,input:aw,target_dataset_id:aw,tool_id:ar},at=at.slice(1);$.getJSON(run_tool_url,ap,function(ax){if(ax.error){show_modal("Filter Dataset","Error running tool "+ar,{Close:hide_modal})}else{if(at.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{ak(ax.dataset_id,at)}}})})(this.track.dataset_id,al)}});var D=function(af,ag){M.Scaler.call(this,ag);this.filter=af};D.prototype.gen_val=function(af){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_val}return((parseFloat(af[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var G=function(af){this.track=af.track;this.params=af.params;this.values={};this.restore_values((af.saved_values?af.saved_values:{}));this.onchange=af.onchange};p(G.prototype,{restore_values:function(af){var ag=this;$.each(this.params,function(ah,ai){if(af[ai.key]!==undefined){ag.values[ai.key]=af[ai.key]}else{ag.values[ai.key]=ai.default_value}})},build_form:function(){var ai=this;var af=$("<div />");var ah;function ag(am,aj){for(var ao=0;ao<am.length;ao++){ah=am[ao];if(ah.hidden){continue}var ak="param_"+ao;var at=ai.values[ah.key];var av=$("<div class='form-row' />").appendTo(aj);av.append($("<label />").attr("for",ak).text(ah.label+":"));if(ah.type==="bool"){av.append($('<input type="checkbox" />').attr("id",ak).attr("name",ak).attr("checked",at))}else{if(ah.type==="text"){av.append($('<input type="text"/>').attr("id",ak).val(at).click(function(){$(this).select()}))}else{if(ah.type=="select"){var aq=$("<select />").attr("id",ak);for(var an=0;an<ah.options.length;an++){$("<option/>").text(ah.options[an].label).attr("value",ah.options[an].value).appendTo(aq)}aq.val(at);av.append(aq)}else{if(ah.type==="color"){var ap=$("<input />").attr("id",ak).attr("name",ak).val(at);var ar=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();var al=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ar);var au=$("<div/>").appendTo(al).farbtastic({width:100,height:100,callback:ap,color:at});$("<div />").append(ap).append(ar).appendTo(av).bind("click",function(aw){ar.css({left:$(this).position().left+$(ap).width()+5,top:$(this).position().top-($(ar).height()/2)+($(ap).height()/2)}).show();$(document).bind("click.color-picker",function(){ar.hide();$(document).unbind("click.color-picker")});aw.stopPropagation()})}else{av.append($("<input />").attr("id",ak).attr("name",ak).val(at))}}}}if(ah.help){av.append($("<div class='help'/>").text(ah.help))}}}ag(this.params,af);return af},update_from_form:function(af){var ah=this;var ag=false;$.each(this.params,function(ai,ak){if(!ak.hidden){var al="param_"+ai;var aj=af.find("#"+al).val();if(ak.type==="float"){aj=parseFloat(aj)}else{if(ak.type==="int"){aj=parseInt(aj)}else{if(ak.type==="bool"){aj=af.find("#"+al).is(":checked")}}}if(aj!==ah.values[ak.key]){ah.values[ak.key]=aj;ag=true}}});if(ag){this.onchange()}}});var b=function(af,ai,ah,ag,aj){this.track=af;this.index=ai;this.low=ai*R*ah;this.high=(ai+1)*R*ah;this.resolution=ah;this.canvas=$("<div class='track-tile'/>").append(ag);this.data=aj;this.stale=false};b.prototype.predisplay_actions=function(){};var k=function(af,ai,ah,ag,aj,ak){b.call(this,af,ai,ah,ag,aj);this.max_val=ak};p(k.prototype,b.prototype);var P=function(af,aj,ai,ah,al,am,ak,ag){b.call(this,af,aj,ai,ah,al);this.mode=am;this.message=ak;this.feature_mapper=ag};p(P.prototype,b.prototype);P.prototype.predisplay_actions=function(){var ag=this,af={};if(ag.mode!=="Pack"){return}$(this.canvas).hover(function(){this.hovered=true;$(this).mousemove()},function(){this.hovered=false;$(this).siblings(".feature-popup").remove()}).mousemove(function(ar){if(!this.hovered){return}var am=$(this).offset(),aq=ar.pageX-am.left,ap=ar.pageY-am.top,aw=ag.feature_mapper.get_feature_data(aq,ap),an=(aw?aw[0]:null);$(this).siblings(".feature-popup").each(function(){if(!an||$(this).attr("id")!==an.toString()){$(this).remove()}});if(aw){var ai=af[an];if(!ai){var an=aw[0],at={name:aw[3],start:aw[1],end:aw[2],strand:aw[4]},al=ag.track.filters_manager.filters,ak;for(var ao=0;ao<al.length;ao++){ak=al[ao];at[ak.name]=aw[ak.index]}var ai=$("<div/>").attr("id",an).addClass("feature-popup"),ax=$("<table/>"),av,au,ay;for(av in at){au=at[av];ay=$("<tr/>").appendTo(ax);$("<th/>").appendTo(ay).text(av);$("<td/>").attr("align","left").appendTo(ay).text(typeof(au)=="number"?Z(au,2):au)}ai.append($("<div class='feature-popup-inner'>").append(ax));af[an]=ai}ai.appendTo($(ag.canvas).parent());var aj=aq+parseInt(ag.canvas.css("left"))-ai.width()/2,ah=ap+parseInt(ag.canvas.css("top"))+7;ai.css("left",aj+"px").css("top",ah+"px")}else{if(!ar.isPropagationStopped()){ar.stopPropagation();$(this).siblings().each(function(){$(this).trigger(ar)})}}}).mouseleave(function(){$(this).siblings(".feature-popup").remove()})};var i=function(ai,aq,aj,am,ar,ah,ag){q.call(this,ai,aq,aj,{},"draghandle");this.data_url=(ah?ah:default_data_url);this.data_url_extra_params={};this.data_query_wait=(ag?ag:L);this.dataset_check_url=converted_datasets_state_url;this.content_visible=true;if(!i.id_counter){i.id_counter=0}this.id=i.id_counter++;this.container_div=$("<div />").addClass("track").attr("id","track_"+this.id).css("position","relative");if(am){this.header_div=$("<div class='track-header' />").appendTo(this.container_div);if(this.view.editor){this.drag_div=$("<div/>").addClass(this.drag_handle_class).appendTo(this.header_div)}this.name_div=$("<div/>").addClass("track-name").appendTo(this.header_div).text(this.name).attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase());this.icons_div=$("<div/>").css("float","left").appendTo(this.header_div).hide();this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show track content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(this.icons_div);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(this.icons_div);this.overview_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set as overview").addClass("icon-button overview-icon").tipsy({gravity:"s"}).appendTo(this.icons_div);this.filters_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Filters").addClass("icon-button filters-icon").tipsy({gravity:"s"}).appendTo(this.icons_div).hide();this.tools_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Tools").addClass("icon-button tools-icon").tipsy({gravity:"s"}).appendTo(this.icons_div).hide();this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(this.icons_div);var ak=this;this.header_div.dblclick(function(at){at.stopPropagation()});this.toggle_icon.click(function(){if(ak.content_visible){ak.toggle_icon.addClass("toggle-expand").removeClass("toggle");ak.hide_contents();ak.mode_div.hide();ak.content_visible=false}else{ak.toggle_icon.addClass("toggle").removeClass("toggle-expand");ak.content_visible=true;ak.mode_div.show();ak.show_contents()}});this.settings_icon.click(function(){var av=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},at=function(){ak.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},au=function(aw){if((aw.keyCode||aw.which)===27){av()}else{if((aw.keyCode||aw.which)===13){at()}}};$(window).bind("keypress.check_enter_esc",au);show_modal("Configure Track",ak.config.build_form(),{Cancel:av,OK:at})});this.overview_icon.click(function(){ak.view.set_overview(ak)});this.filters_icon.click(function(){ak.filters_div.toggle();ak.filters_manager.reset_filters()});this.tools_icon.click(function(){ak.dynamic_tool_div.toggle();if(ak.dynamic_tool_div.is(":visible")){ak.set_name(ak.name+ak.tool_region_and_parameters_str())}else{ak.revert_name()}$(".tipsy").remove()});this.remove_icon.click(function(){$(".tipsy").remove();ak.remove()});if(ak.display_modes!==undefined){if(ak.mode_div===undefined){ak.mode_div=$("<div class='right-float menubutton popup' />").appendTo(ak.header_div);var al=(ak.config&&ak.config.values.mode?ak.config.values.mode:ak.display_modes[0]);ak.mode=al;ak.mode_div.text(al);var af={};for(var an=0,ap=ak.display_modes.length;an<ap;an++){var ao=ak.display_modes[an];af[ao]=function(at){return function(){ak.change_mode(at)}}(ao)}make_popupmenu(ak.mode_div,af)}else{ak.mode_div.hide()}this.header_div.append($("<div/>").css("clear","both"));this.container_div.hover(function(){ak.icons_div.show()},function(){ak.icons_div.hide()})}}this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.container.content_div.append(this.container_div)};p(i.prototype,q.prototype,{get_type:function(){if(this instanceof ab){return"LabelTrack"}else{if(this instanceof A){return"ReferenceTrack"}else{if(this instanceof j){return"LineTrack"}else{if(this instanceof W){return"ReadTrack"}else{if(this instanceof U){return"VcfTrack"}else{if(this instanceof e){return"FeatureTrack"}}}}}}return""},init:function(){var af=this;af.enabled=false;af.tile_cache.clear();af.data_manager.clear();af.initial_canvas=undefined;af.content_div.css("height","auto");af.container_div.removeClass("nodata error pending");if(!af.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:af.hda_ldda,dataset_id:af.dataset_id,chrom:af.view.chrom},function(ag){if(!ag||ag==="error"||ag.kind==="error"){af.container_div.addClass("error");af.content_div.text(o);if(ag.message){var ah=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+ag.message+"</pre>",{Close:hide_modal})});af.content_div.append(ah)}}else{if(ag==="no converter"){af.container_div.addClass("error");af.content_div.text(K)}else{if(ag==="no data"||(ag.data!==undefined&&(ag.data===null||ag.data.length===0))){af.container_div.addClass("nodata");af.content_div.text(F)}else{if(ag==="pending"){af.container_div.addClass("pending");af.content_div.text(t);setTimeout(function(){af.init()},af.data_query_wait)}else{if(ag.status==="data"){if(ag.valid_chroms){af.valid_chroms=ag.valid_chroms;af.update_icons()}af.content_div.text(Y);if(af.view.chrom){af.content_div.text("");af.content_div.css("height",af.height_px+"px");af.enabled=true;$.when(af.predraw_init()).done(function(){af.container_div.removeClass("nodata error pending");af.request_draw()})}}}}}}});this.update_icons()},hide_contents:function(){this.content_div.children().remove();this.content_div.hide();this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.content_div.show();this.container_div.find(".yaxislabel, .track-resize").show();this.request_draw()},predraw_init:function(){}});var N=function(aj,ah,ag,am,ai,al,ak){i.call(this,aj,ah,ag,am,ai);var af=this,ah=af.view;m(af.container_div,af.drag_handle_class,".group",af);this.filters_manager=new aa(this,(al!==undefined?al:{}));this.filters_available=false;this.filters_visible=false;this.tool=(ak!==undefined&&obj_length(ak)>0?new r(this,ak):undefined);if(this.header_div){if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}}};p(N.prototype,q.prototype,i.prototype,{copy:function(af){return new this.constructor(this.name,this.view,af,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool)},to_json:function(){return{track_type:this.get_type(),name:this.name,hda_ldda:this.hda_ldda,dataset_id:this.dataset_id,prefs:this.prefs,mode:this.mode,}},change_mode:function(ag){var af=this;af.mode_div.text(ag);af.mode=ag;af.config.values.mode=ag;af.tile_cache.clear();af.request_draw();return af},update_icons:function(){var af=this;if(af.filters_available>0){af.filters_icon.show()}else{af.filters_icon.hide()}if(af.tool){af.tools_icon.show()}else{af.tools_icon.hide()}},_gen_tile_cache_key:function(ag,ah,af){return ag+"_"+ah+"_"+af},request_draw:function(ag,af){this.view.request_redraw(false,ag,af,this)},_draw:function(ah,ap){if(!this.enabled){return}if(!this.content_visible){return}if(!(this instanceof A)&&(!this.dataset_id)){return}var ao=this.view.low,al=this.view.high,am=al-ao,ai=this.view.container.width(),at=ai/am,ak=this.view.resolution,ar=$("<div style='position: relative;'></div>");if(this.is_overview){ao=this.view.max_low;al=this.view.max_high;ak=Math.pow(C,Math.ceil(Math.log((view.max_high-view.max_low)/R)/Math.log(C)));at=ai/(view.max_high-view.max_low)}if(!ap){this.content_div.children().remove()}this.content_div.append(ar);this.max_height=0;var ag=Math.floor(ao/ak/R);var an=true;var aq=[];var af=0;while((ag*R*ak)<al){tile=this.draw_helper(ah,ai,ag,ak,ar,at);if(tile){aq.push(tile)}else{an=false}ag+=1;af++}var aj=this;if(an){aj.postdraw_actions(aq,ai,at,ap)}},postdraw_actions:function(aj,ak,al,af){var ah=this;var ai=false;for(var ag=0;ag<aj.length;ag++){if(aj[ag].message){ai=true;break}}if(ai){for(var ag=0;ag<aj.length;ag++){tile=aj[ag];if(!tile.message){tile.canvas.css("padding-top",E)}}}},draw_helper:function(ag,ah,ai,al,ar,aw,at,am){var aj=this,aq=this._gen_tile_cache_key(ah,aw,ai),an=ai*R*al,av=an+R*al;var ao=(ag?undefined:aj.tile_cache.get(aq));if(ao){aj.show_tile(ao,ar,aw);return ao}var ap=function(ax){return("isResolved" in ax)};var ak=true;var af=aj.data_manager.get_data(an,av,aj.mode,al,aj.data_url_extra_params);if(ap(af)){ak=false}var au;if(view.reference_track&&aw>view.canvas_manager.char_width_px){au=view.reference_track.data_manager.get_data(an,av,aj.mode,al,view.reference_track.data_url_extra_params);if(ap(au)){ak=false}}if(ak){p(af,am);var ao=aj.draw_tile(af,aj.mode,al,ai,aw,au);if(ao!==undefined){aj.tile_cache.set(aq,ao);aj.show_tile(ao,ar,aw)}return ao}$.when(af,au).then(function(){view.request_redraw(false,false,false,aj)});return null},show_tile:function(al,an,ao){var ah=this,ag=al.canvas,ak=ag;if(al.message){var ap=$("<div/>"),am=$("<div/>").addClass("tile-message").text(al.message).css({height:E-1,width:al.canvas.width}).appendTo(ap),aj=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(am),af=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(am);ap.append(ag);ak=ap;aj.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.DEEP_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()});af.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.BROAD_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()})}al.predisplay_actions();var ai=(al.low-(this.is_overview?this.view.max_low:this.view.low))*ao;if(this.left_offset){ai-=this.left_offset}ak.css({position:"absolute",top:0,left:ai,height:""});an.append(ak);ah.max_height=Math.max(ah.max_height,ak.height());ah.content_div.css("height",ah.max_height+"px");an.children().css("height",ah.max_height+"px")},_get_tile_bounds:function(af,ag){var ai=af*R*ag,aj=R*ag,ah=(ai+aj<=this.view.max_high?ai+aj:this.view.max_high);return[ai,ah]},tool_region_and_parameters_str:function(ah,af,ai){var ag=this,aj=(ah!==undefined&&af!==undefined&&ai!==undefined?ah+":"+af+"-"+ai:"all");return" - region=["+aj+"], parameters=["+ag.tool.get_param_values().join(", ")+"]"},init_for_tool_data:function(){this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url;this.predraw_init=function(){var ag=this;var af=function(){if(ag.data_manager.size()===0){setTimeout(af,300)}else{ag.data_url=default_data_url;ag.data_query_wait=L;ag.dataset_state_url=converted_datasets_state_url;$.getJSON(ag.dataset_state_url,{dataset_id:ag.dataset_id,hda_ldda:ag.hda_ldda},function(ah){})}};af()}}});var ab=function(ag,af){i.call(this,"label",ag,af,false,{});this.container_div.addClass("label-track")};p(ab.prototype,i.prototype,{init:function(){this.enabled=true},_draw:function(){var ah=this.view,ai=ah.high-ah.low,al=Math.floor(Math.pow(10,Math.floor(Math.log(ai)/Math.log(10)))),af=Math.floor(ah.low/al)*al,aj=this.view.container.width(),ag=$("<div style='position: relative; height: 1.3em;'></div>");while(af<ah.high){var ak=(af-ah.low)/ai*aj;ag.append($("<div class='label'>"+commatize(af)+"</div>").css({position:"absolute",left:ak-1}));af+=al}this.content_div.children(":first").remove();this.content_div.append(ag)}});var A=function(af){N.call(this,"reference",af,{content_div:af.top_labeltrack},false,{});af.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:af.dbkey};this.data_manager=new I(B,this,false);this.tile_cache=new c(u)};p(A.prototype,q.prototype,N.prototype,{init:function(){this.enabled=true},draw_tile:function(ap,al,ak,ag,aq){var aj=this,ah=R*ak;if(aq>this.view.canvas_manager.char_width_px){if(ap.data===null){aj.content_div.css("height","0px");return}var ai=this.view.canvas_manager.new_canvas();var ao=ai.getContext("2d");ai.width=Math.ceil(ah*aq+aj.left_offset);ai.height=aj.height_px;ao.font=ao.canvas.manager.default_font;ao.textAlign="center";ap=ap.data;for(var am=0,an=ap.length;am<an;am++){var af=Math.round(am*aq);ao.fillText(ap[am],af+aj.left_offset,10)}return new b(aj,ag,ak,ai,ap)}this.content_div.css("height","0px")}});var j=function(ak,ai,ah,al,af,aj){var ag=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";N.call(this,ak,ai,ah,true,aj);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=al;this.dataset_id=af;this.original_dataset_id=af;this.data_manager=new S(B,this);this.tile_cache=new c(u);this.left_offset=0;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{key:"color",label:"Color",type:"color",default_value:get_random_color()},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:aj,onchange:function(){ag.set_name(ag.prefs.name);ag.vertical_range=ag.prefs.max_value-ag.prefs.min_value;$("#linetrack_"+ag.dataset_id+"_minval").text(ag.prefs.min_value);$("#linetrack_"+ag.dataset_id+"_maxval").text(ag.prefs.max_value);ag.tile_cache.clear();ag.request_draw()}});this.prefs=this.config.values;this.height_px=this.config.values.height;this.vertical_range=this.config.values.max_value-this.config.values.min_value;this.add_resize_handle()};p(j.prototype,q.prototype,N.prototype,{add_resize_handle:function(){var af=this;var ai=false;var ah=false;var ag=$("<div class='track-resize'>");$(af.container_div).hover(function(){if(af.content_visible){ai=true;ag.show()}},function(){ai=false;if(!ah){ag.hide()}});ag.hide().bind("dragstart",function(aj,ak){ah=true;ak.original_height=$(af.content_div).height()}).bind("drag",function(ak,al){var aj=Math.min(Math.max(al.original_height+al.deltaY,af.min_height_px),af.max_height_px);$(af.content_div).css("height",aj);af.height_px=aj;af.request_draw(true)}).bind("dragend",function(aj,ak){af.tile_cache.clear();ah=false;if(!ai){ag.hide()}af.config.values.height=af.height_px}).appendTo(af.container_div)},predraw_init:function(){var af=this;af.vertical_range=undefined;return $.getJSON(af.data_url,{stats:true,chrom:af.view.chrom,low:null,high:null,hda_ldda:af.hda_ldda,dataset_id:af.dataset_id},function(ag){af.container_div.addClass("line-track");var aj=ag.data;if(isNaN(parseFloat(af.prefs.min_value))||isNaN(parseFloat(af.prefs.max_value))){var ah=aj.min;var al=aj.max;ah=Math.floor(Math.min(0,Math.max(ah,aj.mean-2*aj.sd)));al=Math.ceil(Math.max(0,Math.min(al,aj.mean+2*aj.sd)));af.prefs.min_value=ah;af.prefs.max_value=al;$("#track_"+af.dataset_id+"_minval").val(af.prefs.min_value);$("#track_"+af.dataset_id+"_maxval").val(af.prefs.max_value)}af.vertical_range=af.prefs.max_value-af.prefs.min_value;af.total_frequency=aj.total_frequency;af.container_div.find(".yaxislabel").remove();var ak=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_minval").text(Z(af.prefs.min_value,3));var ai=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_maxval").text(Z(af.prefs.max_value,3));ai.css({position:"absolute",top:"24px",left:"10px"});ai.prependTo(af.container_div);ak.css({position:"absolute",bottom:"2px",left:"10px"});ak.prependTo(af.container_div)})},draw_tile:function(ar,ak,aj,ah,aq){if(this.vertical_range===undefined){return}var af=this._get_tile_bounds(ah,aj),al=af[0],ap=af[1],ag=Math.ceil((ap-al)*aq),an=this.height_px;var ai=this.view.canvas_manager.new_canvas();ai.width=ag,ai.height=an;var ao=ai.getContext("2d");var am=new M.LinePainter(ar.data,al,ap,this.prefs,ak);am.draw(ao,ag,an);return new b(this.track,ah,aj,ai,ar.data)}});var e=function(af,al,ag,ak,an,am,ai,aj){var ah=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];N.call(this,af,al,ag,true,am,ai,aj);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true,help:"Show the number of items in each bin when drawing summary histogram"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){ah.set_name(ah.prefs.name);ah.tile_cache.clear();ah.set_painter_from_config();ah.request_draw()}});this.prefs=this.config.values;this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=ak;this.dataset_id=an;this.original_dataset_id=an;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new S(20,this);this.left_offset=200;this.set_painter_from_config()};p(e.prototype,q.prototype,N.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=M.ArcLinkedFeaturePainter}else{this.painter=M.LinkedFeaturePainter}},postdraw_actions:function(av,af,aw,au){N.prototype.postdraw_actions.call(this,av,au);var ai=this;if(au){var ak=ai.content_div.children();var al=false;for(var aj=ak.length-1,ap=0;aj>=ap;aj--){var ah=$(ak[aj]);if(al){ah.remove()}else{if(ah.children().length!==0){al=true}}}}if(ai.mode=="Histogram"){var ao=-1;for(var aj=0;aj<av.length;aj++){var at=av[aj].max_val;if(at>ao){ao=at}}for(var aj=0;aj<av.length;aj++){var ar=av[aj];if(ar.max_val!==ao){ar.canvas.remove();ai.draw_helper(true,af,ar.index,ar.resolution,ar.canvas.parent(),aw,[],{max:ao})}}}if(ai.filters_manager){var ag=ai.filters_manager.filters;for(var an=0;an<ag.length;an++){ag[an].update_ui_elt()}var am=false,aq;for(var aj=0;aj<av.length;aj++){if(av[aj].data.length){aq=av[aj].data[0];for(var an=0;an<ag.length;an++){if(ag[an].applies_to(aq)){am=true;break}}}}if(ai.filters_available!==am){ai.filters_available=am;if(!ai.filters_available){ai.filters_div.hide()}ai.update_icons()}}},update_auto_mode:function(af){if(this.mode=="Auto"){if(af=="no_detail"){af="feature spans"}else{if(af=="summary_tree"){af="coverage histogram"}}this.mode_div.text("Auto ("+af+")")}},incremental_slots:function(aj,ag,ai){var ah=this.view.canvas_manager.dummy_context,af=this.inc_slots[aj];if(!af||(af.mode!==ai)){af=new (s.FeatureSlotter)(aj,ai==="Pack",z,function(ak){return ah.measureText(ak)});af.mode=ai;this.inc_slots[aj]=af}return af.slot_features(ag)},get_summary_tree_data:function(aj,am,ah,av){if(av>ah-am){av=ah-am}var aq=Math.floor((ah-am)/av),au=[],ai=0;var ak=0,al=0,ap,at=0,an=[],ar,ao;var ag=function(ay,ax,az,aw){ay[0]=ax+az*aw;ay[1]=ax+(az+1)*aw};while(at<av&&ak!==aj.length){var af=false;for(;at<av&&!af;at++){ag(an,am,at,aq);for(al=ak;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){af=true;break}}if(af){break}}data_start_index=al;au[au.length]=ar=[an[0],0];for(;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){ar[1]++}else{break}}if(ar[1]>ai){ai=ar[1]}at++}return{max:ai,delta:aq,data:au}},draw_tile:function(au,ax,aB,aF,ap,ai){var ay=this,ak=ay._get_tile_bounds(aF,aB),aI=ak[0],ag=ak[1],aw=ag-aI,az=Math.ceil(aw*ap),aO=25,aj=this.left_offset,av,al;if(ax==="Auto"){if(au.dataset_type==="summary_tree"){ax=au.dataset_type}else{if(au.extra_info==="no_detail"||ay.is_overview){ax="no_detail"}else{var aN=au.data;if(this.view.high-this.view.low>J){ax="Squish"}else{ax="Pack"}}}this.update_auto_mode(ax)}if(ax==="summary_tree"||ax==="Histogram"){al=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var af=$("<div />").addClass("yaxislabel");af.text(au.max);af.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});af.prependTo(this.container_div);var ah=this.view.canvas_manager.new_canvas();ah.width=az+aj;ah.height=al+T;if(au.dataset_type!="summary_tree"){var aq=this.get_summary_tree_data(au.data,aI,ag,200);if(au.max){aq.max=au.max}au=aq}var aK=new M.SummaryTreePainter(au,aI,ag,this.prefs);var aA=ah.getContext("2d");aA.translate(aj,T);aK.draw(aA,az,al);return new k(ay,aF,aB,ah,au.data,au.max)}var av,an=1;if(ax==="no_detail"||ax==="Squish"||ax==="Pack"){an=this.incremental_slots(ap,au.data,ax);av=this.inc_slots[ap].slots}var ao=[];if(au.data){var ar=this.filters_manager.filters;for(var aC=0,aE=au.data.length;aC<aE;aC++){var am=au.data[aC];var aD=false;var at;for(var aH=0,aM=ar.length;aH<aM;aH++){at=ar[aH];at.update_attrs(am);if(!at.keep(am)){aD=true;break}}if(!aD){ao.push(am)}}}var aL=(this.filters_manager.alpha_filter?new D(this.filters_manager.alpha_filter):null);var aJ=(this.filters_manager.height_filter?new D(this.filters_manager.height_filter):null);var aK=new (this.painter)(ao,aI,ag,this.prefs,ax,aL,aJ,ai);var al=Math.max(ad,aK.get_required_height(an,az));var ah=this.view.canvas_manager.new_canvas();var aG=null;ah.width=az+aj;ah.height=al;var aA=ah.getContext("2d");aA.fillStyle=this.prefs.block_color;aA.font=aA.canvas.manager.default_font;aA.textAlign="right";this.container_div.find(".yaxislabel").remove();if(au.data){aA.translate(aj,0);aG=aK.draw(aA,az,al,av);aG.translation=-aj}return new P(ay,aF,aB,ah,au.data,ax,au.message,aG)}});var U=function(ak,ah,ag,am,af,aj,al,ai){e.call(this,ak,ah,ag,am,af,aj,al,ai);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:aj,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=M.ReadPainter};p(U.prototype,q.prototype,N.prototype,e.prototype);var W=function(af,ak,ag,aj,an,am,ah){e.call(this,af,ak,ag,aj,an,am,ah);var ai=get_random_color(),al=get_random_color([ai,"#ffffff"]);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block and sense strand color",type:"color",default_value:ai},{key:"reverse_strand_color",label:"Antisense strand color",type:"color",default_value:al},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=M.ReadPainter;this.update_icons()};p(W.prototype,q.prototype,N.prototype,e.prototype);X.View=ac;X.DrawableGroup=Q;X.LineTrack=j;X.FeatureTrack=e;X.ReadTrack=W;X.VcfTrack=U};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(i,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=i;this.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(F,G){for(var E=0;E<=z;E++){var C=false,H=h[E];if(H!==undefined){for(var B=0,D=H.length;B<D;B++){var i=H[B];if(G>i[0]&&F<i[1]){C=true;break}}}if(!C){return E}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}else{}}return n+1}})};var painters_module=function(i,x){var u=i("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var d=function(y){this.default_val=(y?y:1)};d.prototype.gen_val=function(y){return this.default_val};var l=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};l.prototype.default_prefs={};var v=function(A,C,y,z,B){l.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(M,z,L){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;var J=this.data.data,I=this.data.delta,G=this.data.max,B=L;delta_x_px=Math.ceil(I*N);M.save();for(var C=0,D=J.length;C<D;C++){var H=Math.floor((J[C][0]-E)*N);var F=J[C][1];if(!F){continue}var K=F/G*L;if(F!==0&&K<1){K=1}M.fillStyle=this.prefs.block_color;M.fillRect(H,B-K,delta_x_px,K);var A=4;if(this.prefs.show_counts&&(M.measureText(F).width+A)<delta_x_px){M.fillStyle=this.prefs.label_color;M.textAlign="center";M.fillText(F,H+(delta_x_px/2),10)}}M.restore()};var b=function(y,C,E,F,A){l.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};b.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};b.prototype.draw=function(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.restore()};var m=function(y){this.feature_positions={};this.slot_height=y;this.translation=0;this.y_translation=0};m.prototype.map_feature_data=function(z,B,y,A){if(!this.feature_positions[B]){this.feature_positions[B]=[]}this.feature_positions[B].push({data:z,x_start:y,x_end:A})};m.prototype.get_feature_data=function(z,D){var C=Math.floor((D-this.y_translation)/this.slot_height),B;if(!this.feature_positions[C]){return null}z+=this.translation;for(var A=0;A<this.feature_positions[C].length;A++){B=this.feature_positions[C][A];if(z>=B.x_start&&z<=B.x_end){return B.data}}};var o=function(A,D,y,z,C,E,B){l.call(this,A,D,y,z,C);this.alpha_scaler=(E?E:new d());this.height_scaler=(B?B:new d())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(A,z){var y=y_scale=this.get_row_height(),B=this.mode;if(B==="no_detail"||B==="Squish"||B==="Pack"){y=A*y_scale}return y+this.get_top_padding(z)+this.get_bottom_padding(z)},get_top_padding:function(y){return 0},get_bottom_padding:function(y){return Math.max(Math.round(this.get_row_height()/2),5)},draw:function(K,I,G,F){var Q=this.data,D=this.view_start,M=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var H=this.view_end-this.view_start,E=I/H,L=this.get_row_height(),P=new m(L),B;for(var N=0,O=Q.length;N<O;N++){var A=Q[N],C=A[0],J=A[1],y=A[2],z=(F&&F[C]!==undefined?F[C]:null);if((J<M&&y>D)&&(this.mode=="Dense"||z!==null)){B=this.draw_element(K,this.mode,A,z,D,M,E,L,I);P.map_feature_data(A,z,B[0],B[1])}}K.restore();P.y_translation=this.get_top_padding(I);return P},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.");return[0,0]}});var c=10,h=3,k=5,w=10,f=1,s=9,e=3,a=9,j=2,g="#ccc";var r=function(A,D,y,z,C,E,B){o.call(this,A,D,y,z,C,E,B);this.draw_background_connector=true;this.draw_individual_connectors=false};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=c}else{if(z==="no_detail"){y=h}else{if(z==="Squish"){y=k}else{y=w}}}return y},draw_element:function(M,D,X,H,O,aj,an,ap,y){var T=X[0],al=X[1],ad=X[2],Q=X[3],ae=Math.floor(Math.max(0,(al-O)*an)),N=Math.ceil(Math.min(y,Math.max(0,(ad-O)*an))),ac=ae,ao=N,aa=(D==="Dense"?0:(0+H))*ap+this.get_top_padding(y),L,ah,R=null,ar=null,B=this.prefs.block_color,ag=this.prefs.label_color;M.globalAlpha=this.alpha_scaler.gen_val(X);if(D==="Dense"){H=1}if(D==="no_detail"){M.fillStyle=B;M.fillRect(ae,aa+5,N-ae,f)}else{var K=X[4],Z=X[5],af=X[6],C=X[7],V=true;if(Z&&af){R=Math.floor(Math.max(0,(Z-O)*an));ar=Math.ceil(Math.min(y,Math.max(0,(af-O)*an)))}var am,U;if(D==="Squish"){am=1;U=e;V=false}else{if(D==="Dense"){am=5;U=s}else{am=5;U=a}}if(!C){M.fillStyle=B;M.fillRect(ae,aa+1,N-ae,U);if(K&&V){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}M.fillRect(ae,aa+1,N-ae,U)}}else{var J,W;if(D==="Squish"||D==="Dense"){J=aa+Math.floor(e/2)+1;W=1}else{if(K){J=aa;W=U}else{J+=(e/2)+1;W=1}}if(this.draw_background_connector){if(D==="Squish"||D==="Dense"){M.fillStyle=g}else{if(K){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand")}}}else{M.fillStyle=g}}M.fillRect(ae,J,N-ae,W)}var E;for(var ak=0,A=C.length;ak<A;ak++){var F=C[ak],z=Math.floor(Math.max(0,(F[0]-O)*an)),Y=Math.ceil(Math.min(y,Math.max((F[1]-O)*an))),S,ab;if(z>Y){continue}M.fillStyle=B;M.fillRect(z,aa+(U-am)/2+1,Y-z,am);if(R!==undefined&&af>Z&&!(z>ar||Y<R)){var ai=Math.max(z,R),I=Math.min(Y,ar);M.fillRect(ai,aa+1,I-ai,U);if(C.length==1&&D=="Pack"){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}if(ai+14<I){ai+=2;I-=2}M.fillRect(ai,aa+1,I-ai,U)}}if(this.draw_individual_connectors&&S){this.draw_connector(M,S,ab,z,Y,aa)}S=z;ab=Y}if(D==="Pack"){M.globalAlpha=1;M.fillStyle="white";var G=this.height_scaler.gen_val(X),P=Math.ceil(U*G),aq=Math.round((U-P)/2);if(G!==1){M.fillRect(ae,J+1,N-ae,aq);M.fillRect(ae,J+U-aq+1,N-ae,aq)}}}M.globalAlpha=1;if(D==="Pack"&&al>O){M.fillStyle=ag;if(O===0&&ae-M.measureText(Q).width<0){M.textAlign="left";M.fillText(Q,N+j,aa+8);ao+=M.measureText(Q).width+j}else{M.textAlign="right";M.fillText(Q,ae-j,aa+8);ac-=M.measureText(Q).width+j}}}M.globalAlpha=1;return[ac,ao]}});var t=function(B,E,y,A,D,F,C,z){o.call(this,B,E,y,A,D,F,C);this.ref_seq=(z?z.data:null)};u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=c}else{if(z==="Squish"){y=k}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(K,A,ag,V,L,aa,ad,C,B,M){K.textAlign="center";var J=this,R=[L,aa],Z=0,W=0,D=0,F=K.canvas.manager.char_width_px,y=(B==="+"?this.prefs.block_color:this.prefs.reverse_strand_color);var O=[];if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){D=Math.round(ag/2)}if(!C){C=[[0,M.length]]}for(var G=0,I=C.length;G<I;G++){var z=C[G],E="MIDNSHP=X"[z[0]],S=z[1];if(E==="H"||E==="S"){Z-=S}var U=ad+Z,Y=Math.floor(Math.max(0,(U-L)*ag)),ab=Math.floor(Math.max(0,(U+S-L)*ag));if(Y===ab){ab+=1}switch(E){case"H":break;case"S":case"M":case"=":if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(D>0){K.fillStyle=y;K.fillRect(Y-D,V+1,ab-Y,9);K.fillStyle=g;for(var af=0,H=N.length;af<H;af++){if(this.prefs.show_differences&&this.ref_seq){var P=this.ref_seq[U-L+af];if(!P||P.toLowerCase()===N[af].toLowerCase()){continue}}if(U+af>=L&&U+af<=aa){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X,V+9)}}}else{K.fillStyle=y;K.fillRect(Y,V+4,ab-Y,e)}}W+=S;Z+=S;break;case"N":K.fillStyle=g;K.fillRect(Y-D,V+5,ab-Y,1);Z+=S;break;case"D":K.fillStyle="red";K.fillRect(Y-D,V+4,ab-Y,3);Z+=S;break;case"P":break;case"I":var ah=Y-D;if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(this.prefs.show_insertions){var T=Y-(ab-Y)/2;if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){K.fillStyle="yellow";K.fillRect(T-D,V-9,ab-Y,9);O[O.length]={type:"triangle",data:[ah,V+4,5]};K.fillStyle=g;switch(compute_overlap([U,U+S],R)){case (OVERLAP_START):N=N.slice(L-U);break;case (OVERLAP_END):N=N.slice(0,U-aa);break;case (CONTAINED_BY):break;case (CONTAINS):N=N.slice(L-U,U-aa);break}for(var af=0,H=N.length;af<H;af++){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X-(ab-Y)/2,V)}}else{K.fillStyle="yellow";K.fillRect(T,V+(this.mode!=="Dense"?2:5),ab-Y,(A!=="Dense"?e:s))}}else{if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){O.push({type:"text",data:[N.length,ah,V+9]})}else{}}}W+=S;break;case"X":W+=S;break}}K.fillStyle="yellow";var Q,ai,ae;for(var ac=0;ac<O.length;ac++){Q=O[ac];ai=Q.type;ae=Q.data;if(ai==="text"){K.save();K.font="bold "+K.font;K.fillText(ae[0],ae[1],ae[2]);K.restore()}else{if(ai=="triangle"){q(K,ae[0],ae[1],ae[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,C,U,z,E[4][0],E[4][2],E[4][3],E[4][4])}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,C,U,z,E[5][0],E[5][2],E[5][3],E[5][4])}if(K>L){R.fillStyle=g;p(R,L-O,C+5,K-O,C+5)}}else{this.draw_read(R,M,I,C,U,z,Q,E[4],E[5],E[6])}if(M==="Pack"&&Q>U&&J!=="."){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+j-O,C+8)}else{R.textAlign="right";R.fillText(J,D-j-O,C+8)}}return[0,0]}});var n=function(A,D,y,z,C,E,B){r.call(this,A,D,y,z,C,E,B);this.longest_feature_length=this.calculate_longest_feature_length();this.draw_background_connector=false;this.draw_individual_connectors=true};u(n.prototype,o.prototype,r.prototype,{calculate_longest_feature_length:function(){var z=0;for(var C=0,y=this.data.length;C<y;C++){var B=this.data[C],A=B[1],D=B[2];z=Math.max(z,D-A)}return z},get_top_padding:function(z){var y=this.view_end-this.view_start,A=z/y;return Math.min(128,Math.ceil((this.longest_feature_length/2)*A))},draw_connector:function(G,B,F,H,E,D){var y=(F+H)/2,C=H-y;var A=Math.PI,z=0;if(C>0){G.beginPath();G.arc(y,D,H-y,Math.PI,0);G.stroke()}}});x.Scaler=d;x.SummaryTreePainter=v;x.LinePainter=b;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.ArcLinkedFeaturePainter=n};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
+var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var get_random_color=function(a){if(!a){a="#ffffff"}if(typeof(a)==="string"){a=[a]}for(var j=0;j<a.length;j++){a[j]=parseInt(a[j].slice(1),16)}var m=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(u,t,v,r,i,s){return(Math.max(u,r)-Math.min(u,r))+(Math.max(t,i)-Math.min(t,i))+(Math.max(v,s)-Math.min(v,s))};var g,n,f,k,p,h,q,c,d,b,o,l=false;do{g=Math.random()*16777215;n=g|16711680;f=g|65280;k=g|255;d=m(n,f,k);l=true;for(var j=0;j<a.length;j++){p=a[j];h=p|16711680;q=p|65280;c=p|255;b=m(h,q,c);o=e(n,f,k,h,q,c);if((Math.abs(d-b)<125)||(o<500)){l=false;break}}}while(!l);return"#"+(16777216+g).toString(16).substr(1,6)};var trackster_module=function(f,X){var p=f("class").extend,s=f("slotting"),M=f("painters");var ae=function(af,ag){this.document=af;this.default_font=ag!==undefined?ag:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};p(ae.prototype,{load_pattern:function(af,aj){var ag=this.patterns,ah=this.dummy_context,ai=new Image();ai.src=image_path+aj;ai.onload=function(){ag[af]=ah.createPattern(ai,"repeat")}},get_pattern:function(af){return this.patterns[af]},new_canvas:function(){var af=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(af)}af.manager=this;return af}});var n={};var l=function(af,ag){n[af.attr("id")]=ag};var m=function(af,ah,aj,ai){aj=".group";var ag={};n[af.attr("id")]=ai;af.bind("drag",{handle:"."+ah,relative:true},function(ar,at){var aq=$(this);var aw=$(this).parent(),an=aw.children(),ap=n[$(this).attr("id")],am,al,au,ak,ao;al=$(this).parents(aj);if(al.length!==0){au=al.position().top;ak=au+al.outerHeight();if(at.offsetY<au){$(this).insertBefore(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable_before(ap,av);return}else{if(at.offsetY>ak){$(this).insertAfter(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable(ap);return}}}al=null;for(ao=0;ao<an.length;ao++){am=$(an.get(ao));au=am.position().top;ak=au+am.outerHeight();if(am.is(aj)&&this!==am.get(0)&&at.offsetY>=au&&at.offsetY<=ak){if(at.offsetY-au<ak-at.offsetY){am.find(".content-div").prepend(this)}else{am.find(".content-div").append(this)}if(ap.container){ap.container.remove_drawable(ap)}n[am.attr("id")].add_drawable(ap);return}}for(ao=0;ao<an.length;ao++){if(at.offsetY<$(an.get(ao)).position().top){break}}if(ao===an.length){if(this!==an.get(ao-1)){aw.append(this);n[aw.attr("id")].move_drawable(ap,ao)}}else{if(this!==an.get(ao)){$(this).insertBefore(an.get(ao));n[aw.attr("id")].move_drawable(ap,(at.deltaY>0?ao-1:ao))}}}).bind("dragstart",function(){ag["border-top"]=af.css("border-top");ag["border-bottom"]=af.css("border-bottom");$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css(ag)})};X.moveable=m;var ad=16,H=9,E=20,T=H+2,z=100,J=12000,R=200,C=5,v=10,L=5000,w=100,o="There was an error in indexing this dataset. ",K="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",F="No data for this chrom/contig.",t="Currently indexing... please wait",x="Tool cannot be rerun: ",a="Loading data...",Y="Ready for display",d=10,u=5,B=5;function Z(ag,af){if(!af){af=0}var ah=Math.pow(10,af);return Math.round(ag*ah)/ah}var c=function(af){this.num_elements=af;this.clear()};p(c.prototype,{get:function(ag){var af=this.key_ary.indexOf(ag);if(af!==-1){if(this.obj_cache[ag].stale){this.key_ary.splice(af,1);delete this.obj_cache[ag]}else{this.move_key_to_end(ag,af)}}return this.obj_cache[ag]},set:function(ag,ah){if(!this.obj_cache[ag]){if(this.key_ary.length>=this.num_elements){var af=this.key_ary.shift();delete this.obj_cache[af]}this.key_ary.push(ag)}this.obj_cache[ag]=ah;return ah},move_key_to_end:function(ag,af){this.key_ary.splice(af,1);this.key_ary.push(ag)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var S=function(ag,af,ah){c.call(this,ag);this.track=af;this.subset=(ah!==undefined?ah:true)};p(S.prototype,c.prototype,{load_data:function(ao,aj,am,ag,al){var an=this.track.view.chrom,ai={chrom:an,low:ao,high:aj,mode:am,resolution:ag,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(ai,al);if(this.track.filters_manager){var ap=[];var af=this.track.filters_manager.filters;for(var ak=0;ak<af.length;ak++){ap[ap.length]=af[ak].name}ai.filter_cols=JSON.stringify(ap)}var ah=this;return $.getJSON(this.track.data_url,ai,function(aq){ah.set_data(ao,aj,am,aq)})},get_data:function(af,aj,ak,ag,ai){var ah=this.get_data_from_cache(af,aj,ak);if(ah){return ah}ah=this.load_data(af,aj,ak,ag,ai);this.set_data(af,aj,ak,ah);return ah},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(an,ai,am,ah,al,aj){var ao=this.get_data_from_cache(an,ai,am);if(!ao){console.log("ERROR: no current data for: ",this.track,an,ai,am,ah,al);return}ao.stale=true;var ag=an;if(aj===this.DEEP_DATA_REQ){$.extend(al,{start_val:ao.data.length+1})}else{if(aj===this.BROAD_DATA_REQ){ag=(ao.max_high?ao.max_high:ao.data[ao.data.length-1][2])+1}}var af=this,ak=this.load_data(ag,ai,am,ah,al);new_data_available=$.Deferred();this.set_data(an,ai,am,new_data_available);$.when(ak).then(function(ap){if(ap.data){ap.data=ao.data.concat(ap.data);if(ap.max_low){ap.max_low=ao.max_low}if(ap.message){ap.message=ap.message.replace(/[0-9]+/,ap.data.length)}}af.set_data(an,ai,am,ap);new_data_available.resolve(ap)});return new_data_available},get_data_from_cache:function(af,ag,ah){return this.get(this.gen_key(af,ag,ah))},set_data:function(ag,ah,ai,af){return this.set(this.gen_key(ag,ah,ai),af)},gen_key:function(af,ah,ai){var ag=af+"_"+ah+"_"+ai;return ag},split_key:function(af){return af.split("_")}});var I=function(ag,af,ah){S.call(this,ag,af,ah)};p(I.prototype,S.prototype,c.prototype,{load_data:function(af,ai,aj,ag,ah){if(ag>1){return{data:null}}return S.prototype.load_data.call(this,af,ai,aj,ag,ah)}});var q=function(ai,ag,af,ah,ak){if(!q.id_counter){q.id_counter=0}this.id=q.id_counter++;this.name=ai;this.view=ag;this.container=af;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ai}],saved_values:ah,onchange:function(){this.track.set_name(this.track.config.values.name)}});this.prefs=this.config.values;this.drag_handle_class=ak;this.is_overview=false;this.content_visible=true;this.container_div=this.build_container_div();this.header_div=this.build_header_div();if(this.header_div){this.container_div.append(this.header_div);this.icons_div=this.build_icons_div().hide();this.header_div.append(this.icons_div);this.header_div.dblclick(function(al){al.stopPropagation()});var aj=this;this.container_div.hover(function(){aj.icons_div.show()},function(){aj.icons_div.hide()});$("<div style='clear: both'/>").appendTo(this.container_div)}};p(q.prototype,{init:function(){},request_draw:function(){},_draw:function(){},to_json:function(){},update_icons:function(){},set_name:function(af){this.old_name=this.name;this.name=af;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)},remove:function(){this.container.remove_drawable(this);this.container_div.hide(0,function(){$(this).remove();view.update_intro_div();view.has_changes=true})},build_container_div:function(){},build_header_div:function(){},build_icons_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){}});var y=function(aj,ai,ag,af,ah,ak){q.call(this,ai,ag,af,ah,ak);this.obj_type=aj;this.drawables=[]};p(y.prototype,q.prototype,{init:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af].init()}},_draw:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af]._draw()}},to_json:function(){var ag=[];for(var af=0;af<this.drawables.length;af++){ag.push(this.drawables[af].to_json())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:ag}},add_drawable:function(af){this.drawables.push(af);af.container=this},add_drawable_before:function(ah,af){var ag=this.drawables.indexOf(af);if(ag!=-1){this.drawables.splice(ag,0,ah);return true}return false},remove_drawable:function(ag){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);ag.container=null;return true}return false},move_drawable:function(ag,ah){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);this.drawables.splice(ah,0,ag);return true}return false}});var Q=function(ai,ag,af,ah){y.call(this,"DrawableGroup",ai,ag,af,ah,"group-handle");this.content_div=$("<div/>").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div);l(this.container_div,this);l(this.content_div,this);m(this.container_div,this.drag_handle_class,".group",this)};p(Q.prototype,q.prototype,y.prototype,{build_container_div:function(){return $("<div/>").addClass("group").attr("id","group_"+this.id).appendTo(this.container.content_div)},build_header_div:function(){var af=$("<div/>").addClass("track-header");af.append($("<div/>").addClass(this.drag_handle_class));this.name_div=$("<div/>").addClass("track-name").text(this.name).appendTo(af);return af},build_icons_div:function(){var af=$("<div/>").css("float","left");this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show group content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(af);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(af);this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(af);var ag=this;this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Group",ag.config.build_form(),{Cancel:aj,OK:ah})});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return af},hide_contents:function(){this.content_div.hide()},show_contents:function(){this.content_div.show();this.request_draw()}});var ac=function(af,ai,ah,ag){y.call(this,"View");this.container=af;this.chrom=null;this.vis_id=ah;this.dbkey=ag;this.title=ai;this.label_tracks=[];this.tracks_to_be_redrawn=[];this.max_low=0;this.max_high=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.load_chroms_deferred=null;this.init();this.canvas_manager=new ae(af.get(0).ownerDocument);this.reset()};p(ac.prototype,y.prototype,{init:function(){var ah=this.container,af=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ah);this.browser_content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ah);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ah);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div);this.content_div=this.viewport_container;l(this.viewport_container,af);this.intro_div=$("<div/>").addClass("intro").appendTo(this.viewport_container).hide();var ai=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a/>").attr("href","javascript:void(0);").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var ag=function(aj){if(aj.type==="focusout"||(aj.keyCode||aj.which)===13||(aj.keyCode||aj.which)===27){if((aj.keyCode||aj.which)!==27){af.go_to($(this).val())}$(this).hide();$(this).val("");af.location_span.show();af.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",ag).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").attr("original-title","Click to change location").tipsy({gravity:"n"}).appendTo(this.nav_controls);this.location_span.click(function(){af.location_span.hide();af.chrom_select.hide();af.nav_input.val(af.chrom+":"+af.low+"-"+af.high);af.nav_input.css("display","inline-block");af.nav_input.select();af.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a/>").attr("id","zoom-out").attr("title","Zoom out").tipsy({gravity:"n"}).click(function(){af.zoom_out();af.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a/>").attr("id","zoom-in").attr("title","Zoom in").tipsy({gravity:"n"}).click(function(){af.zoom_in();af.request_redraw()}).appendTo(this.nav_controls);this.load_chroms_deferred=this.load_chroms({low:0});this.chrom_select.bind("change",function(){af.change_chrom(af.chrom_select.val())});this.browser_content_div.click(function(aj){$(this).find("input").trigger("blur")});this.browser_content_div.bind("dblclick",function(aj){af.zoom_in(aj.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(aj,ak){this.current_x=ak.offsetX}).bind("drag",function(aj,al){var am=al.offsetX-this.current_x;this.current_x=al.offsetX;var ak=Math.round(am/af.viewport_container.width()*(af.max_high-af.max_low));af.move_delta(-ak)});this.overview_close.click(function(){af.reset_overview()});this.viewport_container.bind("draginit",function(aj,ak){if(aj.clientX>af.viewport_container.width()-16){return false}}).bind("dragstart",function(aj,ak){ak.original_low=af.low;ak.current_height=aj.clientY;ak.current_x=ak.offsetX}).bind("drag",function(al,an){var aj=$(this);var ao=an.offsetX-an.current_x;var ak=aj.scrollTop()-(al.clientY-an.current_height);aj.scrollTop(ak);an.current_height=al.clientY;an.current_x=an.offsetX;var am=Math.round(ao/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}).bind("mousewheel",function(al,an,ak,aj){if(ak){ak*=50;var am=Math.round(-ak/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}});this.top_labeltrack.bind("dragstart",function(aj,ak){return $("<div />").css({height:af.browser_content_div.height()+af.top_labeltrack.height()+af.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(an,ao){$(ao.proxy).css({left:Math.min(an.pageX,ao.startX),width:Math.abs(an.pageX-ao.startX)});var ak=Math.min(an.pageX,ao.startX)-af.container.offset().left,aj=Math.max(an.pageX,ao.startX)-af.container.offset().left,am=(af.high-af.low),al=af.viewport_container.width();af.update_location(Math.round(ak/al*am)+af.low,Math.round(aj/al*am)+af.low)}).bind("dragend",function(ao,ap){var ak=Math.min(ao.pageX,ap.startX),aj=Math.max(ao.pageX,ap.startX),am=(af.high-af.low),al=af.viewport_container.width(),an=af.low;af.low=Math.round(ak/al*am)+an;af.high=Math.round(aj/al*am)+an;$(ap.proxy).remove();af.request_redraw()});this.add_label_track(new ab(this,{content_div:this.top_labeltrack}));this.add_label_track(new ab(this,{content_div:this.nav_labeltrack}));$(window).bind("resize",function(){af.resize_window()});$(document).bind("redraw",function(){af.redraw()});this.reset();$(window).trigger("resize")},update_intro_div:function(){if(this.drawables.length===0){this.intro_div.show()}else{this.intro_div.hide()}},update_location:function(af,ag){this.location_span.text(commatize(af)+" - "+commatize(ag));this.nav_input.val(this.chrom+":"+commatize(af)+"-"+commatize(ag))},load_chroms:function(ah){ah.num=w;$.extend(ah,(this.vis_id!==undefined?{vis_id:this.vis_id}:{dbkey:this.dbkey}));var af=this,ag=$.Deferred();$.ajax({url:chrom_url,data:ah,dataType:"json",success:function(aj){if(aj.chrom_info.length===0){alert("Invalid chromosome: "+ah.chrom);return}if(aj.reference){af.add_label_track(new A(af))}af.chrom_data=aj.chrom_info;var am='<option value="">Select Chrom/Contig</option>';for(var al=0,ai=af.chrom_data.length;al<ai;al++){var ak=af.chrom_data[al].chrom;am+='<option value="'+ak+'">'+ak+"</option>"}if(aj.prev_chroms){am+='<option value="previous">Previous '+w+"</option>"}if(aj.next_chroms){am+='<option value="next">Next '+w+"</option>"}af.chrom_select.html(am);af.chrom_start_index=aj.start_index;ag.resolve(aj)},error:function(){alert("Could not load chroms for this dbkey:",af.dbkey)}});return ag},change_chrom:function(ak,ag,am){if(!ak||ak==="None"){return}var ah=this;if(ak==="previous"){ah.load_chroms({low:this.chrom_start_index-w});return}if(ak==="next"){ah.load_chroms({low:this.chrom_start_index+w});return}var al=$.grep(ah.chrom_data,function(an,ao){return an.chrom===ak})[0];if(al===undefined){ah.load_chroms({chrom:ak},function(){ah.change_chrom(ak,ag,am)});return}else{if(ak!==ah.chrom){ah.chrom=ak;ah.chrom_select.val(ah.chrom);ah.max_high=al.len-1;ah.reset();ah.request_redraw(true);for(var aj=0,af=ah.drawables.length;aj<af;aj++){var ai=ah.drawables[aj];if(ai.init){ai.init()}}}if(ag!==undefined&&am!==undefined){ah.low=Math.max(ag,0);ah.high=Math.min(am,ah.max_high)}ah.reset_overview();ah.request_redraw()}},go_to:function(aj){aj=aj.replace(/ |,/g,"");var an=this,af,ai,ag=aj.split(":"),al=ag[0],am=ag[1];if(am!==undefined){try{var ak=am.split("-");af=parseInt(ak[0],10);ai=parseInt(ak[1],10)}catch(ah){return false}}an.change_chrom(al,af,ai)},move_fraction:function(ah){var af=this;var ag=af.high-af.low;this.move_delta(ah*ag)},move_delta:function(ah){var af=this;var ag=af.high-af.low;if(af.low-ah<af.max_low){af.low=af.max_low;af.high=af.max_low+ag}else{if(af.high-ah>af.max_high){af.high=af.max_high;af.low=af.max_high-ag}else{af.high-=ah;af.low-=ah}}af.request_redraw()},add_drawable:function(af){y.prototype.add_drawable.call(this,af);af.init();this.has_changes=true;this.update_intro_div()},add_label_track:function(af){af.view=this;af.init();this.label_tracks.push(af)},remove_drawable:function(ah,ag){y.prototype.remove_drawable.call(this,ah);if(ag){var af=this;ah.container_div.hide(0,function(){$(this).remove();af.update_intro_div()});this.has_changes=true}},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(an,af,am,ag){var al=this,aj=(ag?[ag]:al.drawables),ah;var ag;for(var ak=0;ak<aj.length;ak++){ag=aj[ak];ah=-1;for(var ai=0;ai<al.tracks_to_be_redrawn.length;ai++){if(al.tracks_to_be_redrawn[ai][0]===ag){ah=ai;break}}if(ah<0){al.tracks_to_be_redrawn.push([ag,af,am])}else{al.tracks_to_be_redrawn[ak][1]=af;al.tracks_to_be_redrawn[ak][2]=am}}requestAnimationFrame(function(){al._redraw(an)})},_redraw:function(ap){var am=this.low,ai=this.high;if(am<this.max_low){am=this.max_low}if(ai>this.max_high){ai=this.max_high}var ao=this.high-this.low;if(this.high!==0&&ao<this.min_separation){ai=am+this.min_separation}this.low=Math.floor(am);this.high=Math.ceil(ai);this.resolution=Math.pow(C,Math.ceil(Math.log((this.high-this.low)/R)/Math.log(C)));this.zoom_res=Math.pow(v,Math.max(0,Math.ceil(Math.log(this.resolution,v)/Math.log(v))));var af=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var al=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var aq=13;this.overview_box.css({left:af,width:Math.max(aq,al)}).show();if(al<aq){this.overview_box.css("left",af-(aq-al)/2)}if(this.overview_highlight){this.overview_highlight.css({left:af,width:al})}this.update_location(this.low,this.high);if(!ap){var ah,ag,an;for(var aj=0,ak=this.tracks_to_be_redrawn.length;aj<ak;aj++){ah=this.tracks_to_be_redrawn[aj][0];ag=this.tracks_to_be_redrawn[aj][1];an=this.tracks_to_be_redrawn[aj][2];if(ah){ah._draw(ag,an)}}this.tracks_to_be_redrawn=[];for(aj=0,ak=this.label_tracks.length;aj<ak;aj++){this.label_tracks[aj]._draw()}}},zoom_in:function(ag,ah){if(this.max_high===0||this.high-this.low<this.min_separation){return}var ai=this.high-this.low,aj=ai/2+this.low,af=(ai/this.zoom_factor)/2;if(ag){aj=ag/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(aj-af);this.high=Math.round(aj+af);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var ag=this.high-this.low,ah=ag/2+this.low,af=(ag*this.zoom_factor)/2;this.low=Math.round(ah-af);this.high=Math.round(ah+af);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.nav_container.width(this.container.width());this.request_redraw()},set_overview:function(ah){if(this.overview_drawable){if(this.overview_drawable.dataset_id===ah.dataset_id){return}this.overview_viewport.find(".track").remove()}var ag=ah.copy({content_div:this.overview_viewport}),af=this;ag.header_div.hide();ag.is_overview=true;af.overview_drawable=ag;this.overview_drawable.postdraw_actions=function(){af.overview_highlight.show().height(af.overview_drawable.content_div.height());af.overview_viewport.height(af.overview_drawable.content_div.height()+af.overview_box.outerHeight());af.overview_close.show();af.resize_window()};this.overview_drawable.init();af.has_changes=true},reset_overview:function(){$(".tipsy").remove();this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();view.overview_drawable=null}});var r=function(ah,al){this.track=ah;this.name=al.name;this.params=[];var at=al.params;for(var ai=0;ai<at.length;ai++){var an=at[ai],ag=an.name,ar=an.label,aj=unescape(an.html),au=an.value,ap=an.type;if(ap==="number"){this.params[this.params.length]=new g(ag,ar,aj,au,an.min,an.max)}else{if(ap=="select"){this.params[this.params.length]=new O(ag,ar,aj,au)}else{console.log("WARNING: unrecognized tool parameter type:",ag,ap)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(aw){aw.stopPropagation()}).click(function(aw){aw.stopPropagation()}).bind("dblclick",function(aw){aw.stopPropagation()});var aq=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var ao=this.params;var am=this;$.each(this.params,function(ax,aA){var az=$("<div>").addClass("param-row").appendTo(am.parent_div);var aw=$("<div>").addClass("param-label").text(aA.label).appendTo(az);var ay=$("<div/>").addClass("slider").html(aA.html).appendTo(az);ay.find(":input").val(aA.value);$("<div style='clear: both;'/>").appendTo(az)});this.parent_div.find("input").click(function(){$(this).select()});var av=$("<div>").addClass("param-row").appendTo(this.parent_div);var ak=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(av);var af=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(av);var am=this;af.click(function(){am.run_on_region()});ak.click(function(){am.run_on_dataset()})};p(r.prototype,{get_param_values_dict:function(){var af={};this.parent_div.find(":input").each(function(){var ag=$(this).attr("name"),ah=$(this).val();af[ag]=JSON.stringify(ah)});return af},get_param_values:function(){var ag=[];var af={};this.parent_div.find(":input").each(function(){var ah=$(this).attr("name"),ai=$(this).val();if(ah){ag[ag.length]=ai}});return ag},run_on_dataset:function(){var af=this;af.run({dataset_id:this.track.original_dataset_id,tool_id:af.name},null,function(ag){show_modal(af.name+" is Running",af.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var ag={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},aj=this.track,ah=ag.tool_id+aj.tool_region_and_parameters_str(ag.chrom,ag.low,ag.high),af;if(aj.container===view){var ai=new Q(this.name,this.track.view,this.track.container);aj.container.add_drawable(ai);aj.container.remove_drawable(aj);ai.add_drawable(aj);aj.container_div.appendTo(ai.content_div);af=ai}else{af=aj.container}var ak=new aj.constructor(ah,view,af,"hda");ak.init_for_tool_data();ak.change_mode(aj.mode);af.add_drawable(ak);ak.content_div.text("Starting job.");this.run(ag,ak,function(al){ak.dataset_id=al.dataset_id;ak.content_div.text("Running job.");ak.init()})},run:function(ag,ah,ai){$.extend(ag,this.get_param_values_dict());var af=function(){$.getJSON(rerun_tool_url,ag,function(aj){if(aj==="no converter"){ah.container_div.addClass("error");ah.content_div.text(K)}else{if(aj.error){ah.container_div.addClass("error");ah.content_div.text(x+aj.message)}else{if(aj==="pending"){ah.container_div.addClass("pending");ah.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(af,2000)}else{ai(aj)}}}})};af()}});var O=function(ag,af,ah,ai){this.name=ag;this.label=af;this.html=ah;this.value=ai};var g=function(ah,ag,aj,ak,ai,af){O.call(this,ah,ag,aj,ak);this.min=ai;this.max=af};var h=function(ag,af,ah,ai){this.name=ag;this.index=af;this.tool_id=ah;this.tool_exp_name=ai};var V=function(ag,af,ah,ai){h.call(this,ag,af,ah,ai);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};p(V.prototype,{applies_to:function(af){if(af.length>this.index){return true}return false},keep:function(af){if(!this.applies_to(af)){return true}var ag=af[this.index];return(isNaN(ag)||(ag>=this.low&&ag<=this.high))},update_attrs:function(ag){var af=false;if(!this.applies_to(ag)){return af}if(ag[this.index]<this.min){this.min=Math.floor(ag[this.index]);af=true}if(ag[this.index]>this.max){this.max=Math.ceil(ag[this.index]);af=true}return af},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ah=function(ak,ai){var aj=ai-ak;return(aj<=2?0.01:1)};var ag=this.slider.slider("option","min"),af=this.slider.slider("option","max");if(this.min<ag||this.max>af){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ah(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var aa=function(aq,ay){this.track=aq;this.filters=[];for(var at=0;at<ay.length;at++){var au=ay[at],az=au.name,af=au.type,ah=au.index,ax=au.tool_id,aw=au.tool_exp_name;if(af==="int"||af==="float"){this.filters[at]=new V(az,ah,ax,aw)}else{console.log("ERROR: unsupported filter: ",az,af)}}var ai=function(aA,aB,aC){aA.click(function(){var aD=aB.text();max=parseFloat(aC.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(aC.slider("option","values")){input_size=2*input_size+1;multi_value=true}aB.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",aD).appendTo(aB).focus().select().click(function(aE){aE.stopPropagation()}).blur(function(){$(this).remove();aB.text(aD)}).keyup(function(aI){if(aI.keyCode===27){$(this).trigger("blur")}else{if(aI.keyCode===13){var aG=aC.slider("option","min"),aE=aC.slider("option","max"),aH=function(aJ){return(isNaN(aJ)||aJ>aE||aJ<aG)},aF=$(this).val();if(!multi_value){aF=parseFloat(aF);if(aH(aF)){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}else{aF=aF.split("-");aF=[parseFloat(aF[0]),parseFloat(aF[1])];if(aH(aF[0])||aH(aF[1])){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}aC.slider((multi_value?"values":"value"),aF)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(aA){aA.stopPropagation()}).click(function(aA){aA.stopPropagation()}).bind("dblclick",function(aA){aA.stopPropagation()}).bind("keydown",function(aA){aA.stopPropagation()});var av=$("<div/>").addClass("sliders").appendTo(this.parent_div);var an=this;$.each(this.filters,function(aD,aF){aF.container=$("<div/>").addClass("filter-row slider-row").appendTo(av);var aE=$("<div/>").addClass("elt-label").appendTo(aF.container);var aC=$("<span/>").addClass("slider-name").text(aF.name+" ").appendTo(aE);var aB=$("<span/>");var aH=$("<span/>").addClass("slider-value").appendTo(aE).append("[").append(aB).append("]");var aA=$("<div/>").addClass("slider").appendTo(aF.container);aF.control_element=$("<div/>").attr("id",aF.name+"-filter-control").appendTo(aA);var aG=[0,0];aF.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aJ,aK){var aI=aK.values;aB.text(aI[0]+"-"+aI[1]);aF.low=aI[0];aF.high=aI[1];an.track.request_draw(true,true)},change:function(aI,aJ){aF.control_element.slider("option","slide").call(aF.control_element,aI,aJ)}});aF.slider=aF.control_element;aF.slider_label=aB;ai(aH,aB,aF.control_element);$("<div style='clear: both;'/>").appendTo(aF.container)});if(this.filters.length!==0){var ak=$("<div/>").addClass("param-row").appendTo(av);var am=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ak);var ag=this;am.click(function(){ag.run_on_dataset()})}var ap=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ar,al,ao,aj={Transparency:function(aA){an.alpha_filter=aA},Height:function(aA){an.height_filter=aA}};$.each(aj,function(aC,aB){ar=$("<div/>").addClass("filter-row").appendTo(ap),al=$("<span/>").addClass("elt-label").text(aC+":").appendTo(ar),ao=$("<select/>").attr("name",aC+"_dropdown").css("float","right").appendTo(ar);$("<option/>").attr("value",-1).text("== None ==").appendTo(ao);for(var aA=0;aA<an.filters.length;aA++){$("<option/>").attr("value",aA).text(an.filters[aA].name).appendTo(ao)}ao.change(function(){$(this).children("option:selected").each(function(){var aD=parseInt($(this).val());aj[aC]((aD>=0?an.filters[aD]:null));an.track.request_draw(true,true)})});$("<div style='clear: both;'/>").appendTo(ar)});$("<div style='clear: both;'/>").appendTo(this.parent_div)};p(aa.prototype,{reset_filters:function(){for(var af=0;af<this.filters.length;af++){filter=this.filters[af];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null;this.height_filter=null},run_on_dataset:function(){var an=function(ar,ap,aq){if(!(ap in ar)){ar[ap]=aq}return ar[ap]};var ah={},af,ag,ai;for(var aj=0;aj<this.filters.length;aj++){af=this.filters[aj];if(af.tool_id){if(af.min!=af.low){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" >= "+af.low}if(af.max!=af.high){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" <= "+af.high}}}var al=[];for(var ao in ah){al[al.length]=[ao,ah[ao]]}var am=al.length;(function ak(aw,at){var aq=at[0],ar=aq[0],av=aq[1],au="("+av.join(") and (")+")",ap={cond:au,input:aw,target_dataset_id:aw,tool_id:ar},at=at.slice(1);$.getJSON(run_tool_url,ap,function(ax){if(ax.error){show_modal("Filter Dataset","Error running tool "+ar,{Close:hide_modal})}else{if(at.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{ak(ax.dataset_id,at)}}})})(this.track.dataset_id,al)}});var D=function(af,ag){M.Scaler.call(this,ag);this.filter=af};D.prototype.gen_val=function(af){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_val}return((parseFloat(af[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var G=function(af){this.track=af.track;this.params=af.params;this.values={};this.restore_values((af.saved_values?af.saved_values:{}));this.onchange=af.onchange};p(G.prototype,{restore_values:function(af){var ag=this;$.each(this.params,function(ah,ai){if(af[ai.key]!==undefined){ag.values[ai.key]=af[ai.key]}else{ag.values[ai.key]=ai.default_value}})},build_form:function(){var ai=this;var af=$("<div />");var ah;function ag(am,aj){for(var ao=0;ao<am.length;ao++){ah=am[ao];if(ah.hidden){continue}var ak="param_"+ao;var at=ai.values[ah.key];var av=$("<div class='form-row' />").appendTo(aj);av.append($("<label />").attr("for",ak).text(ah.label+":"));if(ah.type==="bool"){av.append($('<input type="checkbox" />').attr("id",ak).attr("name",ak).attr("checked",at))}else{if(ah.type==="text"){av.append($('<input type="text"/>').attr("id",ak).val(at).click(function(){$(this).select()}))}else{if(ah.type=="select"){var aq=$("<select />").attr("id",ak);for(var an=0;an<ah.options.length;an++){$("<option/>").text(ah.options[an].label).attr("value",ah.options[an].value).appendTo(aq)}aq.val(at);av.append(aq)}else{if(ah.type==="color"){var ap=$("<input />").attr("id",ak).attr("name",ak).val(at);var ar=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();var al=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ar);var au=$("<div/>").appendTo(al).farbtastic({width:100,height:100,callback:ap,color:at});$("<div />").append(ap).append(ar).appendTo(av).bind("click",function(aw){ar.css({left:$(this).position().left+$(ap).width()+5,top:$(this).position().top-($(ar).height()/2)+($(ap).height()/2)}).show();$(document).bind("click.color-picker",function(){ar.hide();$(document).unbind("click.color-picker")});aw.stopPropagation()})}else{av.append($("<input />").attr("id",ak).attr("name",ak).val(at))}}}}if(ah.help){av.append($("<div class='help'/>").text(ah.help))}}}ag(this.params,af);return af},update_from_form:function(af){var ah=this;var ag=false;$.each(this.params,function(ai,ak){if(!ak.hidden){var al="param_"+ai;var aj=af.find("#"+al).val();if(ak.type==="float"){aj=parseFloat(aj)}else{if(ak.type==="int"){aj=parseInt(aj)}else{if(ak.type==="bool"){aj=af.find("#"+al).is(":checked")}}}if(aj!==ah.values[ak.key]){ah.values[ak.key]=aj;ag=true}}});if(ag){this.onchange()}}});var b=function(af,ai,ah,ag,aj){this.track=af;this.index=ai;this.low=ai*R*ah;this.high=(ai+1)*R*ah;this.resolution=ah;this.canvas=$("<div class='track-tile'/>").append(ag);this.data=aj;this.stale=false};b.prototype.predisplay_actions=function(){};var k=function(af,ai,ah,ag,aj,ak){b.call(this,af,ai,ah,ag,aj);this.max_val=ak};p(k.prototype,b.prototype);var P=function(af,aj,ai,ah,al,am,ak,ag){b.call(this,af,aj,ai,ah,al);this.mode=am;this.message=ak;this.feature_mapper=ag};p(P.prototype,b.prototype);P.prototype.predisplay_actions=function(){var ag=this,af={};if(ag.mode!=="Pack"){return}$(this.canvas).hover(function(){this.hovered=true;$(this).mousemove()},function(){this.hovered=false;$(this).siblings(".feature-popup").remove()}).mousemove(function(ar){if(!this.hovered){return}var am=$(this).offset(),aq=ar.pageX-am.left,ap=ar.pageY-am.top,aw=ag.feature_mapper.get_feature_data(aq,ap),an=(aw?aw[0]:null);$(this).siblings(".feature-popup").each(function(){if(!an||$(this).attr("id")!==an.toString()){$(this).remove()}});if(aw){var ai=af[an];if(!ai){var an=aw[0],at={name:aw[3],start:aw[1],end:aw[2],strand:aw[4]},al=ag.track.filters_manager.filters,ak;for(var ao=0;ao<al.length;ao++){ak=al[ao];at[ak.name]=aw[ak.index]}var ai=$("<div/>").attr("id",an).addClass("feature-popup"),ax=$("<table/>"),av,au,ay;for(av in at){au=at[av];ay=$("<tr/>").appendTo(ax);$("<th/>").appendTo(ay).text(av);$("<td/>").attr("align","left").appendTo(ay).text(typeof(au)=="number"?Z(au,2):au)}ai.append($("<div class='feature-popup-inner'>").append(ax));af[an]=ai}ai.appendTo($(ag.canvas).parent());var aj=aq+parseInt(ag.canvas.css("left"))-ai.width()/2,ah=ap+parseInt(ag.canvas.css("top"))+7;ai.css("left",aj+"px").css("top",ah+"px")}else{if(!ar.isPropagationStopped()){ar.stopPropagation();$(this).siblings().each(function(){$(this).trigger(ar)})}}}).mouseleave(function(){$(this).siblings(".feature-popup").remove()})};var i=function(ai,ag,af,ah,aj,ak){q.call(this,ai,ag,af,{},"draghandle");this.data_url=(aj?aj:default_data_url);this.data_url_extra_params={};this.data_query_wait=(ak?ak:L);this.dataset_check_url=converted_datasets_state_url;if(!i.id_counter){i.id_counter=0}this.id=i.id_counter++;this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.container.content_div.append(this.container_div)};p(i.prototype,q.prototype,{build_container_div:function(){return $("<div/>").addClass("track").attr("id","track_"+this.id).css("position","relative")},build_header_div:function(){var af=$("<div class='track-header'/>");if(this.view.editor){this.drag_div=$("<div/>").addClass(this.drag_handle_class).appendTo(af)}this.name_div=$("<div/>").addClass("track-name").appendTo(af).text(this.name).attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase());return af},build_icons_div:function(){var aj=$("<div/>").css("float","left");this.mode_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set display mode").addClass("icon-button chevron-expand").tipsy({gravity:"s"}).appendTo(aj);this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show track content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(aj);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(aj);this.overview_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set as overview").addClass("icon-button overview-icon").tipsy({gravity:"s"}).appendTo(aj);this.filters_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Filters").addClass("icon-button filters-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.tools_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Tools").addClass("icon-button tools-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(aj);var ag=this;if(ag.display_modes!==undefined){var al=(ag.config&&ag.config.values.mode?ag.config.values.mode:ag.display_modes[0]);ag.mode=al;this.mode_icon.attr("title","Set display mode (now: "+ag.mode+")");var ai={};for(var ah=0,af=ag.display_modes.length;ah<af;ah++){var ak=ag.display_modes[ah];ai[ak]=function(am){return function(){ag.change_mode(am);ag.icons_div.show();ag.container_div.mouseleave(function(){ag.icons_div.hide()})}}(ak)}make_popupmenu(this.mode_icon,ai)}this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var ao=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},am=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},an=function(ap){if((ap.keyCode||ap.which)===27){ao()}else{if((ap.keyCode||ap.which)===13){am()}}};$(window).bind("keypress.check_enter_esc",an);show_modal("Configure Track",ag.config.build_form(),{Cancel:ao,OK:am})});this.overview_icon.click(function(){ag.view.set_overview(ag)});this.filters_icon.click(function(){ag.filters_div.toggle();ag.filters_manager.reset_filters()});this.tools_icon.click(function(){ag.dynamic_tool_div.toggle();if(ag.dynamic_tool_div.is(":visible")){ag.set_name(ag.name+ag.tool_region_and_parameters_str())}else{ag.revert_name()}$(".tipsy").remove()});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return aj},hide_contents:function(){this.content_div.children().remove();this.content_div.hide();this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.content_div.show();this.container_div.find(".yaxislabel, .track-resize").show();this.request_draw()},get_type:function(){if(this instanceof ab){return"LabelTrack"}else{if(this instanceof A){return"ReferenceTrack"}else{if(this instanceof j){return"LineTrack"}else{if(this instanceof W){return"ReadTrack"}else{if(this instanceof U){return"VcfTrack"}else{if(this instanceof e){return"FeatureTrack"}}}}}}return""},init:function(){var af=this;af.enabled=false;af.tile_cache.clear();af.data_manager.clear();af.initial_canvas=undefined;af.content_div.css("height","auto");af.container_div.removeClass("nodata error pending");if(!af.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:af.hda_ldda,dataset_id:af.dataset_id,chrom:af.view.chrom},function(ag){if(!ag||ag==="error"||ag.kind==="error"){af.container_div.addClass("error");af.content_div.text(o);if(ag.message){var ah=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+ag.message+"</pre>",{Close:hide_modal})});af.content_div.append(ah)}}else{if(ag==="no converter"){af.container_div.addClass("error");af.content_div.text(K)}else{if(ag==="no data"||(ag.data!==undefined&&(ag.data===null||ag.data.length===0))){af.container_div.addClass("nodata");af.content_div.text(F)}else{if(ag==="pending"){af.container_div.addClass("pending");af.content_div.text(t);setTimeout(function(){af.init()},af.data_query_wait)}else{if(ag.status==="data"){if(ag.valid_chroms){af.valid_chroms=ag.valid_chroms;af.update_icons()}af.content_div.text(Y);if(af.view.chrom){af.content_div.text("");af.content_div.css("height",af.height_px+"px");af.enabled=true;$.when(af.predraw_init()).done(function(){af.container_div.removeClass("nodata error pending");af.request_draw()})}}}}}}});this.update_icons()},predraw_init:function(){}});var N=function(aj,ah,ag,ai,al,ak){i.call(this,aj,ah,ag,ai);var af=this,ah=af.view;m(af.container_div,af.drag_handle_class,".group",af);this.filters_manager=new aa(this,(al!==undefined?al:{}));this.filters_available=false;this.filters_visible=false;this.tool=(ak!==undefined&&obj_length(ak)>0?new r(this,ak):undefined);if(this.header_div){if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}}};p(N.prototype,q.prototype,i.prototype,{copy:function(af){return new this.constructor(this.name,this.view,af,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool)},to_json:function(){return{track_type:this.get_type(),name:this.name,hda_ldda:this.hda_ldda,dataset_id:this.dataset_id,prefs:this.prefs,mode:this.mode,}},change_mode:function(ag){var af=this;af.mode=ag;af.config.values.mode=ag;af.tile_cache.clear();af.request_draw();this.mode_icon.attr("title","Set display mode (now: "+af.mode+")");return af},update_icons:function(){var af=this;if(af.filters_available>0){af.filters_icon.show()}else{af.filters_icon.hide()}if(af.tool){af.tools_icon.show()}else{af.tools_icon.hide()}},_gen_tile_cache_key:function(ag,ah,af){return ag+"_"+ah+"_"+af},request_draw:function(ag,af){this.view.request_redraw(false,ag,af,this)},_draw:function(ah,ap){if(!this.enabled){return}if(!this.content_visible){return}if(!(this instanceof A)&&(!this.dataset_id)){return}var ao=this.view.low,al=this.view.high,am=al-ao,ai=this.view.container.width(),at=ai/am,ak=this.view.resolution,ar=$("<div style='position: relative;'></div>");if(this.is_overview){ao=this.view.max_low;al=this.view.max_high;ak=Math.pow(C,Math.ceil(Math.log((view.max_high-view.max_low)/R)/Math.log(C)));at=ai/(view.max_high-view.max_low)}if(!ap){this.content_div.children().remove()}this.content_div.append(ar);this.max_height=0;var ag=Math.floor(ao/ak/R);var an=true;var aq=[];var af=0;while((ag*R*ak)<al){tile=this.draw_helper(ah,ai,ag,ak,ar,at);if(tile){aq.push(tile)}else{an=false}ag+=1;af++}var aj=this;if(an){aj.postdraw_actions(aq,ai,at,ap)}},postdraw_actions:function(aj,ak,al,af){var ah=this;var ai=false;for(var ag=0;ag<aj.length;ag++){if(aj[ag].message){ai=true;break}}if(ai){for(var ag=0;ag<aj.length;ag++){tile=aj[ag];if(!tile.message){tile.canvas.css("padding-top",E)}}}},draw_helper:function(ag,ah,ai,al,ar,aw,at,am){var aj=this,aq=this._gen_tile_cache_key(ah,aw,ai),an=ai*R*al,av=an+R*al;var ao=(ag?undefined:aj.tile_cache.get(aq));if(ao){aj.show_tile(ao,ar,aw);return ao}var ap=function(ax){return("isResolved" in ax)};var ak=true;var af=aj.data_manager.get_data(an,av,aj.mode,al,aj.data_url_extra_params);if(ap(af)){ak=false}var au;if(view.reference_track&&aw>view.canvas_manager.char_width_px){au=view.reference_track.data_manager.get_data(an,av,aj.mode,al,view.reference_track.data_url_extra_params);if(ap(au)){ak=false}}if(ak){p(af,am);var ao=aj.draw_tile(af,aj.mode,al,ai,aw,au);if(ao!==undefined){aj.tile_cache.set(aq,ao);aj.show_tile(ao,ar,aw)}return ao}$.when(af,au).then(function(){view.request_redraw(false,false,false,aj)});return null},show_tile:function(al,an,ao){var ah=this,ag=al.canvas,ak=ag;if(al.message){var ap=$("<div/>"),am=$("<div/>").addClass("tile-message").text(al.message).css({height:E-1,width:al.canvas.width}).appendTo(ap),aj=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(am),af=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(am);ap.append(ag);ak=ap;aj.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.DEEP_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()});af.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.BROAD_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()})}al.predisplay_actions();var ai=(al.low-(this.is_overview?this.view.max_low:this.view.low))*ao;if(this.left_offset){ai-=this.left_offset}ak.css({position:"absolute",top:0,left:ai,height:""});an.append(ak);ah.max_height=Math.max(ah.max_height,ak.height());ah.content_div.css("height",ah.max_height+"px");an.children().css("height",ah.max_height+"px")},_get_tile_bounds:function(af,ag){var ai=af*R*ag,aj=R*ag,ah=(ai+aj<=this.view.max_high?ai+aj:this.view.max_high);return[ai,ah]},tool_region_and_parameters_str:function(ah,af,ai){var ag=this,aj=(ah!==undefined&&af!==undefined&&ai!==undefined?ah+":"+af+"-"+ai:"all");return" - region=["+aj+"], parameters=["+ag.tool.get_param_values().join(", ")+"]"},init_for_tool_data:function(){this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url;this.predraw_init=function(){var ag=this;var af=function(){if(ag.data_manager.size()===0){setTimeout(af,300)}else{ag.data_url=default_data_url;ag.data_query_wait=L;ag.dataset_state_url=converted_datasets_state_url;$.getJSON(ag.dataset_state_url,{dataset_id:ag.dataset_id,hda_ldda:ag.hda_ldda},function(ah){})}};af()}}});var ab=function(ag,af){i.call(this,"label",ag,af,false,{});this.container_div.addClass("label-track")};p(ab.prototype,i.prototype,{build_header_div:function(){},init:function(){this.enabled=true},_draw:function(){var ah=this.view,ai=ah.high-ah.low,al=Math.floor(Math.pow(10,Math.floor(Math.log(ai)/Math.log(10)))),af=Math.floor(ah.low/al)*al,aj=this.view.container.width(),ag=$("<div style='position: relative; height: 1.3em;'></div>");while(af<ah.high){var ak=(af-ah.low)/ai*aj;ag.append($("<div class='label'>"+commatize(af)+"</div>").css({position:"absolute",left:ak-1}));af+=al}this.content_div.children(":first").remove();this.content_div.append(ag)}});var A=function(af){N.call(this,"reference",af,{content_div:af.top_labeltrack},{});af.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:af.dbkey};this.data_manager=new I(B,this,false);this.tile_cache=new c(u)};p(A.prototype,q.prototype,N.prototype,{build_header_div:function(){},init:function(){this.enabled=true},draw_tile:function(ap,al,ak,ag,aq){var aj=this,ah=R*ak;if(aq>this.view.canvas_manager.char_width_px){if(ap.data===null){aj.content_div.css("height","0px");return}var ai=this.view.canvas_manager.new_canvas();var ao=ai.getContext("2d");ai.width=Math.ceil(ah*aq+aj.left_offset);ai.height=aj.height_px;ao.font=ao.canvas.manager.default_font;ao.textAlign="center";ap=ap.data;for(var am=0,an=ap.length;am<an;am++){var af=Math.round(am*aq);ao.fillText(ap[am],af+aj.left_offset,10)}return new b(aj,ag,ak,ai,ap)}this.content_div.css("height","0px")}});var j=function(ak,ai,ah,al,af,aj){var ag=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";N.call(this,ak,ai,ah,aj);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=al;this.dataset_id=af;this.original_dataset_id=af;this.data_manager=new S(B,this);this.tile_cache=new c(u);this.left_offset=0;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{key:"color",label:"Color",type:"color",default_value:get_random_color()},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:aj,onchange:function(){ag.set_name(ag.prefs.name);ag.vertical_range=ag.prefs.max_value-ag.prefs.min_value;$("#linetrack_"+ag.dataset_id+"_minval").text(ag.prefs.min_value);$("#linetrack_"+ag.dataset_id+"_maxval").text(ag.prefs.max_value);ag.tile_cache.clear();ag.request_draw()}});this.prefs=this.config.values;this.height_px=this.config.values.height;this.vertical_range=this.config.values.max_value-this.config.values.min_value;this.add_resize_handle()};p(j.prototype,q.prototype,N.prototype,{add_resize_handle:function(){var af=this;var ai=false;var ah=false;var ag=$("<div class='track-resize'>");$(af.container_div).hover(function(){if(af.content_visible){ai=true;ag.show()}},function(){ai=false;if(!ah){ag.hide()}});ag.hide().bind("dragstart",function(aj,ak){ah=true;ak.original_height=$(af.content_div).height()}).bind("drag",function(ak,al){var aj=Math.min(Math.max(al.original_height+al.deltaY,af.min_height_px),af.max_height_px);$(af.content_div).css("height",aj);af.height_px=aj;af.request_draw(true)}).bind("dragend",function(aj,ak){af.tile_cache.clear();ah=false;if(!ai){ag.hide()}af.config.values.height=af.height_px}).appendTo(af.container_div)},predraw_init:function(){var af=this;af.vertical_range=undefined;return $.getJSON(af.data_url,{stats:true,chrom:af.view.chrom,low:null,high:null,hda_ldda:af.hda_ldda,dataset_id:af.dataset_id},function(ag){af.container_div.addClass("line-track");var aj=ag.data;if(isNaN(parseFloat(af.prefs.min_value))||isNaN(parseFloat(af.prefs.max_value))){var ah=aj.min;var al=aj.max;ah=Math.floor(Math.min(0,Math.max(ah,aj.mean-2*aj.sd)));al=Math.ceil(Math.max(0,Math.min(al,aj.mean+2*aj.sd)));af.prefs.min_value=ah;af.prefs.max_value=al;$("#track_"+af.dataset_id+"_minval").val(af.prefs.min_value);$("#track_"+af.dataset_id+"_maxval").val(af.prefs.max_value)}af.vertical_range=af.prefs.max_value-af.prefs.min_value;af.total_frequency=aj.total_frequency;af.container_div.find(".yaxislabel").remove();var ak=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_minval").text(Z(af.prefs.min_value,3));var ai=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_maxval").text(Z(af.prefs.max_value,3));ai.css({position:"absolute",top:"24px",left:"10px"});ai.prependTo(af.container_div);ak.css({position:"absolute",bottom:"2px",left:"10px"});ak.prependTo(af.container_div)})},draw_tile:function(ar,ak,aj,ah,aq){if(this.vertical_range===undefined){return}var af=this._get_tile_bounds(ah,aj),al=af[0],ap=af[1],ag=Math.ceil((ap-al)*aq),an=this.height_px;var ai=this.view.canvas_manager.new_canvas();ai.width=ag,ai.height=an;var ao=ai.getContext("2d");var am=new M.LinePainter(ar.data,al,ap,this.prefs,ak);am.draw(ao,ag,an);return new b(this.track,ah,aj,ai,ar.data)}});var e=function(af,al,ag,ak,an,am,ai,aj){var ah=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];N.call(this,af,al,ag,am,ai,aj);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true,help:"Show the number of items in each bin when drawing summary histogram"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){ah.set_name(ah.prefs.name);ah.tile_cache.clear();ah.set_painter_from_config();ah.request_draw()}});this.prefs=this.config.values;this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=ak;this.dataset_id=an;this.original_dataset_id=an;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new S(20,this);this.left_offset=200;this.set_painter_from_config()};p(e.prototype,q.prototype,N.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=M.ArcLinkedFeaturePainter}else{this.painter=M.LinkedFeaturePainter}},postdraw_actions:function(av,af,aw,au){N.prototype.postdraw_actions.call(this,av,au);var ai=this;if(au){var ak=ai.content_div.children();var al=false;for(var aj=ak.length-1,ap=0;aj>=ap;aj--){var ah=$(ak[aj]);if(al){ah.remove()}else{if(ah.children().length!==0){al=true}}}}if(ai.mode=="Histogram"){var ao=-1;for(var aj=0;aj<av.length;aj++){var at=av[aj].max_val;if(at>ao){ao=at}}for(var aj=0;aj<av.length;aj++){var ar=av[aj];if(ar.max_val!==ao){ar.canvas.remove();ai.draw_helper(true,af,ar.index,ar.resolution,ar.canvas.parent(),aw,[],{max:ao})}}}if(ai.filters_manager){var ag=ai.filters_manager.filters;for(var an=0;an<ag.length;an++){ag[an].update_ui_elt()}var am=false,aq;for(var aj=0;aj<av.length;aj++){if(av[aj].data.length){aq=av[aj].data[0];for(var an=0;an<ag.length;an++){if(ag[an].applies_to(aq)){am=true;break}}}}if(ai.filters_available!==am){ai.filters_available=am;if(!ai.filters_available){ai.filters_div.hide()}ai.update_icons()}}},update_auto_mode:function(af){var af;if(this.mode=="Auto"){if(af=="no_detail"){af="feature spans"}else{if(af=="summary_tree"){af="coverage histogram"}}this.mode_icon.attr("title","Set display mode (now: Auto/"+af+")")}},incremental_slots:function(aj,ag,ai){var ah=this.view.canvas_manager.dummy_context,af=this.inc_slots[aj];if(!af||(af.mode!==ai)){af=new (s.FeatureSlotter)(aj,ai==="Pack",z,function(ak){return ah.measureText(ak)});af.mode=ai;this.inc_slots[aj]=af}return af.slot_features(ag)},get_summary_tree_data:function(aj,am,ah,av){if(av>ah-am){av=ah-am}var aq=Math.floor((ah-am)/av),au=[],ai=0;var ak=0,al=0,ap,at=0,an=[],ar,ao;var ag=function(ay,ax,az,aw){ay[0]=ax+az*aw;ay[1]=ax+(az+1)*aw};while(at<av&&ak!==aj.length){var af=false;for(;at<av&&!af;at++){ag(an,am,at,aq);for(al=ak;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){af=true;break}}if(af){break}}data_start_index=al;au[au.length]=ar=[an[0],0];for(;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){ar[1]++}else{break}}if(ar[1]>ai){ai=ar[1]}at++}return{max:ai,delta:aq,data:au}},draw_tile:function(au,ax,aB,aF,ap,ai){var ay=this,ak=ay._get_tile_bounds(aF,aB),aI=ak[0],ag=ak[1],aw=ag-aI,az=Math.ceil(aw*ap),aO=25,aj=this.left_offset,av,al;if(ax==="Auto"){if(au.dataset_type==="summary_tree"){ax=au.dataset_type}else{if(au.extra_info==="no_detail"||ay.is_overview){ax="no_detail"}else{var aN=au.data;if(this.view.high-this.view.low>J){ax="Squish"}else{ax="Pack"}}}this.update_auto_mode(ax)}if(ax==="summary_tree"||ax==="Histogram"){al=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var af=$("<div />").addClass("yaxislabel");af.text(au.max);af.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});af.prependTo(this.container_div);var ah=this.view.canvas_manager.new_canvas();ah.width=az+aj;ah.height=al+T;if(au.dataset_type!="summary_tree"){var aq=this.get_summary_tree_data(au.data,aI,ag,200);if(au.max){aq.max=au.max}au=aq}var aK=new M.SummaryTreePainter(au,aI,ag,this.prefs);var aA=ah.getContext("2d");aA.translate(aj,T);aK.draw(aA,az,al);return new k(ay,aF,aB,ah,au.data,au.max)}var av,an=1;if(ax==="no_detail"||ax==="Squish"||ax==="Pack"){an=this.incremental_slots(ap,au.data,ax);av=this.inc_slots[ap].slots}var ao=[];if(au.data){var ar=this.filters_manager.filters;for(var aC=0,aE=au.data.length;aC<aE;aC++){var am=au.data[aC];var aD=false;var at;for(var aH=0,aM=ar.length;aH<aM;aH++){at=ar[aH];at.update_attrs(am);if(!at.keep(am)){aD=true;break}}if(!aD){ao.push(am)}}}var aL=(this.filters_manager.alpha_filter?new D(this.filters_manager.alpha_filter):null);var aJ=(this.filters_manager.height_filter?new D(this.filters_manager.height_filter):null);var aK=new (this.painter)(ao,aI,ag,this.prefs,ax,aL,aJ,ai);var al=Math.max(ad,aK.get_required_height(an,az));var ah=this.view.canvas_manager.new_canvas();var aG=null;ah.width=az+aj;ah.height=al;var aA=ah.getContext("2d");aA.fillStyle=this.prefs.block_color;aA.font=aA.canvas.manager.default_font;aA.textAlign="right";this.container_div.find(".yaxislabel").remove();if(au.data){aA.translate(aj,0);aG=aK.draw(aA,az,al,av);aG.translation=-aj}return new P(ay,aF,aB,ah,au.data,ax,au.message,aG)}});var U=function(ak,ah,ag,am,af,aj,al,ai){e.call(this,ak,ah,ag,am,af,aj,al,ai);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:aj,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=M.ReadPainter};p(U.prototype,q.prototype,N.prototype,e.prototype);var W=function(af,ak,ag,aj,an,am,ah){e.call(this,af,ak,ag,aj,an,am,ah);var ai=get_random_color(),al=get_random_color([ai,"#ffffff"]);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block and sense strand color",type:"color",default_value:ai},{key:"reverse_strand_color",label:"Antisense strand color",type:"color",default_value:al},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=M.ReadPainter;this.update_icons()};p(W.prototype,q.prototype,N.prototype,e.prototype);X.View=ac;X.DrawableGroup=Q;X.LineTrack=j;X.FeatureTrack=e;X.ReadTrack=W;X.VcfTrack=U};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(i,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=i;this.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(F,G){for(var E=0;E<=z;E++){var C=false,H=h[E];if(H!==undefined){for(var B=0,D=H.length;B<D;B++){var i=H[B];if(G>i[0]&&F<i[1]){C=true;break}}}if(!C){return E}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}else{}}return n+1}})};var painters_module=function(i,x){var u=i("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var d=function(y){this.default_val=(y?y:1)};d.prototype.gen_val=function(y){return this.default_val};var l=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};l.prototype.default_prefs={};var v=function(A,C,y,z,B){l.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(M,z,L){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;var J=this.data.data,I=this.data.delta,G=this.data.max,B=L;delta_x_px=Math.ceil(I*N);M.save();for(var C=0,D=J.length;C<D;C++){var H=Math.floor((J[C][0]-E)*N);var F=J[C][1];if(!F){continue}var K=F/G*L;if(F!==0&&K<1){K=1}M.fillStyle=this.prefs.block_color;M.fillRect(H,B-K,delta_x_px,K);var A=4;if(this.prefs.show_counts&&(M.measureText(F).width+A)<delta_x_px){M.fillStyle=this.prefs.label_color;M.textAlign="center";M.fillText(F,H+(delta_x_px/2),10)}}M.restore()};var b=function(y,C,E,F,A){l.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};b.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};b.prototype.draw=function(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.restore()};var m=function(y){this.feature_positions={};this.slot_height=y;this.translation=0;this.y_translation=0};m.prototype.map_feature_data=function(z,B,y,A){if(!this.feature_positions[B]){this.feature_positions[B]=[]}this.feature_positions[B].push({data:z,x_start:y,x_end:A})};m.prototype.get_feature_data=function(z,D){var C=Math.floor((D-this.y_translation)/this.slot_height),B;if(!this.feature_positions[C]){return null}z+=this.translation;for(var A=0;A<this.feature_positions[C].length;A++){B=this.feature_positions[C][A];if(z>=B.x_start&&z<=B.x_end){return B.data}}};var o=function(A,D,y,z,C,E,B){l.call(this,A,D,y,z,C);this.alpha_scaler=(E?E:new d());this.height_scaler=(B?B:new d())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(A,z){var y=y_scale=this.get_row_height(),B=this.mode;if(B==="no_detail"||B==="Squish"||B==="Pack"){y=A*y_scale}return y+this.get_top_padding(z)+this.get_bottom_padding(z)},get_top_padding:function(y){return 0},get_bottom_padding:function(y){return Math.max(Math.round(this.get_row_height()/2),5)},draw:function(K,I,G,F){var Q=this.data,D=this.view_start,M=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var H=this.view_end-this.view_start,E=I/H,L=this.get_row_height(),P=new m(L),B;for(var N=0,O=Q.length;N<O;N++){var A=Q[N],C=A[0],J=A[1],y=A[2],z=(F&&F[C]!==undefined?F[C]:null);if((J<M&&y>D)&&(this.mode=="Dense"||z!==null)){B=this.draw_element(K,this.mode,A,z,D,M,E,L,I);P.map_feature_data(A,z,B[0],B[1])}}K.restore();P.y_translation=this.get_top_padding(I);return P},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.");return[0,0]}});var c=10,h=3,k=5,w=10,f=1,s=9,e=3,a=9,j=2,g="#ccc";var r=function(A,D,y,z,C,E,B){o.call(this,A,D,y,z,C,E,B);this.draw_background_connector=true;this.draw_individual_connectors=false};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=c}else{if(z==="no_detail"){y=h}else{if(z==="Squish"){y=k}else{y=w}}}return y},draw_element:function(M,D,X,H,O,aj,an,ap,y){var T=X[0],al=X[1],ad=X[2],Q=X[3],ae=Math.floor(Math.max(0,(al-O)*an)),N=Math.ceil(Math.min(y,Math.max(0,(ad-O)*an))),ac=ae,ao=N,aa=(D==="Dense"?0:(0+H))*ap+this.get_top_padding(y),L,ah,R=null,ar=null,B=this.prefs.block_color,ag=this.prefs.label_color;M.globalAlpha=this.alpha_scaler.gen_val(X);if(D==="Dense"){H=1}if(D==="no_detail"){M.fillStyle=B;M.fillRect(ae,aa+5,N-ae,f)}else{var K=X[4],Z=X[5],af=X[6],C=X[7],V=true;if(Z&&af){R=Math.floor(Math.max(0,(Z-O)*an));ar=Math.ceil(Math.min(y,Math.max(0,(af-O)*an)))}var am,U;if(D==="Squish"){am=1;U=e;V=false}else{if(D==="Dense"){am=5;U=s}else{am=5;U=a}}if(!C){M.fillStyle=B;M.fillRect(ae,aa+1,N-ae,U);if(K&&V){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}M.fillRect(ae,aa+1,N-ae,U)}}else{var J,W;if(D==="Squish"||D==="Dense"){J=aa+Math.floor(e/2)+1;W=1}else{if(K){J=aa;W=U}else{J+=(e/2)+1;W=1}}if(this.draw_background_connector){if(D==="Squish"||D==="Dense"){M.fillStyle=g}else{if(K){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand")}}}else{M.fillStyle=g}}M.fillRect(ae,J,N-ae,W)}var E;for(var ak=0,A=C.length;ak<A;ak++){var F=C[ak],z=Math.floor(Math.max(0,(F[0]-O)*an)),Y=Math.ceil(Math.min(y,Math.max((F[1]-O)*an))),S,ab;if(z>Y){continue}M.fillStyle=B;M.fillRect(z,aa+(U-am)/2+1,Y-z,am);if(R!==undefined&&af>Z&&!(z>ar||Y<R)){var ai=Math.max(z,R),I=Math.min(Y,ar);M.fillRect(ai,aa+1,I-ai,U);if(C.length==1&&D=="Pack"){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}if(ai+14<I){ai+=2;I-=2}M.fillRect(ai,aa+1,I-ai,U)}}if(this.draw_individual_connectors&&S){this.draw_connector(M,S,ab,z,Y,aa)}S=z;ab=Y}if(D==="Pack"){M.globalAlpha=1;M.fillStyle="white";var G=this.height_scaler.gen_val(X),P=Math.ceil(U*G),aq=Math.round((U-P)/2);if(G!==1){M.fillRect(ae,J+1,N-ae,aq);M.fillRect(ae,J+U-aq+1,N-ae,aq)}}}M.globalAlpha=1;if(D==="Pack"&&al>O){M.fillStyle=ag;if(O===0&&ae-M.measureText(Q).width<0){M.textAlign="left";M.fillText(Q,N+j,aa+8);ao+=M.measureText(Q).width+j}else{M.textAlign="right";M.fillText(Q,ae-j,aa+8);ac-=M.measureText(Q).width+j}}}M.globalAlpha=1;return[ac,ao]}});var t=function(B,E,y,A,D,F,C,z){o.call(this,B,E,y,A,D,F,C);this.ref_seq=(z?z.data:null)};u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=c}else{if(z==="Squish"){y=k}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(K,A,ag,V,L,aa,ad,C,B,M){K.textAlign="center";var J=this,R=[L,aa],Z=0,W=0,D=0,F=K.canvas.manager.char_width_px,y=(B==="+"?this.prefs.block_color:this.prefs.reverse_strand_color);var O=[];if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){D=Math.round(ag/2)}if(!C){C=[[0,M.length]]}for(var G=0,I=C.length;G<I;G++){var z=C[G],E="MIDNSHP=X"[z[0]],S=z[1];if(E==="H"||E==="S"){Z-=S}var U=ad+Z,Y=Math.floor(Math.max(0,(U-L)*ag)),ab=Math.floor(Math.max(0,(U+S-L)*ag));if(Y===ab){ab+=1}switch(E){case"H":break;case"S":case"M":case"=":if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(D>0){K.fillStyle=y;K.fillRect(Y-D,V+1,ab-Y,9);K.fillStyle=g;for(var af=0,H=N.length;af<H;af++){if(this.prefs.show_differences&&this.ref_seq){var P=this.ref_seq[U-L+af];if(!P||P.toLowerCase()===N[af].toLowerCase()){continue}}if(U+af>=L&&U+af<=aa){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X,V+9)}}}else{K.fillStyle=y;K.fillRect(Y,V+4,ab-Y,e)}}W+=S;Z+=S;break;case"N":K.fillStyle=g;K.fillRect(Y-D,V+5,ab-Y,1);Z+=S;break;case"D":K.fillStyle="red";K.fillRect(Y-D,V+4,ab-Y,3);Z+=S;break;case"P":break;case"I":var ah=Y-D;if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(this.prefs.show_insertions){var T=Y-(ab-Y)/2;if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){K.fillStyle="yellow";K.fillRect(T-D,V-9,ab-Y,9);O[O.length]={type:"triangle",data:[ah,V+4,5]};K.fillStyle=g;switch(compute_overlap([U,U+S],R)){case (OVERLAP_START):N=N.slice(L-U);break;case (OVERLAP_END):N=N.slice(0,U-aa);break;case (CONTAINED_BY):break;case (CONTAINS):N=N.slice(L-U,U-aa);break}for(var af=0,H=N.length;af<H;af++){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X-(ab-Y)/2,V)}}else{K.fillStyle="yellow";K.fillRect(T,V+(this.mode!=="Dense"?2:5),ab-Y,(A!=="Dense"?e:s))}}else{if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){O.push({type:"text",data:[N.length,ah,V+9]})}else{}}}W+=S;break;case"X":W+=S;break}}K.fillStyle="yellow";var Q,ai,ae;for(var ac=0;ac<O.length;ac++){Q=O[ac];ai=Q.type;ae=Q.data;if(ai==="text"){K.save();K.font="bold "+K.font;K.fillText(ae[0],ae[1],ae[2]);K.restore()}else{if(ai=="triangle"){q(K,ae[0],ae[1],ae[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,C,U,z,E[4][0],E[4][2],E[4][3],E[4][4])}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,C,U,z,E[5][0],E[5][2],E[5][3],E[5][4])}if(K>L){R.fillStyle=g;p(R,L-O,C+5,K-O,C+5)}}else{this.draw_read(R,M,I,C,U,z,Q,E[4],E[5],E[6])}if(M==="Pack"&&Q>U&&J!=="."){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+j-O,C+8)}else{R.textAlign="right";R.fillText(J,D-j-O,C+8)}}return[0,0]}});var n=function(A,D,y,z,C,E,B){r.call(this,A,D,y,z,C,E,B);this.longest_feature_length=this.calculate_longest_feature_length();this.draw_background_connector=false;this.draw_individual_connectors=true};u(n.prototype,o.prototype,r.prototype,{calculate_longest_feature_length:function(){var z=0;for(var C=0,y=this.data.length;C<y;C++){var B=this.data[C],A=B[1],D=B[2];z=Math.max(z,D-A)}return z},get_top_padding:function(z){var y=this.view_end-this.view_start,A=z/y;return Math.min(128,Math.ceil((this.longest_feature_length/2)*A))},draw_connector:function(G,B,F,H,E,D){var y=(F+H)/2,C=H-y;var A=Math.PI,z=0;if(C>0){G.beginPath();G.arc(y,D,H-y,Math.PI,0);G.stroke()}}});x.Scaler=d;x.SummaryTreePainter=v;x.LinePainter=b;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.ArcLinkedFeaturePainter=n};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
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 commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/d39523d118fe/
changeset: d39523d118fe
user: dan
date: 2011-11-17 20:18:55
summary: Update tool_conf.xml.sample.
affected #: 1 file
diff -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec -r d39523d118fe21d71c994d185c2a0d96196f09b0 tool_conf.xml.sample
--- a/tool_conf.xml.sample
+++ b/tool_conf.xml.sample
@@ -378,6 +378,8 @@
<tool file="samtools/samtools_rmdup.xml" /></section><section name="NGS: GATK Tools (beta)" id="gatk">
+ <label text="Alignment Utilities" id="gatk_bam_utilities"/>
+ <tool file="gatk/depth_of_coverage.xml" /><label text="Realignment" id="gatk_realignment" /><tool file="gatk/realigner_target_creator.xml" />
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 commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/4e075c43e20f/
changeset: 4e075c43e20f
user: dan
date: 2011-11-17 20:17:42
summary: Add DepthOfCoverage GATK tool.
affected #: 7 files
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1.log.contains
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1.log.contains
@@ -0,0 +1,6 @@
+TraversalEngine - [INITIALIZATION COMPLETE; TRAVERSAL STARTING]
+TraversalEngine - Location processed.sites runtime per.1M.sites completed total.runtime remaining
+DepthOfCoverageWalker - Printing summary info
+DepthOfCoverageWalker - Printing locus summary
+TraversalEngine - Total runtime
+TraversalEngine - 0 reads were filtered out during traversal out of 10 total (0.00%)
\ No newline at end of file
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_cumulative_coverage_counts_sample.tabular
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_cumulative_coverage_counts_sample.tabular
@@ -0,0 +1,2 @@
+ gte_0 gte_1 gte_2 gte_3 gte_4 gte_5 gte_6 gte_7 gte_8 gte_9 gte_10 gte_11 gte_12 gte_13 gte_14 gte_15 gte_16 gte_17 gte_18 gte_19 gte_20 gte_21 gte_22 gte_23 gte_24 gte_25 gte_26 gte_27 gte_28 gte_29 gte_30 gte_31 gte_32 gte_33 gte_34 gte_35 gte_36 gte_37 gte_38 gte_39 gte_40 gte_41 gte_42 gte_43 gte_44 gte_45 gte_46 gte_47 gte_48 gte_49 gte_50 gte_51 gte_52 gte_53 gte_54 gte_55 gte_56 gte_57 gte_58 gte_59 gte_60 gte_61 gte_62 gte_63 gte_64 gte_65 gte_66 gte_67 gte_68 gte_69 gte_70 gte_71 gte_72 gte_73 gte_74 gte_75 gte_76 gte_77 gte_78 gte_79 gte_80 gte_81 gte_82 gte_83 gte_84 gte_85 gte_86 gte_87 gte_88 gte_89 gte_90 gte_91 gte_92 gte_93 gte_94 gte_95 gte_96 gte_97 gte_98 gte_99 gte_100 gte_101 gte_102 gte_103 gte_104 gte_105 gte_106 gte_107 gte_108 gte_109 gte_110 gte_111 gte_112 gte_113 gte_114 gte_115 gte_116 gte_117 gte_118 gte_119 gte_120 gte_121 gte_122 gte_123 gte_124 gte_125 gte_126 gte_127 gte_128 gte_129 gte_130 gte_131 gte_132 gte_133 gte_134 gte_135 gte_136 gte_137 gte_138 gte_139 gte_140 gte_141 gte_142 gte_143 gte_144 gte_145 gte_146 gte_147 gte_148 gte_149 gte_150 gte_151 gte_152 gte_153 gte_154 gte_155 gte_156 gte_157 gte_158 gte_159 gte_160 gte_161 gte_162 gte_163 gte_164 gte_165 gte_166 gte_167 gte_168 gte_169 gte_170 gte_171 gte_172 gte_173 gte_174 gte_175 gte_176 gte_177 gte_178 gte_179 gte_180 gte_181 gte_182 gte_183 gte_184 gte_185 gte_186 gte_187 gte_188 gte_189 gte_190 gte_191 gte_192 gte_193 gte_194 gte_195 gte_196 gte_197 gte_198 gte_199 gte_200 gte_201 gte_202 gte_203 gte_204 gte_205 gte_206 gte_207 gte_208 gte_209 gte_210 gte_211 gte_212 gte_213 gte_214 gte_215 gte_216 gte_217 gte_218 gte_219 gte_220 gte_221 gte_222 gte_223 gte_224 gte_225 gte_226 gte_227 gte_228 gte_229 gte_230 gte_231 gte_232 gte_233 gte_234 gte_235 gte_236 gte_237 gte_238 gte_239 gte_240 gte_241 gte_242 gte_243 gte_244 gte_245 gte_246 gte_247 gte_248 gte_249 gte_250 gte_251 gte_252 gte_253 gte_254 gte_255 gte_256 gte_257 gte_258 gte_259 gte_260 gte_261 gte_262 gte_263 gte_264 gte_265 gte_266 gte_267 gte_268 gte_269 gte_270 gte_271 gte_272 gte_273 gte_274 gte_275 gte_276 gte_277 gte_278 gte_279 gte_280 gte_281 gte_282 gte_283 gte_284 gte_285 gte_286 gte_287 gte_288 gte_289 gte_290 gte_291 gte_292 gte_293 gte_294 gte_295 gte_296 gte_297 gte_298 gte_299 gte_300 gte_301 gte_302 gte_303 gte_304 gte_305 gte_306 gte_307 gte_308 gte_309 gte_310 gte_311 gte_312 gte_313 gte_314 gte_315 gte_316 gte_317 gte_318 gte_319 gte_320 gte_321 gte_322 gte_323 gte_324 gte_325 gte_326 gte_327 gte_328 gte_329 gte_330 gte_331 gte_332 gte_333 gte_334 gte_335 gte_336 gte_337 gte_338 gte_339 gte_340 gte_341 gte_342 gte_343 gte_344 gte_345 gte_346 gte_347 gte_348 gte_349 gte_350 gte_351 gte_352 gte_353 gte_354 gte_355 gte_356 gte_357 gte_358 gte_359 gte_360 gte_361 gte_362 gte_363 gte_364 gte_365 gte_366 gte_367 gte_368 gte_369 gte_370 gte_371 gte_372 gte_373 gte_374 gte_375 gte_376 gte_377 gte_378 gte_379 gte_380 gte_381 gte_382 gte_383 gte_384 gte_385 gte_386 gte_387 gte_388 gte_389 gte_390 gte_391 gte_392 gte_393 gte_394 gte_395 gte_396 gte_397 gte_398 gte_399 gte_400 gte_401 gte_402 gte_403 gte_404 gte_405 gte_406 gte_407 gte_408 gte_409 gte_410 gte_411 gte_412 gte_413 gte_414 gte_415 gte_416 gte_417 gte_418 gte_419 gte_420 gte_421 gte_422 gte_423 gte_424 gte_425 gte_426 gte_427 gte_428 gte_429 gte_430 gte_431 gte_432 gte_433 gte_434 gte_435 gte_436 gte_437 gte_438 gte_439 gte_440 gte_441 gte_442 gte_443 gte_444 gte_445 gte_446 gte_447 gte_448 gte_449 gte_450 gte_451 gte_452 gte_453 gte_454 gte_455 gte_456 gte_457 gte_458 gte_459 gte_460 gte_461 gte_462 gte_463 gte_464 gte_465 gte_466 gte_467 gte_468 gte_469 gte_470 gte_471 gte_472 gte_473 gte_474 gte_475 gte_476 gte_477 gte_478 gte_479 gte_480 gte_481 gte_482 gte_483 gte_484 gte_485 gte_486 gte_487 gte_488 gte_489 gte_490 gte_491 gte_492 gte_493 gte_494 gte_495 gte_496 gte_497 gte_498 gte_499 gte_500
+NSamples_1 5386 43 41 40 38 37 36 34 32 30 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_output_cumulative_coverage_proportions_sample.tabular
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_output_cumulative_coverage_proportions_sample.tabular
@@ -0,0 +1,2 @@
+ gte_0 gte_1 gte_2 gte_3 gte_4 gte_5 gte_6 gte_7 gte_8 gte_9 gte_10 gte_11 gte_12 gte_13 gte_14 gte_15 gte_16 gte_17 gte_18 gte_19 gte_20 gte_21 gte_22 gte_23 gte_24 gte_25 gte_26 gte_27 gte_28 gte_29 gte_30 gte_31 gte_32 gte_33 gte_34 gte_35 gte_36 gte_37 gte_38 gte_39 gte_40 gte_41 gte_42 gte_43 gte_44 gte_45 gte_46 gte_47 gte_48 gte_49 gte_50 gte_51 gte_52 gte_53 gte_54 gte_55 gte_56 gte_57 gte_58 gte_59 gte_60 gte_61 gte_62 gte_63 gte_64 gte_65 gte_66 gte_67 gte_68 gte_69 gte_70 gte_71 gte_72 gte_73 gte_74 gte_75 gte_76 gte_77 gte_78 gte_79 gte_80 gte_81 gte_82 gte_83 gte_84 gte_85 gte_86 gte_87 gte_88 gte_89 gte_90 gte_91 gte_92 gte_93 gte_94 gte_95 gte_96 gte_97 gte_98 gte_99 gte_100 gte_101 gte_102 gte_103 gte_104 gte_105 gte_106 gte_107 gte_108 gte_109 gte_110 gte_111 gte_112 gte_113 gte_114 gte_115 gte_116 gte_117 gte_118 gte_119 gte_120 gte_121 gte_122 gte_123 gte_124 gte_125 gte_126 gte_127 gte_128 gte_129 gte_130 gte_131 gte_132 gte_133 gte_134 gte_135 gte_136 gte_137 gte_138 gte_139 gte_140 gte_141 gte_142 gte_143 gte_144 gte_145 gte_146 gte_147 gte_148 gte_149 gte_150 gte_151 gte_152 gte_153 gte_154 gte_155 gte_156 gte_157 gte_158 gte_159 gte_160 gte_161 gte_162 gte_163 gte_164 gte_165 gte_166 gte_167 gte_168 gte_169 gte_170 gte_171 gte_172 gte_173 gte_174 gte_175 gte_176 gte_177 gte_178 gte_179 gte_180 gte_181 gte_182 gte_183 gte_184 gte_185 gte_186 gte_187 gte_188 gte_189 gte_190 gte_191 gte_192 gte_193 gte_194 gte_195 gte_196 gte_197 gte_198 gte_199 gte_200 gte_201 gte_202 gte_203 gte_204 gte_205 gte_206 gte_207 gte_208 gte_209 gte_210 gte_211 gte_212 gte_213 gte_214 gte_215 gte_216 gte_217 gte_218 gte_219 gte_220 gte_221 gte_222 gte_223 gte_224 gte_225 gte_226 gte_227 gte_228 gte_229 gte_230 gte_231 gte_232 gte_233 gte_234 gte_235 gte_236 gte_237 gte_238 gte_239 gte_240 gte_241 gte_242 gte_243 gte_244 gte_245 gte_246 gte_247 gte_248 gte_249 gte_250 gte_251 gte_252 gte_253 gte_254 gte_255 gte_256 gte_257 gte_258 gte_259 gte_260 gte_261 gte_262 gte_263 gte_264 gte_265 gte_266 gte_267 gte_268 gte_269 gte_270 gte_271 gte_272 gte_273 gte_274 gte_275 gte_276 gte_277 gte_278 gte_279 gte_280 gte_281 gte_282 gte_283 gte_284 gte_285 gte_286 gte_287 gte_288 gte_289 gte_290 gte_291 gte_292 gte_293 gte_294 gte_295 gte_296 gte_297 gte_298 gte_299 gte_300 gte_301 gte_302 gte_303 gte_304 gte_305 gte_306 gte_307 gte_308 gte_309 gte_310 gte_311 gte_312 gte_313 gte_314 gte_315 gte_316 gte_317 gte_318 gte_319 gte_320 gte_321 gte_322 gte_323 gte_324 gte_325 gte_326 gte_327 gte_328 gte_329 gte_330 gte_331 gte_332 gte_333 gte_334 gte_335 gte_336 gte_337 gte_338 gte_339 gte_340 gte_341 gte_342 gte_343 gte_344 gte_345 gte_346 gte_347 gte_348 gte_349 gte_350 gte_351 gte_352 gte_353 gte_354 gte_355 gte_356 gte_357 gte_358 gte_359 gte_360 gte_361 gte_362 gte_363 gte_364 gte_365 gte_366 gte_367 gte_368 gte_369 gte_370 gte_371 gte_372 gte_373 gte_374 gte_375 gte_376 gte_377 gte_378 gte_379 gte_380 gte_381 gte_382 gte_383 gte_384 gte_385 gte_386 gte_387 gte_388 gte_389 gte_390 gte_391 gte_392 gte_393 gte_394 gte_395 gte_396 gte_397 gte_398 gte_399 gte_400 gte_401 gte_402 gte_403 gte_404 gte_405 gte_406 gte_407 gte_408 gte_409 gte_410 gte_411 gte_412 gte_413 gte_414 gte_415 gte_416 gte_417 gte_418 gte_419 gte_420 gte_421 gte_422 gte_423 gte_424 gte_425 gte_426 gte_427 gte_428 gte_429 gte_430 gte_431 gte_432 gte_433 gte_434 gte_435 gte_436 gte_437 gte_438 gte_439 gte_440 gte_441 gte_442 gte_443 gte_444 gte_445 gte_446 gte_447 gte_448 gte_449 gte_450 gte_451 gte_452 gte_453 gte_454 gte_455 gte_456 gte_457 gte_458 gte_459 gte_460 gte_461 gte_462 gte_463 gte_464 gte_465 gte_466 gte_467 gte_468 gte_469 gte_470 gte_471 gte_472 gte_473 gte_474 gte_475 gte_476 gte_477 gte_478 gte_479 gte_480 gte_481 gte_482 gte_483 gte_484 gte_485 gte_486 gte_487 gte_488 gte_489 gte_490 gte_491 gte_492 gte_493 gte_494 gte_495 gte_496 gte_497 gte_498 gte_499 gte_500
+A Fake phiX Sample 1.00 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_per_locus_coverage.tabular
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_per_locus_coverage.tabular
@@ -0,0 +1,5387 @@
+Locus Total_Depth Average_Depth_sample Depth_for_A Fake phiX Sample
+phiX174:1 0 0.00 0
+phiX174:2 0 0.00 0
+phiX174:3 0 0.00 0
+phiX174:4 0 0.00 0
+phiX174:5 0 0.00 0
+phiX174:6 0 0.00 0
+phiX174:7 0 0.00 0
+phiX174:8 0 0.00 0
+phiX174:9 0 0.00 0
+phiX174:10 0 0.00 0
+phiX174:11 0 0.00 0
+phiX174:12 0 0.00 0
+phiX174:13 0 0.00 0
+phiX174:14 0 0.00 0
+phiX174:15 0 0.00 0
+phiX174:16 0 0.00 0
+phiX174:17 0 0.00 0
+phiX174:18 0 0.00 0
+phiX174:19 0 0.00 0
+phiX174:20 0 0.00 0
+phiX174:21 0 0.00 0
+phiX174:22 0 0.00 0
+phiX174:23 0 0.00 0
+phiX174:24 0 0.00 0
+phiX174:25 0 0.00 0
+phiX174:26 0 0.00 0
+phiX174:27 0 0.00 0
+phiX174:28 0 0.00 0
+phiX174:29 0 0.00 0
+phiX174:30 0 0.00 0
+phiX174:31 0 0.00 0
+phiX174:32 0 0.00 0
+phiX174:33 0 0.00 0
+phiX174:34 0 0.00 0
+phiX174:35 0 0.00 0
+phiX174:36 0 0.00 0
+phiX174:37 0 0.00 0
+phiX174:38 0 0.00 0
+phiX174:39 0 0.00 0
+phiX174:40 0 0.00 0
+phiX174:41 0 0.00 0
+phiX174:42 0 0.00 0
+phiX174:43 0 0.00 0
+phiX174:44 0 0.00 0
+phiX174:45 0 0.00 0
+phiX174:46 0 0.00 0
+phiX174:47 0 0.00 0
+phiX174:48 0 0.00 0
+phiX174:49 0 0.00 0
+phiX174:50 0 0.00 0
+phiX174:51 0 0.00 0
+phiX174:52 0 0.00 0
+phiX174:53 0 0.00 0
+phiX174:54 0 0.00 0
+phiX174:55 0 0.00 0
+phiX174:56 0 0.00 0
+phiX174:57 0 0.00 0
+phiX174:58 0 0.00 0
+phiX174:59 0 0.00 0
+phiX174:60 0 0.00 0
+phiX174:61 0 0.00 0
+phiX174:62 0 0.00 0
+phiX174:63 0 0.00 0
+phiX174:64 0 0.00 0
+phiX174:65 0 0.00 0
+phiX174:66 0 0.00 0
+phiX174:67 0 0.00 0
+phiX174:68 0 0.00 0
+phiX174:69 0 0.00 0
+phiX174:70 0 0.00 0
+phiX174:71 0 0.00 0
+phiX174:72 0 0.00 0
+phiX174:73 0 0.00 0
+phiX174:74 0 0.00 0
+phiX174:75 0 0.00 0
+phiX174:76 0 0.00 0
+phiX174:77 0 0.00 0
+phiX174:78 0 0.00 0
+phiX174:79 0 0.00 0
+phiX174:80 0 0.00 0
+phiX174:81 0 0.00 0
+phiX174:82 0 0.00 0
+phiX174:83 0 0.00 0
+phiX174:84 0 0.00 0
+phiX174:85 0 0.00 0
+phiX174:86 0 0.00 0
+phiX174:87 0 0.00 0
+phiX174:88 0 0.00 0
+phiX174:89 0 0.00 0
+phiX174:90 0 0.00 0
+phiX174:91 0 0.00 0
+phiX174:92 0 0.00 0
+phiX174:93 0 0.00 0
+phiX174:94 0 0.00 0
+phiX174:95 0 0.00 0
+phiX174:96 0 0.00 0
+phiX174:97 0 0.00 0
+phiX174:98 0 0.00 0
+phiX174:99 0 0.00 0
+phiX174:100 0 0.00 0
+phiX174:101 0 0.00 0
+phiX174:102 0 0.00 0
+phiX174:103 0 0.00 0
+phiX174:104 0 0.00 0
+phiX174:105 0 0.00 0
+phiX174:106 0 0.00 0
+phiX174:107 0 0.00 0
+phiX174:108 0 0.00 0
+phiX174:109 0 0.00 0
+phiX174:110 0 0.00 0
+phiX174:111 0 0.00 0
+phiX174:112 0 0.00 0
+phiX174:113 0 0.00 0
+phiX174:114 0 0.00 0
+phiX174:115 0 0.00 0
+phiX174:116 0 0.00 0
+phiX174:117 0 0.00 0
+phiX174:118 0 0.00 0
+phiX174:119 0 0.00 0
+phiX174:120 0 0.00 0
+phiX174:121 0 0.00 0
+phiX174:122 0 0.00 0
+phiX174:123 0 0.00 0
+phiX174:124 0 0.00 0
+phiX174:125 0 0.00 0
+phiX174:126 0 0.00 0
+phiX174:127 0 0.00 0
+phiX174:128 0 0.00 0
+phiX174:129 0 0.00 0
+phiX174:130 0 0.00 0
+phiX174:131 0 0.00 0
+phiX174:132 0 0.00 0
+phiX174:133 0 0.00 0
+phiX174:134 0 0.00 0
+phiX174:135 0 0.00 0
+phiX174:136 0 0.00 0
+phiX174:137 0 0.00 0
+phiX174:138 0 0.00 0
+phiX174:139 0 0.00 0
+phiX174:140 0 0.00 0
+phiX174:141 0 0.00 0
+phiX174:142 0 0.00 0
+phiX174:143 0 0.00 0
+phiX174:144 0 0.00 0
+phiX174:145 0 0.00 0
+phiX174:146 0 0.00 0
+phiX174:147 0 0.00 0
+phiX174:148 0 0.00 0
+phiX174:149 0 0.00 0
+phiX174:150 0 0.00 0
+phiX174:151 0 0.00 0
+phiX174:152 0 0.00 0
+phiX174:153 0 0.00 0
+phiX174:154 0 0.00 0
+phiX174:155 0 0.00 0
+phiX174:156 0 0.00 0
+phiX174:157 0 0.00 0
+phiX174:158 0 0.00 0
+phiX174:159 0 0.00 0
+phiX174:160 0 0.00 0
+phiX174:161 0 0.00 0
+phiX174:162 0 0.00 0
+phiX174:163 0 0.00 0
+phiX174:164 0 0.00 0
+phiX174:165 0 0.00 0
+phiX174:166 0 0.00 0
+phiX174:167 0 0.00 0
+phiX174:168 0 0.00 0
+phiX174:169 0 0.00 0
+phiX174:170 0 0.00 0
+phiX174:171 0 0.00 0
+phiX174:172 0 0.00 0
+phiX174:173 0 0.00 0
+phiX174:174 0 0.00 0
+phiX174:175 0 0.00 0
+phiX174:176 0 0.00 0
+phiX174:177 0 0.00 0
+phiX174:178 0 0.00 0
+phiX174:179 0 0.00 0
+phiX174:180 0 0.00 0
+phiX174:181 0 0.00 0
+phiX174:182 0 0.00 0
+phiX174:183 0 0.00 0
+phiX174:184 0 0.00 0
+phiX174:185 0 0.00 0
+phiX174:186 0 0.00 0
+phiX174:187 0 0.00 0
+phiX174:188 0 0.00 0
+phiX174:189 0 0.00 0
+phiX174:190 0 0.00 0
+phiX174:191 0 0.00 0
+phiX174:192 0 0.00 0
+phiX174:193 0 0.00 0
+phiX174:194 0 0.00 0
+phiX174:195 0 0.00 0
+phiX174:196 0 0.00 0
+phiX174:197 0 0.00 0
+phiX174:198 0 0.00 0
+phiX174:199 0 0.00 0
+phiX174:200 0 0.00 0
+phiX174:201 0 0.00 0
+phiX174:202 0 0.00 0
+phiX174:203 0 0.00 0
+phiX174:204 0 0.00 0
+phiX174:205 0 0.00 0
+phiX174:206 0 0.00 0
+phiX174:207 0 0.00 0
+phiX174:208 0 0.00 0
+phiX174:209 0 0.00 0
+phiX174:210 0 0.00 0
+phiX174:211 0 0.00 0
+phiX174:212 0 0.00 0
+phiX174:213 0 0.00 0
+phiX174:214 0 0.00 0
+phiX174:215 0 0.00 0
+phiX174:216 0 0.00 0
+phiX174:217 0 0.00 0
+phiX174:218 0 0.00 0
+phiX174:219 0 0.00 0
+phiX174:220 0 0.00 0
+phiX174:221 0 0.00 0
+phiX174:222 0 0.00 0
+phiX174:223 0 0.00 0
+phiX174:224 0 0.00 0
+phiX174:225 0 0.00 0
+phiX174:226 0 0.00 0
+phiX174:227 0 0.00 0
+phiX174:228 0 0.00 0
+phiX174:229 0 0.00 0
+phiX174:230 0 0.00 0
+phiX174:231 0 0.00 0
+phiX174:232 0 0.00 0
+phiX174:233 0 0.00 0
+phiX174:234 0 0.00 0
+phiX174:235 0 0.00 0
+phiX174:236 0 0.00 0
+phiX174:237 0 0.00 0
+phiX174:238 0 0.00 0
+phiX174:239 0 0.00 0
+phiX174:240 0 0.00 0
+phiX174:241 0 0.00 0
+phiX174:242 0 0.00 0
+phiX174:243 0 0.00 0
+phiX174:244 0 0.00 0
+phiX174:245 0 0.00 0
+phiX174:246 0 0.00 0
+phiX174:247 0 0.00 0
+phiX174:248 0 0.00 0
+phiX174:249 0 0.00 0
+phiX174:250 0 0.00 0
+phiX174:251 0 0.00 0
+phiX174:252 0 0.00 0
+phiX174:253 0 0.00 0
+phiX174:254 0 0.00 0
+phiX174:255 0 0.00 0
+phiX174:256 0 0.00 0
+phiX174:257 0 0.00 0
+phiX174:258 0 0.00 0
+phiX174:259 0 0.00 0
+phiX174:260 0 0.00 0
+phiX174:261 0 0.00 0
+phiX174:262 0 0.00 0
+phiX174:263 0 0.00 0
+phiX174:264 0 0.00 0
+phiX174:265 0 0.00 0
+phiX174:266 0 0.00 0
+phiX174:267 0 0.00 0
+phiX174:268 0 0.00 0
+phiX174:269 0 0.00 0
+phiX174:270 0 0.00 0
+phiX174:271 0 0.00 0
+phiX174:272 0 0.00 0
+phiX174:273 0 0.00 0
+phiX174:274 0 0.00 0
+phiX174:275 0 0.00 0
+phiX174:276 0 0.00 0
+phiX174:277 0 0.00 0
+phiX174:278 0 0.00 0
+phiX174:279 0 0.00 0
+phiX174:280 0 0.00 0
+phiX174:281 0 0.00 0
+phiX174:282 0 0.00 0
+phiX174:283 0 0.00 0
+phiX174:284 0 0.00 0
+phiX174:285 0 0.00 0
+phiX174:286 0 0.00 0
+phiX174:287 0 0.00 0
+phiX174:288 0 0.00 0
+phiX174:289 0 0.00 0
+phiX174:290 0 0.00 0
+phiX174:291 0 0.00 0
+phiX174:292 0 0.00 0
+phiX174:293 0 0.00 0
+phiX174:294 0 0.00 0
+phiX174:295 0 0.00 0
+phiX174:296 0 0.00 0
+phiX174:297 0 0.00 0
+phiX174:298 0 0.00 0
+phiX174:299 0 0.00 0
+phiX174:300 0 0.00 0
+phiX174:301 0 0.00 0
+phiX174:302 0 0.00 0
+phiX174:303 0 0.00 0
+phiX174:304 0 0.00 0
+phiX174:305 0 0.00 0
+phiX174:306 0 0.00 0
+phiX174:307 0 0.00 0
+phiX174:308 0 0.00 0
+phiX174:309 0 0.00 0
+phiX174:310 0 0.00 0
+phiX174:311 0 0.00 0
+phiX174:312 0 0.00 0
+phiX174:313 0 0.00 0
+phiX174:314 0 0.00 0
+phiX174:315 0 0.00 0
+phiX174:316 0 0.00 0
+phiX174:317 0 0.00 0
+phiX174:318 0 0.00 0
+phiX174:319 0 0.00 0
+phiX174:320 0 0.00 0
+phiX174:321 0 0.00 0
+phiX174:322 0 0.00 0
+phiX174:323 0 0.00 0
+phiX174:324 0 0.00 0
+phiX174:325 0 0.00 0
+phiX174:326 0 0.00 0
+phiX174:327 0 0.00 0
+phiX174:328 0 0.00 0
+phiX174:329 0 0.00 0
+phiX174:330 0 0.00 0
+phiX174:331 0 0.00 0
+phiX174:332 0 0.00 0
+phiX174:333 0 0.00 0
+phiX174:334 0 0.00 0
+phiX174:335 0 0.00 0
+phiX174:336 0 0.00 0
+phiX174:337 0 0.00 0
+phiX174:338 0 0.00 0
+phiX174:339 0 0.00 0
+phiX174:340 0 0.00 0
+phiX174:341 0 0.00 0
+phiX174:342 0 0.00 0
+phiX174:343 0 0.00 0
+phiX174:344 0 0.00 0
+phiX174:345 0 0.00 0
+phiX174:346 0 0.00 0
+phiX174:347 0 0.00 0
+phiX174:348 0 0.00 0
+phiX174:349 0 0.00 0
+phiX174:350 0 0.00 0
+phiX174:351 0 0.00 0
+phiX174:352 0 0.00 0
+phiX174:353 0 0.00 0
+phiX174:354 0 0.00 0
+phiX174:355 0 0.00 0
+phiX174:356 0 0.00 0
+phiX174:357 0 0.00 0
+phiX174:358 0 0.00 0
+phiX174:359 0 0.00 0
+phiX174:360 0 0.00 0
+phiX174:361 0 0.00 0
+phiX174:362 0 0.00 0
+phiX174:363 0 0.00 0
+phiX174:364 0 0.00 0
+phiX174:365 0 0.00 0
+phiX174:366 0 0.00 0
+phiX174:367 0 0.00 0
+phiX174:368 0 0.00 0
+phiX174:369 0 0.00 0
+phiX174:370 0 0.00 0
+phiX174:371 0 0.00 0
+phiX174:372 0 0.00 0
+phiX174:373 0 0.00 0
+phiX174:374 0 0.00 0
+phiX174:375 0 0.00 0
+phiX174:376 0 0.00 0
+phiX174:377 0 0.00 0
+phiX174:378 0 0.00 0
+phiX174:379 0 0.00 0
+phiX174:380 0 0.00 0
+phiX174:381 0 0.00 0
+phiX174:382 0 0.00 0
+phiX174:383 0 0.00 0
+phiX174:384 0 0.00 0
+phiX174:385 0 0.00 0
+phiX174:386 0 0.00 0
+phiX174:387 0 0.00 0
+phiX174:388 0 0.00 0
+phiX174:389 0 0.00 0
+phiX174:390 0 0.00 0
+phiX174:391 0 0.00 0
+phiX174:392 0 0.00 0
+phiX174:393 0 0.00 0
+phiX174:394 0 0.00 0
+phiX174:395 0 0.00 0
+phiX174:396 0 0.00 0
+phiX174:397 0 0.00 0
+phiX174:398 0 0.00 0
+phiX174:399 0 0.00 0
+phiX174:400 0 0.00 0
+phiX174:401 0 0.00 0
+phiX174:402 0 0.00 0
+phiX174:403 0 0.00 0
+phiX174:404 0 0.00 0
+phiX174:405 0 0.00 0
+phiX174:406 0 0.00 0
+phiX174:407 0 0.00 0
+phiX174:408 0 0.00 0
+phiX174:409 0 0.00 0
+phiX174:410 0 0.00 0
+phiX174:411 0 0.00 0
+phiX174:412 0 0.00 0
+phiX174:413 0 0.00 0
+phiX174:414 0 0.00 0
+phiX174:415 0 0.00 0
+phiX174:416 0 0.00 0
+phiX174:417 0 0.00 0
+phiX174:418 0 0.00 0
+phiX174:419 0 0.00 0
+phiX174:420 0 0.00 0
+phiX174:421 0 0.00 0
+phiX174:422 0 0.00 0
+phiX174:423 0 0.00 0
+phiX174:424 0 0.00 0
+phiX174:425 0 0.00 0
+phiX174:426 0 0.00 0
+phiX174:427 0 0.00 0
+phiX174:428 0 0.00 0
+phiX174:429 0 0.00 0
+phiX174:430 0 0.00 0
+phiX174:431 0 0.00 0
+phiX174:432 0 0.00 0
+phiX174:433 0 0.00 0
+phiX174:434 0 0.00 0
+phiX174:435 0 0.00 0
+phiX174:436 0 0.00 0
+phiX174:437 0 0.00 0
+phiX174:438 0 0.00 0
+phiX174:439 0 0.00 0
+phiX174:440 0 0.00 0
+phiX174:441 0 0.00 0
+phiX174:442 0 0.00 0
+phiX174:443 0 0.00 0
+phiX174:444 0 0.00 0
+phiX174:445 0 0.00 0
+phiX174:446 0 0.00 0
+phiX174:447 0 0.00 0
+phiX174:448 0 0.00 0
+phiX174:449 0 0.00 0
+phiX174:450 0 0.00 0
+phiX174:451 0 0.00 0
+phiX174:452 0 0.00 0
+phiX174:453 0 0.00 0
+phiX174:454 0 0.00 0
+phiX174:455 0 0.00 0
+phiX174:456 0 0.00 0
+phiX174:457 0 0.00 0
+phiX174:458 0 0.00 0
+phiX174:459 0 0.00 0
+phiX174:460 0 0.00 0
+phiX174:461 0 0.00 0
+phiX174:462 0 0.00 0
+phiX174:463 0 0.00 0
+phiX174:464 0 0.00 0
+phiX174:465 0 0.00 0
+phiX174:466 0 0.00 0
+phiX174:467 0 0.00 0
+phiX174:468 0 0.00 0
+phiX174:469 0 0.00 0
+phiX174:470 0 0.00 0
+phiX174:471 0 0.00 0
+phiX174:472 0 0.00 0
+phiX174:473 0 0.00 0
+phiX174:474 0 0.00 0
+phiX174:475 0 0.00 0
+phiX174:476 0 0.00 0
+phiX174:477 0 0.00 0
+phiX174:478 0 0.00 0
+phiX174:479 0 0.00 0
+phiX174:480 0 0.00 0
+phiX174:481 0 0.00 0
+phiX174:482 0 0.00 0
+phiX174:483 0 0.00 0
+phiX174:484 0 0.00 0
+phiX174:485 0 0.00 0
+phiX174:486 0 0.00 0
+phiX174:487 0 0.00 0
+phiX174:488 0 0.00 0
+phiX174:489 0 0.00 0
+phiX174:490 0 0.00 0
+phiX174:491 0 0.00 0
+phiX174:492 0 0.00 0
+phiX174:493 0 0.00 0
+phiX174:494 0 0.00 0
+phiX174:495 0 0.00 0
+phiX174:496 0 0.00 0
+phiX174:497 0 0.00 0
+phiX174:498 0 0.00 0
+phiX174:499 0 0.00 0
+phiX174:500 0 0.00 0
+phiX174:501 0 0.00 0
+phiX174:502 0 0.00 0
+phiX174:503 0 0.00 0
+phiX174:504 0 0.00 0
+phiX174:505 0 0.00 0
+phiX174:506 0 0.00 0
+phiX174:507 0 0.00 0
+phiX174:508 0 0.00 0
+phiX174:509 0 0.00 0
+phiX174:510 0 0.00 0
+phiX174:511 0 0.00 0
+phiX174:512 0 0.00 0
+phiX174:513 0 0.00 0
+phiX174:514 0 0.00 0
+phiX174:515 0 0.00 0
+phiX174:516 0 0.00 0
+phiX174:517 0 0.00 0
+phiX174:518 0 0.00 0
+phiX174:519 0 0.00 0
+phiX174:520 0 0.00 0
+phiX174:521 0 0.00 0
+phiX174:522 0 0.00 0
+phiX174:523 0 0.00 0
+phiX174:524 0 0.00 0
+phiX174:525 0 0.00 0
+phiX174:526 0 0.00 0
+phiX174:527 0 0.00 0
+phiX174:528 0 0.00 0
+phiX174:529 0 0.00 0
+phiX174:530 0 0.00 0
+phiX174:531 0 0.00 0
+phiX174:532 0 0.00 0
+phiX174:533 0 0.00 0
+phiX174:534 0 0.00 0
+phiX174:535 0 0.00 0
+phiX174:536 0 0.00 0
+phiX174:537 0 0.00 0
+phiX174:538 0 0.00 0
+phiX174:539 0 0.00 0
+phiX174:540 0 0.00 0
+phiX174:541 0 0.00 0
+phiX174:542 0 0.00 0
+phiX174:543 0 0.00 0
+phiX174:544 0 0.00 0
+phiX174:545 0 0.00 0
+phiX174:546 0 0.00 0
+phiX174:547 0 0.00 0
+phiX174:548 0 0.00 0
+phiX174:549 0 0.00 0
+phiX174:550 0 0.00 0
+phiX174:551 0 0.00 0
+phiX174:552 0 0.00 0
+phiX174:553 0 0.00 0
+phiX174:554 0 0.00 0
+phiX174:555 0 0.00 0
+phiX174:556 0 0.00 0
+phiX174:557 0 0.00 0
+phiX174:558 0 0.00 0
+phiX174:559 0 0.00 0
+phiX174:560 0 0.00 0
+phiX174:561 0 0.00 0
+phiX174:562 0 0.00 0
+phiX174:563 0 0.00 0
+phiX174:564 0 0.00 0
+phiX174:565 0 0.00 0
+phiX174:566 0 0.00 0
+phiX174:567 0 0.00 0
+phiX174:568 0 0.00 0
+phiX174:569 0 0.00 0
+phiX174:570 0 0.00 0
+phiX174:571 0 0.00 0
+phiX174:572 0 0.00 0
+phiX174:573 0 0.00 0
+phiX174:574 0 0.00 0
+phiX174:575 0 0.00 0
+phiX174:576 0 0.00 0
+phiX174:577 0 0.00 0
+phiX174:578 0 0.00 0
+phiX174:579 0 0.00 0
+phiX174:580 0 0.00 0
+phiX174:581 0 0.00 0
+phiX174:582 0 0.00 0
+phiX174:583 0 0.00 0
+phiX174:584 0 0.00 0
+phiX174:585 0 0.00 0
+phiX174:586 0 0.00 0
+phiX174:587 0 0.00 0
+phiX174:588 0 0.00 0
+phiX174:589 0 0.00 0
+phiX174:590 0 0.00 0
+phiX174:591 0 0.00 0
+phiX174:592 0 0.00 0
+phiX174:593 0 0.00 0
+phiX174:594 0 0.00 0
+phiX174:595 0 0.00 0
+phiX174:596 0 0.00 0
+phiX174:597 0 0.00 0
+phiX174:598 0 0.00 0
+phiX174:599 0 0.00 0
+phiX174:600 0 0.00 0
+phiX174:601 0 0.00 0
+phiX174:602 0 0.00 0
+phiX174:603 0 0.00 0
+phiX174:604 0 0.00 0
+phiX174:605 0 0.00 0
+phiX174:606 0 0.00 0
+phiX174:607 0 0.00 0
+phiX174:608 0 0.00 0
+phiX174:609 0 0.00 0
+phiX174:610 0 0.00 0
+phiX174:611 0 0.00 0
+phiX174:612 0 0.00 0
+phiX174:613 0 0.00 0
+phiX174:614 0 0.00 0
+phiX174:615 0 0.00 0
+phiX174:616 0 0.00 0
+phiX174:617 0 0.00 0
+phiX174:618 0 0.00 0
+phiX174:619 0 0.00 0
+phiX174:620 0 0.00 0
+phiX174:621 0 0.00 0
+phiX174:622 0 0.00 0
+phiX174:623 0 0.00 0
+phiX174:624 0 0.00 0
+phiX174:625 0 0.00 0
+phiX174:626 0 0.00 0
+phiX174:627 0 0.00 0
+phiX174:628 0 0.00 0
+phiX174:629 0 0.00 0
+phiX174:630 0 0.00 0
+phiX174:631 0 0.00 0
+phiX174:632 0 0.00 0
+phiX174:633 0 0.00 0
+phiX174:634 0 0.00 0
+phiX174:635 0 0.00 0
+phiX174:636 0 0.00 0
+phiX174:637 0 0.00 0
+phiX174:638 0 0.00 0
+phiX174:639 0 0.00 0
+phiX174:640 0 0.00 0
+phiX174:641 0 0.00 0
+phiX174:642 0 0.00 0
+phiX174:643 0 0.00 0
+phiX174:644 0 0.00 0
+phiX174:645 0 0.00 0
+phiX174:646 0 0.00 0
+phiX174:647 0 0.00 0
+phiX174:648 0 0.00 0
+phiX174:649 0 0.00 0
+phiX174:650 0 0.00 0
+phiX174:651 0 0.00 0
+phiX174:652 0 0.00 0
+phiX174:653 0 0.00 0
+phiX174:654 0 0.00 0
+phiX174:655 0 0.00 0
+phiX174:656 0 0.00 0
+phiX174:657 0 0.00 0
+phiX174:658 0 0.00 0
+phiX174:659 0 0.00 0
+phiX174:660 0 0.00 0
+phiX174:661 0 0.00 0
+phiX174:662 0 0.00 0
+phiX174:663 0 0.00 0
+phiX174:664 0 0.00 0
+phiX174:665 0 0.00 0
+phiX174:666 0 0.00 0
+phiX174:667 0 0.00 0
+phiX174:668 0 0.00 0
+phiX174:669 0 0.00 0
+phiX174:670 0 0.00 0
+phiX174:671 0 0.00 0
+phiX174:672 0 0.00 0
+phiX174:673 0 0.00 0
+phiX174:674 0 0.00 0
+phiX174:675 0 0.00 0
+phiX174:676 0 0.00 0
+phiX174:677 0 0.00 0
+phiX174:678 0 0.00 0
+phiX174:679 0 0.00 0
+phiX174:680 0 0.00 0
+phiX174:681 0 0.00 0
+phiX174:682 0 0.00 0
+phiX174:683 0 0.00 0
+phiX174:684 0 0.00 0
+phiX174:685 0 0.00 0
+phiX174:686 0 0.00 0
+phiX174:687 0 0.00 0
+phiX174:688 0 0.00 0
+phiX174:689 0 0.00 0
+phiX174:690 0 0.00 0
+phiX174:691 0 0.00 0
+phiX174:692 0 0.00 0
+phiX174:693 0 0.00 0
+phiX174:694 0 0.00 0
+phiX174:695 0 0.00 0
+phiX174:696 0 0.00 0
+phiX174:697 0 0.00 0
+phiX174:698 0 0.00 0
+phiX174:699 0 0.00 0
+phiX174:700 0 0.00 0
+phiX174:701 0 0.00 0
+phiX174:702 0 0.00 0
+phiX174:703 0 0.00 0
+phiX174:704 0 0.00 0
+phiX174:705 0 0.00 0
+phiX174:706 0 0.00 0
+phiX174:707 0 0.00 0
+phiX174:708 0 0.00 0
+phiX174:709 0 0.00 0
+phiX174:710 0 0.00 0
+phiX174:711 0 0.00 0
+phiX174:712 0 0.00 0
+phiX174:713 0 0.00 0
+phiX174:714 0 0.00 0
+phiX174:715 0 0.00 0
+phiX174:716 0 0.00 0
+phiX174:717 0 0.00 0
+phiX174:718 0 0.00 0
+phiX174:719 0 0.00 0
+phiX174:720 0 0.00 0
+phiX174:721 0 0.00 0
+phiX174:722 0 0.00 0
+phiX174:723 0 0.00 0
+phiX174:724 0 0.00 0
+phiX174:725 0 0.00 0
+phiX174:726 0 0.00 0
+phiX174:727 0 0.00 0
+phiX174:728 0 0.00 0
+phiX174:729 0 0.00 0
+phiX174:730 0 0.00 0
+phiX174:731 0 0.00 0
+phiX174:732 0 0.00 0
+phiX174:733 0 0.00 0
+phiX174:734 0 0.00 0
+phiX174:735 0 0.00 0
+phiX174:736 0 0.00 0
+phiX174:737 0 0.00 0
+phiX174:738 0 0.00 0
+phiX174:739 0 0.00 0
+phiX174:740 0 0.00 0
+phiX174:741 0 0.00 0
+phiX174:742 0 0.00 0
+phiX174:743 0 0.00 0
+phiX174:744 0 0.00 0
+phiX174:745 0 0.00 0
+phiX174:746 0 0.00 0
+phiX174:747 0 0.00 0
+phiX174:748 0 0.00 0
+phiX174:749 0 0.00 0
+phiX174:750 0 0.00 0
+phiX174:751 0 0.00 0
+phiX174:752 0 0.00 0
+phiX174:753 0 0.00 0
+phiX174:754 0 0.00 0
+phiX174:755 0 0.00 0
+phiX174:756 0 0.00 0
+phiX174:757 0 0.00 0
+phiX174:758 0 0.00 0
+phiX174:759 0 0.00 0
+phiX174:760 0 0.00 0
+phiX174:761 0 0.00 0
+phiX174:762 0 0.00 0
+phiX174:763 0 0.00 0
+phiX174:764 0 0.00 0
+phiX174:765 0 0.00 0
+phiX174:766 0 0.00 0
+phiX174:767 0 0.00 0
+phiX174:768 0 0.00 0
+phiX174:769 0 0.00 0
+phiX174:770 0 0.00 0
+phiX174:771 0 0.00 0
+phiX174:772 0 0.00 0
+phiX174:773 0 0.00 0
+phiX174:774 0 0.00 0
+phiX174:775 0 0.00 0
+phiX174:776 0 0.00 0
+phiX174:777 0 0.00 0
+phiX174:778 0 0.00 0
+phiX174:779 0 0.00 0
+phiX174:780 0 0.00 0
+phiX174:781 0 0.00 0
+phiX174:782 0 0.00 0
+phiX174:783 0 0.00 0
+phiX174:784 0 0.00 0
+phiX174:785 0 0.00 0
+phiX174:786 0 0.00 0
+phiX174:787 0 0.00 0
+phiX174:788 0 0.00 0
+phiX174:789 0 0.00 0
+phiX174:790 0 0.00 0
+phiX174:791 0 0.00 0
+phiX174:792 0 0.00 0
+phiX174:793 0 0.00 0
+phiX174:794 0 0.00 0
+phiX174:795 0 0.00 0
+phiX174:796 0 0.00 0
+phiX174:797 0 0.00 0
+phiX174:798 0 0.00 0
+phiX174:799 0 0.00 0
+phiX174:800 0 0.00 0
+phiX174:801 0 0.00 0
+phiX174:802 0 0.00 0
+phiX174:803 0 0.00 0
+phiX174:804 0 0.00 0
+phiX174:805 0 0.00 0
+phiX174:806 0 0.00 0
+phiX174:807 0 0.00 0
+phiX174:808 0 0.00 0
+phiX174:809 0 0.00 0
+phiX174:810 0 0.00 0
+phiX174:811 0 0.00 0
+phiX174:812 0 0.00 0
+phiX174:813 0 0.00 0
+phiX174:814 0 0.00 0
+phiX174:815 0 0.00 0
+phiX174:816 0 0.00 0
+phiX174:817 0 0.00 0
+phiX174:818 0 0.00 0
+phiX174:819 0 0.00 0
+phiX174:820 0 0.00 0
+phiX174:821 0 0.00 0
+phiX174:822 0 0.00 0
+phiX174:823 0 0.00 0
+phiX174:824 0 0.00 0
+phiX174:825 0 0.00 0
+phiX174:826 0 0.00 0
+phiX174:827 0 0.00 0
+phiX174:828 0 0.00 0
+phiX174:829 0 0.00 0
+phiX174:830 0 0.00 0
+phiX174:831 0 0.00 0
+phiX174:832 0 0.00 0
+phiX174:833 0 0.00 0
+phiX174:834 0 0.00 0
+phiX174:835 0 0.00 0
+phiX174:836 0 0.00 0
+phiX174:837 0 0.00 0
+phiX174:838 0 0.00 0
+phiX174:839 0 0.00 0
+phiX174:840 0 0.00 0
+phiX174:841 0 0.00 0
+phiX174:842 0 0.00 0
+phiX174:843 0 0.00 0
+phiX174:844 0 0.00 0
+phiX174:845 0 0.00 0
+phiX174:846 0 0.00 0
+phiX174:847 0 0.00 0
+phiX174:848 0 0.00 0
+phiX174:849 0 0.00 0
+phiX174:850 0 0.00 0
+phiX174:851 0 0.00 0
+phiX174:852 0 0.00 0
+phiX174:853 0 0.00 0
+phiX174:854 0 0.00 0
+phiX174:855 0 0.00 0
+phiX174:856 0 0.00 0
+phiX174:857 0 0.00 0
+phiX174:858 0 0.00 0
+phiX174:859 0 0.00 0
+phiX174:860 0 0.00 0
+phiX174:861 0 0.00 0
+phiX174:862 0 0.00 0
+phiX174:863 0 0.00 0
+phiX174:864 0 0.00 0
+phiX174:865 0 0.00 0
+phiX174:866 0 0.00 0
+phiX174:867 0 0.00 0
+phiX174:868 0 0.00 0
+phiX174:869 0 0.00 0
+phiX174:870 0 0.00 0
+phiX174:871 0 0.00 0
+phiX174:872 0 0.00 0
+phiX174:873 0 0.00 0
+phiX174:874 0 0.00 0
+phiX174:875 0 0.00 0
+phiX174:876 0 0.00 0
+phiX174:877 0 0.00 0
+phiX174:878 0 0.00 0
+phiX174:879 0 0.00 0
+phiX174:880 0 0.00 0
+phiX174:881 0 0.00 0
+phiX174:882 0 0.00 0
+phiX174:883 0 0.00 0
+phiX174:884 0 0.00 0
+phiX174:885 0 0.00 0
+phiX174:886 0 0.00 0
+phiX174:887 0 0.00 0
+phiX174:888 0 0.00 0
+phiX174:889 0 0.00 0
+phiX174:890 0 0.00 0
+phiX174:891 0 0.00 0
+phiX174:892 0 0.00 0
+phiX174:893 0 0.00 0
+phiX174:894 0 0.00 0
+phiX174:895 0 0.00 0
+phiX174:896 0 0.00 0
+phiX174:897 0 0.00 0
+phiX174:898 0 0.00 0
+phiX174:899 0 0.00 0
+phiX174:900 0 0.00 0
+phiX174:901 0 0.00 0
+phiX174:902 0 0.00 0
+phiX174:903 0 0.00 0
+phiX174:904 0 0.00 0
+phiX174:905 0 0.00 0
+phiX174:906 0 0.00 0
+phiX174:907 0 0.00 0
+phiX174:908 0 0.00 0
+phiX174:909 0 0.00 0
+phiX174:910 0 0.00 0
+phiX174:911 0 0.00 0
+phiX174:912 0 0.00 0
+phiX174:913 0 0.00 0
+phiX174:914 0 0.00 0
+phiX174:915 0 0.00 0
+phiX174:916 0 0.00 0
+phiX174:917 0 0.00 0
+phiX174:918 0 0.00 0
+phiX174:919 0 0.00 0
+phiX174:920 0 0.00 0
+phiX174:921 0 0.00 0
+phiX174:922 0 0.00 0
+phiX174:923 0 0.00 0
+phiX174:924 0 0.00 0
+phiX174:925 0 0.00 0
+phiX174:926 0 0.00 0
+phiX174:927 0 0.00 0
+phiX174:928 0 0.00 0
+phiX174:929 0 0.00 0
+phiX174:930 0 0.00 0
+phiX174:931 0 0.00 0
+phiX174:932 0 0.00 0
+phiX174:933 0 0.00 0
+phiX174:934 0 0.00 0
+phiX174:935 0 0.00 0
+phiX174:936 0 0.00 0
+phiX174:937 0 0.00 0
+phiX174:938 0 0.00 0
+phiX174:939 0 0.00 0
+phiX174:940 0 0.00 0
+phiX174:941 0 0.00 0
+phiX174:942 0 0.00 0
+phiX174:943 0 0.00 0
+phiX174:944 0 0.00 0
+phiX174:945 0 0.00 0
+phiX174:946 0 0.00 0
+phiX174:947 0 0.00 0
+phiX174:948 0 0.00 0
+phiX174:949 0 0.00 0
+phiX174:950 0 0.00 0
+phiX174:951 0 0.00 0
+phiX174:952 0 0.00 0
+phiX174:953 0 0.00 0
+phiX174:954 0 0.00 0
+phiX174:955 0 0.00 0
+phiX174:956 0 0.00 0
+phiX174:957 0 0.00 0
+phiX174:958 0 0.00 0
+phiX174:959 0 0.00 0
+phiX174:960 0 0.00 0
+phiX174:961 0 0.00 0
+phiX174:962 0 0.00 0
+phiX174:963 0 0.00 0
+phiX174:964 0 0.00 0
+phiX174:965 0 0.00 0
+phiX174:966 0 0.00 0
+phiX174:967 0 0.00 0
+phiX174:968 0 0.00 0
+phiX174:969 0 0.00 0
+phiX174:970 0 0.00 0
+phiX174:971 0 0.00 0
+phiX174:972 0 0.00 0
+phiX174:973 0 0.00 0
+phiX174:974 0 0.00 0
+phiX174:975 0 0.00 0
+phiX174:976 0 0.00 0
+phiX174:977 0 0.00 0
+phiX174:978 0 0.00 0
+phiX174:979 0 0.00 0
+phiX174:980 0 0.00 0
+phiX174:981 0 0.00 0
+phiX174:982 0 0.00 0
+phiX174:983 0 0.00 0
+phiX174:984 0 0.00 0
+phiX174:985 0 0.00 0
+phiX174:986 0 0.00 0
+phiX174:987 0 0.00 0
+phiX174:988 0 0.00 0
+phiX174:989 0 0.00 0
+phiX174:990 0 0.00 0
+phiX174:991 0 0.00 0
+phiX174:992 0 0.00 0
+phiX174:993 0 0.00 0
+phiX174:994 0 0.00 0
+phiX174:995 0 0.00 0
+phiX174:996 0 0.00 0
+phiX174:997 0 0.00 0
+phiX174:998 0 0.00 0
+phiX174:999 0 0.00 0
+phiX174:1000 0 0.00 0
+phiX174:1001 0 0.00 0
+phiX174:1002 0 0.00 0
+phiX174:1003 0 0.00 0
+phiX174:1004 0 0.00 0
+phiX174:1005 0 0.00 0
+phiX174:1006 0 0.00 0
+phiX174:1007 0 0.00 0
+phiX174:1008 0 0.00 0
+phiX174:1009 0 0.00 0
+phiX174:1010 0 0.00 0
+phiX174:1011 0 0.00 0
+phiX174:1012 0 0.00 0
+phiX174:1013 0 0.00 0
+phiX174:1014 0 0.00 0
+phiX174:1015 0 0.00 0
+phiX174:1016 0 0.00 0
+phiX174:1017 0 0.00 0
+phiX174:1018 0 0.00 0
+phiX174:1019 0 0.00 0
+phiX174:1020 0 0.00 0
+phiX174:1021 0 0.00 0
+phiX174:1022 0 0.00 0
+phiX174:1023 0 0.00 0
+phiX174:1024 0 0.00 0
+phiX174:1025 0 0.00 0
+phiX174:1026 0 0.00 0
+phiX174:1027 0 0.00 0
+phiX174:1028 0 0.00 0
+phiX174:1029 0 0.00 0
+phiX174:1030 0 0.00 0
+phiX174:1031 0 0.00 0
+phiX174:1032 0 0.00 0
+phiX174:1033 0 0.00 0
+phiX174:1034 0 0.00 0
+phiX174:1035 0 0.00 0
+phiX174:1036 0 0.00 0
+phiX174:1037 0 0.00 0
+phiX174:1038 0 0.00 0
+phiX174:1039 0 0.00 0
+phiX174:1040 0 0.00 0
+phiX174:1041 0 0.00 0
+phiX174:1042 0 0.00 0
+phiX174:1043 0 0.00 0
+phiX174:1044 0 0.00 0
+phiX174:1045 0 0.00 0
+phiX174:1046 0 0.00 0
+phiX174:1047 0 0.00 0
+phiX174:1048 0 0.00 0
+phiX174:1049 0 0.00 0
+phiX174:1050 0 0.00 0
+phiX174:1051 0 0.00 0
+phiX174:1052 0 0.00 0
+phiX174:1053 0 0.00 0
+phiX174:1054 0 0.00 0
+phiX174:1055 0 0.00 0
+phiX174:1056 0 0.00 0
+phiX174:1057 0 0.00 0
+phiX174:1058 0 0.00 0
+phiX174:1059 0 0.00 0
+phiX174:1060 0 0.00 0
+phiX174:1061 0 0.00 0
+phiX174:1062 0 0.00 0
+phiX174:1063 0 0.00 0
+phiX174:1064 0 0.00 0
+phiX174:1065 0 0.00 0
+phiX174:1066 0 0.00 0
+phiX174:1067 0 0.00 0
+phiX174:1068 0 0.00 0
+phiX174:1069 0 0.00 0
+phiX174:1070 0 0.00 0
+phiX174:1071 0 0.00 0
+phiX174:1072 0 0.00 0
+phiX174:1073 0 0.00 0
+phiX174:1074 0 0.00 0
+phiX174:1075 0 0.00 0
+phiX174:1076 0 0.00 0
+phiX174:1077 0 0.00 0
+phiX174:1078 0 0.00 0
+phiX174:1079 0 0.00 0
+phiX174:1080 0 0.00 0
+phiX174:1081 0 0.00 0
+phiX174:1082 0 0.00 0
+phiX174:1083 0 0.00 0
+phiX174:1084 0 0.00 0
+phiX174:1085 0 0.00 0
+phiX174:1086 0 0.00 0
+phiX174:1087 0 0.00 0
+phiX174:1088 0 0.00 0
+phiX174:1089 0 0.00 0
+phiX174:1090 0 0.00 0
+phiX174:1091 0 0.00 0
+phiX174:1092 0 0.00 0
+phiX174:1093 0 0.00 0
+phiX174:1094 0 0.00 0
+phiX174:1095 0 0.00 0
+phiX174:1096 0 0.00 0
+phiX174:1097 0 0.00 0
+phiX174:1098 0 0.00 0
+phiX174:1099 0 0.00 0
+phiX174:1100 0 0.00 0
+phiX174:1101 0 0.00 0
+phiX174:1102 0 0.00 0
+phiX174:1103 0 0.00 0
+phiX174:1104 0 0.00 0
+phiX174:1105 0 0.00 0
+phiX174:1106 0 0.00 0
+phiX174:1107 0 0.00 0
+phiX174:1108 0 0.00 0
+phiX174:1109 0 0.00 0
+phiX174:1110 0 0.00 0
+phiX174:1111 0 0.00 0
+phiX174:1112 0 0.00 0
+phiX174:1113 0 0.00 0
+phiX174:1114 0 0.00 0
+phiX174:1115 0 0.00 0
+phiX174:1116 0 0.00 0
+phiX174:1117 0 0.00 0
+phiX174:1118 0 0.00 0
+phiX174:1119 0 0.00 0
+phiX174:1120 0 0.00 0
+phiX174:1121 0 0.00 0
+phiX174:1122 0 0.00 0
+phiX174:1123 0 0.00 0
+phiX174:1124 0 0.00 0
+phiX174:1125 0 0.00 0
+phiX174:1126 0 0.00 0
+phiX174:1127 0 0.00 0
+phiX174:1128 0 0.00 0
+phiX174:1129 0 0.00 0
+phiX174:1130 0 0.00 0
+phiX174:1131 0 0.00 0
+phiX174:1132 0 0.00 0
+phiX174:1133 0 0.00 0
+phiX174:1134 0 0.00 0
+phiX174:1135 0 0.00 0
+phiX174:1136 0 0.00 0
+phiX174:1137 0 0.00 0
+phiX174:1138 0 0.00 0
+phiX174:1139 0 0.00 0
+phiX174:1140 0 0.00 0
+phiX174:1141 0 0.00 0
+phiX174:1142 0 0.00 0
+phiX174:1143 0 0.00 0
+phiX174:1144 0 0.00 0
+phiX174:1145 0 0.00 0
+phiX174:1146 0 0.00 0
+phiX174:1147 0 0.00 0
+phiX174:1148 0 0.00 0
+phiX174:1149 0 0.00 0
+phiX174:1150 0 0.00 0
+phiX174:1151 0 0.00 0
+phiX174:1152 0 0.00 0
+phiX174:1153 0 0.00 0
+phiX174:1154 0 0.00 0
+phiX174:1155 0 0.00 0
+phiX174:1156 0 0.00 0
+phiX174:1157 0 0.00 0
+phiX174:1158 0 0.00 0
+phiX174:1159 0 0.00 0
+phiX174:1160 0 0.00 0
+phiX174:1161 0 0.00 0
+phiX174:1162 0 0.00 0
+phiX174:1163 0 0.00 0
+phiX174:1164 0 0.00 0
+phiX174:1165 0 0.00 0
+phiX174:1166 0 0.00 0
+phiX174:1167 0 0.00 0
+phiX174:1168 0 0.00 0
+phiX174:1169 0 0.00 0
+phiX174:1170 0 0.00 0
+phiX174:1171 0 0.00 0
+phiX174:1172 0 0.00 0
+phiX174:1173 0 0.00 0
+phiX174:1174 0 0.00 0
+phiX174:1175 0 0.00 0
+phiX174:1176 0 0.00 0
+phiX174:1177 0 0.00 0
+phiX174:1178 0 0.00 0
+phiX174:1179 0 0.00 0
+phiX174:1180 0 0.00 0
+phiX174:1181 0 0.00 0
+phiX174:1182 0 0.00 0
+phiX174:1183 0 0.00 0
+phiX174:1184 0 0.00 0
+phiX174:1185 0 0.00 0
+phiX174:1186 0 0.00 0
+phiX174:1187 0 0.00 0
+phiX174:1188 0 0.00 0
+phiX174:1189 0 0.00 0
+phiX174:1190 0 0.00 0
+phiX174:1191 0 0.00 0
+phiX174:1192 0 0.00 0
+phiX174:1193 0 0.00 0
+phiX174:1194 0 0.00 0
+phiX174:1195 0 0.00 0
+phiX174:1196 0 0.00 0
+phiX174:1197 0 0.00 0
+phiX174:1198 0 0.00 0
+phiX174:1199 0 0.00 0
+phiX174:1200 0 0.00 0
+phiX174:1201 0 0.00 0
+phiX174:1202 0 0.00 0
+phiX174:1203 0 0.00 0
+phiX174:1204 0 0.00 0
+phiX174:1205 0 0.00 0
+phiX174:1206 0 0.00 0
+phiX174:1207 0 0.00 0
+phiX174:1208 0 0.00 0
+phiX174:1209 0 0.00 0
+phiX174:1210 0 0.00 0
+phiX174:1211 0 0.00 0
+phiX174:1212 0 0.00 0
+phiX174:1213 0 0.00 0
+phiX174:1214 0 0.00 0
+phiX174:1215 0 0.00 0
+phiX174:1216 0 0.00 0
+phiX174:1217 0 0.00 0
+phiX174:1218 0 0.00 0
+phiX174:1219 0 0.00 0
+phiX174:1220 0 0.00 0
+phiX174:1221 0 0.00 0
+phiX174:1222 0 0.00 0
+phiX174:1223 0 0.00 0
+phiX174:1224 0 0.00 0
+phiX174:1225 0 0.00 0
+phiX174:1226 0 0.00 0
+phiX174:1227 0 0.00 0
+phiX174:1228 0 0.00 0
+phiX174:1229 0 0.00 0
+phiX174:1230 0 0.00 0
+phiX174:1231 0 0.00 0
+phiX174:1232 0 0.00 0
+phiX174:1233 0 0.00 0
+phiX174:1234 0 0.00 0
+phiX174:1235 0 0.00 0
+phiX174:1236 0 0.00 0
+phiX174:1237 0 0.00 0
+phiX174:1238 0 0.00 0
+phiX174:1239 0 0.00 0
+phiX174:1240 0 0.00 0
+phiX174:1241 0 0.00 0
+phiX174:1242 0 0.00 0
+phiX174:1243 0 0.00 0
+phiX174:1244 0 0.00 0
+phiX174:1245 0 0.00 0
+phiX174:1246 0 0.00 0
+phiX174:1247 0 0.00 0
+phiX174:1248 0 0.00 0
+phiX174:1249 0 0.00 0
+phiX174:1250 0 0.00 0
+phiX174:1251 0 0.00 0
+phiX174:1252 0 0.00 0
+phiX174:1253 0 0.00 0
+phiX174:1254 0 0.00 0
+phiX174:1255 0 0.00 0
+phiX174:1256 0 0.00 0
+phiX174:1257 0 0.00 0
+phiX174:1258 0 0.00 0
+phiX174:1259 0 0.00 0
+phiX174:1260 0 0.00 0
+phiX174:1261 0 0.00 0
+phiX174:1262 0 0.00 0
+phiX174:1263 0 0.00 0
+phiX174:1264 0 0.00 0
+phiX174:1265 0 0.00 0
+phiX174:1266 0 0.00 0
+phiX174:1267 0 0.00 0
+phiX174:1268 0 0.00 0
+phiX174:1269 0 0.00 0
+phiX174:1270 0 0.00 0
+phiX174:1271 0 0.00 0
+phiX174:1272 0 0.00 0
+phiX174:1273 0 0.00 0
+phiX174:1274 0 0.00 0
+phiX174:1275 0 0.00 0
+phiX174:1276 0 0.00 0
+phiX174:1277 0 0.00 0
+phiX174:1278 0 0.00 0
+phiX174:1279 0 0.00 0
+phiX174:1280 0 0.00 0
+phiX174:1281 0 0.00 0
+phiX174:1282 0 0.00 0
+phiX174:1283 0 0.00 0
+phiX174:1284 0 0.00 0
+phiX174:1285 0 0.00 0
+phiX174:1286 0 0.00 0
+phiX174:1287 0 0.00 0
+phiX174:1288 0 0.00 0
+phiX174:1289 0 0.00 0
+phiX174:1290 0 0.00 0
+phiX174:1291 0 0.00 0
+phiX174:1292 0 0.00 0
+phiX174:1293 0 0.00 0
+phiX174:1294 0 0.00 0
+phiX174:1295 0 0.00 0
+phiX174:1296 0 0.00 0
+phiX174:1297 0 0.00 0
+phiX174:1298 0 0.00 0
+phiX174:1299 0 0.00 0
+phiX174:1300 0 0.00 0
+phiX174:1301 0 0.00 0
+phiX174:1302 0 0.00 0
+phiX174:1303 0 0.00 0
+phiX174:1304 0 0.00 0
+phiX174:1305 0 0.00 0
+phiX174:1306 0 0.00 0
+phiX174:1307 0 0.00 0
+phiX174:1308 0 0.00 0
+phiX174:1309 0 0.00 0
+phiX174:1310 0 0.00 0
+phiX174:1311 0 0.00 0
+phiX174:1312 0 0.00 0
+phiX174:1313 0 0.00 0
+phiX174:1314 0 0.00 0
+phiX174:1315 0 0.00 0
+phiX174:1316 0 0.00 0
+phiX174:1317 0 0.00 0
+phiX174:1318 0 0.00 0
+phiX174:1319 0 0.00 0
+phiX174:1320 0 0.00 0
+phiX174:1321 0 0.00 0
+phiX174:1322 0 0.00 0
+phiX174:1323 0 0.00 0
+phiX174:1324 0 0.00 0
+phiX174:1325 0 0.00 0
+phiX174:1326 0 0.00 0
+phiX174:1327 0 0.00 0
+phiX174:1328 0 0.00 0
+phiX174:1329 0 0.00 0
+phiX174:1330 0 0.00 0
+phiX174:1331 0 0.00 0
+phiX174:1332 0 0.00 0
+phiX174:1333 0 0.00 0
+phiX174:1334 0 0.00 0
+phiX174:1335 0 0.00 0
+phiX174:1336 0 0.00 0
+phiX174:1337 0 0.00 0
+phiX174:1338 0 0.00 0
+phiX174:1339 0 0.00 0
+phiX174:1340 0 0.00 0
+phiX174:1341 0 0.00 0
+phiX174:1342 0 0.00 0
+phiX174:1343 0 0.00 0
+phiX174:1344 0 0.00 0
+phiX174:1345 0 0.00 0
+phiX174:1346 0 0.00 0
+phiX174:1347 0 0.00 0
+phiX174:1348 0 0.00 0
+phiX174:1349 0 0.00 0
+phiX174:1350 0 0.00 0
+phiX174:1351 0 0.00 0
+phiX174:1352 0 0.00 0
+phiX174:1353 0 0.00 0
+phiX174:1354 0 0.00 0
+phiX174:1355 0 0.00 0
+phiX174:1356 0 0.00 0
+phiX174:1357 0 0.00 0
+phiX174:1358 0 0.00 0
+phiX174:1359 0 0.00 0
+phiX174:1360 0 0.00 0
+phiX174:1361 0 0.00 0
+phiX174:1362 0 0.00 0
+phiX174:1363 0 0.00 0
+phiX174:1364 0 0.00 0
+phiX174:1365 0 0.00 0
+phiX174:1366 0 0.00 0
+phiX174:1367 0 0.00 0
+phiX174:1368 0 0.00 0
+phiX174:1369 0 0.00 0
+phiX174:1370 0 0.00 0
+phiX174:1371 0 0.00 0
+phiX174:1372 0 0.00 0
+phiX174:1373 0 0.00 0
+phiX174:1374 0 0.00 0
+phiX174:1375 0 0.00 0
+phiX174:1376 0 0.00 0
+phiX174:1377 0 0.00 0
+phiX174:1378 0 0.00 0
+phiX174:1379 0 0.00 0
+phiX174:1380 0 0.00 0
+phiX174:1381 0 0.00 0
+phiX174:1382 0 0.00 0
+phiX174:1383 0 0.00 0
+phiX174:1384 0 0.00 0
+phiX174:1385 0 0.00 0
+phiX174:1386 0 0.00 0
+phiX174:1387 0 0.00 0
+phiX174:1388 0 0.00 0
+phiX174:1389 0 0.00 0
+phiX174:1390 0 0.00 0
+phiX174:1391 0 0.00 0
+phiX174:1392 0 0.00 0
+phiX174:1393 0 0.00 0
+phiX174:1394 0 0.00 0
+phiX174:1395 0 0.00 0
+phiX174:1396 0 0.00 0
+phiX174:1397 0 0.00 0
+phiX174:1398 0 0.00 0
+phiX174:1399 0 0.00 0
+phiX174:1400 0 0.00 0
+phiX174:1401 0 0.00 0
+phiX174:1402 0 0.00 0
+phiX174:1403 0 0.00 0
+phiX174:1404 0 0.00 0
+phiX174:1405 0 0.00 0
+phiX174:1406 0 0.00 0
+phiX174:1407 0 0.00 0
+phiX174:1408 0 0.00 0
+phiX174:1409 0 0.00 0
+phiX174:1410 0 0.00 0
+phiX174:1411 1 1.00 1
+phiX174:1412 3 3.00 3
+phiX174:1413 5 5.00 5
+phiX174:1414 6 6.00 6
+phiX174:1415 7 7.00 7
+phiX174:1416 8 8.00 8
+phiX174:1417 9 9.00 9
+phiX174:1418 10 10.00 10
+phiX174:1419 10 10.00 10
+phiX174:1420 10 10.00 10
+phiX174:1421 10 10.00 10
+phiX174:1422 10 10.00 10
+phiX174:1423 10 10.00 10
+phiX174:1424 10 10.00 10
+phiX174:1425 10 10.00 10
+phiX174:1426 10 10.00 10
+phiX174:1427 10 10.00 10
+phiX174:1428 10 10.00 10
+phiX174:1429 10 10.00 10
+phiX174:1430 10 10.00 10
+phiX174:1431 10 10.00 10
+phiX174:1432 10 10.00 10
+phiX174:1433 10 10.00 10
+phiX174:1434 10 10.00 10
+phiX174:1435 10 10.00 10
+phiX174:1436 10 10.00 10
+phiX174:1437 10 10.00 10
+phiX174:1438 10 10.00 10
+phiX174:1439 10 10.00 10
+phiX174:1440 10 10.00 10
+phiX174:1441 10 10.00 10
+phiX174:1442 10 10.00 10
+phiX174:1443 10 10.00 10
+phiX174:1444 7 7.00 7
+phiX174:1445 10 10.00 10
+phiX174:1446 10 10.00 10
+phiX174:1447 10 10.00 10
+phiX174:1448 8 8.00 8
+phiX174:1449 6 6.00 6
+phiX174:1450 4 4.00 4
+phiX174:1451 3 3.00 3
+phiX174:1452 2 2.00 2
+phiX174:1453 1 1.00 1
+phiX174:1454 0 0.00 0
+phiX174:1455 0 0.00 0
+phiX174:1456 0 0.00 0
+phiX174:1457 0 0.00 0
+phiX174:1458 0 0.00 0
+phiX174:1459 0 0.00 0
+phiX174:1460 0 0.00 0
+phiX174:1461 0 0.00 0
+phiX174:1462 0 0.00 0
+phiX174:1463 0 0.00 0
+phiX174:1464 0 0.00 0
+phiX174:1465 0 0.00 0
+phiX174:1466 0 0.00 0
+phiX174:1467 0 0.00 0
+phiX174:1468 0 0.00 0
+phiX174:1469 0 0.00 0
+phiX174:1470 0 0.00 0
+phiX174:1471 0 0.00 0
+phiX174:1472 0 0.00 0
+phiX174:1473 0 0.00 0
+phiX174:1474 0 0.00 0
+phiX174:1475 0 0.00 0
+phiX174:1476 0 0.00 0
+phiX174:1477 0 0.00 0
+phiX174:1478 0 0.00 0
+phiX174:1479 0 0.00 0
+phiX174:1480 0 0.00 0
+phiX174:1481 0 0.00 0
+phiX174:1482 0 0.00 0
+phiX174:1483 0 0.00 0
+phiX174:1484 0 0.00 0
+phiX174:1485 0 0.00 0
+phiX174:1486 0 0.00 0
+phiX174:1487 0 0.00 0
+phiX174:1488 0 0.00 0
+phiX174:1489 0 0.00 0
+phiX174:1490 0 0.00 0
+phiX174:1491 0 0.00 0
+phiX174:1492 0 0.00 0
+phiX174:1493 0 0.00 0
+phiX174:1494 0 0.00 0
+phiX174:1495 0 0.00 0
+phiX174:1496 0 0.00 0
+phiX174:1497 0 0.00 0
+phiX174:1498 0 0.00 0
+phiX174:1499 0 0.00 0
+phiX174:1500 0 0.00 0
+phiX174:1501 0 0.00 0
+phiX174:1502 0 0.00 0
+phiX174:1503 0 0.00 0
+phiX174:1504 0 0.00 0
+phiX174:1505 0 0.00 0
+phiX174:1506 0 0.00 0
+phiX174:1507 0 0.00 0
+phiX174:1508 0 0.00 0
+phiX174:1509 0 0.00 0
+phiX174:1510 0 0.00 0
+phiX174:1511 0 0.00 0
+phiX174:1512 0 0.00 0
+phiX174:1513 0 0.00 0
+phiX174:1514 0 0.00 0
+phiX174:1515 0 0.00 0
+phiX174:1516 0 0.00 0
+phiX174:1517 0 0.00 0
+phiX174:1518 0 0.00 0
+phiX174:1519 0 0.00 0
+phiX174:1520 0 0.00 0
+phiX174:1521 0 0.00 0
+phiX174:1522 0 0.00 0
+phiX174:1523 0 0.00 0
+phiX174:1524 0 0.00 0
+phiX174:1525 0 0.00 0
+phiX174:1526 0 0.00 0
+phiX174:1527 0 0.00 0
+phiX174:1528 0 0.00 0
+phiX174:1529 0 0.00 0
+phiX174:1530 0 0.00 0
+phiX174:1531 0 0.00 0
+phiX174:1532 0 0.00 0
+phiX174:1533 0 0.00 0
+phiX174:1534 0 0.00 0
+phiX174:1535 0 0.00 0
+phiX174:1536 0 0.00 0
+phiX174:1537 0 0.00 0
+phiX174:1538 0 0.00 0
+phiX174:1539 0 0.00 0
+phiX174:1540 0 0.00 0
+phiX174:1541 0 0.00 0
+phiX174:1542 0 0.00 0
+phiX174:1543 0 0.00 0
+phiX174:1544 0 0.00 0
+phiX174:1545 0 0.00 0
+phiX174:1546 0 0.00 0
+phiX174:1547 0 0.00 0
+phiX174:1548 0 0.00 0
+phiX174:1549 0 0.00 0
+phiX174:1550 0 0.00 0
+phiX174:1551 0 0.00 0
+phiX174:1552 0 0.00 0
+phiX174:1553 0 0.00 0
+phiX174:1554 0 0.00 0
+phiX174:1555 0 0.00 0
+phiX174:1556 0 0.00 0
+phiX174:1557 0 0.00 0
+phiX174:1558 0 0.00 0
+phiX174:1559 0 0.00 0
+phiX174:1560 0 0.00 0
+phiX174:1561 0 0.00 0
+phiX174:1562 0 0.00 0
+phiX174:1563 0 0.00 0
+phiX174:1564 0 0.00 0
+phiX174:1565 0 0.00 0
+phiX174:1566 0 0.00 0
+phiX174:1567 0 0.00 0
+phiX174:1568 0 0.00 0
+phiX174:1569 0 0.00 0
+phiX174:1570 0 0.00 0
+phiX174:1571 0 0.00 0
+phiX174:1572 0 0.00 0
+phiX174:1573 0 0.00 0
+phiX174:1574 0 0.00 0
+phiX174:1575 0 0.00 0
+phiX174:1576 0 0.00 0
+phiX174:1577 0 0.00 0
+phiX174:1578 0 0.00 0
+phiX174:1579 0 0.00 0
+phiX174:1580 0 0.00 0
+phiX174:1581 0 0.00 0
+phiX174:1582 0 0.00 0
+phiX174:1583 0 0.00 0
+phiX174:1584 0 0.00 0
+phiX174:1585 0 0.00 0
+phiX174:1586 0 0.00 0
+phiX174:1587 0 0.00 0
+phiX174:1588 0 0.00 0
+phiX174:1589 0 0.00 0
+phiX174:1590 0 0.00 0
+phiX174:1591 0 0.00 0
+phiX174:1592 0 0.00 0
+phiX174:1593 0 0.00 0
+phiX174:1594 0 0.00 0
+phiX174:1595 0 0.00 0
+phiX174:1596 0 0.00 0
+phiX174:1597 0 0.00 0
+phiX174:1598 0 0.00 0
+phiX174:1599 0 0.00 0
+phiX174:1600 0 0.00 0
+phiX174:1601 0 0.00 0
+phiX174:1602 0 0.00 0
+phiX174:1603 0 0.00 0
+phiX174:1604 0 0.00 0
+phiX174:1605 0 0.00 0
+phiX174:1606 0 0.00 0
+phiX174:1607 0 0.00 0
+phiX174:1608 0 0.00 0
+phiX174:1609 0 0.00 0
+phiX174:1610 0 0.00 0
+phiX174:1611 0 0.00 0
+phiX174:1612 0 0.00 0
+phiX174:1613 0 0.00 0
+phiX174:1614 0 0.00 0
+phiX174:1615 0 0.00 0
+phiX174:1616 0 0.00 0
+phiX174:1617 0 0.00 0
+phiX174:1618 0 0.00 0
+phiX174:1619 0 0.00 0
+phiX174:1620 0 0.00 0
+phiX174:1621 0 0.00 0
+phiX174:1622 0 0.00 0
+phiX174:1623 0 0.00 0
+phiX174:1624 0 0.00 0
+phiX174:1625 0 0.00 0
+phiX174:1626 0 0.00 0
+phiX174:1627 0 0.00 0
+phiX174:1628 0 0.00 0
+phiX174:1629 0 0.00 0
+phiX174:1630 0 0.00 0
+phiX174:1631 0 0.00 0
+phiX174:1632 0 0.00 0
+phiX174:1633 0 0.00 0
+phiX174:1634 0 0.00 0
+phiX174:1635 0 0.00 0
+phiX174:1636 0 0.00 0
+phiX174:1637 0 0.00 0
+phiX174:1638 0 0.00 0
+phiX174:1639 0 0.00 0
+phiX174:1640 0 0.00 0
+phiX174:1641 0 0.00 0
+phiX174:1642 0 0.00 0
+phiX174:1643 0 0.00 0
+phiX174:1644 0 0.00 0
+phiX174:1645 0 0.00 0
+phiX174:1646 0 0.00 0
+phiX174:1647 0 0.00 0
+phiX174:1648 0 0.00 0
+phiX174:1649 0 0.00 0
+phiX174:1650 0 0.00 0
+phiX174:1651 0 0.00 0
+phiX174:1652 0 0.00 0
+phiX174:1653 0 0.00 0
+phiX174:1654 0 0.00 0
+phiX174:1655 0 0.00 0
+phiX174:1656 0 0.00 0
+phiX174:1657 0 0.00 0
+phiX174:1658 0 0.00 0
+phiX174:1659 0 0.00 0
+phiX174:1660 0 0.00 0
+phiX174:1661 0 0.00 0
+phiX174:1662 0 0.00 0
+phiX174:1663 0 0.00 0
+phiX174:1664 0 0.00 0
+phiX174:1665 0 0.00 0
+phiX174:1666 0 0.00 0
+phiX174:1667 0 0.00 0
+phiX174:1668 0 0.00 0
+phiX174:1669 0 0.00 0
+phiX174:1670 0 0.00 0
+phiX174:1671 0 0.00 0
+phiX174:1672 0 0.00 0
+phiX174:1673 0 0.00 0
+phiX174:1674 0 0.00 0
+phiX174:1675 0 0.00 0
+phiX174:1676 0 0.00 0
+phiX174:1677 0 0.00 0
+phiX174:1678 0 0.00 0
+phiX174:1679 0 0.00 0
+phiX174:1680 0 0.00 0
+phiX174:1681 0 0.00 0
+phiX174:1682 0 0.00 0
+phiX174:1683 0 0.00 0
+phiX174:1684 0 0.00 0
+phiX174:1685 0 0.00 0
+phiX174:1686 0 0.00 0
+phiX174:1687 0 0.00 0
+phiX174:1688 0 0.00 0
+phiX174:1689 0 0.00 0
+phiX174:1690 0 0.00 0
+phiX174:1691 0 0.00 0
+phiX174:1692 0 0.00 0
+phiX174:1693 0 0.00 0
+phiX174:1694 0 0.00 0
+phiX174:1695 0 0.00 0
+phiX174:1696 0 0.00 0
+phiX174:1697 0 0.00 0
+phiX174:1698 0 0.00 0
+phiX174:1699 0 0.00 0
+phiX174:1700 0 0.00 0
+phiX174:1701 0 0.00 0
+phiX174:1702 0 0.00 0
+phiX174:1703 0 0.00 0
+phiX174:1704 0 0.00 0
+phiX174:1705 0 0.00 0
+phiX174:1706 0 0.00 0
+phiX174:1707 0 0.00 0
+phiX174:1708 0 0.00 0
+phiX174:1709 0 0.00 0
+phiX174:1710 0 0.00 0
+phiX174:1711 0 0.00 0
+phiX174:1712 0 0.00 0
+phiX174:1713 0 0.00 0
+phiX174:1714 0 0.00 0
+phiX174:1715 0 0.00 0
+phiX174:1716 0 0.00 0
+phiX174:1717 0 0.00 0
+phiX174:1718 0 0.00 0
+phiX174:1719 0 0.00 0
+phiX174:1720 0 0.00 0
+phiX174:1721 0 0.00 0
+phiX174:1722 0 0.00 0
+phiX174:1723 0 0.00 0
+phiX174:1724 0 0.00 0
+phiX174:1725 0 0.00 0
+phiX174:1726 0 0.00 0
+phiX174:1727 0 0.00 0
+phiX174:1728 0 0.00 0
+phiX174:1729 0 0.00 0
+phiX174:1730 0 0.00 0
+phiX174:1731 0 0.00 0
+phiX174:1732 0 0.00 0
+phiX174:1733 0 0.00 0
+phiX174:1734 0 0.00 0
+phiX174:1735 0 0.00 0
+phiX174:1736 0 0.00 0
+phiX174:1737 0 0.00 0
+phiX174:1738 0 0.00 0
+phiX174:1739 0 0.00 0
+phiX174:1740 0 0.00 0
+phiX174:1741 0 0.00 0
+phiX174:1742 0 0.00 0
+phiX174:1743 0 0.00 0
+phiX174:1744 0 0.00 0
+phiX174:1745 0 0.00 0
+phiX174:1746 0 0.00 0
+phiX174:1747 0 0.00 0
+phiX174:1748 0 0.00 0
+phiX174:1749 0 0.00 0
+phiX174:1750 0 0.00 0
+phiX174:1751 0 0.00 0
+phiX174:1752 0 0.00 0
+phiX174:1753 0 0.00 0
+phiX174:1754 0 0.00 0
+phiX174:1755 0 0.00 0
+phiX174:1756 0 0.00 0
+phiX174:1757 0 0.00 0
+phiX174:1758 0 0.00 0
+phiX174:1759 0 0.00 0
+phiX174:1760 0 0.00 0
+phiX174:1761 0 0.00 0
+phiX174:1762 0 0.00 0
+phiX174:1763 0 0.00 0
+phiX174:1764 0 0.00 0
+phiX174:1765 0 0.00 0
+phiX174:1766 0 0.00 0
+phiX174:1767 0 0.00 0
+phiX174:1768 0 0.00 0
+phiX174:1769 0 0.00 0
+phiX174:1770 0 0.00 0
+phiX174:1771 0 0.00 0
+phiX174:1772 0 0.00 0
+phiX174:1773 0 0.00 0
+phiX174:1774 0 0.00 0
+phiX174:1775 0 0.00 0
+phiX174:1776 0 0.00 0
+phiX174:1777 0 0.00 0
+phiX174:1778 0 0.00 0
+phiX174:1779 0 0.00 0
+phiX174:1780 0 0.00 0
+phiX174:1781 0 0.00 0
+phiX174:1782 0 0.00 0
+phiX174:1783 0 0.00 0
+phiX174:1784 0 0.00 0
+phiX174:1785 0 0.00 0
+phiX174:1786 0 0.00 0
+phiX174:1787 0 0.00 0
+phiX174:1788 0 0.00 0
+phiX174:1789 0 0.00 0
+phiX174:1790 0 0.00 0
+phiX174:1791 0 0.00 0
+phiX174:1792 0 0.00 0
+phiX174:1793 0 0.00 0
+phiX174:1794 0 0.00 0
+phiX174:1795 0 0.00 0
+phiX174:1796 0 0.00 0
+phiX174:1797 0 0.00 0
+phiX174:1798 0 0.00 0
+phiX174:1799 0 0.00 0
+phiX174:1800 0 0.00 0
+phiX174:1801 0 0.00 0
+phiX174:1802 0 0.00 0
+phiX174:1803 0 0.00 0
+phiX174:1804 0 0.00 0
+phiX174:1805 0 0.00 0
+phiX174:1806 0 0.00 0
+phiX174:1807 0 0.00 0
+phiX174:1808 0 0.00 0
+phiX174:1809 0 0.00 0
+phiX174:1810 0 0.00 0
+phiX174:1811 0 0.00 0
+phiX174:1812 0 0.00 0
+phiX174:1813 0 0.00 0
+phiX174:1814 0 0.00 0
+phiX174:1815 0 0.00 0
+phiX174:1816 0 0.00 0
+phiX174:1817 0 0.00 0
+phiX174:1818 0 0.00 0
+phiX174:1819 0 0.00 0
+phiX174:1820 0 0.00 0
+phiX174:1821 0 0.00 0
+phiX174:1822 0 0.00 0
+phiX174:1823 0 0.00 0
+phiX174:1824 0 0.00 0
+phiX174:1825 0 0.00 0
+phiX174:1826 0 0.00 0
+phiX174:1827 0 0.00 0
+phiX174:1828 0 0.00 0
+phiX174:1829 0 0.00 0
+phiX174:1830 0 0.00 0
+phiX174:1831 0 0.00 0
+phiX174:1832 0 0.00 0
+phiX174:1833 0 0.00 0
+phiX174:1834 0 0.00 0
+phiX174:1835 0 0.00 0
+phiX174:1836 0 0.00 0
+phiX174:1837 0 0.00 0
+phiX174:1838 0 0.00 0
+phiX174:1839 0 0.00 0
+phiX174:1840 0 0.00 0
+phiX174:1841 0 0.00 0
+phiX174:1842 0 0.00 0
+phiX174:1843 0 0.00 0
+phiX174:1844 0 0.00 0
+phiX174:1845 0 0.00 0
+phiX174:1846 0 0.00 0
+phiX174:1847 0 0.00 0
+phiX174:1848 0 0.00 0
+phiX174:1849 0 0.00 0
+phiX174:1850 0 0.00 0
+phiX174:1851 0 0.00 0
+phiX174:1852 0 0.00 0
+phiX174:1853 0 0.00 0
+phiX174:1854 0 0.00 0
+phiX174:1855 0 0.00 0
+phiX174:1856 0 0.00 0
+phiX174:1857 0 0.00 0
+phiX174:1858 0 0.00 0
+phiX174:1859 0 0.00 0
+phiX174:1860 0 0.00 0
+phiX174:1861 0 0.00 0
+phiX174:1862 0 0.00 0
+phiX174:1863 0 0.00 0
+phiX174:1864 0 0.00 0
+phiX174:1865 0 0.00 0
+phiX174:1866 0 0.00 0
+phiX174:1867 0 0.00 0
+phiX174:1868 0 0.00 0
+phiX174:1869 0 0.00 0
+phiX174:1870 0 0.00 0
+phiX174:1871 0 0.00 0
+phiX174:1872 0 0.00 0
+phiX174:1873 0 0.00 0
+phiX174:1874 0 0.00 0
+phiX174:1875 0 0.00 0
+phiX174:1876 0 0.00 0
+phiX174:1877 0 0.00 0
+phiX174:1878 0 0.00 0
+phiX174:1879 0 0.00 0
+phiX174:1880 0 0.00 0
+phiX174:1881 0 0.00 0
+phiX174:1882 0 0.00 0
+phiX174:1883 0 0.00 0
+phiX174:1884 0 0.00 0
+phiX174:1885 0 0.00 0
+phiX174:1886 0 0.00 0
+phiX174:1887 0 0.00 0
+phiX174:1888 0 0.00 0
+phiX174:1889 0 0.00 0
+phiX174:1890 0 0.00 0
+phiX174:1891 0 0.00 0
+phiX174:1892 0 0.00 0
+phiX174:1893 0 0.00 0
+phiX174:1894 0 0.00 0
+phiX174:1895 0 0.00 0
+phiX174:1896 0 0.00 0
+phiX174:1897 0 0.00 0
+phiX174:1898 0 0.00 0
+phiX174:1899 0 0.00 0
+phiX174:1900 0 0.00 0
+phiX174:1901 0 0.00 0
+phiX174:1902 0 0.00 0
+phiX174:1903 0 0.00 0
+phiX174:1904 0 0.00 0
+phiX174:1905 0 0.00 0
+phiX174:1906 0 0.00 0
+phiX174:1907 0 0.00 0
+phiX174:1908 0 0.00 0
+phiX174:1909 0 0.00 0
+phiX174:1910 0 0.00 0
+phiX174:1911 0 0.00 0
+phiX174:1912 0 0.00 0
+phiX174:1913 0 0.00 0
+phiX174:1914 0 0.00 0
+phiX174:1915 0 0.00 0
+phiX174:1916 0 0.00 0
+phiX174:1917 0 0.00 0
+phiX174:1918 0 0.00 0
+phiX174:1919 0 0.00 0
+phiX174:1920 0 0.00 0
+phiX174:1921 0 0.00 0
+phiX174:1922 0 0.00 0
+phiX174:1923 0 0.00 0
+phiX174:1924 0 0.00 0
+phiX174:1925 0 0.00 0
+phiX174:1926 0 0.00 0
+phiX174:1927 0 0.00 0
+phiX174:1928 0 0.00 0
+phiX174:1929 0 0.00 0
+phiX174:1930 0 0.00 0
+phiX174:1931 0 0.00 0
+phiX174:1932 0 0.00 0
+phiX174:1933 0 0.00 0
+phiX174:1934 0 0.00 0
+phiX174:1935 0 0.00 0
+phiX174:1936 0 0.00 0
+phiX174:1937 0 0.00 0
+phiX174:1938 0 0.00 0
+phiX174:1939 0 0.00 0
+phiX174:1940 0 0.00 0
+phiX174:1941 0 0.00 0
+phiX174:1942 0 0.00 0
+phiX174:1943 0 0.00 0
+phiX174:1944 0 0.00 0
+phiX174:1945 0 0.00 0
+phiX174:1946 0 0.00 0
+phiX174:1947 0 0.00 0
+phiX174:1948 0 0.00 0
+phiX174:1949 0 0.00 0
+phiX174:1950 0 0.00 0
+phiX174:1951 0 0.00 0
+phiX174:1952 0 0.00 0
+phiX174:1953 0 0.00 0
+phiX174:1954 0 0.00 0
+phiX174:1955 0 0.00 0
+phiX174:1956 0 0.00 0
+phiX174:1957 0 0.00 0
+phiX174:1958 0 0.00 0
+phiX174:1959 0 0.00 0
+phiX174:1960 0 0.00 0
+phiX174:1961 0 0.00 0
+phiX174:1962 0 0.00 0
+phiX174:1963 0 0.00 0
+phiX174:1964 0 0.00 0
+phiX174:1965 0 0.00 0
+phiX174:1966 0 0.00 0
+phiX174:1967 0 0.00 0
+phiX174:1968 0 0.00 0
+phiX174:1969 0 0.00 0
+phiX174:1970 0 0.00 0
+phiX174:1971 0 0.00 0
+phiX174:1972 0 0.00 0
+phiX174:1973 0 0.00 0
+phiX174:1974 0 0.00 0
+phiX174:1975 0 0.00 0
+phiX174:1976 0 0.00 0
+phiX174:1977 0 0.00 0
+phiX174:1978 0 0.00 0
+phiX174:1979 0 0.00 0
+phiX174:1980 0 0.00 0
+phiX174:1981 0 0.00 0
+phiX174:1982 0 0.00 0
+phiX174:1983 0 0.00 0
+phiX174:1984 0 0.00 0
+phiX174:1985 0 0.00 0
+phiX174:1986 0 0.00 0
+phiX174:1987 0 0.00 0
+phiX174:1988 0 0.00 0
+phiX174:1989 0 0.00 0
+phiX174:1990 0 0.00 0
+phiX174:1991 0 0.00 0
+phiX174:1992 0 0.00 0
+phiX174:1993 0 0.00 0
+phiX174:1994 0 0.00 0
+phiX174:1995 0 0.00 0
+phiX174:1996 0 0.00 0
+phiX174:1997 0 0.00 0
+phiX174:1998 0 0.00 0
+phiX174:1999 0 0.00 0
+phiX174:2000 0 0.00 0
+phiX174:2001 0 0.00 0
+phiX174:2002 0 0.00 0
+phiX174:2003 0 0.00 0
+phiX174:2004 0 0.00 0
+phiX174:2005 0 0.00 0
+phiX174:2006 0 0.00 0
+phiX174:2007 0 0.00 0
+phiX174:2008 0 0.00 0
+phiX174:2009 0 0.00 0
+phiX174:2010 0 0.00 0
+phiX174:2011 0 0.00 0
+phiX174:2012 0 0.00 0
+phiX174:2013 0 0.00 0
+phiX174:2014 0 0.00 0
+phiX174:2015 0 0.00 0
+phiX174:2016 0 0.00 0
+phiX174:2017 0 0.00 0
+phiX174:2018 0 0.00 0
+phiX174:2019 0 0.00 0
+phiX174:2020 0 0.00 0
+phiX174:2021 0 0.00 0
+phiX174:2022 0 0.00 0
+phiX174:2023 0 0.00 0
+phiX174:2024 0 0.00 0
+phiX174:2025 0 0.00 0
+phiX174:2026 0 0.00 0
+phiX174:2027 0 0.00 0
+phiX174:2028 0 0.00 0
+phiX174:2029 0 0.00 0
+phiX174:2030 0 0.00 0
+phiX174:2031 0 0.00 0
+phiX174:2032 0 0.00 0
+phiX174:2033 0 0.00 0
+phiX174:2034 0 0.00 0
+phiX174:2035 0 0.00 0
+phiX174:2036 0 0.00 0
+phiX174:2037 0 0.00 0
+phiX174:2038 0 0.00 0
+phiX174:2039 0 0.00 0
+phiX174:2040 0 0.00 0
+phiX174:2041 0 0.00 0
+phiX174:2042 0 0.00 0
+phiX174:2043 0 0.00 0
+phiX174:2044 0 0.00 0
+phiX174:2045 0 0.00 0
+phiX174:2046 0 0.00 0
+phiX174:2047 0 0.00 0
+phiX174:2048 0 0.00 0
+phiX174:2049 0 0.00 0
+phiX174:2050 0 0.00 0
+phiX174:2051 0 0.00 0
+phiX174:2052 0 0.00 0
+phiX174:2053 0 0.00 0
+phiX174:2054 0 0.00 0
+phiX174:2055 0 0.00 0
+phiX174:2056 0 0.00 0
+phiX174:2057 0 0.00 0
+phiX174:2058 0 0.00 0
+phiX174:2059 0 0.00 0
+phiX174:2060 0 0.00 0
+phiX174:2061 0 0.00 0
+phiX174:2062 0 0.00 0
+phiX174:2063 0 0.00 0
+phiX174:2064 0 0.00 0
+phiX174:2065 0 0.00 0
+phiX174:2066 0 0.00 0
+phiX174:2067 0 0.00 0
+phiX174:2068 0 0.00 0
+phiX174:2069 0 0.00 0
+phiX174:2070 0 0.00 0
+phiX174:2071 0 0.00 0
+phiX174:2072 0 0.00 0
+phiX174:2073 0 0.00 0
+phiX174:2074 0 0.00 0
+phiX174:2075 0 0.00 0
+phiX174:2076 0 0.00 0
+phiX174:2077 0 0.00 0
+phiX174:2078 0 0.00 0
+phiX174:2079 0 0.00 0
+phiX174:2080 0 0.00 0
+phiX174:2081 0 0.00 0
+phiX174:2082 0 0.00 0
+phiX174:2083 0 0.00 0
+phiX174:2084 0 0.00 0
+phiX174:2085 0 0.00 0
+phiX174:2086 0 0.00 0
+phiX174:2087 0 0.00 0
+phiX174:2088 0 0.00 0
+phiX174:2089 0 0.00 0
+phiX174:2090 0 0.00 0
+phiX174:2091 0 0.00 0
+phiX174:2092 0 0.00 0
+phiX174:2093 0 0.00 0
+phiX174:2094 0 0.00 0
+phiX174:2095 0 0.00 0
+phiX174:2096 0 0.00 0
+phiX174:2097 0 0.00 0
+phiX174:2098 0 0.00 0
+phiX174:2099 0 0.00 0
+phiX174:2100 0 0.00 0
+phiX174:2101 0 0.00 0
+phiX174:2102 0 0.00 0
+phiX174:2103 0 0.00 0
+phiX174:2104 0 0.00 0
+phiX174:2105 0 0.00 0
+phiX174:2106 0 0.00 0
+phiX174:2107 0 0.00 0
+phiX174:2108 0 0.00 0
+phiX174:2109 0 0.00 0
+phiX174:2110 0 0.00 0
+phiX174:2111 0 0.00 0
+phiX174:2112 0 0.00 0
+phiX174:2113 0 0.00 0
+phiX174:2114 0 0.00 0
+phiX174:2115 0 0.00 0
+phiX174:2116 0 0.00 0
+phiX174:2117 0 0.00 0
+phiX174:2118 0 0.00 0
+phiX174:2119 0 0.00 0
+phiX174:2120 0 0.00 0
+phiX174:2121 0 0.00 0
+phiX174:2122 0 0.00 0
+phiX174:2123 0 0.00 0
+phiX174:2124 0 0.00 0
+phiX174:2125 0 0.00 0
+phiX174:2126 0 0.00 0
+phiX174:2127 0 0.00 0
+phiX174:2128 0 0.00 0
+phiX174:2129 0 0.00 0
+phiX174:2130 0 0.00 0
+phiX174:2131 0 0.00 0
+phiX174:2132 0 0.00 0
+phiX174:2133 0 0.00 0
+phiX174:2134 0 0.00 0
+phiX174:2135 0 0.00 0
+phiX174:2136 0 0.00 0
+phiX174:2137 0 0.00 0
+phiX174:2138 0 0.00 0
+phiX174:2139 0 0.00 0
+phiX174:2140 0 0.00 0
+phiX174:2141 0 0.00 0
+phiX174:2142 0 0.00 0
+phiX174:2143 0 0.00 0
+phiX174:2144 0 0.00 0
+phiX174:2145 0 0.00 0
+phiX174:2146 0 0.00 0
+phiX174:2147 0 0.00 0
+phiX174:2148 0 0.00 0
+phiX174:2149 0 0.00 0
+phiX174:2150 0 0.00 0
+phiX174:2151 0 0.00 0
+phiX174:2152 0 0.00 0
+phiX174:2153 0 0.00 0
+phiX174:2154 0 0.00 0
+phiX174:2155 0 0.00 0
+phiX174:2156 0 0.00 0
+phiX174:2157 0 0.00 0
+phiX174:2158 0 0.00 0
+phiX174:2159 0 0.00 0
+phiX174:2160 0 0.00 0
+phiX174:2161 0 0.00 0
+phiX174:2162 0 0.00 0
+phiX174:2163 0 0.00 0
+phiX174:2164 0 0.00 0
+phiX174:2165 0 0.00 0
+phiX174:2166 0 0.00 0
+phiX174:2167 0 0.00 0
+phiX174:2168 0 0.00 0
+phiX174:2169 0 0.00 0
+phiX174:2170 0 0.00 0
+phiX174:2171 0 0.00 0
+phiX174:2172 0 0.00 0
+phiX174:2173 0 0.00 0
+phiX174:2174 0 0.00 0
+phiX174:2175 0 0.00 0
+phiX174:2176 0 0.00 0
+phiX174:2177 0 0.00 0
+phiX174:2178 0 0.00 0
+phiX174:2179 0 0.00 0
+phiX174:2180 0 0.00 0
+phiX174:2181 0 0.00 0
+phiX174:2182 0 0.00 0
+phiX174:2183 0 0.00 0
+phiX174:2184 0 0.00 0
+phiX174:2185 0 0.00 0
+phiX174:2186 0 0.00 0
+phiX174:2187 0 0.00 0
+phiX174:2188 0 0.00 0
+phiX174:2189 0 0.00 0
+phiX174:2190 0 0.00 0
+phiX174:2191 0 0.00 0
+phiX174:2192 0 0.00 0
+phiX174:2193 0 0.00 0
+phiX174:2194 0 0.00 0
+phiX174:2195 0 0.00 0
+phiX174:2196 0 0.00 0
+phiX174:2197 0 0.00 0
+phiX174:2198 0 0.00 0
+phiX174:2199 0 0.00 0
+phiX174:2200 0 0.00 0
+phiX174:2201 0 0.00 0
+phiX174:2202 0 0.00 0
+phiX174:2203 0 0.00 0
+phiX174:2204 0 0.00 0
+phiX174:2205 0 0.00 0
+phiX174:2206 0 0.00 0
+phiX174:2207 0 0.00 0
+phiX174:2208 0 0.00 0
+phiX174:2209 0 0.00 0
+phiX174:2210 0 0.00 0
+phiX174:2211 0 0.00 0
+phiX174:2212 0 0.00 0
+phiX174:2213 0 0.00 0
+phiX174:2214 0 0.00 0
+phiX174:2215 0 0.00 0
+phiX174:2216 0 0.00 0
+phiX174:2217 0 0.00 0
+phiX174:2218 0 0.00 0
+phiX174:2219 0 0.00 0
+phiX174:2220 0 0.00 0
+phiX174:2221 0 0.00 0
+phiX174:2222 0 0.00 0
+phiX174:2223 0 0.00 0
+phiX174:2224 0 0.00 0
+phiX174:2225 0 0.00 0
+phiX174:2226 0 0.00 0
+phiX174:2227 0 0.00 0
+phiX174:2228 0 0.00 0
+phiX174:2229 0 0.00 0
+phiX174:2230 0 0.00 0
+phiX174:2231 0 0.00 0
+phiX174:2232 0 0.00 0
+phiX174:2233 0 0.00 0
+phiX174:2234 0 0.00 0
+phiX174:2235 0 0.00 0
+phiX174:2236 0 0.00 0
+phiX174:2237 0 0.00 0
+phiX174:2238 0 0.00 0
+phiX174:2239 0 0.00 0
+phiX174:2240 0 0.00 0
+phiX174:2241 0 0.00 0
+phiX174:2242 0 0.00 0
+phiX174:2243 0 0.00 0
+phiX174:2244 0 0.00 0
+phiX174:2245 0 0.00 0
+phiX174:2246 0 0.00 0
+phiX174:2247 0 0.00 0
+phiX174:2248 0 0.00 0
+phiX174:2249 0 0.00 0
+phiX174:2250 0 0.00 0
+phiX174:2251 0 0.00 0
+phiX174:2252 0 0.00 0
+phiX174:2253 0 0.00 0
+phiX174:2254 0 0.00 0
+phiX174:2255 0 0.00 0
+phiX174:2256 0 0.00 0
+phiX174:2257 0 0.00 0
+phiX174:2258 0 0.00 0
+phiX174:2259 0 0.00 0
+phiX174:2260 0 0.00 0
+phiX174:2261 0 0.00 0
+phiX174:2262 0 0.00 0
+phiX174:2263 0 0.00 0
+phiX174:2264 0 0.00 0
+phiX174:2265 0 0.00 0
+phiX174:2266 0 0.00 0
+phiX174:2267 0 0.00 0
+phiX174:2268 0 0.00 0
+phiX174:2269 0 0.00 0
+phiX174:2270 0 0.00 0
+phiX174:2271 0 0.00 0
+phiX174:2272 0 0.00 0
+phiX174:2273 0 0.00 0
+phiX174:2274 0 0.00 0
+phiX174:2275 0 0.00 0
+phiX174:2276 0 0.00 0
+phiX174:2277 0 0.00 0
+phiX174:2278 0 0.00 0
+phiX174:2279 0 0.00 0
+phiX174:2280 0 0.00 0
+phiX174:2281 0 0.00 0
+phiX174:2282 0 0.00 0
+phiX174:2283 0 0.00 0
+phiX174:2284 0 0.00 0
+phiX174:2285 0 0.00 0
+phiX174:2286 0 0.00 0
+phiX174:2287 0 0.00 0
+phiX174:2288 0 0.00 0
+phiX174:2289 0 0.00 0
+phiX174:2290 0 0.00 0
+phiX174:2291 0 0.00 0
+phiX174:2292 0 0.00 0
+phiX174:2293 0 0.00 0
+phiX174:2294 0 0.00 0
+phiX174:2295 0 0.00 0
+phiX174:2296 0 0.00 0
+phiX174:2297 0 0.00 0
+phiX174:2298 0 0.00 0
+phiX174:2299 0 0.00 0
+phiX174:2300 0 0.00 0
+phiX174:2301 0 0.00 0
+phiX174:2302 0 0.00 0
+phiX174:2303 0 0.00 0
+phiX174:2304 0 0.00 0
+phiX174:2305 0 0.00 0
+phiX174:2306 0 0.00 0
+phiX174:2307 0 0.00 0
+phiX174:2308 0 0.00 0
+phiX174:2309 0 0.00 0
+phiX174:2310 0 0.00 0
+phiX174:2311 0 0.00 0
+phiX174:2312 0 0.00 0
+phiX174:2313 0 0.00 0
+phiX174:2314 0 0.00 0
+phiX174:2315 0 0.00 0
+phiX174:2316 0 0.00 0
+phiX174:2317 0 0.00 0
+phiX174:2318 0 0.00 0
+phiX174:2319 0 0.00 0
+phiX174:2320 0 0.00 0
+phiX174:2321 0 0.00 0
+phiX174:2322 0 0.00 0
+phiX174:2323 0 0.00 0
+phiX174:2324 0 0.00 0
+phiX174:2325 0 0.00 0
+phiX174:2326 0 0.00 0
+phiX174:2327 0 0.00 0
+phiX174:2328 0 0.00 0
+phiX174:2329 0 0.00 0
+phiX174:2330 0 0.00 0
+phiX174:2331 0 0.00 0
+phiX174:2332 0 0.00 0
+phiX174:2333 0 0.00 0
+phiX174:2334 0 0.00 0
+phiX174:2335 0 0.00 0
+phiX174:2336 0 0.00 0
+phiX174:2337 0 0.00 0
+phiX174:2338 0 0.00 0
+phiX174:2339 0 0.00 0
+phiX174:2340 0 0.00 0
+phiX174:2341 0 0.00 0
+phiX174:2342 0 0.00 0
+phiX174:2343 0 0.00 0
+phiX174:2344 0 0.00 0
+phiX174:2345 0 0.00 0
+phiX174:2346 0 0.00 0
+phiX174:2347 0 0.00 0
+phiX174:2348 0 0.00 0
+phiX174:2349 0 0.00 0
+phiX174:2350 0 0.00 0
+phiX174:2351 0 0.00 0
+phiX174:2352 0 0.00 0
+phiX174:2353 0 0.00 0
+phiX174:2354 0 0.00 0
+phiX174:2355 0 0.00 0
+phiX174:2356 0 0.00 0
+phiX174:2357 0 0.00 0
+phiX174:2358 0 0.00 0
+phiX174:2359 0 0.00 0
+phiX174:2360 0 0.00 0
+phiX174:2361 0 0.00 0
+phiX174:2362 0 0.00 0
+phiX174:2363 0 0.00 0
+phiX174:2364 0 0.00 0
+phiX174:2365 0 0.00 0
+phiX174:2366 0 0.00 0
+phiX174:2367 0 0.00 0
+phiX174:2368 0 0.00 0
+phiX174:2369 0 0.00 0
+phiX174:2370 0 0.00 0
+phiX174:2371 0 0.00 0
+phiX174:2372 0 0.00 0
+phiX174:2373 0 0.00 0
+phiX174:2374 0 0.00 0
+phiX174:2375 0 0.00 0
+phiX174:2376 0 0.00 0
+phiX174:2377 0 0.00 0
+phiX174:2378 0 0.00 0
+phiX174:2379 0 0.00 0
+phiX174:2380 0 0.00 0
+phiX174:2381 0 0.00 0
+phiX174:2382 0 0.00 0
+phiX174:2383 0 0.00 0
+phiX174:2384 0 0.00 0
+phiX174:2385 0 0.00 0
+phiX174:2386 0 0.00 0
+phiX174:2387 0 0.00 0
+phiX174:2388 0 0.00 0
+phiX174:2389 0 0.00 0
+phiX174:2390 0 0.00 0
+phiX174:2391 0 0.00 0
+phiX174:2392 0 0.00 0
+phiX174:2393 0 0.00 0
+phiX174:2394 0 0.00 0
+phiX174:2395 0 0.00 0
+phiX174:2396 0 0.00 0
+phiX174:2397 0 0.00 0
+phiX174:2398 0 0.00 0
+phiX174:2399 0 0.00 0
+phiX174:2400 0 0.00 0
+phiX174:2401 0 0.00 0
+phiX174:2402 0 0.00 0
+phiX174:2403 0 0.00 0
+phiX174:2404 0 0.00 0
+phiX174:2405 0 0.00 0
+phiX174:2406 0 0.00 0
+phiX174:2407 0 0.00 0
+phiX174:2408 0 0.00 0
+phiX174:2409 0 0.00 0
+phiX174:2410 0 0.00 0
+phiX174:2411 0 0.00 0
+phiX174:2412 0 0.00 0
+phiX174:2413 0 0.00 0
+phiX174:2414 0 0.00 0
+phiX174:2415 0 0.00 0
+phiX174:2416 0 0.00 0
+phiX174:2417 0 0.00 0
+phiX174:2418 0 0.00 0
+phiX174:2419 0 0.00 0
+phiX174:2420 0 0.00 0
+phiX174:2421 0 0.00 0
+phiX174:2422 0 0.00 0
+phiX174:2423 0 0.00 0
+phiX174:2424 0 0.00 0
+phiX174:2425 0 0.00 0
+phiX174:2426 0 0.00 0
+phiX174:2427 0 0.00 0
+phiX174:2428 0 0.00 0
+phiX174:2429 0 0.00 0
+phiX174:2430 0 0.00 0
+phiX174:2431 0 0.00 0
+phiX174:2432 0 0.00 0
+phiX174:2433 0 0.00 0
+phiX174:2434 0 0.00 0
+phiX174:2435 0 0.00 0
+phiX174:2436 0 0.00 0
+phiX174:2437 0 0.00 0
+phiX174:2438 0 0.00 0
+phiX174:2439 0 0.00 0
+phiX174:2440 0 0.00 0
+phiX174:2441 0 0.00 0
+phiX174:2442 0 0.00 0
+phiX174:2443 0 0.00 0
+phiX174:2444 0 0.00 0
+phiX174:2445 0 0.00 0
+phiX174:2446 0 0.00 0
+phiX174:2447 0 0.00 0
+phiX174:2448 0 0.00 0
+phiX174:2449 0 0.00 0
+phiX174:2450 0 0.00 0
+phiX174:2451 0 0.00 0
+phiX174:2452 0 0.00 0
+phiX174:2453 0 0.00 0
+phiX174:2454 0 0.00 0
+phiX174:2455 0 0.00 0
+phiX174:2456 0 0.00 0
+phiX174:2457 0 0.00 0
+phiX174:2458 0 0.00 0
+phiX174:2459 0 0.00 0
+phiX174:2460 0 0.00 0
+phiX174:2461 0 0.00 0
+phiX174:2462 0 0.00 0
+phiX174:2463 0 0.00 0
+phiX174:2464 0 0.00 0
+phiX174:2465 0 0.00 0
+phiX174:2466 0 0.00 0
+phiX174:2467 0 0.00 0
+phiX174:2468 0 0.00 0
+phiX174:2469 0 0.00 0
+phiX174:2470 0 0.00 0
+phiX174:2471 0 0.00 0
+phiX174:2472 0 0.00 0
+phiX174:2473 0 0.00 0
+phiX174:2474 0 0.00 0
+phiX174:2475 0 0.00 0
+phiX174:2476 0 0.00 0
+phiX174:2477 0 0.00 0
+phiX174:2478 0 0.00 0
+phiX174:2479 0 0.00 0
+phiX174:2480 0 0.00 0
+phiX174:2481 0 0.00 0
+phiX174:2482 0 0.00 0
+phiX174:2483 0 0.00 0
+phiX174:2484 0 0.00 0
+phiX174:2485 0 0.00 0
+phiX174:2486 0 0.00 0
+phiX174:2487 0 0.00 0
+phiX174:2488 0 0.00 0
+phiX174:2489 0 0.00 0
+phiX174:2490 0 0.00 0
+phiX174:2491 0 0.00 0
+phiX174:2492 0 0.00 0
+phiX174:2493 0 0.00 0
+phiX174:2494 0 0.00 0
+phiX174:2495 0 0.00 0
+phiX174:2496 0 0.00 0
+phiX174:2497 0 0.00 0
+phiX174:2498 0 0.00 0
+phiX174:2499 0 0.00 0
+phiX174:2500 0 0.00 0
+phiX174:2501 0 0.00 0
+phiX174:2502 0 0.00 0
+phiX174:2503 0 0.00 0
+phiX174:2504 0 0.00 0
+phiX174:2505 0 0.00 0
+phiX174:2506 0 0.00 0
+phiX174:2507 0 0.00 0
+phiX174:2508 0 0.00 0
+phiX174:2509 0 0.00 0
+phiX174:2510 0 0.00 0
+phiX174:2511 0 0.00 0
+phiX174:2512 0 0.00 0
+phiX174:2513 0 0.00 0
+phiX174:2514 0 0.00 0
+phiX174:2515 0 0.00 0
+phiX174:2516 0 0.00 0
+phiX174:2517 0 0.00 0
+phiX174:2518 0 0.00 0
+phiX174:2519 0 0.00 0
+phiX174:2520 0 0.00 0
+phiX174:2521 0 0.00 0
+phiX174:2522 0 0.00 0
+phiX174:2523 0 0.00 0
+phiX174:2524 0 0.00 0
+phiX174:2525 0 0.00 0
+phiX174:2526 0 0.00 0
+phiX174:2527 0 0.00 0
+phiX174:2528 0 0.00 0
+phiX174:2529 0 0.00 0
+phiX174:2530 0 0.00 0
+phiX174:2531 0 0.00 0
+phiX174:2532 0 0.00 0
+phiX174:2533 0 0.00 0
+phiX174:2534 0 0.00 0
+phiX174:2535 0 0.00 0
+phiX174:2536 0 0.00 0
+phiX174:2537 0 0.00 0
+phiX174:2538 0 0.00 0
+phiX174:2539 0 0.00 0
+phiX174:2540 0 0.00 0
+phiX174:2541 0 0.00 0
+phiX174:2542 0 0.00 0
+phiX174:2543 0 0.00 0
+phiX174:2544 0 0.00 0
+phiX174:2545 0 0.00 0
+phiX174:2546 0 0.00 0
+phiX174:2547 0 0.00 0
+phiX174:2548 0 0.00 0
+phiX174:2549 0 0.00 0
+phiX174:2550 0 0.00 0
+phiX174:2551 0 0.00 0
+phiX174:2552 0 0.00 0
+phiX174:2553 0 0.00 0
+phiX174:2554 0 0.00 0
+phiX174:2555 0 0.00 0
+phiX174:2556 0 0.00 0
+phiX174:2557 0 0.00 0
+phiX174:2558 0 0.00 0
+phiX174:2559 0 0.00 0
+phiX174:2560 0 0.00 0
+phiX174:2561 0 0.00 0
+phiX174:2562 0 0.00 0
+phiX174:2563 0 0.00 0
+phiX174:2564 0 0.00 0
+phiX174:2565 0 0.00 0
+phiX174:2566 0 0.00 0
+phiX174:2567 0 0.00 0
+phiX174:2568 0 0.00 0
+phiX174:2569 0 0.00 0
+phiX174:2570 0 0.00 0
+phiX174:2571 0 0.00 0
+phiX174:2572 0 0.00 0
+phiX174:2573 0 0.00 0
+phiX174:2574 0 0.00 0
+phiX174:2575 0 0.00 0
+phiX174:2576 0 0.00 0
+phiX174:2577 0 0.00 0
+phiX174:2578 0 0.00 0
+phiX174:2579 0 0.00 0
+phiX174:2580 0 0.00 0
+phiX174:2581 0 0.00 0
+phiX174:2582 0 0.00 0
+phiX174:2583 0 0.00 0
+phiX174:2584 0 0.00 0
+phiX174:2585 0 0.00 0
+phiX174:2586 0 0.00 0
+phiX174:2587 0 0.00 0
+phiX174:2588 0 0.00 0
+phiX174:2589 0 0.00 0
+phiX174:2590 0 0.00 0
+phiX174:2591 0 0.00 0
+phiX174:2592 0 0.00 0
+phiX174:2593 0 0.00 0
+phiX174:2594 0 0.00 0
+phiX174:2595 0 0.00 0
+phiX174:2596 0 0.00 0
+phiX174:2597 0 0.00 0
+phiX174:2598 0 0.00 0
+phiX174:2599 0 0.00 0
+phiX174:2600 0 0.00 0
+phiX174:2601 0 0.00 0
+phiX174:2602 0 0.00 0
+phiX174:2603 0 0.00 0
+phiX174:2604 0 0.00 0
+phiX174:2605 0 0.00 0
+phiX174:2606 0 0.00 0
+phiX174:2607 0 0.00 0
+phiX174:2608 0 0.00 0
+phiX174:2609 0 0.00 0
+phiX174:2610 0 0.00 0
+phiX174:2611 0 0.00 0
+phiX174:2612 0 0.00 0
+phiX174:2613 0 0.00 0
+phiX174:2614 0 0.00 0
+phiX174:2615 0 0.00 0
+phiX174:2616 0 0.00 0
+phiX174:2617 0 0.00 0
+phiX174:2618 0 0.00 0
+phiX174:2619 0 0.00 0
+phiX174:2620 0 0.00 0
+phiX174:2621 0 0.00 0
+phiX174:2622 0 0.00 0
+phiX174:2623 0 0.00 0
+phiX174:2624 0 0.00 0
+phiX174:2625 0 0.00 0
+phiX174:2626 0 0.00 0
+phiX174:2627 0 0.00 0
+phiX174:2628 0 0.00 0
+phiX174:2629 0 0.00 0
+phiX174:2630 0 0.00 0
+phiX174:2631 0 0.00 0
+phiX174:2632 0 0.00 0
+phiX174:2633 0 0.00 0
+phiX174:2634 0 0.00 0
+phiX174:2635 0 0.00 0
+phiX174:2636 0 0.00 0
+phiX174:2637 0 0.00 0
+phiX174:2638 0 0.00 0
+phiX174:2639 0 0.00 0
+phiX174:2640 0 0.00 0
+phiX174:2641 0 0.00 0
+phiX174:2642 0 0.00 0
+phiX174:2643 0 0.00 0
+phiX174:2644 0 0.00 0
+phiX174:2645 0 0.00 0
+phiX174:2646 0 0.00 0
+phiX174:2647 0 0.00 0
+phiX174:2648 0 0.00 0
+phiX174:2649 0 0.00 0
+phiX174:2650 0 0.00 0
+phiX174:2651 0 0.00 0
+phiX174:2652 0 0.00 0
+phiX174:2653 0 0.00 0
+phiX174:2654 0 0.00 0
+phiX174:2655 0 0.00 0
+phiX174:2656 0 0.00 0
+phiX174:2657 0 0.00 0
+phiX174:2658 0 0.00 0
+phiX174:2659 0 0.00 0
+phiX174:2660 0 0.00 0
+phiX174:2661 0 0.00 0
+phiX174:2662 0 0.00 0
+phiX174:2663 0 0.00 0
+phiX174:2664 0 0.00 0
+phiX174:2665 0 0.00 0
+phiX174:2666 0 0.00 0
+phiX174:2667 0 0.00 0
+phiX174:2668 0 0.00 0
+phiX174:2669 0 0.00 0
+phiX174:2670 0 0.00 0
+phiX174:2671 0 0.00 0
+phiX174:2672 0 0.00 0
+phiX174:2673 0 0.00 0
+phiX174:2674 0 0.00 0
+phiX174:2675 0 0.00 0
+phiX174:2676 0 0.00 0
+phiX174:2677 0 0.00 0
+phiX174:2678 0 0.00 0
+phiX174:2679 0 0.00 0
+phiX174:2680 0 0.00 0
+phiX174:2681 0 0.00 0
+phiX174:2682 0 0.00 0
+phiX174:2683 0 0.00 0
+phiX174:2684 0 0.00 0
+phiX174:2685 0 0.00 0
+phiX174:2686 0 0.00 0
+phiX174:2687 0 0.00 0
+phiX174:2688 0 0.00 0
+phiX174:2689 0 0.00 0
+phiX174:2690 0 0.00 0
+phiX174:2691 0 0.00 0
+phiX174:2692 0 0.00 0
+phiX174:2693 0 0.00 0
+phiX174:2694 0 0.00 0
+phiX174:2695 0 0.00 0
+phiX174:2696 0 0.00 0
+phiX174:2697 0 0.00 0
+phiX174:2698 0 0.00 0
+phiX174:2699 0 0.00 0
+phiX174:2700 0 0.00 0
+phiX174:2701 0 0.00 0
+phiX174:2702 0 0.00 0
+phiX174:2703 0 0.00 0
+phiX174:2704 0 0.00 0
+phiX174:2705 0 0.00 0
+phiX174:2706 0 0.00 0
+phiX174:2707 0 0.00 0
+phiX174:2708 0 0.00 0
+phiX174:2709 0 0.00 0
+phiX174:2710 0 0.00 0
+phiX174:2711 0 0.00 0
+phiX174:2712 0 0.00 0
+phiX174:2713 0 0.00 0
+phiX174:2714 0 0.00 0
+phiX174:2715 0 0.00 0
+phiX174:2716 0 0.00 0
+phiX174:2717 0 0.00 0
+phiX174:2718 0 0.00 0
+phiX174:2719 0 0.00 0
+phiX174:2720 0 0.00 0
+phiX174:2721 0 0.00 0
+phiX174:2722 0 0.00 0
+phiX174:2723 0 0.00 0
+phiX174:2724 0 0.00 0
+phiX174:2725 0 0.00 0
+phiX174:2726 0 0.00 0
+phiX174:2727 0 0.00 0
+phiX174:2728 0 0.00 0
+phiX174:2729 0 0.00 0
+phiX174:2730 0 0.00 0
+phiX174:2731 0 0.00 0
+phiX174:2732 0 0.00 0
+phiX174:2733 0 0.00 0
+phiX174:2734 0 0.00 0
+phiX174:2735 0 0.00 0
+phiX174:2736 0 0.00 0
+phiX174:2737 0 0.00 0
+phiX174:2738 0 0.00 0
+phiX174:2739 0 0.00 0
+phiX174:2740 0 0.00 0
+phiX174:2741 0 0.00 0
+phiX174:2742 0 0.00 0
+phiX174:2743 0 0.00 0
+phiX174:2744 0 0.00 0
+phiX174:2745 0 0.00 0
+phiX174:2746 0 0.00 0
+phiX174:2747 0 0.00 0
+phiX174:2748 0 0.00 0
+phiX174:2749 0 0.00 0
+phiX174:2750 0 0.00 0
+phiX174:2751 0 0.00 0
+phiX174:2752 0 0.00 0
+phiX174:2753 0 0.00 0
+phiX174:2754 0 0.00 0
+phiX174:2755 0 0.00 0
+phiX174:2756 0 0.00 0
+phiX174:2757 0 0.00 0
+phiX174:2758 0 0.00 0
+phiX174:2759 0 0.00 0
+phiX174:2760 0 0.00 0
+phiX174:2761 0 0.00 0
+phiX174:2762 0 0.00 0
+phiX174:2763 0 0.00 0
+phiX174:2764 0 0.00 0
+phiX174:2765 0 0.00 0
+phiX174:2766 0 0.00 0
+phiX174:2767 0 0.00 0
+phiX174:2768 0 0.00 0
+phiX174:2769 0 0.00 0
+phiX174:2770 0 0.00 0
+phiX174:2771 0 0.00 0
+phiX174:2772 0 0.00 0
+phiX174:2773 0 0.00 0
+phiX174:2774 0 0.00 0
+phiX174:2775 0 0.00 0
+phiX174:2776 0 0.00 0
+phiX174:2777 0 0.00 0
+phiX174:2778 0 0.00 0
+phiX174:2779 0 0.00 0
+phiX174:2780 0 0.00 0
+phiX174:2781 0 0.00 0
+phiX174:2782 0 0.00 0
+phiX174:2783 0 0.00 0
+phiX174:2784 0 0.00 0
+phiX174:2785 0 0.00 0
+phiX174:2786 0 0.00 0
+phiX174:2787 0 0.00 0
+phiX174:2788 0 0.00 0
+phiX174:2789 0 0.00 0
+phiX174:2790 0 0.00 0
+phiX174:2791 0 0.00 0
+phiX174:2792 0 0.00 0
+phiX174:2793 0 0.00 0
+phiX174:2794 0 0.00 0
+phiX174:2795 0 0.00 0
+phiX174:2796 0 0.00 0
+phiX174:2797 0 0.00 0
+phiX174:2798 0 0.00 0
+phiX174:2799 0 0.00 0
+phiX174:2800 0 0.00 0
+phiX174:2801 0 0.00 0
+phiX174:2802 0 0.00 0
+phiX174:2803 0 0.00 0
+phiX174:2804 0 0.00 0
+phiX174:2805 0 0.00 0
+phiX174:2806 0 0.00 0
+phiX174:2807 0 0.00 0
+phiX174:2808 0 0.00 0
+phiX174:2809 0 0.00 0
+phiX174:2810 0 0.00 0
+phiX174:2811 0 0.00 0
+phiX174:2812 0 0.00 0
+phiX174:2813 0 0.00 0
+phiX174:2814 0 0.00 0
+phiX174:2815 0 0.00 0
+phiX174:2816 0 0.00 0
+phiX174:2817 0 0.00 0
+phiX174:2818 0 0.00 0
+phiX174:2819 0 0.00 0
+phiX174:2820 0 0.00 0
+phiX174:2821 0 0.00 0
+phiX174:2822 0 0.00 0
+phiX174:2823 0 0.00 0
+phiX174:2824 0 0.00 0
+phiX174:2825 0 0.00 0
+phiX174:2826 0 0.00 0
+phiX174:2827 0 0.00 0
+phiX174:2828 0 0.00 0
+phiX174:2829 0 0.00 0
+phiX174:2830 0 0.00 0
+phiX174:2831 0 0.00 0
+phiX174:2832 0 0.00 0
+phiX174:2833 0 0.00 0
+phiX174:2834 0 0.00 0
+phiX174:2835 0 0.00 0
+phiX174:2836 0 0.00 0
+phiX174:2837 0 0.00 0
+phiX174:2838 0 0.00 0
+phiX174:2839 0 0.00 0
+phiX174:2840 0 0.00 0
+phiX174:2841 0 0.00 0
+phiX174:2842 0 0.00 0
+phiX174:2843 0 0.00 0
+phiX174:2844 0 0.00 0
+phiX174:2845 0 0.00 0
+phiX174:2846 0 0.00 0
+phiX174:2847 0 0.00 0
+phiX174:2848 0 0.00 0
+phiX174:2849 0 0.00 0
+phiX174:2850 0 0.00 0
+phiX174:2851 0 0.00 0
+phiX174:2852 0 0.00 0
+phiX174:2853 0 0.00 0
+phiX174:2854 0 0.00 0
+phiX174:2855 0 0.00 0
+phiX174:2856 0 0.00 0
+phiX174:2857 0 0.00 0
+phiX174:2858 0 0.00 0
+phiX174:2859 0 0.00 0
+phiX174:2860 0 0.00 0
+phiX174:2861 0 0.00 0
+phiX174:2862 0 0.00 0
+phiX174:2863 0 0.00 0
+phiX174:2864 0 0.00 0
+phiX174:2865 0 0.00 0
+phiX174:2866 0 0.00 0
+phiX174:2867 0 0.00 0
+phiX174:2868 0 0.00 0
+phiX174:2869 0 0.00 0
+phiX174:2870 0 0.00 0
+phiX174:2871 0 0.00 0
+phiX174:2872 0 0.00 0
+phiX174:2873 0 0.00 0
+phiX174:2874 0 0.00 0
+phiX174:2875 0 0.00 0
+phiX174:2876 0 0.00 0
+phiX174:2877 0 0.00 0
+phiX174:2878 0 0.00 0
+phiX174:2879 0 0.00 0
+phiX174:2880 0 0.00 0
+phiX174:2881 0 0.00 0
+phiX174:2882 0 0.00 0
+phiX174:2883 0 0.00 0
+phiX174:2884 0 0.00 0
+phiX174:2885 0 0.00 0
+phiX174:2886 0 0.00 0
+phiX174:2887 0 0.00 0
+phiX174:2888 0 0.00 0
+phiX174:2889 0 0.00 0
+phiX174:2890 0 0.00 0
+phiX174:2891 0 0.00 0
+phiX174:2892 0 0.00 0
+phiX174:2893 0 0.00 0
+phiX174:2894 0 0.00 0
+phiX174:2895 0 0.00 0
+phiX174:2896 0 0.00 0
+phiX174:2897 0 0.00 0
+phiX174:2898 0 0.00 0
+phiX174:2899 0 0.00 0
+phiX174:2900 0 0.00 0
+phiX174:2901 0 0.00 0
+phiX174:2902 0 0.00 0
+phiX174:2903 0 0.00 0
+phiX174:2904 0 0.00 0
+phiX174:2905 0 0.00 0
+phiX174:2906 0 0.00 0
+phiX174:2907 0 0.00 0
+phiX174:2908 0 0.00 0
+phiX174:2909 0 0.00 0
+phiX174:2910 0 0.00 0
+phiX174:2911 0 0.00 0
+phiX174:2912 0 0.00 0
+phiX174:2913 0 0.00 0
+phiX174:2914 0 0.00 0
+phiX174:2915 0 0.00 0
+phiX174:2916 0 0.00 0
+phiX174:2917 0 0.00 0
+phiX174:2918 0 0.00 0
+phiX174:2919 0 0.00 0
+phiX174:2920 0 0.00 0
+phiX174:2921 0 0.00 0
+phiX174:2922 0 0.00 0
+phiX174:2923 0 0.00 0
+phiX174:2924 0 0.00 0
+phiX174:2925 0 0.00 0
+phiX174:2926 0 0.00 0
+phiX174:2927 0 0.00 0
+phiX174:2928 0 0.00 0
+phiX174:2929 0 0.00 0
+phiX174:2930 0 0.00 0
+phiX174:2931 0 0.00 0
+phiX174:2932 0 0.00 0
+phiX174:2933 0 0.00 0
+phiX174:2934 0 0.00 0
+phiX174:2935 0 0.00 0
+phiX174:2936 0 0.00 0
+phiX174:2937 0 0.00 0
+phiX174:2938 0 0.00 0
+phiX174:2939 0 0.00 0
+phiX174:2940 0 0.00 0
+phiX174:2941 0 0.00 0
+phiX174:2942 0 0.00 0
+phiX174:2943 0 0.00 0
+phiX174:2944 0 0.00 0
+phiX174:2945 0 0.00 0
+phiX174:2946 0 0.00 0
+phiX174:2947 0 0.00 0
+phiX174:2948 0 0.00 0
+phiX174:2949 0 0.00 0
+phiX174:2950 0 0.00 0
+phiX174:2951 0 0.00 0
+phiX174:2952 0 0.00 0
+phiX174:2953 0 0.00 0
+phiX174:2954 0 0.00 0
+phiX174:2955 0 0.00 0
+phiX174:2956 0 0.00 0
+phiX174:2957 0 0.00 0
+phiX174:2958 0 0.00 0
+phiX174:2959 0 0.00 0
+phiX174:2960 0 0.00 0
+phiX174:2961 0 0.00 0
+phiX174:2962 0 0.00 0
+phiX174:2963 0 0.00 0
+phiX174:2964 0 0.00 0
+phiX174:2965 0 0.00 0
+phiX174:2966 0 0.00 0
+phiX174:2967 0 0.00 0
+phiX174:2968 0 0.00 0
+phiX174:2969 0 0.00 0
+phiX174:2970 0 0.00 0
+phiX174:2971 0 0.00 0
+phiX174:2972 0 0.00 0
+phiX174:2973 0 0.00 0
+phiX174:2974 0 0.00 0
+phiX174:2975 0 0.00 0
+phiX174:2976 0 0.00 0
+phiX174:2977 0 0.00 0
+phiX174:2978 0 0.00 0
+phiX174:2979 0 0.00 0
+phiX174:2980 0 0.00 0
+phiX174:2981 0 0.00 0
+phiX174:2982 0 0.00 0
+phiX174:2983 0 0.00 0
+phiX174:2984 0 0.00 0
+phiX174:2985 0 0.00 0
+phiX174:2986 0 0.00 0
+phiX174:2987 0 0.00 0
+phiX174:2988 0 0.00 0
+phiX174:2989 0 0.00 0
+phiX174:2990 0 0.00 0
+phiX174:2991 0 0.00 0
+phiX174:2992 0 0.00 0
+phiX174:2993 0 0.00 0
+phiX174:2994 0 0.00 0
+phiX174:2995 0 0.00 0
+phiX174:2996 0 0.00 0
+phiX174:2997 0 0.00 0
+phiX174:2998 0 0.00 0
+phiX174:2999 0 0.00 0
+phiX174:3000 0 0.00 0
+phiX174:3001 0 0.00 0
+phiX174:3002 0 0.00 0
+phiX174:3003 0 0.00 0
+phiX174:3004 0 0.00 0
+phiX174:3005 0 0.00 0
+phiX174:3006 0 0.00 0
+phiX174:3007 0 0.00 0
+phiX174:3008 0 0.00 0
+phiX174:3009 0 0.00 0
+phiX174:3010 0 0.00 0
+phiX174:3011 0 0.00 0
+phiX174:3012 0 0.00 0
+phiX174:3013 0 0.00 0
+phiX174:3014 0 0.00 0
+phiX174:3015 0 0.00 0
+phiX174:3016 0 0.00 0
+phiX174:3017 0 0.00 0
+phiX174:3018 0 0.00 0
+phiX174:3019 0 0.00 0
+phiX174:3020 0 0.00 0
+phiX174:3021 0 0.00 0
+phiX174:3022 0 0.00 0
+phiX174:3023 0 0.00 0
+phiX174:3024 0 0.00 0
+phiX174:3025 0 0.00 0
+phiX174:3026 0 0.00 0
+phiX174:3027 0 0.00 0
+phiX174:3028 0 0.00 0
+phiX174:3029 0 0.00 0
+phiX174:3030 0 0.00 0
+phiX174:3031 0 0.00 0
+phiX174:3032 0 0.00 0
+phiX174:3033 0 0.00 0
+phiX174:3034 0 0.00 0
+phiX174:3035 0 0.00 0
+phiX174:3036 0 0.00 0
+phiX174:3037 0 0.00 0
+phiX174:3038 0 0.00 0
+phiX174:3039 0 0.00 0
+phiX174:3040 0 0.00 0
+phiX174:3041 0 0.00 0
+phiX174:3042 0 0.00 0
+phiX174:3043 0 0.00 0
+phiX174:3044 0 0.00 0
+phiX174:3045 0 0.00 0
+phiX174:3046 0 0.00 0
+phiX174:3047 0 0.00 0
+phiX174:3048 0 0.00 0
+phiX174:3049 0 0.00 0
+phiX174:3050 0 0.00 0
+phiX174:3051 0 0.00 0
+phiX174:3052 0 0.00 0
+phiX174:3053 0 0.00 0
+phiX174:3054 0 0.00 0
+phiX174:3055 0 0.00 0
+phiX174:3056 0 0.00 0
+phiX174:3057 0 0.00 0
+phiX174:3058 0 0.00 0
+phiX174:3059 0 0.00 0
+phiX174:3060 0 0.00 0
+phiX174:3061 0 0.00 0
+phiX174:3062 0 0.00 0
+phiX174:3063 0 0.00 0
+phiX174:3064 0 0.00 0
+phiX174:3065 0 0.00 0
+phiX174:3066 0 0.00 0
+phiX174:3067 0 0.00 0
+phiX174:3068 0 0.00 0
+phiX174:3069 0 0.00 0
+phiX174:3070 0 0.00 0
+phiX174:3071 0 0.00 0
+phiX174:3072 0 0.00 0
+phiX174:3073 0 0.00 0
+phiX174:3074 0 0.00 0
+phiX174:3075 0 0.00 0
+phiX174:3076 0 0.00 0
+phiX174:3077 0 0.00 0
+phiX174:3078 0 0.00 0
+phiX174:3079 0 0.00 0
+phiX174:3080 0 0.00 0
+phiX174:3081 0 0.00 0
+phiX174:3082 0 0.00 0
+phiX174:3083 0 0.00 0
+phiX174:3084 0 0.00 0
+phiX174:3085 0 0.00 0
+phiX174:3086 0 0.00 0
+phiX174:3087 0 0.00 0
+phiX174:3088 0 0.00 0
+phiX174:3089 0 0.00 0
+phiX174:3090 0 0.00 0
+phiX174:3091 0 0.00 0
+phiX174:3092 0 0.00 0
+phiX174:3093 0 0.00 0
+phiX174:3094 0 0.00 0
+phiX174:3095 0 0.00 0
+phiX174:3096 0 0.00 0
+phiX174:3097 0 0.00 0
+phiX174:3098 0 0.00 0
+phiX174:3099 0 0.00 0
+phiX174:3100 0 0.00 0
+phiX174:3101 0 0.00 0
+phiX174:3102 0 0.00 0
+phiX174:3103 0 0.00 0
+phiX174:3104 0 0.00 0
+phiX174:3105 0 0.00 0
+phiX174:3106 0 0.00 0
+phiX174:3107 0 0.00 0
+phiX174:3108 0 0.00 0
+phiX174:3109 0 0.00 0
+phiX174:3110 0 0.00 0
+phiX174:3111 0 0.00 0
+phiX174:3112 0 0.00 0
+phiX174:3113 0 0.00 0
+phiX174:3114 0 0.00 0
+phiX174:3115 0 0.00 0
+phiX174:3116 0 0.00 0
+phiX174:3117 0 0.00 0
+phiX174:3118 0 0.00 0
+phiX174:3119 0 0.00 0
+phiX174:3120 0 0.00 0
+phiX174:3121 0 0.00 0
+phiX174:3122 0 0.00 0
+phiX174:3123 0 0.00 0
+phiX174:3124 0 0.00 0
+phiX174:3125 0 0.00 0
+phiX174:3126 0 0.00 0
+phiX174:3127 0 0.00 0
+phiX174:3128 0 0.00 0
+phiX174:3129 0 0.00 0
+phiX174:3130 0 0.00 0
+phiX174:3131 0 0.00 0
+phiX174:3132 0 0.00 0
+phiX174:3133 0 0.00 0
+phiX174:3134 0 0.00 0
+phiX174:3135 0 0.00 0
+phiX174:3136 0 0.00 0
+phiX174:3137 0 0.00 0
+phiX174:3138 0 0.00 0
+phiX174:3139 0 0.00 0
+phiX174:3140 0 0.00 0
+phiX174:3141 0 0.00 0
+phiX174:3142 0 0.00 0
+phiX174:3143 0 0.00 0
+phiX174:3144 0 0.00 0
+phiX174:3145 0 0.00 0
+phiX174:3146 0 0.00 0
+phiX174:3147 0 0.00 0
+phiX174:3148 0 0.00 0
+phiX174:3149 0 0.00 0
+phiX174:3150 0 0.00 0
+phiX174:3151 0 0.00 0
+phiX174:3152 0 0.00 0
+phiX174:3153 0 0.00 0
+phiX174:3154 0 0.00 0
+phiX174:3155 0 0.00 0
+phiX174:3156 0 0.00 0
+phiX174:3157 0 0.00 0
+phiX174:3158 0 0.00 0
+phiX174:3159 0 0.00 0
+phiX174:3160 0 0.00 0
+phiX174:3161 0 0.00 0
+phiX174:3162 0 0.00 0
+phiX174:3163 0 0.00 0
+phiX174:3164 0 0.00 0
+phiX174:3165 0 0.00 0
+phiX174:3166 0 0.00 0
+phiX174:3167 0 0.00 0
+phiX174:3168 0 0.00 0
+phiX174:3169 0 0.00 0
+phiX174:3170 0 0.00 0
+phiX174:3171 0 0.00 0
+phiX174:3172 0 0.00 0
+phiX174:3173 0 0.00 0
+phiX174:3174 0 0.00 0
+phiX174:3175 0 0.00 0
+phiX174:3176 0 0.00 0
+phiX174:3177 0 0.00 0
+phiX174:3178 0 0.00 0
+phiX174:3179 0 0.00 0
+phiX174:3180 0 0.00 0
+phiX174:3181 0 0.00 0
+phiX174:3182 0 0.00 0
+phiX174:3183 0 0.00 0
+phiX174:3184 0 0.00 0
+phiX174:3185 0 0.00 0
+phiX174:3186 0 0.00 0
+phiX174:3187 0 0.00 0
+phiX174:3188 0 0.00 0
+phiX174:3189 0 0.00 0
+phiX174:3190 0 0.00 0
+phiX174:3191 0 0.00 0
+phiX174:3192 0 0.00 0
+phiX174:3193 0 0.00 0
+phiX174:3194 0 0.00 0
+phiX174:3195 0 0.00 0
+phiX174:3196 0 0.00 0
+phiX174:3197 0 0.00 0
+phiX174:3198 0 0.00 0
+phiX174:3199 0 0.00 0
+phiX174:3200 0 0.00 0
+phiX174:3201 0 0.00 0
+phiX174:3202 0 0.00 0
+phiX174:3203 0 0.00 0
+phiX174:3204 0 0.00 0
+phiX174:3205 0 0.00 0
+phiX174:3206 0 0.00 0
+phiX174:3207 0 0.00 0
+phiX174:3208 0 0.00 0
+phiX174:3209 0 0.00 0
+phiX174:3210 0 0.00 0
+phiX174:3211 0 0.00 0
+phiX174:3212 0 0.00 0
+phiX174:3213 0 0.00 0
+phiX174:3214 0 0.00 0
+phiX174:3215 0 0.00 0
+phiX174:3216 0 0.00 0
+phiX174:3217 0 0.00 0
+phiX174:3218 0 0.00 0
+phiX174:3219 0 0.00 0
+phiX174:3220 0 0.00 0
+phiX174:3221 0 0.00 0
+phiX174:3222 0 0.00 0
+phiX174:3223 0 0.00 0
+phiX174:3224 0 0.00 0
+phiX174:3225 0 0.00 0
+phiX174:3226 0 0.00 0
+phiX174:3227 0 0.00 0
+phiX174:3228 0 0.00 0
+phiX174:3229 0 0.00 0
+phiX174:3230 0 0.00 0
+phiX174:3231 0 0.00 0
+phiX174:3232 0 0.00 0
+phiX174:3233 0 0.00 0
+phiX174:3234 0 0.00 0
+phiX174:3235 0 0.00 0
+phiX174:3236 0 0.00 0
+phiX174:3237 0 0.00 0
+phiX174:3238 0 0.00 0
+phiX174:3239 0 0.00 0
+phiX174:3240 0 0.00 0
+phiX174:3241 0 0.00 0
+phiX174:3242 0 0.00 0
+phiX174:3243 0 0.00 0
+phiX174:3244 0 0.00 0
+phiX174:3245 0 0.00 0
+phiX174:3246 0 0.00 0
+phiX174:3247 0 0.00 0
+phiX174:3248 0 0.00 0
+phiX174:3249 0 0.00 0
+phiX174:3250 0 0.00 0
+phiX174:3251 0 0.00 0
+phiX174:3252 0 0.00 0
+phiX174:3253 0 0.00 0
+phiX174:3254 0 0.00 0
+phiX174:3255 0 0.00 0
+phiX174:3256 0 0.00 0
+phiX174:3257 0 0.00 0
+phiX174:3258 0 0.00 0
+phiX174:3259 0 0.00 0
+phiX174:3260 0 0.00 0
+phiX174:3261 0 0.00 0
+phiX174:3262 0 0.00 0
+phiX174:3263 0 0.00 0
+phiX174:3264 0 0.00 0
+phiX174:3265 0 0.00 0
+phiX174:3266 0 0.00 0
+phiX174:3267 0 0.00 0
+phiX174:3268 0 0.00 0
+phiX174:3269 0 0.00 0
+phiX174:3270 0 0.00 0
+phiX174:3271 0 0.00 0
+phiX174:3272 0 0.00 0
+phiX174:3273 0 0.00 0
+phiX174:3274 0 0.00 0
+phiX174:3275 0 0.00 0
+phiX174:3276 0 0.00 0
+phiX174:3277 0 0.00 0
+phiX174:3278 0 0.00 0
+phiX174:3279 0 0.00 0
+phiX174:3280 0 0.00 0
+phiX174:3281 0 0.00 0
+phiX174:3282 0 0.00 0
+phiX174:3283 0 0.00 0
+phiX174:3284 0 0.00 0
+phiX174:3285 0 0.00 0
+phiX174:3286 0 0.00 0
+phiX174:3287 0 0.00 0
+phiX174:3288 0 0.00 0
+phiX174:3289 0 0.00 0
+phiX174:3290 0 0.00 0
+phiX174:3291 0 0.00 0
+phiX174:3292 0 0.00 0
+phiX174:3293 0 0.00 0
+phiX174:3294 0 0.00 0
+phiX174:3295 0 0.00 0
+phiX174:3296 0 0.00 0
+phiX174:3297 0 0.00 0
+phiX174:3298 0 0.00 0
+phiX174:3299 0 0.00 0
+phiX174:3300 0 0.00 0
+phiX174:3301 0 0.00 0
+phiX174:3302 0 0.00 0
+phiX174:3303 0 0.00 0
+phiX174:3304 0 0.00 0
+phiX174:3305 0 0.00 0
+phiX174:3306 0 0.00 0
+phiX174:3307 0 0.00 0
+phiX174:3308 0 0.00 0
+phiX174:3309 0 0.00 0
+phiX174:3310 0 0.00 0
+phiX174:3311 0 0.00 0
+phiX174:3312 0 0.00 0
+phiX174:3313 0 0.00 0
+phiX174:3314 0 0.00 0
+phiX174:3315 0 0.00 0
+phiX174:3316 0 0.00 0
+phiX174:3317 0 0.00 0
+phiX174:3318 0 0.00 0
+phiX174:3319 0 0.00 0
+phiX174:3320 0 0.00 0
+phiX174:3321 0 0.00 0
+phiX174:3322 0 0.00 0
+phiX174:3323 0 0.00 0
+phiX174:3324 0 0.00 0
+phiX174:3325 0 0.00 0
+phiX174:3326 0 0.00 0
+phiX174:3327 0 0.00 0
+phiX174:3328 0 0.00 0
+phiX174:3329 0 0.00 0
+phiX174:3330 0 0.00 0
+phiX174:3331 0 0.00 0
+phiX174:3332 0 0.00 0
+phiX174:3333 0 0.00 0
+phiX174:3334 0 0.00 0
+phiX174:3335 0 0.00 0
+phiX174:3336 0 0.00 0
+phiX174:3337 0 0.00 0
+phiX174:3338 0 0.00 0
+phiX174:3339 0 0.00 0
+phiX174:3340 0 0.00 0
+phiX174:3341 0 0.00 0
+phiX174:3342 0 0.00 0
+phiX174:3343 0 0.00 0
+phiX174:3344 0 0.00 0
+phiX174:3345 0 0.00 0
+phiX174:3346 0 0.00 0
+phiX174:3347 0 0.00 0
+phiX174:3348 0 0.00 0
+phiX174:3349 0 0.00 0
+phiX174:3350 0 0.00 0
+phiX174:3351 0 0.00 0
+phiX174:3352 0 0.00 0
+phiX174:3353 0 0.00 0
+phiX174:3354 0 0.00 0
+phiX174:3355 0 0.00 0
+phiX174:3356 0 0.00 0
+phiX174:3357 0 0.00 0
+phiX174:3358 0 0.00 0
+phiX174:3359 0 0.00 0
+phiX174:3360 0 0.00 0
+phiX174:3361 0 0.00 0
+phiX174:3362 0 0.00 0
+phiX174:3363 0 0.00 0
+phiX174:3364 0 0.00 0
+phiX174:3365 0 0.00 0
+phiX174:3366 0 0.00 0
+phiX174:3367 0 0.00 0
+phiX174:3368 0 0.00 0
+phiX174:3369 0 0.00 0
+phiX174:3370 0 0.00 0
+phiX174:3371 0 0.00 0
+phiX174:3372 0 0.00 0
+phiX174:3373 0 0.00 0
+phiX174:3374 0 0.00 0
+phiX174:3375 0 0.00 0
+phiX174:3376 0 0.00 0
+phiX174:3377 0 0.00 0
+phiX174:3378 0 0.00 0
+phiX174:3379 0 0.00 0
+phiX174:3380 0 0.00 0
+phiX174:3381 0 0.00 0
+phiX174:3382 0 0.00 0
+phiX174:3383 0 0.00 0
+phiX174:3384 0 0.00 0
+phiX174:3385 0 0.00 0
+phiX174:3386 0 0.00 0
+phiX174:3387 0 0.00 0
+phiX174:3388 0 0.00 0
+phiX174:3389 0 0.00 0
+phiX174:3390 0 0.00 0
+phiX174:3391 0 0.00 0
+phiX174:3392 0 0.00 0
+phiX174:3393 0 0.00 0
+phiX174:3394 0 0.00 0
+phiX174:3395 0 0.00 0
+phiX174:3396 0 0.00 0
+phiX174:3397 0 0.00 0
+phiX174:3398 0 0.00 0
+phiX174:3399 0 0.00 0
+phiX174:3400 0 0.00 0
+phiX174:3401 0 0.00 0
+phiX174:3402 0 0.00 0
+phiX174:3403 0 0.00 0
+phiX174:3404 0 0.00 0
+phiX174:3405 0 0.00 0
+phiX174:3406 0 0.00 0
+phiX174:3407 0 0.00 0
+phiX174:3408 0 0.00 0
+phiX174:3409 0 0.00 0
+phiX174:3410 0 0.00 0
+phiX174:3411 0 0.00 0
+phiX174:3412 0 0.00 0
+phiX174:3413 0 0.00 0
+phiX174:3414 0 0.00 0
+phiX174:3415 0 0.00 0
+phiX174:3416 0 0.00 0
+phiX174:3417 0 0.00 0
+phiX174:3418 0 0.00 0
+phiX174:3419 0 0.00 0
+phiX174:3420 0 0.00 0
+phiX174:3421 0 0.00 0
+phiX174:3422 0 0.00 0
+phiX174:3423 0 0.00 0
+phiX174:3424 0 0.00 0
+phiX174:3425 0 0.00 0
+phiX174:3426 0 0.00 0
+phiX174:3427 0 0.00 0
+phiX174:3428 0 0.00 0
+phiX174:3429 0 0.00 0
+phiX174:3430 0 0.00 0
+phiX174:3431 0 0.00 0
+phiX174:3432 0 0.00 0
+phiX174:3433 0 0.00 0
+phiX174:3434 0 0.00 0
+phiX174:3435 0 0.00 0
+phiX174:3436 0 0.00 0
+phiX174:3437 0 0.00 0
+phiX174:3438 0 0.00 0
+phiX174:3439 0 0.00 0
+phiX174:3440 0 0.00 0
+phiX174:3441 0 0.00 0
+phiX174:3442 0 0.00 0
+phiX174:3443 0 0.00 0
+phiX174:3444 0 0.00 0
+phiX174:3445 0 0.00 0
+phiX174:3446 0 0.00 0
+phiX174:3447 0 0.00 0
+phiX174:3448 0 0.00 0
+phiX174:3449 0 0.00 0
+phiX174:3450 0 0.00 0
+phiX174:3451 0 0.00 0
+phiX174:3452 0 0.00 0
+phiX174:3453 0 0.00 0
+phiX174:3454 0 0.00 0
+phiX174:3455 0 0.00 0
+phiX174:3456 0 0.00 0
+phiX174:3457 0 0.00 0
+phiX174:3458 0 0.00 0
+phiX174:3459 0 0.00 0
+phiX174:3460 0 0.00 0
+phiX174:3461 0 0.00 0
+phiX174:3462 0 0.00 0
+phiX174:3463 0 0.00 0
+phiX174:3464 0 0.00 0
+phiX174:3465 0 0.00 0
+phiX174:3466 0 0.00 0
+phiX174:3467 0 0.00 0
+phiX174:3468 0 0.00 0
+phiX174:3469 0 0.00 0
+phiX174:3470 0 0.00 0
+phiX174:3471 0 0.00 0
+phiX174:3472 0 0.00 0
+phiX174:3473 0 0.00 0
+phiX174:3474 0 0.00 0
+phiX174:3475 0 0.00 0
+phiX174:3476 0 0.00 0
+phiX174:3477 0 0.00 0
+phiX174:3478 0 0.00 0
+phiX174:3479 0 0.00 0
+phiX174:3480 0 0.00 0
+phiX174:3481 0 0.00 0
+phiX174:3482 0 0.00 0
+phiX174:3483 0 0.00 0
+phiX174:3484 0 0.00 0
+phiX174:3485 0 0.00 0
+phiX174:3486 0 0.00 0
+phiX174:3487 0 0.00 0
+phiX174:3488 0 0.00 0
+phiX174:3489 0 0.00 0
+phiX174:3490 0 0.00 0
+phiX174:3491 0 0.00 0
+phiX174:3492 0 0.00 0
+phiX174:3493 0 0.00 0
+phiX174:3494 0 0.00 0
+phiX174:3495 0 0.00 0
+phiX174:3496 0 0.00 0
+phiX174:3497 0 0.00 0
+phiX174:3498 0 0.00 0
+phiX174:3499 0 0.00 0
+phiX174:3500 0 0.00 0
+phiX174:3501 0 0.00 0
+phiX174:3502 0 0.00 0
+phiX174:3503 0 0.00 0
+phiX174:3504 0 0.00 0
+phiX174:3505 0 0.00 0
+phiX174:3506 0 0.00 0
+phiX174:3507 0 0.00 0
+phiX174:3508 0 0.00 0
+phiX174:3509 0 0.00 0
+phiX174:3510 0 0.00 0
+phiX174:3511 0 0.00 0
+phiX174:3512 0 0.00 0
+phiX174:3513 0 0.00 0
+phiX174:3514 0 0.00 0
+phiX174:3515 0 0.00 0
+phiX174:3516 0 0.00 0
+phiX174:3517 0 0.00 0
+phiX174:3518 0 0.00 0
+phiX174:3519 0 0.00 0
+phiX174:3520 0 0.00 0
+phiX174:3521 0 0.00 0
+phiX174:3522 0 0.00 0
+phiX174:3523 0 0.00 0
+phiX174:3524 0 0.00 0
+phiX174:3525 0 0.00 0
+phiX174:3526 0 0.00 0
+phiX174:3527 0 0.00 0
+phiX174:3528 0 0.00 0
+phiX174:3529 0 0.00 0
+phiX174:3530 0 0.00 0
+phiX174:3531 0 0.00 0
+phiX174:3532 0 0.00 0
+phiX174:3533 0 0.00 0
+phiX174:3534 0 0.00 0
+phiX174:3535 0 0.00 0
+phiX174:3536 0 0.00 0
+phiX174:3537 0 0.00 0
+phiX174:3538 0 0.00 0
+phiX174:3539 0 0.00 0
+phiX174:3540 0 0.00 0
+phiX174:3541 0 0.00 0
+phiX174:3542 0 0.00 0
+phiX174:3543 0 0.00 0
+phiX174:3544 0 0.00 0
+phiX174:3545 0 0.00 0
+phiX174:3546 0 0.00 0
+phiX174:3547 0 0.00 0
+phiX174:3548 0 0.00 0
+phiX174:3549 0 0.00 0
+phiX174:3550 0 0.00 0
+phiX174:3551 0 0.00 0
+phiX174:3552 0 0.00 0
+phiX174:3553 0 0.00 0
+phiX174:3554 0 0.00 0
+phiX174:3555 0 0.00 0
+phiX174:3556 0 0.00 0
+phiX174:3557 0 0.00 0
+phiX174:3558 0 0.00 0
+phiX174:3559 0 0.00 0
+phiX174:3560 0 0.00 0
+phiX174:3561 0 0.00 0
+phiX174:3562 0 0.00 0
+phiX174:3563 0 0.00 0
+phiX174:3564 0 0.00 0
+phiX174:3565 0 0.00 0
+phiX174:3566 0 0.00 0
+phiX174:3567 0 0.00 0
+phiX174:3568 0 0.00 0
+phiX174:3569 0 0.00 0
+phiX174:3570 0 0.00 0
+phiX174:3571 0 0.00 0
+phiX174:3572 0 0.00 0
+phiX174:3573 0 0.00 0
+phiX174:3574 0 0.00 0
+phiX174:3575 0 0.00 0
+phiX174:3576 0 0.00 0
+phiX174:3577 0 0.00 0
+phiX174:3578 0 0.00 0
+phiX174:3579 0 0.00 0
+phiX174:3580 0 0.00 0
+phiX174:3581 0 0.00 0
+phiX174:3582 0 0.00 0
+phiX174:3583 0 0.00 0
+phiX174:3584 0 0.00 0
+phiX174:3585 0 0.00 0
+phiX174:3586 0 0.00 0
+phiX174:3587 0 0.00 0
+phiX174:3588 0 0.00 0
+phiX174:3589 0 0.00 0
+phiX174:3590 0 0.00 0
+phiX174:3591 0 0.00 0
+phiX174:3592 0 0.00 0
+phiX174:3593 0 0.00 0
+phiX174:3594 0 0.00 0
+phiX174:3595 0 0.00 0
+phiX174:3596 0 0.00 0
+phiX174:3597 0 0.00 0
+phiX174:3598 0 0.00 0
+phiX174:3599 0 0.00 0
+phiX174:3600 0 0.00 0
+phiX174:3601 0 0.00 0
+phiX174:3602 0 0.00 0
+phiX174:3603 0 0.00 0
+phiX174:3604 0 0.00 0
+phiX174:3605 0 0.00 0
+phiX174:3606 0 0.00 0
+phiX174:3607 0 0.00 0
+phiX174:3608 0 0.00 0
+phiX174:3609 0 0.00 0
+phiX174:3610 0 0.00 0
+phiX174:3611 0 0.00 0
+phiX174:3612 0 0.00 0
+phiX174:3613 0 0.00 0
+phiX174:3614 0 0.00 0
+phiX174:3615 0 0.00 0
+phiX174:3616 0 0.00 0
+phiX174:3617 0 0.00 0
+phiX174:3618 0 0.00 0
+phiX174:3619 0 0.00 0
+phiX174:3620 0 0.00 0
+phiX174:3621 0 0.00 0
+phiX174:3622 0 0.00 0
+phiX174:3623 0 0.00 0
+phiX174:3624 0 0.00 0
+phiX174:3625 0 0.00 0
+phiX174:3626 0 0.00 0
+phiX174:3627 0 0.00 0
+phiX174:3628 0 0.00 0
+phiX174:3629 0 0.00 0
+phiX174:3630 0 0.00 0
+phiX174:3631 0 0.00 0
+phiX174:3632 0 0.00 0
+phiX174:3633 0 0.00 0
+phiX174:3634 0 0.00 0
+phiX174:3635 0 0.00 0
+phiX174:3636 0 0.00 0
+phiX174:3637 0 0.00 0
+phiX174:3638 0 0.00 0
+phiX174:3639 0 0.00 0
+phiX174:3640 0 0.00 0
+phiX174:3641 0 0.00 0
+phiX174:3642 0 0.00 0
+phiX174:3643 0 0.00 0
+phiX174:3644 0 0.00 0
+phiX174:3645 0 0.00 0
+phiX174:3646 0 0.00 0
+phiX174:3647 0 0.00 0
+phiX174:3648 0 0.00 0
+phiX174:3649 0 0.00 0
+phiX174:3650 0 0.00 0
+phiX174:3651 0 0.00 0
+phiX174:3652 0 0.00 0
+phiX174:3653 0 0.00 0
+phiX174:3654 0 0.00 0
+phiX174:3655 0 0.00 0
+phiX174:3656 0 0.00 0
+phiX174:3657 0 0.00 0
+phiX174:3658 0 0.00 0
+phiX174:3659 0 0.00 0
+phiX174:3660 0 0.00 0
+phiX174:3661 0 0.00 0
+phiX174:3662 0 0.00 0
+phiX174:3663 0 0.00 0
+phiX174:3664 0 0.00 0
+phiX174:3665 0 0.00 0
+phiX174:3666 0 0.00 0
+phiX174:3667 0 0.00 0
+phiX174:3668 0 0.00 0
+phiX174:3669 0 0.00 0
+phiX174:3670 0 0.00 0
+phiX174:3671 0 0.00 0
+phiX174:3672 0 0.00 0
+phiX174:3673 0 0.00 0
+phiX174:3674 0 0.00 0
+phiX174:3675 0 0.00 0
+phiX174:3676 0 0.00 0
+phiX174:3677 0 0.00 0
+phiX174:3678 0 0.00 0
+phiX174:3679 0 0.00 0
+phiX174:3680 0 0.00 0
+phiX174:3681 0 0.00 0
+phiX174:3682 0 0.00 0
+phiX174:3683 0 0.00 0
+phiX174:3684 0 0.00 0
+phiX174:3685 0 0.00 0
+phiX174:3686 0 0.00 0
+phiX174:3687 0 0.00 0
+phiX174:3688 0 0.00 0
+phiX174:3689 0 0.00 0
+phiX174:3690 0 0.00 0
+phiX174:3691 0 0.00 0
+phiX174:3692 0 0.00 0
+phiX174:3693 0 0.00 0
+phiX174:3694 0 0.00 0
+phiX174:3695 0 0.00 0
+phiX174:3696 0 0.00 0
+phiX174:3697 0 0.00 0
+phiX174:3698 0 0.00 0
+phiX174:3699 0 0.00 0
+phiX174:3700 0 0.00 0
+phiX174:3701 0 0.00 0
+phiX174:3702 0 0.00 0
+phiX174:3703 0 0.00 0
+phiX174:3704 0 0.00 0
+phiX174:3705 0 0.00 0
+phiX174:3706 0 0.00 0
+phiX174:3707 0 0.00 0
+phiX174:3708 0 0.00 0
+phiX174:3709 0 0.00 0
+phiX174:3710 0 0.00 0
+phiX174:3711 0 0.00 0
+phiX174:3712 0 0.00 0
+phiX174:3713 0 0.00 0
+phiX174:3714 0 0.00 0
+phiX174:3715 0 0.00 0
+phiX174:3716 0 0.00 0
+phiX174:3717 0 0.00 0
+phiX174:3718 0 0.00 0
+phiX174:3719 0 0.00 0
+phiX174:3720 0 0.00 0
+phiX174:3721 0 0.00 0
+phiX174:3722 0 0.00 0
+phiX174:3723 0 0.00 0
+phiX174:3724 0 0.00 0
+phiX174:3725 0 0.00 0
+phiX174:3726 0 0.00 0
+phiX174:3727 0 0.00 0
+phiX174:3728 0 0.00 0
+phiX174:3729 0 0.00 0
+phiX174:3730 0 0.00 0
+phiX174:3731 0 0.00 0
+phiX174:3732 0 0.00 0
+phiX174:3733 0 0.00 0
+phiX174:3734 0 0.00 0
+phiX174:3735 0 0.00 0
+phiX174:3736 0 0.00 0
+phiX174:3737 0 0.00 0
+phiX174:3738 0 0.00 0
+phiX174:3739 0 0.00 0
+phiX174:3740 0 0.00 0
+phiX174:3741 0 0.00 0
+phiX174:3742 0 0.00 0
+phiX174:3743 0 0.00 0
+phiX174:3744 0 0.00 0
+phiX174:3745 0 0.00 0
+phiX174:3746 0 0.00 0
+phiX174:3747 0 0.00 0
+phiX174:3748 0 0.00 0
+phiX174:3749 0 0.00 0
+phiX174:3750 0 0.00 0
+phiX174:3751 0 0.00 0
+phiX174:3752 0 0.00 0
+phiX174:3753 0 0.00 0
+phiX174:3754 0 0.00 0
+phiX174:3755 0 0.00 0
+phiX174:3756 0 0.00 0
+phiX174:3757 0 0.00 0
+phiX174:3758 0 0.00 0
+phiX174:3759 0 0.00 0
+phiX174:3760 0 0.00 0
+phiX174:3761 0 0.00 0
+phiX174:3762 0 0.00 0
+phiX174:3763 0 0.00 0
+phiX174:3764 0 0.00 0
+phiX174:3765 0 0.00 0
+phiX174:3766 0 0.00 0
+phiX174:3767 0 0.00 0
+phiX174:3768 0 0.00 0
+phiX174:3769 0 0.00 0
+phiX174:3770 0 0.00 0
+phiX174:3771 0 0.00 0
+phiX174:3772 0 0.00 0
+phiX174:3773 0 0.00 0
+phiX174:3774 0 0.00 0
+phiX174:3775 0 0.00 0
+phiX174:3776 0 0.00 0
+phiX174:3777 0 0.00 0
+phiX174:3778 0 0.00 0
+phiX174:3779 0 0.00 0
+phiX174:3780 0 0.00 0
+phiX174:3781 0 0.00 0
+phiX174:3782 0 0.00 0
+phiX174:3783 0 0.00 0
+phiX174:3784 0 0.00 0
+phiX174:3785 0 0.00 0
+phiX174:3786 0 0.00 0
+phiX174:3787 0 0.00 0
+phiX174:3788 0 0.00 0
+phiX174:3789 0 0.00 0
+phiX174:3790 0 0.00 0
+phiX174:3791 0 0.00 0
+phiX174:3792 0 0.00 0
+phiX174:3793 0 0.00 0
+phiX174:3794 0 0.00 0
+phiX174:3795 0 0.00 0
+phiX174:3796 0 0.00 0
+phiX174:3797 0 0.00 0
+phiX174:3798 0 0.00 0
+phiX174:3799 0 0.00 0
+phiX174:3800 0 0.00 0
+phiX174:3801 0 0.00 0
+phiX174:3802 0 0.00 0
+phiX174:3803 0 0.00 0
+phiX174:3804 0 0.00 0
+phiX174:3805 0 0.00 0
+phiX174:3806 0 0.00 0
+phiX174:3807 0 0.00 0
+phiX174:3808 0 0.00 0
+phiX174:3809 0 0.00 0
+phiX174:3810 0 0.00 0
+phiX174:3811 0 0.00 0
+phiX174:3812 0 0.00 0
+phiX174:3813 0 0.00 0
+phiX174:3814 0 0.00 0
+phiX174:3815 0 0.00 0
+phiX174:3816 0 0.00 0
+phiX174:3817 0 0.00 0
+phiX174:3818 0 0.00 0
+phiX174:3819 0 0.00 0
+phiX174:3820 0 0.00 0
+phiX174:3821 0 0.00 0
+phiX174:3822 0 0.00 0
+phiX174:3823 0 0.00 0
+phiX174:3824 0 0.00 0
+phiX174:3825 0 0.00 0
+phiX174:3826 0 0.00 0
+phiX174:3827 0 0.00 0
+phiX174:3828 0 0.00 0
+phiX174:3829 0 0.00 0
+phiX174:3830 0 0.00 0
+phiX174:3831 0 0.00 0
+phiX174:3832 0 0.00 0
+phiX174:3833 0 0.00 0
+phiX174:3834 0 0.00 0
+phiX174:3835 0 0.00 0
+phiX174:3836 0 0.00 0
+phiX174:3837 0 0.00 0
+phiX174:3838 0 0.00 0
+phiX174:3839 0 0.00 0
+phiX174:3840 0 0.00 0
+phiX174:3841 0 0.00 0
+phiX174:3842 0 0.00 0
+phiX174:3843 0 0.00 0
+phiX174:3844 0 0.00 0
+phiX174:3845 0 0.00 0
+phiX174:3846 0 0.00 0
+phiX174:3847 0 0.00 0
+phiX174:3848 0 0.00 0
+phiX174:3849 0 0.00 0
+phiX174:3850 0 0.00 0
+phiX174:3851 0 0.00 0
+phiX174:3852 0 0.00 0
+phiX174:3853 0 0.00 0
+phiX174:3854 0 0.00 0
+phiX174:3855 0 0.00 0
+phiX174:3856 0 0.00 0
+phiX174:3857 0 0.00 0
+phiX174:3858 0 0.00 0
+phiX174:3859 0 0.00 0
+phiX174:3860 0 0.00 0
+phiX174:3861 0 0.00 0
+phiX174:3862 0 0.00 0
+phiX174:3863 0 0.00 0
+phiX174:3864 0 0.00 0
+phiX174:3865 0 0.00 0
+phiX174:3866 0 0.00 0
+phiX174:3867 0 0.00 0
+phiX174:3868 0 0.00 0
+phiX174:3869 0 0.00 0
+phiX174:3870 0 0.00 0
+phiX174:3871 0 0.00 0
+phiX174:3872 0 0.00 0
+phiX174:3873 0 0.00 0
+phiX174:3874 0 0.00 0
+phiX174:3875 0 0.00 0
+phiX174:3876 0 0.00 0
+phiX174:3877 0 0.00 0
+phiX174:3878 0 0.00 0
+phiX174:3879 0 0.00 0
+phiX174:3880 0 0.00 0
+phiX174:3881 0 0.00 0
+phiX174:3882 0 0.00 0
+phiX174:3883 0 0.00 0
+phiX174:3884 0 0.00 0
+phiX174:3885 0 0.00 0
+phiX174:3886 0 0.00 0
+phiX174:3887 0 0.00 0
+phiX174:3888 0 0.00 0
+phiX174:3889 0 0.00 0
+phiX174:3890 0 0.00 0
+phiX174:3891 0 0.00 0
+phiX174:3892 0 0.00 0
+phiX174:3893 0 0.00 0
+phiX174:3894 0 0.00 0
+phiX174:3895 0 0.00 0
+phiX174:3896 0 0.00 0
+phiX174:3897 0 0.00 0
+phiX174:3898 0 0.00 0
+phiX174:3899 0 0.00 0
+phiX174:3900 0 0.00 0
+phiX174:3901 0 0.00 0
+phiX174:3902 0 0.00 0
+phiX174:3903 0 0.00 0
+phiX174:3904 0 0.00 0
+phiX174:3905 0 0.00 0
+phiX174:3906 0 0.00 0
+phiX174:3907 0 0.00 0
+phiX174:3908 0 0.00 0
+phiX174:3909 0 0.00 0
+phiX174:3910 0 0.00 0
+phiX174:3911 0 0.00 0
+phiX174:3912 0 0.00 0
+phiX174:3913 0 0.00 0
+phiX174:3914 0 0.00 0
+phiX174:3915 0 0.00 0
+phiX174:3916 0 0.00 0
+phiX174:3917 0 0.00 0
+phiX174:3918 0 0.00 0
+phiX174:3919 0 0.00 0
+phiX174:3920 0 0.00 0
+phiX174:3921 0 0.00 0
+phiX174:3922 0 0.00 0
+phiX174:3923 0 0.00 0
+phiX174:3924 0 0.00 0
+phiX174:3925 0 0.00 0
+phiX174:3926 0 0.00 0
+phiX174:3927 0 0.00 0
+phiX174:3928 0 0.00 0
+phiX174:3929 0 0.00 0
+phiX174:3930 0 0.00 0
+phiX174:3931 0 0.00 0
+phiX174:3932 0 0.00 0
+phiX174:3933 0 0.00 0
+phiX174:3934 0 0.00 0
+phiX174:3935 0 0.00 0
+phiX174:3936 0 0.00 0
+phiX174:3937 0 0.00 0
+phiX174:3938 0 0.00 0
+phiX174:3939 0 0.00 0
+phiX174:3940 0 0.00 0
+phiX174:3941 0 0.00 0
+phiX174:3942 0 0.00 0
+phiX174:3943 0 0.00 0
+phiX174:3944 0 0.00 0
+phiX174:3945 0 0.00 0
+phiX174:3946 0 0.00 0
+phiX174:3947 0 0.00 0
+phiX174:3948 0 0.00 0
+phiX174:3949 0 0.00 0
+phiX174:3950 0 0.00 0
+phiX174:3951 0 0.00 0
+phiX174:3952 0 0.00 0
+phiX174:3953 0 0.00 0
+phiX174:3954 0 0.00 0
+phiX174:3955 0 0.00 0
+phiX174:3956 0 0.00 0
+phiX174:3957 0 0.00 0
+phiX174:3958 0 0.00 0
+phiX174:3959 0 0.00 0
+phiX174:3960 0 0.00 0
+phiX174:3961 0 0.00 0
+phiX174:3962 0 0.00 0
+phiX174:3963 0 0.00 0
+phiX174:3964 0 0.00 0
+phiX174:3965 0 0.00 0
+phiX174:3966 0 0.00 0
+phiX174:3967 0 0.00 0
+phiX174:3968 0 0.00 0
+phiX174:3969 0 0.00 0
+phiX174:3970 0 0.00 0
+phiX174:3971 0 0.00 0
+phiX174:3972 0 0.00 0
+phiX174:3973 0 0.00 0
+phiX174:3974 0 0.00 0
+phiX174:3975 0 0.00 0
+phiX174:3976 0 0.00 0
+phiX174:3977 0 0.00 0
+phiX174:3978 0 0.00 0
+phiX174:3979 0 0.00 0
+phiX174:3980 0 0.00 0
+phiX174:3981 0 0.00 0
+phiX174:3982 0 0.00 0
+phiX174:3983 0 0.00 0
+phiX174:3984 0 0.00 0
+phiX174:3985 0 0.00 0
+phiX174:3986 0 0.00 0
+phiX174:3987 0 0.00 0
+phiX174:3988 0 0.00 0
+phiX174:3989 0 0.00 0
+phiX174:3990 0 0.00 0
+phiX174:3991 0 0.00 0
+phiX174:3992 0 0.00 0
+phiX174:3993 0 0.00 0
+phiX174:3994 0 0.00 0
+phiX174:3995 0 0.00 0
+phiX174:3996 0 0.00 0
+phiX174:3997 0 0.00 0
+phiX174:3998 0 0.00 0
+phiX174:3999 0 0.00 0
+phiX174:4000 0 0.00 0
+phiX174:4001 0 0.00 0
+phiX174:4002 0 0.00 0
+phiX174:4003 0 0.00 0
+phiX174:4004 0 0.00 0
+phiX174:4005 0 0.00 0
+phiX174:4006 0 0.00 0
+phiX174:4007 0 0.00 0
+phiX174:4008 0 0.00 0
+phiX174:4009 0 0.00 0
+phiX174:4010 0 0.00 0
+phiX174:4011 0 0.00 0
+phiX174:4012 0 0.00 0
+phiX174:4013 0 0.00 0
+phiX174:4014 0 0.00 0
+phiX174:4015 0 0.00 0
+phiX174:4016 0 0.00 0
+phiX174:4017 0 0.00 0
+phiX174:4018 0 0.00 0
+phiX174:4019 0 0.00 0
+phiX174:4020 0 0.00 0
+phiX174:4021 0 0.00 0
+phiX174:4022 0 0.00 0
+phiX174:4023 0 0.00 0
+phiX174:4024 0 0.00 0
+phiX174:4025 0 0.00 0
+phiX174:4026 0 0.00 0
+phiX174:4027 0 0.00 0
+phiX174:4028 0 0.00 0
+phiX174:4029 0 0.00 0
+phiX174:4030 0 0.00 0
+phiX174:4031 0 0.00 0
+phiX174:4032 0 0.00 0
+phiX174:4033 0 0.00 0
+phiX174:4034 0 0.00 0
+phiX174:4035 0 0.00 0
+phiX174:4036 0 0.00 0
+phiX174:4037 0 0.00 0
+phiX174:4038 0 0.00 0
+phiX174:4039 0 0.00 0
+phiX174:4040 0 0.00 0
+phiX174:4041 0 0.00 0
+phiX174:4042 0 0.00 0
+phiX174:4043 0 0.00 0
+phiX174:4044 0 0.00 0
+phiX174:4045 0 0.00 0
+phiX174:4046 0 0.00 0
+phiX174:4047 0 0.00 0
+phiX174:4048 0 0.00 0
+phiX174:4049 0 0.00 0
+phiX174:4050 0 0.00 0
+phiX174:4051 0 0.00 0
+phiX174:4052 0 0.00 0
+phiX174:4053 0 0.00 0
+phiX174:4054 0 0.00 0
+phiX174:4055 0 0.00 0
+phiX174:4056 0 0.00 0
+phiX174:4057 0 0.00 0
+phiX174:4058 0 0.00 0
+phiX174:4059 0 0.00 0
+phiX174:4060 0 0.00 0
+phiX174:4061 0 0.00 0
+phiX174:4062 0 0.00 0
+phiX174:4063 0 0.00 0
+phiX174:4064 0 0.00 0
+phiX174:4065 0 0.00 0
+phiX174:4066 0 0.00 0
+phiX174:4067 0 0.00 0
+phiX174:4068 0 0.00 0
+phiX174:4069 0 0.00 0
+phiX174:4070 0 0.00 0
+phiX174:4071 0 0.00 0
+phiX174:4072 0 0.00 0
+phiX174:4073 0 0.00 0
+phiX174:4074 0 0.00 0
+phiX174:4075 0 0.00 0
+phiX174:4076 0 0.00 0
+phiX174:4077 0 0.00 0
+phiX174:4078 0 0.00 0
+phiX174:4079 0 0.00 0
+phiX174:4080 0 0.00 0
+phiX174:4081 0 0.00 0
+phiX174:4082 0 0.00 0
+phiX174:4083 0 0.00 0
+phiX174:4084 0 0.00 0
+phiX174:4085 0 0.00 0
+phiX174:4086 0 0.00 0
+phiX174:4087 0 0.00 0
+phiX174:4088 0 0.00 0
+phiX174:4089 0 0.00 0
+phiX174:4090 0 0.00 0
+phiX174:4091 0 0.00 0
+phiX174:4092 0 0.00 0
+phiX174:4093 0 0.00 0
+phiX174:4094 0 0.00 0
+phiX174:4095 0 0.00 0
+phiX174:4096 0 0.00 0
+phiX174:4097 0 0.00 0
+phiX174:4098 0 0.00 0
+phiX174:4099 0 0.00 0
+phiX174:4100 0 0.00 0
+phiX174:4101 0 0.00 0
+phiX174:4102 0 0.00 0
+phiX174:4103 0 0.00 0
+phiX174:4104 0 0.00 0
+phiX174:4105 0 0.00 0
+phiX174:4106 0 0.00 0
+phiX174:4107 0 0.00 0
+phiX174:4108 0 0.00 0
+phiX174:4109 0 0.00 0
+phiX174:4110 0 0.00 0
+phiX174:4111 0 0.00 0
+phiX174:4112 0 0.00 0
+phiX174:4113 0 0.00 0
+phiX174:4114 0 0.00 0
+phiX174:4115 0 0.00 0
+phiX174:4116 0 0.00 0
+phiX174:4117 0 0.00 0
+phiX174:4118 0 0.00 0
+phiX174:4119 0 0.00 0
+phiX174:4120 0 0.00 0
+phiX174:4121 0 0.00 0
+phiX174:4122 0 0.00 0
+phiX174:4123 0 0.00 0
+phiX174:4124 0 0.00 0
+phiX174:4125 0 0.00 0
+phiX174:4126 0 0.00 0
+phiX174:4127 0 0.00 0
+phiX174:4128 0 0.00 0
+phiX174:4129 0 0.00 0
+phiX174:4130 0 0.00 0
+phiX174:4131 0 0.00 0
+phiX174:4132 0 0.00 0
+phiX174:4133 0 0.00 0
+phiX174:4134 0 0.00 0
+phiX174:4135 0 0.00 0
+phiX174:4136 0 0.00 0
+phiX174:4137 0 0.00 0
+phiX174:4138 0 0.00 0
+phiX174:4139 0 0.00 0
+phiX174:4140 0 0.00 0
+phiX174:4141 0 0.00 0
+phiX174:4142 0 0.00 0
+phiX174:4143 0 0.00 0
+phiX174:4144 0 0.00 0
+phiX174:4145 0 0.00 0
+phiX174:4146 0 0.00 0
+phiX174:4147 0 0.00 0
+phiX174:4148 0 0.00 0
+phiX174:4149 0 0.00 0
+phiX174:4150 0 0.00 0
+phiX174:4151 0 0.00 0
+phiX174:4152 0 0.00 0
+phiX174:4153 0 0.00 0
+phiX174:4154 0 0.00 0
+phiX174:4155 0 0.00 0
+phiX174:4156 0 0.00 0
+phiX174:4157 0 0.00 0
+phiX174:4158 0 0.00 0
+phiX174:4159 0 0.00 0
+phiX174:4160 0 0.00 0
+phiX174:4161 0 0.00 0
+phiX174:4162 0 0.00 0
+phiX174:4163 0 0.00 0
+phiX174:4164 0 0.00 0
+phiX174:4165 0 0.00 0
+phiX174:4166 0 0.00 0
+phiX174:4167 0 0.00 0
+phiX174:4168 0 0.00 0
+phiX174:4169 0 0.00 0
+phiX174:4170 0 0.00 0
+phiX174:4171 0 0.00 0
+phiX174:4172 0 0.00 0
+phiX174:4173 0 0.00 0
+phiX174:4174 0 0.00 0
+phiX174:4175 0 0.00 0
+phiX174:4176 0 0.00 0
+phiX174:4177 0 0.00 0
+phiX174:4178 0 0.00 0
+phiX174:4179 0 0.00 0
+phiX174:4180 0 0.00 0
+phiX174:4181 0 0.00 0
+phiX174:4182 0 0.00 0
+phiX174:4183 0 0.00 0
+phiX174:4184 0 0.00 0
+phiX174:4185 0 0.00 0
+phiX174:4186 0 0.00 0
+phiX174:4187 0 0.00 0
+phiX174:4188 0 0.00 0
+phiX174:4189 0 0.00 0
+phiX174:4190 0 0.00 0
+phiX174:4191 0 0.00 0
+phiX174:4192 0 0.00 0
+phiX174:4193 0 0.00 0
+phiX174:4194 0 0.00 0
+phiX174:4195 0 0.00 0
+phiX174:4196 0 0.00 0
+phiX174:4197 0 0.00 0
+phiX174:4198 0 0.00 0
+phiX174:4199 0 0.00 0
+phiX174:4200 0 0.00 0
+phiX174:4201 0 0.00 0
+phiX174:4202 0 0.00 0
+phiX174:4203 0 0.00 0
+phiX174:4204 0 0.00 0
+phiX174:4205 0 0.00 0
+phiX174:4206 0 0.00 0
+phiX174:4207 0 0.00 0
+phiX174:4208 0 0.00 0
+phiX174:4209 0 0.00 0
+phiX174:4210 0 0.00 0
+phiX174:4211 0 0.00 0
+phiX174:4212 0 0.00 0
+phiX174:4213 0 0.00 0
+phiX174:4214 0 0.00 0
+phiX174:4215 0 0.00 0
+phiX174:4216 0 0.00 0
+phiX174:4217 0 0.00 0
+phiX174:4218 0 0.00 0
+phiX174:4219 0 0.00 0
+phiX174:4220 0 0.00 0
+phiX174:4221 0 0.00 0
+phiX174:4222 0 0.00 0
+phiX174:4223 0 0.00 0
+phiX174:4224 0 0.00 0
+phiX174:4225 0 0.00 0
+phiX174:4226 0 0.00 0
+phiX174:4227 0 0.00 0
+phiX174:4228 0 0.00 0
+phiX174:4229 0 0.00 0
+phiX174:4230 0 0.00 0
+phiX174:4231 0 0.00 0
+phiX174:4232 0 0.00 0
+phiX174:4233 0 0.00 0
+phiX174:4234 0 0.00 0
+phiX174:4235 0 0.00 0
+phiX174:4236 0 0.00 0
+phiX174:4237 0 0.00 0
+phiX174:4238 0 0.00 0
+phiX174:4239 0 0.00 0
+phiX174:4240 0 0.00 0
+phiX174:4241 0 0.00 0
+phiX174:4242 0 0.00 0
+phiX174:4243 0 0.00 0
+phiX174:4244 0 0.00 0
+phiX174:4245 0 0.00 0
+phiX174:4246 0 0.00 0
+phiX174:4247 0 0.00 0
+phiX174:4248 0 0.00 0
+phiX174:4249 0 0.00 0
+phiX174:4250 0 0.00 0
+phiX174:4251 0 0.00 0
+phiX174:4252 0 0.00 0
+phiX174:4253 0 0.00 0
+phiX174:4254 0 0.00 0
+phiX174:4255 0 0.00 0
+phiX174:4256 0 0.00 0
+phiX174:4257 0 0.00 0
+phiX174:4258 0 0.00 0
+phiX174:4259 0 0.00 0
+phiX174:4260 0 0.00 0
+phiX174:4261 0 0.00 0
+phiX174:4262 0 0.00 0
+phiX174:4263 0 0.00 0
+phiX174:4264 0 0.00 0
+phiX174:4265 0 0.00 0
+phiX174:4266 0 0.00 0
+phiX174:4267 0 0.00 0
+phiX174:4268 0 0.00 0
+phiX174:4269 0 0.00 0
+phiX174:4270 0 0.00 0
+phiX174:4271 0 0.00 0
+phiX174:4272 0 0.00 0
+phiX174:4273 0 0.00 0
+phiX174:4274 0 0.00 0
+phiX174:4275 0 0.00 0
+phiX174:4276 0 0.00 0
+phiX174:4277 0 0.00 0
+phiX174:4278 0 0.00 0
+phiX174:4279 0 0.00 0
+phiX174:4280 0 0.00 0
+phiX174:4281 0 0.00 0
+phiX174:4282 0 0.00 0
+phiX174:4283 0 0.00 0
+phiX174:4284 0 0.00 0
+phiX174:4285 0 0.00 0
+phiX174:4286 0 0.00 0
+phiX174:4287 0 0.00 0
+phiX174:4288 0 0.00 0
+phiX174:4289 0 0.00 0
+phiX174:4290 0 0.00 0
+phiX174:4291 0 0.00 0
+phiX174:4292 0 0.00 0
+phiX174:4293 0 0.00 0
+phiX174:4294 0 0.00 0
+phiX174:4295 0 0.00 0
+phiX174:4296 0 0.00 0
+phiX174:4297 0 0.00 0
+phiX174:4298 0 0.00 0
+phiX174:4299 0 0.00 0
+phiX174:4300 0 0.00 0
+phiX174:4301 0 0.00 0
+phiX174:4302 0 0.00 0
+phiX174:4303 0 0.00 0
+phiX174:4304 0 0.00 0
+phiX174:4305 0 0.00 0
+phiX174:4306 0 0.00 0
+phiX174:4307 0 0.00 0
+phiX174:4308 0 0.00 0
+phiX174:4309 0 0.00 0
+phiX174:4310 0 0.00 0
+phiX174:4311 0 0.00 0
+phiX174:4312 0 0.00 0
+phiX174:4313 0 0.00 0
+phiX174:4314 0 0.00 0
+phiX174:4315 0 0.00 0
+phiX174:4316 0 0.00 0
+phiX174:4317 0 0.00 0
+phiX174:4318 0 0.00 0
+phiX174:4319 0 0.00 0
+phiX174:4320 0 0.00 0
+phiX174:4321 0 0.00 0
+phiX174:4322 0 0.00 0
+phiX174:4323 0 0.00 0
+phiX174:4324 0 0.00 0
+phiX174:4325 0 0.00 0
+phiX174:4326 0 0.00 0
+phiX174:4327 0 0.00 0
+phiX174:4328 0 0.00 0
+phiX174:4329 0 0.00 0
+phiX174:4330 0 0.00 0
+phiX174:4331 0 0.00 0
+phiX174:4332 0 0.00 0
+phiX174:4333 0 0.00 0
+phiX174:4334 0 0.00 0
+phiX174:4335 0 0.00 0
+phiX174:4336 0 0.00 0
+phiX174:4337 0 0.00 0
+phiX174:4338 0 0.00 0
+phiX174:4339 0 0.00 0
+phiX174:4340 0 0.00 0
+phiX174:4341 0 0.00 0
+phiX174:4342 0 0.00 0
+phiX174:4343 0 0.00 0
+phiX174:4344 0 0.00 0
+phiX174:4345 0 0.00 0
+phiX174:4346 0 0.00 0
+phiX174:4347 0 0.00 0
+phiX174:4348 0 0.00 0
+phiX174:4349 0 0.00 0
+phiX174:4350 0 0.00 0
+phiX174:4351 0 0.00 0
+phiX174:4352 0 0.00 0
+phiX174:4353 0 0.00 0
+phiX174:4354 0 0.00 0
+phiX174:4355 0 0.00 0
+phiX174:4356 0 0.00 0
+phiX174:4357 0 0.00 0
+phiX174:4358 0 0.00 0
+phiX174:4359 0 0.00 0
+phiX174:4360 0 0.00 0
+phiX174:4361 0 0.00 0
+phiX174:4362 0 0.00 0
+phiX174:4363 0 0.00 0
+phiX174:4364 0 0.00 0
+phiX174:4365 0 0.00 0
+phiX174:4366 0 0.00 0
+phiX174:4367 0 0.00 0
+phiX174:4368 0 0.00 0
+phiX174:4369 0 0.00 0
+phiX174:4370 0 0.00 0
+phiX174:4371 0 0.00 0
+phiX174:4372 0 0.00 0
+phiX174:4373 0 0.00 0
+phiX174:4374 0 0.00 0
+phiX174:4375 0 0.00 0
+phiX174:4376 0 0.00 0
+phiX174:4377 0 0.00 0
+phiX174:4378 0 0.00 0
+phiX174:4379 0 0.00 0
+phiX174:4380 0 0.00 0
+phiX174:4381 0 0.00 0
+phiX174:4382 0 0.00 0
+phiX174:4383 0 0.00 0
+phiX174:4384 0 0.00 0
+phiX174:4385 0 0.00 0
+phiX174:4386 0 0.00 0
+phiX174:4387 0 0.00 0
+phiX174:4388 0 0.00 0
+phiX174:4389 0 0.00 0
+phiX174:4390 0 0.00 0
+phiX174:4391 0 0.00 0
+phiX174:4392 0 0.00 0
+phiX174:4393 0 0.00 0
+phiX174:4394 0 0.00 0
+phiX174:4395 0 0.00 0
+phiX174:4396 0 0.00 0
+phiX174:4397 0 0.00 0
+phiX174:4398 0 0.00 0
+phiX174:4399 0 0.00 0
+phiX174:4400 0 0.00 0
+phiX174:4401 0 0.00 0
+phiX174:4402 0 0.00 0
+phiX174:4403 0 0.00 0
+phiX174:4404 0 0.00 0
+phiX174:4405 0 0.00 0
+phiX174:4406 0 0.00 0
+phiX174:4407 0 0.00 0
+phiX174:4408 0 0.00 0
+phiX174:4409 0 0.00 0
+phiX174:4410 0 0.00 0
+phiX174:4411 0 0.00 0
+phiX174:4412 0 0.00 0
+phiX174:4413 0 0.00 0
+phiX174:4414 0 0.00 0
+phiX174:4415 0 0.00 0
+phiX174:4416 0 0.00 0
+phiX174:4417 0 0.00 0
+phiX174:4418 0 0.00 0
+phiX174:4419 0 0.00 0
+phiX174:4420 0 0.00 0
+phiX174:4421 0 0.00 0
+phiX174:4422 0 0.00 0
+phiX174:4423 0 0.00 0
+phiX174:4424 0 0.00 0
+phiX174:4425 0 0.00 0
+phiX174:4426 0 0.00 0
+phiX174:4427 0 0.00 0
+phiX174:4428 0 0.00 0
+phiX174:4429 0 0.00 0
+phiX174:4430 0 0.00 0
+phiX174:4431 0 0.00 0
+phiX174:4432 0 0.00 0
+phiX174:4433 0 0.00 0
+phiX174:4434 0 0.00 0
+phiX174:4435 0 0.00 0
+phiX174:4436 0 0.00 0
+phiX174:4437 0 0.00 0
+phiX174:4438 0 0.00 0
+phiX174:4439 0 0.00 0
+phiX174:4440 0 0.00 0
+phiX174:4441 0 0.00 0
+phiX174:4442 0 0.00 0
+phiX174:4443 0 0.00 0
+phiX174:4444 0 0.00 0
+phiX174:4445 0 0.00 0
+phiX174:4446 0 0.00 0
+phiX174:4447 0 0.00 0
+phiX174:4448 0 0.00 0
+phiX174:4449 0 0.00 0
+phiX174:4450 0 0.00 0
+phiX174:4451 0 0.00 0
+phiX174:4452 0 0.00 0
+phiX174:4453 0 0.00 0
+phiX174:4454 0 0.00 0
+phiX174:4455 0 0.00 0
+phiX174:4456 0 0.00 0
+phiX174:4457 0 0.00 0
+phiX174:4458 0 0.00 0
+phiX174:4459 0 0.00 0
+phiX174:4460 0 0.00 0
+phiX174:4461 0 0.00 0
+phiX174:4462 0 0.00 0
+phiX174:4463 0 0.00 0
+phiX174:4464 0 0.00 0
+phiX174:4465 0 0.00 0
+phiX174:4466 0 0.00 0
+phiX174:4467 0 0.00 0
+phiX174:4468 0 0.00 0
+phiX174:4469 0 0.00 0
+phiX174:4470 0 0.00 0
+phiX174:4471 0 0.00 0
+phiX174:4472 0 0.00 0
+phiX174:4473 0 0.00 0
+phiX174:4474 0 0.00 0
+phiX174:4475 0 0.00 0
+phiX174:4476 0 0.00 0
+phiX174:4477 0 0.00 0
+phiX174:4478 0 0.00 0
+phiX174:4479 0 0.00 0
+phiX174:4480 0 0.00 0
+phiX174:4481 0 0.00 0
+phiX174:4482 0 0.00 0
+phiX174:4483 0 0.00 0
+phiX174:4484 0 0.00 0
+phiX174:4485 0 0.00 0
+phiX174:4486 0 0.00 0
+phiX174:4487 0 0.00 0
+phiX174:4488 0 0.00 0
+phiX174:4489 0 0.00 0
+phiX174:4490 0 0.00 0
+phiX174:4491 0 0.00 0
+phiX174:4492 0 0.00 0
+phiX174:4493 0 0.00 0
+phiX174:4494 0 0.00 0
+phiX174:4495 0 0.00 0
+phiX174:4496 0 0.00 0
+phiX174:4497 0 0.00 0
+phiX174:4498 0 0.00 0
+phiX174:4499 0 0.00 0
+phiX174:4500 0 0.00 0
+phiX174:4501 0 0.00 0
+phiX174:4502 0 0.00 0
+phiX174:4503 0 0.00 0
+phiX174:4504 0 0.00 0
+phiX174:4505 0 0.00 0
+phiX174:4506 0 0.00 0
+phiX174:4507 0 0.00 0
+phiX174:4508 0 0.00 0
+phiX174:4509 0 0.00 0
+phiX174:4510 0 0.00 0
+phiX174:4511 0 0.00 0
+phiX174:4512 0 0.00 0
+phiX174:4513 0 0.00 0
+phiX174:4514 0 0.00 0
+phiX174:4515 0 0.00 0
+phiX174:4516 0 0.00 0
+phiX174:4517 0 0.00 0
+phiX174:4518 0 0.00 0
+phiX174:4519 0 0.00 0
+phiX174:4520 0 0.00 0
+phiX174:4521 0 0.00 0
+phiX174:4522 0 0.00 0
+phiX174:4523 0 0.00 0
+phiX174:4524 0 0.00 0
+phiX174:4525 0 0.00 0
+phiX174:4526 0 0.00 0
+phiX174:4527 0 0.00 0
+phiX174:4528 0 0.00 0
+phiX174:4529 0 0.00 0
+phiX174:4530 0 0.00 0
+phiX174:4531 0 0.00 0
+phiX174:4532 0 0.00 0
+phiX174:4533 0 0.00 0
+phiX174:4534 0 0.00 0
+phiX174:4535 0 0.00 0
+phiX174:4536 0 0.00 0
+phiX174:4537 0 0.00 0
+phiX174:4538 0 0.00 0
+phiX174:4539 0 0.00 0
+phiX174:4540 0 0.00 0
+phiX174:4541 0 0.00 0
+phiX174:4542 0 0.00 0
+phiX174:4543 0 0.00 0
+phiX174:4544 0 0.00 0
+phiX174:4545 0 0.00 0
+phiX174:4546 0 0.00 0
+phiX174:4547 0 0.00 0
+phiX174:4548 0 0.00 0
+phiX174:4549 0 0.00 0
+phiX174:4550 0 0.00 0
+phiX174:4551 0 0.00 0
+phiX174:4552 0 0.00 0
+phiX174:4553 0 0.00 0
+phiX174:4554 0 0.00 0
+phiX174:4555 0 0.00 0
+phiX174:4556 0 0.00 0
+phiX174:4557 0 0.00 0
+phiX174:4558 0 0.00 0
+phiX174:4559 0 0.00 0
+phiX174:4560 0 0.00 0
+phiX174:4561 0 0.00 0
+phiX174:4562 0 0.00 0
+phiX174:4563 0 0.00 0
+phiX174:4564 0 0.00 0
+phiX174:4565 0 0.00 0
+phiX174:4566 0 0.00 0
+phiX174:4567 0 0.00 0
+phiX174:4568 0 0.00 0
+phiX174:4569 0 0.00 0
+phiX174:4570 0 0.00 0
+phiX174:4571 0 0.00 0
+phiX174:4572 0 0.00 0
+phiX174:4573 0 0.00 0
+phiX174:4574 0 0.00 0
+phiX174:4575 0 0.00 0
+phiX174:4576 0 0.00 0
+phiX174:4577 0 0.00 0
+phiX174:4578 0 0.00 0
+phiX174:4579 0 0.00 0
+phiX174:4580 0 0.00 0
+phiX174:4581 0 0.00 0
+phiX174:4582 0 0.00 0
+phiX174:4583 0 0.00 0
+phiX174:4584 0 0.00 0
+phiX174:4585 0 0.00 0
+phiX174:4586 0 0.00 0
+phiX174:4587 0 0.00 0
+phiX174:4588 0 0.00 0
+phiX174:4589 0 0.00 0
+phiX174:4590 0 0.00 0
+phiX174:4591 0 0.00 0
+phiX174:4592 0 0.00 0
+phiX174:4593 0 0.00 0
+phiX174:4594 0 0.00 0
+phiX174:4595 0 0.00 0
+phiX174:4596 0 0.00 0
+phiX174:4597 0 0.00 0
+phiX174:4598 0 0.00 0
+phiX174:4599 0 0.00 0
+phiX174:4600 0 0.00 0
+phiX174:4601 0 0.00 0
+phiX174:4602 0 0.00 0
+phiX174:4603 0 0.00 0
+phiX174:4604 0 0.00 0
+phiX174:4605 0 0.00 0
+phiX174:4606 0 0.00 0
+phiX174:4607 0 0.00 0
+phiX174:4608 0 0.00 0
+phiX174:4609 0 0.00 0
+phiX174:4610 0 0.00 0
+phiX174:4611 0 0.00 0
+phiX174:4612 0 0.00 0
+phiX174:4613 0 0.00 0
+phiX174:4614 0 0.00 0
+phiX174:4615 0 0.00 0
+phiX174:4616 0 0.00 0
+phiX174:4617 0 0.00 0
+phiX174:4618 0 0.00 0
+phiX174:4619 0 0.00 0
+phiX174:4620 0 0.00 0
+phiX174:4621 0 0.00 0
+phiX174:4622 0 0.00 0
+phiX174:4623 0 0.00 0
+phiX174:4624 0 0.00 0
+phiX174:4625 0 0.00 0
+phiX174:4626 0 0.00 0
+phiX174:4627 0 0.00 0
+phiX174:4628 0 0.00 0
+phiX174:4629 0 0.00 0
+phiX174:4630 0 0.00 0
+phiX174:4631 0 0.00 0
+phiX174:4632 0 0.00 0
+phiX174:4633 0 0.00 0
+phiX174:4634 0 0.00 0
+phiX174:4635 0 0.00 0
+phiX174:4636 0 0.00 0
+phiX174:4637 0 0.00 0
+phiX174:4638 0 0.00 0
+phiX174:4639 0 0.00 0
+phiX174:4640 0 0.00 0
+phiX174:4641 0 0.00 0
+phiX174:4642 0 0.00 0
+phiX174:4643 0 0.00 0
+phiX174:4644 0 0.00 0
+phiX174:4645 0 0.00 0
+phiX174:4646 0 0.00 0
+phiX174:4647 0 0.00 0
+phiX174:4648 0 0.00 0
+phiX174:4649 0 0.00 0
+phiX174:4650 0 0.00 0
+phiX174:4651 0 0.00 0
+phiX174:4652 0 0.00 0
+phiX174:4653 0 0.00 0
+phiX174:4654 0 0.00 0
+phiX174:4655 0 0.00 0
+phiX174:4656 0 0.00 0
+phiX174:4657 0 0.00 0
+phiX174:4658 0 0.00 0
+phiX174:4659 0 0.00 0
+phiX174:4660 0 0.00 0
+phiX174:4661 0 0.00 0
+phiX174:4662 0 0.00 0
+phiX174:4663 0 0.00 0
+phiX174:4664 0 0.00 0
+phiX174:4665 0 0.00 0
+phiX174:4666 0 0.00 0
+phiX174:4667 0 0.00 0
+phiX174:4668 0 0.00 0
+phiX174:4669 0 0.00 0
+phiX174:4670 0 0.00 0
+phiX174:4671 0 0.00 0
+phiX174:4672 0 0.00 0
+phiX174:4673 0 0.00 0
+phiX174:4674 0 0.00 0
+phiX174:4675 0 0.00 0
+phiX174:4676 0 0.00 0
+phiX174:4677 0 0.00 0
+phiX174:4678 0 0.00 0
+phiX174:4679 0 0.00 0
+phiX174:4680 0 0.00 0
+phiX174:4681 0 0.00 0
+phiX174:4682 0 0.00 0
+phiX174:4683 0 0.00 0
+phiX174:4684 0 0.00 0
+phiX174:4685 0 0.00 0
+phiX174:4686 0 0.00 0
+phiX174:4687 0 0.00 0
+phiX174:4688 0 0.00 0
+phiX174:4689 0 0.00 0
+phiX174:4690 0 0.00 0
+phiX174:4691 0 0.00 0
+phiX174:4692 0 0.00 0
+phiX174:4693 0 0.00 0
+phiX174:4694 0 0.00 0
+phiX174:4695 0 0.00 0
+phiX174:4696 0 0.00 0
+phiX174:4697 0 0.00 0
+phiX174:4698 0 0.00 0
+phiX174:4699 0 0.00 0
+phiX174:4700 0 0.00 0
+phiX174:4701 0 0.00 0
+phiX174:4702 0 0.00 0
+phiX174:4703 0 0.00 0
+phiX174:4704 0 0.00 0
+phiX174:4705 0 0.00 0
+phiX174:4706 0 0.00 0
+phiX174:4707 0 0.00 0
+phiX174:4708 0 0.00 0
+phiX174:4709 0 0.00 0
+phiX174:4710 0 0.00 0
+phiX174:4711 0 0.00 0
+phiX174:4712 0 0.00 0
+phiX174:4713 0 0.00 0
+phiX174:4714 0 0.00 0
+phiX174:4715 0 0.00 0
+phiX174:4716 0 0.00 0
+phiX174:4717 0 0.00 0
+phiX174:4718 0 0.00 0
+phiX174:4719 0 0.00 0
+phiX174:4720 0 0.00 0
+phiX174:4721 0 0.00 0
+phiX174:4722 0 0.00 0
+phiX174:4723 0 0.00 0
+phiX174:4724 0 0.00 0
+phiX174:4725 0 0.00 0
+phiX174:4726 0 0.00 0
+phiX174:4727 0 0.00 0
+phiX174:4728 0 0.00 0
+phiX174:4729 0 0.00 0
+phiX174:4730 0 0.00 0
+phiX174:4731 0 0.00 0
+phiX174:4732 0 0.00 0
+phiX174:4733 0 0.00 0
+phiX174:4734 0 0.00 0
+phiX174:4735 0 0.00 0
+phiX174:4736 0 0.00 0
+phiX174:4737 0 0.00 0
+phiX174:4738 0 0.00 0
+phiX174:4739 0 0.00 0
+phiX174:4740 0 0.00 0
+phiX174:4741 0 0.00 0
+phiX174:4742 0 0.00 0
+phiX174:4743 0 0.00 0
+phiX174:4744 0 0.00 0
+phiX174:4745 0 0.00 0
+phiX174:4746 0 0.00 0
+phiX174:4747 0 0.00 0
+phiX174:4748 0 0.00 0
+phiX174:4749 0 0.00 0
+phiX174:4750 0 0.00 0
+phiX174:4751 0 0.00 0
+phiX174:4752 0 0.00 0
+phiX174:4753 0 0.00 0
+phiX174:4754 0 0.00 0
+phiX174:4755 0 0.00 0
+phiX174:4756 0 0.00 0
+phiX174:4757 0 0.00 0
+phiX174:4758 0 0.00 0
+phiX174:4759 0 0.00 0
+phiX174:4760 0 0.00 0
+phiX174:4761 0 0.00 0
+phiX174:4762 0 0.00 0
+phiX174:4763 0 0.00 0
+phiX174:4764 0 0.00 0
+phiX174:4765 0 0.00 0
+phiX174:4766 0 0.00 0
+phiX174:4767 0 0.00 0
+phiX174:4768 0 0.00 0
+phiX174:4769 0 0.00 0
+phiX174:4770 0 0.00 0
+phiX174:4771 0 0.00 0
+phiX174:4772 0 0.00 0
+phiX174:4773 0 0.00 0
+phiX174:4774 0 0.00 0
+phiX174:4775 0 0.00 0
+phiX174:4776 0 0.00 0
+phiX174:4777 0 0.00 0
+phiX174:4778 0 0.00 0
+phiX174:4779 0 0.00 0
+phiX174:4780 0 0.00 0
+phiX174:4781 0 0.00 0
+phiX174:4782 0 0.00 0
+phiX174:4783 0 0.00 0
+phiX174:4784 0 0.00 0
+phiX174:4785 0 0.00 0
+phiX174:4786 0 0.00 0
+phiX174:4787 0 0.00 0
+phiX174:4788 0 0.00 0
+phiX174:4789 0 0.00 0
+phiX174:4790 0 0.00 0
+phiX174:4791 0 0.00 0
+phiX174:4792 0 0.00 0
+phiX174:4793 0 0.00 0
+phiX174:4794 0 0.00 0
+phiX174:4795 0 0.00 0
+phiX174:4796 0 0.00 0
+phiX174:4797 0 0.00 0
+phiX174:4798 0 0.00 0
+phiX174:4799 0 0.00 0
+phiX174:4800 0 0.00 0
+phiX174:4801 0 0.00 0
+phiX174:4802 0 0.00 0
+phiX174:4803 0 0.00 0
+phiX174:4804 0 0.00 0
+phiX174:4805 0 0.00 0
+phiX174:4806 0 0.00 0
+phiX174:4807 0 0.00 0
+phiX174:4808 0 0.00 0
+phiX174:4809 0 0.00 0
+phiX174:4810 0 0.00 0
+phiX174:4811 0 0.00 0
+phiX174:4812 0 0.00 0
+phiX174:4813 0 0.00 0
+phiX174:4814 0 0.00 0
+phiX174:4815 0 0.00 0
+phiX174:4816 0 0.00 0
+phiX174:4817 0 0.00 0
+phiX174:4818 0 0.00 0
+phiX174:4819 0 0.00 0
+phiX174:4820 0 0.00 0
+phiX174:4821 0 0.00 0
+phiX174:4822 0 0.00 0
+phiX174:4823 0 0.00 0
+phiX174:4824 0 0.00 0
+phiX174:4825 0 0.00 0
+phiX174:4826 0 0.00 0
+phiX174:4827 0 0.00 0
+phiX174:4828 0 0.00 0
+phiX174:4829 0 0.00 0
+phiX174:4830 0 0.00 0
+phiX174:4831 0 0.00 0
+phiX174:4832 0 0.00 0
+phiX174:4833 0 0.00 0
+phiX174:4834 0 0.00 0
+phiX174:4835 0 0.00 0
+phiX174:4836 0 0.00 0
+phiX174:4837 0 0.00 0
+phiX174:4838 0 0.00 0
+phiX174:4839 0 0.00 0
+phiX174:4840 0 0.00 0
+phiX174:4841 0 0.00 0
+phiX174:4842 0 0.00 0
+phiX174:4843 0 0.00 0
+phiX174:4844 0 0.00 0
+phiX174:4845 0 0.00 0
+phiX174:4846 0 0.00 0
+phiX174:4847 0 0.00 0
+phiX174:4848 0 0.00 0
+phiX174:4849 0 0.00 0
+phiX174:4850 0 0.00 0
+phiX174:4851 0 0.00 0
+phiX174:4852 0 0.00 0
+phiX174:4853 0 0.00 0
+phiX174:4854 0 0.00 0
+phiX174:4855 0 0.00 0
+phiX174:4856 0 0.00 0
+phiX174:4857 0 0.00 0
+phiX174:4858 0 0.00 0
+phiX174:4859 0 0.00 0
+phiX174:4860 0 0.00 0
+phiX174:4861 0 0.00 0
+phiX174:4862 0 0.00 0
+phiX174:4863 0 0.00 0
+phiX174:4864 0 0.00 0
+phiX174:4865 0 0.00 0
+phiX174:4866 0 0.00 0
+phiX174:4867 0 0.00 0
+phiX174:4868 0 0.00 0
+phiX174:4869 0 0.00 0
+phiX174:4870 0 0.00 0
+phiX174:4871 0 0.00 0
+phiX174:4872 0 0.00 0
+phiX174:4873 0 0.00 0
+phiX174:4874 0 0.00 0
+phiX174:4875 0 0.00 0
+phiX174:4876 0 0.00 0
+phiX174:4877 0 0.00 0
+phiX174:4878 0 0.00 0
+phiX174:4879 0 0.00 0
+phiX174:4880 0 0.00 0
+phiX174:4881 0 0.00 0
+phiX174:4882 0 0.00 0
+phiX174:4883 0 0.00 0
+phiX174:4884 0 0.00 0
+phiX174:4885 0 0.00 0
+phiX174:4886 0 0.00 0
+phiX174:4887 0 0.00 0
+phiX174:4888 0 0.00 0
+phiX174:4889 0 0.00 0
+phiX174:4890 0 0.00 0
+phiX174:4891 0 0.00 0
+phiX174:4892 0 0.00 0
+phiX174:4893 0 0.00 0
+phiX174:4894 0 0.00 0
+phiX174:4895 0 0.00 0
+phiX174:4896 0 0.00 0
+phiX174:4897 0 0.00 0
+phiX174:4898 0 0.00 0
+phiX174:4899 0 0.00 0
+phiX174:4900 0 0.00 0
+phiX174:4901 0 0.00 0
+phiX174:4902 0 0.00 0
+phiX174:4903 0 0.00 0
+phiX174:4904 0 0.00 0
+phiX174:4905 0 0.00 0
+phiX174:4906 0 0.00 0
+phiX174:4907 0 0.00 0
+phiX174:4908 0 0.00 0
+phiX174:4909 0 0.00 0
+phiX174:4910 0 0.00 0
+phiX174:4911 0 0.00 0
+phiX174:4912 0 0.00 0
+phiX174:4913 0 0.00 0
+phiX174:4914 0 0.00 0
+phiX174:4915 0 0.00 0
+phiX174:4916 0 0.00 0
+phiX174:4917 0 0.00 0
+phiX174:4918 0 0.00 0
+phiX174:4919 0 0.00 0
+phiX174:4920 0 0.00 0
+phiX174:4921 0 0.00 0
+phiX174:4922 0 0.00 0
+phiX174:4923 0 0.00 0
+phiX174:4924 0 0.00 0
+phiX174:4925 0 0.00 0
+phiX174:4926 0 0.00 0
+phiX174:4927 0 0.00 0
+phiX174:4928 0 0.00 0
+phiX174:4929 0 0.00 0
+phiX174:4930 0 0.00 0
+phiX174:4931 0 0.00 0
+phiX174:4932 0 0.00 0
+phiX174:4933 0 0.00 0
+phiX174:4934 0 0.00 0
+phiX174:4935 0 0.00 0
+phiX174:4936 0 0.00 0
+phiX174:4937 0 0.00 0
+phiX174:4938 0 0.00 0
+phiX174:4939 0 0.00 0
+phiX174:4940 0 0.00 0
+phiX174:4941 0 0.00 0
+phiX174:4942 0 0.00 0
+phiX174:4943 0 0.00 0
+phiX174:4944 0 0.00 0
+phiX174:4945 0 0.00 0
+phiX174:4946 0 0.00 0
+phiX174:4947 0 0.00 0
+phiX174:4948 0 0.00 0
+phiX174:4949 0 0.00 0
+phiX174:4950 0 0.00 0
+phiX174:4951 0 0.00 0
+phiX174:4952 0 0.00 0
+phiX174:4953 0 0.00 0
+phiX174:4954 0 0.00 0
+phiX174:4955 0 0.00 0
+phiX174:4956 0 0.00 0
+phiX174:4957 0 0.00 0
+phiX174:4958 0 0.00 0
+phiX174:4959 0 0.00 0
+phiX174:4960 0 0.00 0
+phiX174:4961 0 0.00 0
+phiX174:4962 0 0.00 0
+phiX174:4963 0 0.00 0
+phiX174:4964 0 0.00 0
+phiX174:4965 0 0.00 0
+phiX174:4966 0 0.00 0
+phiX174:4967 0 0.00 0
+phiX174:4968 0 0.00 0
+phiX174:4969 0 0.00 0
+phiX174:4970 0 0.00 0
+phiX174:4971 0 0.00 0
+phiX174:4972 0 0.00 0
+phiX174:4973 0 0.00 0
+phiX174:4974 0 0.00 0
+phiX174:4975 0 0.00 0
+phiX174:4976 0 0.00 0
+phiX174:4977 0 0.00 0
+phiX174:4978 0 0.00 0
+phiX174:4979 0 0.00 0
+phiX174:4980 0 0.00 0
+phiX174:4981 0 0.00 0
+phiX174:4982 0 0.00 0
+phiX174:4983 0 0.00 0
+phiX174:4984 0 0.00 0
+phiX174:4985 0 0.00 0
+phiX174:4986 0 0.00 0
+phiX174:4987 0 0.00 0
+phiX174:4988 0 0.00 0
+phiX174:4989 0 0.00 0
+phiX174:4990 0 0.00 0
+phiX174:4991 0 0.00 0
+phiX174:4992 0 0.00 0
+phiX174:4993 0 0.00 0
+phiX174:4994 0 0.00 0
+phiX174:4995 0 0.00 0
+phiX174:4996 0 0.00 0
+phiX174:4997 0 0.00 0
+phiX174:4998 0 0.00 0
+phiX174:4999 0 0.00 0
+phiX174:5000 0 0.00 0
+phiX174:5001 0 0.00 0
+phiX174:5002 0 0.00 0
+phiX174:5003 0 0.00 0
+phiX174:5004 0 0.00 0
+phiX174:5005 0 0.00 0
+phiX174:5006 0 0.00 0
+phiX174:5007 0 0.00 0
+phiX174:5008 0 0.00 0
+phiX174:5009 0 0.00 0
+phiX174:5010 0 0.00 0
+phiX174:5011 0 0.00 0
+phiX174:5012 0 0.00 0
+phiX174:5013 0 0.00 0
+phiX174:5014 0 0.00 0
+phiX174:5015 0 0.00 0
+phiX174:5016 0 0.00 0
+phiX174:5017 0 0.00 0
+phiX174:5018 0 0.00 0
+phiX174:5019 0 0.00 0
+phiX174:5020 0 0.00 0
+phiX174:5021 0 0.00 0
+phiX174:5022 0 0.00 0
+phiX174:5023 0 0.00 0
+phiX174:5024 0 0.00 0
+phiX174:5025 0 0.00 0
+phiX174:5026 0 0.00 0
+phiX174:5027 0 0.00 0
+phiX174:5028 0 0.00 0
+phiX174:5029 0 0.00 0
+phiX174:5030 0 0.00 0
+phiX174:5031 0 0.00 0
+phiX174:5032 0 0.00 0
+phiX174:5033 0 0.00 0
+phiX174:5034 0 0.00 0
+phiX174:5035 0 0.00 0
+phiX174:5036 0 0.00 0
+phiX174:5037 0 0.00 0
+phiX174:5038 0 0.00 0
+phiX174:5039 0 0.00 0
+phiX174:5040 0 0.00 0
+phiX174:5041 0 0.00 0
+phiX174:5042 0 0.00 0
+phiX174:5043 0 0.00 0
+phiX174:5044 0 0.00 0
+phiX174:5045 0 0.00 0
+phiX174:5046 0 0.00 0
+phiX174:5047 0 0.00 0
+phiX174:5048 0 0.00 0
+phiX174:5049 0 0.00 0
+phiX174:5050 0 0.00 0
+phiX174:5051 0 0.00 0
+phiX174:5052 0 0.00 0
+phiX174:5053 0 0.00 0
+phiX174:5054 0 0.00 0
+phiX174:5055 0 0.00 0
+phiX174:5056 0 0.00 0
+phiX174:5057 0 0.00 0
+phiX174:5058 0 0.00 0
+phiX174:5059 0 0.00 0
+phiX174:5060 0 0.00 0
+phiX174:5061 0 0.00 0
+phiX174:5062 0 0.00 0
+phiX174:5063 0 0.00 0
+phiX174:5064 0 0.00 0
+phiX174:5065 0 0.00 0
+phiX174:5066 0 0.00 0
+phiX174:5067 0 0.00 0
+phiX174:5068 0 0.00 0
+phiX174:5069 0 0.00 0
+phiX174:5070 0 0.00 0
+phiX174:5071 0 0.00 0
+phiX174:5072 0 0.00 0
+phiX174:5073 0 0.00 0
+phiX174:5074 0 0.00 0
+phiX174:5075 0 0.00 0
+phiX174:5076 0 0.00 0
+phiX174:5077 0 0.00 0
+phiX174:5078 0 0.00 0
+phiX174:5079 0 0.00 0
+phiX174:5080 0 0.00 0
+phiX174:5081 0 0.00 0
+phiX174:5082 0 0.00 0
+phiX174:5083 0 0.00 0
+phiX174:5084 0 0.00 0
+phiX174:5085 0 0.00 0
+phiX174:5086 0 0.00 0
+phiX174:5087 0 0.00 0
+phiX174:5088 0 0.00 0
+phiX174:5089 0 0.00 0
+phiX174:5090 0 0.00 0
+phiX174:5091 0 0.00 0
+phiX174:5092 0 0.00 0
+phiX174:5093 0 0.00 0
+phiX174:5094 0 0.00 0
+phiX174:5095 0 0.00 0
+phiX174:5096 0 0.00 0
+phiX174:5097 0 0.00 0
+phiX174:5098 0 0.00 0
+phiX174:5099 0 0.00 0
+phiX174:5100 0 0.00 0
+phiX174:5101 0 0.00 0
+phiX174:5102 0 0.00 0
+phiX174:5103 0 0.00 0
+phiX174:5104 0 0.00 0
+phiX174:5105 0 0.00 0
+phiX174:5106 0 0.00 0
+phiX174:5107 0 0.00 0
+phiX174:5108 0 0.00 0
+phiX174:5109 0 0.00 0
+phiX174:5110 0 0.00 0
+phiX174:5111 0 0.00 0
+phiX174:5112 0 0.00 0
+phiX174:5113 0 0.00 0
+phiX174:5114 0 0.00 0
+phiX174:5115 0 0.00 0
+phiX174:5116 0 0.00 0
+phiX174:5117 0 0.00 0
+phiX174:5118 0 0.00 0
+phiX174:5119 0 0.00 0
+phiX174:5120 0 0.00 0
+phiX174:5121 0 0.00 0
+phiX174:5122 0 0.00 0
+phiX174:5123 0 0.00 0
+phiX174:5124 0 0.00 0
+phiX174:5125 0 0.00 0
+phiX174:5126 0 0.00 0
+phiX174:5127 0 0.00 0
+phiX174:5128 0 0.00 0
+phiX174:5129 0 0.00 0
+phiX174:5130 0 0.00 0
+phiX174:5131 0 0.00 0
+phiX174:5132 0 0.00 0
+phiX174:5133 0 0.00 0
+phiX174:5134 0 0.00 0
+phiX174:5135 0 0.00 0
+phiX174:5136 0 0.00 0
+phiX174:5137 0 0.00 0
+phiX174:5138 0 0.00 0
+phiX174:5139 0 0.00 0
+phiX174:5140 0 0.00 0
+phiX174:5141 0 0.00 0
+phiX174:5142 0 0.00 0
+phiX174:5143 0 0.00 0
+phiX174:5144 0 0.00 0
+phiX174:5145 0 0.00 0
+phiX174:5146 0 0.00 0
+phiX174:5147 0 0.00 0
+phiX174:5148 0 0.00 0
+phiX174:5149 0 0.00 0
+phiX174:5150 0 0.00 0
+phiX174:5151 0 0.00 0
+phiX174:5152 0 0.00 0
+phiX174:5153 0 0.00 0
+phiX174:5154 0 0.00 0
+phiX174:5155 0 0.00 0
+phiX174:5156 0 0.00 0
+phiX174:5157 0 0.00 0
+phiX174:5158 0 0.00 0
+phiX174:5159 0 0.00 0
+phiX174:5160 0 0.00 0
+phiX174:5161 0 0.00 0
+phiX174:5162 0 0.00 0
+phiX174:5163 0 0.00 0
+phiX174:5164 0 0.00 0
+phiX174:5165 0 0.00 0
+phiX174:5166 0 0.00 0
+phiX174:5167 0 0.00 0
+phiX174:5168 0 0.00 0
+phiX174:5169 0 0.00 0
+phiX174:5170 0 0.00 0
+phiX174:5171 0 0.00 0
+phiX174:5172 0 0.00 0
+phiX174:5173 0 0.00 0
+phiX174:5174 0 0.00 0
+phiX174:5175 0 0.00 0
+phiX174:5176 0 0.00 0
+phiX174:5177 0 0.00 0
+phiX174:5178 0 0.00 0
+phiX174:5179 0 0.00 0
+phiX174:5180 0 0.00 0
+phiX174:5181 0 0.00 0
+phiX174:5182 0 0.00 0
+phiX174:5183 0 0.00 0
+phiX174:5184 0 0.00 0
+phiX174:5185 0 0.00 0
+phiX174:5186 0 0.00 0
+phiX174:5187 0 0.00 0
+phiX174:5188 0 0.00 0
+phiX174:5189 0 0.00 0
+phiX174:5190 0 0.00 0
+phiX174:5191 0 0.00 0
+phiX174:5192 0 0.00 0
+phiX174:5193 0 0.00 0
+phiX174:5194 0 0.00 0
+phiX174:5195 0 0.00 0
+phiX174:5196 0 0.00 0
+phiX174:5197 0 0.00 0
+phiX174:5198 0 0.00 0
+phiX174:5199 0 0.00 0
+phiX174:5200 0 0.00 0
+phiX174:5201 0 0.00 0
+phiX174:5202 0 0.00 0
+phiX174:5203 0 0.00 0
+phiX174:5204 0 0.00 0
+phiX174:5205 0 0.00 0
+phiX174:5206 0 0.00 0
+phiX174:5207 0 0.00 0
+phiX174:5208 0 0.00 0
+phiX174:5209 0 0.00 0
+phiX174:5210 0 0.00 0
+phiX174:5211 0 0.00 0
+phiX174:5212 0 0.00 0
+phiX174:5213 0 0.00 0
+phiX174:5214 0 0.00 0
+phiX174:5215 0 0.00 0
+phiX174:5216 0 0.00 0
+phiX174:5217 0 0.00 0
+phiX174:5218 0 0.00 0
+phiX174:5219 0 0.00 0
+phiX174:5220 0 0.00 0
+phiX174:5221 0 0.00 0
+phiX174:5222 0 0.00 0
+phiX174:5223 0 0.00 0
+phiX174:5224 0 0.00 0
+phiX174:5225 0 0.00 0
+phiX174:5226 0 0.00 0
+phiX174:5227 0 0.00 0
+phiX174:5228 0 0.00 0
+phiX174:5229 0 0.00 0
+phiX174:5230 0 0.00 0
+phiX174:5231 0 0.00 0
+phiX174:5232 0 0.00 0
+phiX174:5233 0 0.00 0
+phiX174:5234 0 0.00 0
+phiX174:5235 0 0.00 0
+phiX174:5236 0 0.00 0
+phiX174:5237 0 0.00 0
+phiX174:5238 0 0.00 0
+phiX174:5239 0 0.00 0
+phiX174:5240 0 0.00 0
+phiX174:5241 0 0.00 0
+phiX174:5242 0 0.00 0
+phiX174:5243 0 0.00 0
+phiX174:5244 0 0.00 0
+phiX174:5245 0 0.00 0
+phiX174:5246 0 0.00 0
+phiX174:5247 0 0.00 0
+phiX174:5248 0 0.00 0
+phiX174:5249 0 0.00 0
+phiX174:5250 0 0.00 0
+phiX174:5251 0 0.00 0
+phiX174:5252 0 0.00 0
+phiX174:5253 0 0.00 0
+phiX174:5254 0 0.00 0
+phiX174:5255 0 0.00 0
+phiX174:5256 0 0.00 0
+phiX174:5257 0 0.00 0
+phiX174:5258 0 0.00 0
+phiX174:5259 0 0.00 0
+phiX174:5260 0 0.00 0
+phiX174:5261 0 0.00 0
+phiX174:5262 0 0.00 0
+phiX174:5263 0 0.00 0
+phiX174:5264 0 0.00 0
+phiX174:5265 0 0.00 0
+phiX174:5266 0 0.00 0
+phiX174:5267 0 0.00 0
+phiX174:5268 0 0.00 0
+phiX174:5269 0 0.00 0
+phiX174:5270 0 0.00 0
+phiX174:5271 0 0.00 0
+phiX174:5272 0 0.00 0
+phiX174:5273 0 0.00 0
+phiX174:5274 0 0.00 0
+phiX174:5275 0 0.00 0
+phiX174:5276 0 0.00 0
+phiX174:5277 0 0.00 0
+phiX174:5278 0 0.00 0
+phiX174:5279 0 0.00 0
+phiX174:5280 0 0.00 0
+phiX174:5281 0 0.00 0
+phiX174:5282 0 0.00 0
+phiX174:5283 0 0.00 0
+phiX174:5284 0 0.00 0
+phiX174:5285 0 0.00 0
+phiX174:5286 0 0.00 0
+phiX174:5287 0 0.00 0
+phiX174:5288 0 0.00 0
+phiX174:5289 0 0.00 0
+phiX174:5290 0 0.00 0
+phiX174:5291 0 0.00 0
+phiX174:5292 0 0.00 0
+phiX174:5293 0 0.00 0
+phiX174:5294 0 0.00 0
+phiX174:5295 0 0.00 0
+phiX174:5296 0 0.00 0
+phiX174:5297 0 0.00 0
+phiX174:5298 0 0.00 0
+phiX174:5299 0 0.00 0
+phiX174:5300 0 0.00 0
+phiX174:5301 0 0.00 0
+phiX174:5302 0 0.00 0
+phiX174:5303 0 0.00 0
+phiX174:5304 0 0.00 0
+phiX174:5305 0 0.00 0
+phiX174:5306 0 0.00 0
+phiX174:5307 0 0.00 0
+phiX174:5308 0 0.00 0
+phiX174:5309 0 0.00 0
+phiX174:5310 0 0.00 0
+phiX174:5311 0 0.00 0
+phiX174:5312 0 0.00 0
+phiX174:5313 0 0.00 0
+phiX174:5314 0 0.00 0
+phiX174:5315 0 0.00 0
+phiX174:5316 0 0.00 0
+phiX174:5317 0 0.00 0
+phiX174:5318 0 0.00 0
+phiX174:5319 0 0.00 0
+phiX174:5320 0 0.00 0
+phiX174:5321 0 0.00 0
+phiX174:5322 0 0.00 0
+phiX174:5323 0 0.00 0
+phiX174:5324 0 0.00 0
+phiX174:5325 0 0.00 0
+phiX174:5326 0 0.00 0
+phiX174:5327 0 0.00 0
+phiX174:5328 0 0.00 0
+phiX174:5329 0 0.00 0
+phiX174:5330 0 0.00 0
+phiX174:5331 0 0.00 0
+phiX174:5332 0 0.00 0
+phiX174:5333 0 0.00 0
+phiX174:5334 0 0.00 0
+phiX174:5335 0 0.00 0
+phiX174:5336 0 0.00 0
+phiX174:5337 0 0.00 0
+phiX174:5338 0 0.00 0
+phiX174:5339 0 0.00 0
+phiX174:5340 0 0.00 0
+phiX174:5341 0 0.00 0
+phiX174:5342 0 0.00 0
+phiX174:5343 0 0.00 0
+phiX174:5344 0 0.00 0
+phiX174:5345 0 0.00 0
+phiX174:5346 0 0.00 0
+phiX174:5347 0 0.00 0
+phiX174:5348 0 0.00 0
+phiX174:5349 0 0.00 0
+phiX174:5350 0 0.00 0
+phiX174:5351 0 0.00 0
+phiX174:5352 0 0.00 0
+phiX174:5353 0 0.00 0
+phiX174:5354 0 0.00 0
+phiX174:5355 0 0.00 0
+phiX174:5356 0 0.00 0
+phiX174:5357 0 0.00 0
+phiX174:5358 0 0.00 0
+phiX174:5359 0 0.00 0
+phiX174:5360 0 0.00 0
+phiX174:5361 0 0.00 0
+phiX174:5362 0 0.00 0
+phiX174:5363 0 0.00 0
+phiX174:5364 0 0.00 0
+phiX174:5365 0 0.00 0
+phiX174:5366 0 0.00 0
+phiX174:5367 0 0.00 0
+phiX174:5368 0 0.00 0
+phiX174:5369 0 0.00 0
+phiX174:5370 0 0.00 0
+phiX174:5371 0 0.00 0
+phiX174:5372 0 0.00 0
+phiX174:5373 0 0.00 0
+phiX174:5374 0 0.00 0
+phiX174:5375 0 0.00 0
+phiX174:5376 0 0.00 0
+phiX174:5377 0 0.00 0
+phiX174:5378 0 0.00 0
+phiX174:5379 0 0.00 0
+phiX174:5380 0 0.00 0
+phiX174:5381 0 0.00 0
+phiX174:5382 0 0.00 0
+phiX174:5383 0 0.00 0
+phiX174:5384 0 0.00 0
+phiX174:5385 0 0.00 0
+phiX174:5386 0 0.00 0
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_statistics_sample.tabular
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_statistics_sample.tabular
@@ -0,0 +1,2 @@
+Source_of_reads from_0_to_1) from_1_to_2) from_2_to_3) from_3_to_4) from_4_to_5) from_5_to_6) from_6_to_7) from_7_to_8) from_8_to_9) from_9_to_10) from_10_to_11) from_11_to_12) from_12_to_13) from_13_to_14) from_14_to_15) from_15_to_16) from_16_to_17) from_17_to_18) from_18_to_19) from_19_to_20) from_20_to_21) from_21_to_22) from_22_to_23) from_23_to_24) from_24_to_25) from_25_to_26) from_26_to_27) from_27_to_28) from_28_to_29) from_29_to_30) from_30_to_31) from_31_to_32) from_32_to_33) from_33_to_34) from_34_to_35) from_35_to_36) from_36_to_37) from_37_to_38) from_38_to_39) from_39_to_40) from_40_to_41) from_41_to_42) from_42_to_43) from_43_to_44) from_44_to_45) from_45_to_46) from_46_to_47) from_47_to_48) from_48_to_49) from_49_to_50) from_50_to_51) from_51_to_52) from_52_to_53) from_53_to_54) from_54_to_55) from_55_to_56) from_56_to_57) from_57_to_58) from_58_to_59) from_59_to_60) from_60_to_61) from_61_to_62) from_62_to_63) from_63_to_64) from_64_to_65) from_65_to_66) from_66_to_67) from_67_to_68) from_68_to_69) from_69_to_70) from_70_to_71) from_71_to_72) from_72_to_73) from_73_to_74) from_74_to_75) from_75_to_76) from_76_to_77) from_77_to_78) from_78_to_79) from_79_to_80) from_80_to_81) from_81_to_82) from_82_to_83) from_83_to_84) from_84_to_85) from_85_to_86) from_86_to_87) from_87_to_88) from_88_to_89) from_89_to_90) from_90_to_91) from_91_to_92) from_92_to_93) from_93_to_94) from_94_to_95) from_95_to_96) from_96_to_97) from_97_to_98) from_98_to_99) from_99_to_100) from_100_to_101) from_101_to_102) from_102_to_103) from_103_to_104) from_104_to_105) from_105_to_106) from_106_to_107) from_107_to_108) from_108_to_109) from_109_to_110) from_110_to_111) from_111_to_112) from_112_to_113) from_113_to_114) from_114_to_115) from_115_to_116) from_116_to_117) from_117_to_118) from_118_to_119) from_119_to_120) from_120_to_121) from_121_to_122) from_122_to_123) from_123_to_124) from_124_to_125) from_125_to_126) from_126_to_127) from_127_to_128) from_128_to_129) from_129_to_130) from_130_to_131) from_131_to_132) from_132_to_133) from_133_to_134) from_134_to_135) from_135_to_136) from_136_to_137) from_137_to_138) from_138_to_139) from_139_to_140) from_140_to_141) from_141_to_142) from_142_to_143) from_143_to_144) from_144_to_145) from_145_to_146) from_146_to_147) from_147_to_148) from_148_to_149) from_149_to_150) from_150_to_151) from_151_to_152) from_152_to_153) from_153_to_154) from_154_to_155) from_155_to_156) from_156_to_157) from_157_to_158) from_158_to_159) from_159_to_160) from_160_to_161) from_161_to_162) from_162_to_163) from_163_to_164) from_164_to_165) from_165_to_166) from_166_to_167) from_167_to_168) from_168_to_169) from_169_to_170) from_170_to_171) from_171_to_172) from_172_to_173) from_173_to_174) from_174_to_175) from_175_to_176) from_176_to_177) from_177_to_178) from_178_to_179) from_179_to_180) from_180_to_181) from_181_to_182) from_182_to_183) from_183_to_184) from_184_to_185) from_185_to_186) from_186_to_187) from_187_to_188) from_188_to_189) from_189_to_190) from_190_to_191) from_191_to_192) from_192_to_193) from_193_to_194) from_194_to_195) from_195_to_196) from_196_to_197) from_197_to_198) from_198_to_199) from_199_to_200) from_200_to_201) from_201_to_202) from_202_to_203) from_203_to_204) from_204_to_205) from_205_to_206) from_206_to_207) from_207_to_208) from_208_to_209) from_209_to_210) from_210_to_211) from_211_to_212) from_212_to_213) from_213_to_214) from_214_to_215) from_215_to_216) from_216_to_217) from_217_to_218) from_218_to_219) from_219_to_220) from_220_to_221) from_221_to_222) from_222_to_223) from_223_to_224) from_224_to_225) from_225_to_226) from_226_to_227) from_227_to_228) from_228_to_229) from_229_to_230) from_230_to_231) from_231_to_232) from_232_to_233) from_233_to_234) from_234_to_235) from_235_to_236) from_236_to_237) from_237_to_238) from_238_to_239) from_239_to_240) from_240_to_241) from_241_to_242) from_242_to_243) from_243_to_244) from_244_to_245) from_245_to_246) from_246_to_247) from_247_to_248) from_248_to_249) from_249_to_250) from_250_to_251) from_251_to_252) from_252_to_253) from_253_to_254) from_254_to_255) from_255_to_256) from_256_to_257) from_257_to_258) from_258_to_259) from_259_to_260) from_260_to_261) from_261_to_262) from_262_to_263) from_263_to_264) from_264_to_265) from_265_to_266) from_266_to_267) from_267_to_268) from_268_to_269) from_269_to_270) from_270_to_271) from_271_to_272) from_272_to_273) from_273_to_274) from_274_to_275) from_275_to_276) from_276_to_277) from_277_to_278) from_278_to_279) from_279_to_280) from_280_to_281) from_281_to_282) from_282_to_283) from_283_to_284) from_284_to_285) from_285_to_286) from_286_to_287) from_287_to_288) from_288_to_289) from_289_to_290) from_290_to_291) from_291_to_292) from_292_to_293) from_293_to_294) from_294_to_295) from_295_to_296) from_296_to_297) from_297_to_298) from_298_to_299) from_299_to_300) from_300_to_301) from_301_to_302) from_302_to_303) from_303_to_304) from_304_to_305) from_305_to_306) from_306_to_307) from_307_to_308) from_308_to_309) from_309_to_310) from_310_to_311) from_311_to_312) from_312_to_313) from_313_to_314) from_314_to_315) from_315_to_316) from_316_to_317) from_317_to_318) from_318_to_319) from_319_to_320) from_320_to_321) from_321_to_322) from_322_to_323) from_323_to_324) from_324_to_325) from_325_to_326) from_326_to_327) from_327_to_328) from_328_to_329) from_329_to_330) from_330_to_331) from_331_to_332) from_332_to_333) from_333_to_334) from_334_to_335) from_335_to_336) from_336_to_337) from_337_to_338) from_338_to_339) from_339_to_340) from_340_to_341) from_341_to_342) from_342_to_343) from_343_to_344) from_344_to_345) from_345_to_346) from_346_to_347) from_347_to_348) from_348_to_349) from_349_to_350) from_350_to_351) from_351_to_352) from_352_to_353) from_353_to_354) from_354_to_355) from_355_to_356) from_356_to_357) from_357_to_358) from_358_to_359) from_359_to_360) from_360_to_361) from_361_to_362) from_362_to_363) from_363_to_364) from_364_to_365) from_365_to_366) from_366_to_367) from_367_to_368) from_368_to_369) from_369_to_370) from_370_to_371) from_371_to_372) from_372_to_373) from_373_to_374) from_374_to_375) from_375_to_376) from_376_to_377) from_377_to_378) from_378_to_379) from_379_to_380) from_380_to_381) from_381_to_382) from_382_to_383) from_383_to_384) from_384_to_385) from_385_to_386) from_386_to_387) from_387_to_388) from_388_to_389) from_389_to_390) from_390_to_391) from_391_to_392) from_392_to_393) from_393_to_394) from_394_to_395) from_395_to_396) from_396_to_397) from_397_to_398) from_398_to_399) from_399_to_400) from_400_to_401) from_401_to_402) from_402_to_403) from_403_to_404) from_404_to_405) from_405_to_406) from_406_to_407) from_407_to_408) from_408_to_409) from_409_to_410) from_410_to_411) from_411_to_412) from_412_to_413) from_413_to_414) from_414_to_415) from_415_to_416) from_416_to_417) from_417_to_418) from_418_to_419) from_419_to_420) from_420_to_421) from_421_to_422) from_422_to_423) from_423_to_424) from_424_to_425) from_425_to_426) from_426_to_427) from_427_to_428) from_428_to_429) from_429_to_430) from_430_to_431) from_431_to_432) from_432_to_433) from_433_to_434) from_434_to_435) from_435_to_436) from_436_to_437) from_437_to_438) from_438_to_439) from_439_to_440) from_440_to_441) from_441_to_442) from_442_to_443) from_443_to_444) from_444_to_445) from_445_to_446) from_446_to_447) from_447_to_448) from_448_to_449) from_449_to_450) from_450_to_451) from_451_to_452) from_452_to_453) from_453_to_454) from_454_to_455) from_455_to_456) from_456_to_457) from_457_to_458) from_458_to_459) from_459_to_460) from_460_to_461) from_461_to_462) from_462_to_463) from_463_to_464) from_464_to_465) from_465_to_466) from_466_to_467) from_467_to_468) from_468_to_469) from_469_to_470) from_470_to_471) from_471_to_472) from_472_to_473) from_473_to_474) from_474_to_475) from_475_to_476) from_476_to_477) from_477_to_478) from_478_to_479) from_479_to_480) from_480_to_481) from_481_to_482) from_482_to_483) from_483_to_484) from_484_to_485) from_485_to_486) from_486_to_487) from_487_to_488) from_488_to_489) from_489_to_490) from_490_to_491) from_491_to_492) from_492_to_493) from_493_to_494) from_494_to_495) from_495_to_496) from_496_to_497) from_497_to_498) from_498_to_499) from_499_to_500) from_500_to_inf
+sample_A Fake phiX Sample 5343 2 1 2 1 1 2 2 2 1 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_summary_sample.tabular
--- /dev/null
+++ b/test-data/gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_summary_sample.tabular
@@ -0,0 +1,3 @@
+sample_id total mean granular_third_quartile granular_median granular_first_quartile %_bases_above_15
+A Fake phiX Sample 360 0.07 1 1 1 0.0
+Total 360 0.07 N/A N/A N/A
diff -r 16cf802f921189fd5d2a8cba4a04926065afff1c -r 4e075c43e20fd8f2b8a8015b2830b4b9704b83ec tools/gatk/depth_of_coverage.xml
--- /dev/null
+++ b/tools/gatk/depth_of_coverage.xml
@@ -0,0 +1,923 @@
+<tool id="gatk_depth_of_coverage" name="Depth of Coverage" version="0.0.1">
+ <description>on BAM files</description>
+ <requirements>
+ <requirement type="package" version="1.3">gatk</requirement>
+ </requirements>
+ <command interpreter="python">gatk_wrapper.py
+ --max_jvm_heap_fraction "1"
+ --stdout "${output_log}"
+ #for $i, $input_bam in enumerate( $reference_source.input_bams ):
+ -d "-I" "${input_bam.input_bam}" "${input_bam.input_bam.ext}" "gatk_input_${i}"
+ -d "" "${input_bam.input_bam.metadata.bam_index}" "bam_index" "gatk_input_${i}" ##hardcode galaxy ext type as bam_index
+ #end for
+ -p 'java
+ -jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
+ -T "DepthOfCoverage"
+ ##--num_threads 4 ##hard coded, for now
+
+ -et "NO_ET" ##ET no phone home
+ #if $reference_source.reference_source_selector != "history":
+ -R "${reference_source.ref_file.fields.path}"
+ #end if
+ #if str( $input_calculate_coverage_over_genes ) != "None":
+ --calculateCoverageOverGenes "${input_calculate_coverage_over_genes}"
+ #end if
+ #if str( $partition_type ) != "None":
+ #for $pt in str( $partition_type ).split( ',' ):
+ --partitionType "${pt}"
+ #end for
+ #end if
+ --out "${output_per_locus_coverage}"
+
+ #for $ct_group in $summary_coverage_threshold_group:
+ --summaryCoverageThreshold "${ct_group.summary_coverage_threshold}"
+ #end for
+ --outputFormat "${output_format}"
+ '
+
+ ##start standard gatk options
+ #if $gatk_param_type.gatk_param_type_selector == "advanced":
+ #for $sample_metadata in $gatk_param_type.sample_metadata:
+ -p '--sample_metadata "${sample_metadata.sample_metadata_file}"'
+ #end for
+ #for $read_filter in $gatk_param_type.read_filter:
+ -p '--read_filter "${read_filter.read_filter_type.read_filter_type_selector}"
+ ###raise Exception( str( dir( $read_filter ) ) )
+ #for $name, $param in $read_filter.read_filter_type.iteritems():
+ #if $name not in [ "__current_case__", "read_filter_type_selector" ]:
+ --${name} "${param}"
+ #end if
+ #end for
+ '
+ #end for
+ #for $interval_count, $input_intervals in enumerate( $gatk_param_type.input_interval_repeat ):
+ -d "--intervals" "${input_intervals.input_intervals}" "${input_intervals.input_intervals.ext}" "input_intervals_${interval_count}"
+ #end for
+
+ #for $interval_count, $input_intervals in enumerate( $gatk_param_type.input_exclude_interval_repeat ):
+ -d "--excludeIntervals" "${input_intervals.input_exclude_intervals}" "${input_intervals.input_exclude_intervals.ext}" "input_exlude_intervals_${interval_count}"
+ #end for
+
+ -p '--BTI_merge_rule "${gatk_param_type.BTI_merge_rule}"'
+
+ -p '--downsampling_type "${gatk_param_type.downsampling_type.downsampling_type_selector}"'
+ #if str( $gatk_param_type.downsampling_type.downsampling_type_selector ) != "NONE":
+ -p '--${gatk_param_type.downsampling_type.downsample_to_type.downsample_to_type_selector} "${gatk_param_type.downsampling_type.downsample_to_type.downsample_to_value}"'
+ #end if
+ -p '
+ --baq "${gatk_param_type.baq}"
+ --baqGapOpenPenalty "${gatk_param_type.baq_gap_open_penalty}"
+ ${gatk_param_type.use_original_qualities}
+ --defaultBaseQualities "${gatk_param_type.default_base_qualities}"
+ --validation_strictness "${gatk_param_type.validation_strictness}"
+ --interval_merging "${gatk_param_type.interval_merging}"
+ ${gatk_param_type.disable_experimental_low_memory_sharding}
+ ${gatk_param_type.non_deterministic_random_seed}
+ '
+ #for $rg_black_list_count, $rg_black_list in enumerate( $gatk_param_type.read_group_black_list_repeat ):
+ #if $rg_black_list.read_group_black_list_type.read_group_black_list_type_selector == "file":
+ -d "--read_group_black_list" "${rg_black_list.read_group_black_list_type.read_group_black_list}" "txt" "input_read_group_black_list_${rg_black_list_count}"
+ #else
+ -p '--read_group_black_list "${rg_black_list.read_group_black_list_type.read_group_black_list}"'
+ #end if
+ #end for
+ #end if
+
+ #if $reference_source.reference_source_selector == "history":
+ -d "-R" "${reference_source.ref_file}" "${reference_source.ref_file.ext}" "gatk_input"
+ #end if
+ ##end standard gatk options
+ ##start analysis specific options
+ #if $analysis_param_type.analysis_param_type_selector == "advanced":
+ -p '
+ ${analysis_param_type.ignore_deletion_sites}
+ ${analysis_param_type.include_deletions}
+ --maxBaseQuality "${analysis_param_type.max_base_quality}"
+ --maxMappingQuality "${analysis_param_type.max_mapping_quality}"
+ --minBaseQuality "${analysis_param_type.min_base_quality}"
+ --minMappingQuality "${analysis_param_type.min_mapping_quality}"
+ --nBins "${analysis_param_type.n_bins}"
+ ${analysis_param_type.omit_depth_output_at_each_base}
+ ${analysis_param_type.omit_interval_statistics}
+ ${analysis_param_type.omit_locus_table}
+ ${analysis_param_type.omit_per_sample_stats}
+ ${analysis_param_type.print_base_counts}
+ ${analysis_param_type.print_bin_endpoints_and_exit}
+ --start "${analysis_param_type.start}"
+ --stop "${analysis_param_type.stop}"
+ '
+ #end if
+ ##Move additional files to final location
+ #if str( $partition_type ) != "None":
+ #set $partition_types = str( $partition_type ).split( ',' )
+ #else:
+ #set $partition_types = [ 'sample' ]
+ #end if
+ #if 'sample' in $partition_types and ( str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.print_bin_endpoints_and_exit ) == "" ):
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_per_sample_stats ) == "":
+ && mv ${output_per_locus_coverage}.sample_summary ${output_summary_sample}
+ && mv ${output_per_locus_coverage}.sample_statistics ${output_statistics_sample}
+ #end if
+ #if $gatk_param_type.gatk_param_type_selector == "advanced" and len( $gatk_param_type.input_interval_repeat ) and str( $gatk_param_type.omit_interval_statistics ) == "":
+ && mv ${output_per_locus_coverage}.sample_interval_summary ${output_interval_summary_sample}
+ && mv ${output_per_locus_coverage}.sample_interval_statistics ${output_interval_statistics_sample}
+ #end if
+ #if str( $input_calculate_coverage_over_genes ) != "None":
+ && mv ${output_per_locus_coverage}.sample_gene_summary ${output_gene_summary_sample}
+ && mv ${output_per_locus_coverage}.sample_gene_statistics ${output_gene_statistics_sample}
+ #end if
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_depth_output_at_each_base ) == "":
+ && mv ${output_per_locus_coverage}.sample_cumulative_coverage_counts ${output_cumulative_coverage_counts_sample}
+ && mv ${output_per_locus_coverage}.sample_cumulative_coverage_proportions ${output_cumulative_coverage_proportions_sample}
+ #end if
+ #end if
+
+ #if 'readgroup' in $partition_types and ( str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.print_bin_endpoints_and_exit ) == "" ):
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_per_sample_stats ) == "":
+ && mv ${output_per_locus_coverage}.read_group_summary ${output_summary_readgroup}
+ && mv ${output_per_locus_coverage}.read_group_statistics ${output_statistics_readgroup}
+ #end if
+ #if $gatk_param_type.gatk_param_type_selector == "advanced" and len( $gatk_param_type.input_interval_repeat ) and str( $gatk_param_type.omit_interval_statistics ) == "":
+ && mv ${output_per_locus_coverage}.read_group_interval_summary ${output_interval_summary_readgroup}
+ && mv ${output_per_locus_coverage}.read_group_interval_statistics ${output_interval_statistics_readgroup}
+ #end if
+ #if str( $input_calculate_coverage_over_genes ) != "None":
+ && mv ${output_per_locus_coverage}.read_group_gene_summary ${output_gene_summary_readgroup}
+ && mv ${output_per_locus_coverage}.read_group_gene_statistics ${output_gene_statistics_readgroup}
+ #end if
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_depth_output_at_each_base ) == "":
+ && mv ${output_per_locus_coverage}.read_group_cumulative_coverage_counts ${output_cumulative_coverage_counts_readgroup}
+ && mv ${output_per_locus_coverage}.read_group_cumulative_coverage_proportions ${output_cumulative_coverage_proportions_readgroup}
+ #end if
+ #end if
+
+ #if 'library' in $partition_types and ( str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.print_bin_endpoints_and_exit ) == "" ):
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_per_sample_stats ) == "":
+ && mv ${output_per_locus_coverage}.library_summary ${output_summary_library}
+ && mv ${output_per_locus_coverage}.library_statistics ${output_statistics_library}
+ #end if
+ #if $gatk_param_type.gatk_param_type_selector == "advanced" and len( $gatk_param_type.input_interval_repeat ) and str( $gatk_param_type.omit_interval_statistics ) == "":
+ && mv ${output_per_locus_coverage}.library_interval_summary ${output_interval_summary_library}
+ && mv ${output_per_locus_coverage}.library_interval_statistics ${output_interval_statistics_library}
+ #end if
+ #if str( $input_calculate_coverage_over_genes ) != "None":
+ && mv ${output_per_locus_coverage}.library_gene_summary ${output_gene_summary_library}
+ && mv ${output_per_locus_coverage}.library_gene_statistics ${output_gene_statistics_library}
+ #end if
+ #if str( $analysis_param_type.analysis_param_type_selector ) == "basic" or str( $analysis_param_type.omit_depth_output_at_each_base ) == "":
+ && mv ${output_per_locus_coverage}.library_cumulative_coverage_counts ${output_cumulative_coverage_counts_library}
+ && mv ${output_per_locus_coverage}.library_cumulative_coverage_proportions ${output_cumulative_coverage_proportions_library}
+ #end if
+ #end if
+
+
+ </command>
+ <inputs>
+ <conditional name="reference_source">
+ <param name="reference_source_selector" type="select" label="Choose the source for the reference list">
+ <option value="cached">Locally cached</option>
+ <option value="history">History</option>
+ </param>
+ <when value="cached">
+ <repeat name="input_bams" title="BAM file" min="1">
+ <param name="input_bam" type="data" format="bam" label="BAM file">
+ <validator type="unspecified_build" />
+ <validator type="metadata" check="bam_index" message="Metadata missing, click the pencil icon in the history item and use the auto-detect feature to correct this issue."/>
+ <validator type="dataset_metadata_in_data_table" table_name="gatk_picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ </param>
+ </repeat>
+ <param name="ref_file" type="select" label="Using reference genome">
+ <options from_data_table="gatk_picard_indexes">
+ <!-- <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/> does not yet work in a repeat...-->
+ </options>
+ </param>
+ </when>
+ <when value="history"><!-- FIX ME!!!! -->
+ <repeat name="input_bams" title="BAM file" min="1">
+ <param name="input_bam" type="data" format="bam" label="BAM file" >
+ <validator type="metadata" check="bam_index" message="Metadata missing, click the pencil icon in the history item and use the auto-detect feature to correct this issue."/>
+ </param>
+ </repeat>
+ <param name="ref_file" type="data" format="fasta" label="Using reference file" />
+ </when>
+ </conditional>
+
+ <param name="input_calculate_coverage_over_genes" type="data" format="data" label="RefSeq Rod" optional="True" />
+
+ <param name="partition_type" type="select" label="Partition type for depth of coverage" multiple="True" display="checkboxes">
+ <option value="sample" selected="True">sample</option>
+ <option value="readgroup">readgroup</option>
+ <option value="library">library</option>
+ </param>
+
+ <repeat name="summary_coverage_threshold_group" title="Summary coverage threshold">
+ <param name="summary_coverage_threshold" type="integer" value="15" label="for summary file outputs, report the % of bases covered to >= this number" />
+ </repeat>
+
+ <param name="output_format" type="select" label="Output format" >
+ <option value="csv">csv</option>
+ <option value="table">table</option>
+ <option value="rtable" selected="True">rtable</option>
+ </param>
+
+ <conditional name="gatk_param_type">
+ <param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options">
+ <option value="basic" selected="True">Basic</option>
+ <option value="advanced">Advanced</option>
+ </param>
+ <when value="basic">
+ <!-- Do nothing here -->
+ </when>
+ <when value="advanced">
+ <repeat name="sample_metadata" title="Sample Metadata">
+ <param name="sample_metadata_file" type="data" format="txt" label="Sample file in JSON format" />
+ </repeat>
+ <repeat name="read_filter" title="Read Filter">
+ <conditional name="read_filter_type">
+ <param name="read_filter_type_selector" type="select" label="Read Filter Type">
+ <option value="MaxReadLength" selected="True">MaxReadLength</option>
+ <option value="ZeroMappingQualityRead">ZeroMappingQualityRead</option>
+ </param>
+ <when value="ZeroMappingQualityRead">
+ <!-- no extra options -->
+ </when>
+ <when value="MaxReadLength">
+ <param name="maxReadLength" type="integer" value="76" label="Max Read Length"/>
+ </when>
+ </conditional>
+ </repeat>
+ <repeat name="input_interval_repeat" title="Operate on Genomic intervals">
+ <param name="input_intervals" type="data" format="bed,gatk_interval,picard_interval_list" label="Genomic intervals" />
+ </repeat>
+ <repeat name="input_exclude_interval_repeat" title="Exclude Genomic intervals">
+ <param name="input_exclude_intervals" type="data" format="bed,gatk_interval,picard_interval_list" label="Genomic intervals" />
+ </repeat>
+
+ <param name="BTI_merge_rule" type="select" label="BTI merge rule">
+ <option value="UNION" selected="True">UNION</option>
+ <option value="INTERSECTION">INTERSECTION</option>
+ </param>
+
+ <conditional name="downsampling_type">
+ <param name="downsampling_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type">
+ <option value="NONE" selected="True">NONE</option>
+ <option value="ALL_READS">ALL_READS</option>
+ <option value="BY_SAMPLE">BY_SAMPLE</option>
+ </param>
+ <when value="NONE">
+ <!-- no more options here -->
+ </when>
+ <when value="ALL_READS">
+ <conditional name="downsample_to_type">
+ <param name="downsample_to_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type">
+ <option value="downsample_to_fraction" selected="True">Downsample by Fraction</option>
+ <option value="downsample_to_coverage">Downsample by Coverage</option>
+ </param>
+ <when value="downsample_to_fraction">
+ <param name="downsample_to_value" type="float" label="Fraction [0.0-1.0] of reads to downsample to" value="1" min="0" max="1"/>
+ </when>
+ <when value="downsample_to_coverage">
+ <param name="downsample_to_value" type="integer" label="Coverage to downsample to at any given locus" value="0"/>
+ </when>
+ </conditional>
+ </when>
+ <when value="BY_SAMPLE">
+ <conditional name="downsample_to_type">
+ <param name="downsample_to_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type">
+ <option value="downsample_to_fraction" selected="True">Downsample by Fraction</option>
+ <option value="downsample_to_coverage">Downsample by Coverage</option>
+ </param>
+ <when value="downsample_to_fraction">
+ <param name="downsample_to_value" type="float" label="Fraction [0.0-1.0] of reads to downsample to" value="1" min="0" max="1"/>
+ </when>
+ <when value="downsample_to_coverage">
+ <param name="downsample_to_value" type="integer" label="Coverage to downsample to at any given locus" value="0"/>
+ </when>
+ </conditional>
+ </when>
+ </conditional>
+ <param name="baq" type="select" label="Type of BAQ calculation to apply in the engine">
+ <option value="OFF" selected="True">OFF</option>
+ <option value="CALCULATE_AS_NECESSARY">CALCULATE_AS_NECESSARY</option>
+ <option value="RECALCULATE">RECALCULATE</option>
+ </param>
+ <param name="baq_gap_open_penalty" type="float" label="BAQ gap open penalty (Phred Scaled)" value="40" help="Default value is 40. 30 is perhaps better for whole genome call sets."/>
+ <param name="use_original_qualities" type="boolean" truevalue="--useOriginalQualities" falsevalue="" label="Use the original base quality scores from the OQ tag" />
+ <param name="default_base_qualities" type="integer" label="Value to be used for all base quality scores, when some are missing" value="-1"/>
+ <param name="validation_strictness" type="select" label="How strict should we be with validation">
+ <option value="STRICT" selected="True">STRICT</option>
+ <option value="LENIENT">LENIENT</option>
+ <option value="SILENT">SILENT</option>
+ <!-- <option value="DEFAULT_STRINGENCY">DEFAULT_STRINGENCY</option> listed in docs, but not valid value...-->
+ </param>
+ <param name="interval_merging" type="select" label="Interval merging rule">
+ <option value="ALL" selected="True">ALL</option>
+ <option value="OVERLAPPING_ONLY">OVERLAPPING_ONLY</option>
+ </param>
+
+ <repeat name="read_group_black_list_repeat" title="Read group black list">
+ <conditional name="read_group_black_list_type">
+ <param name="read_group_black_list_type_selector" type="select" label="Type of reads read group black list">
+ <option value="file" selected="True">Filters in file</option>
+ <option value="text">Specify filters as a string</option>
+ </param>
+ <when value="file">
+ <param name="read_group_black_list" type="data" format="txt" label="Read group black list file" />
+ </when>
+ <when value="text">
+ <param name="read_group_black_list" type="text" value="tag:string" label="Read group black list tag:string" />
+ </when>
+ </conditional>
+ </repeat>
+
+ <param name="disable_experimental_low_memory_sharding" type="boolean" truevalue="--disable_experimental_low_memory_sharding" falsevalue="" label="Disable experimental low-memory sharding functionality." checked="False"/>
+ <param name="non_deterministic_random_seed" type="boolean" truevalue="--nonDeterministicRandomSeed" falsevalue="" label="Makes the GATK behave non deterministically, that is, the random numbers generated will be different in every run" checked="False" />
+
+ </when>
+ </conditional>
+
+ <conditional name="analysis_param_type">
+ <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options">
+ <option value="basic" selected="True">Basic</option>
+ <option value="advanced">Advanced</option>
+ </param>
+ <when value="basic">
+ <!-- Do nothing here -->
+ </when>
+ <when value="advanced">
+ <param name="ignore_deletion_sites" type="boolean" truevalue="--ignoreDeletionSites" falsevalue="" checked="False" label="Ignore sites consisting only of deletions" />
+ <param name="include_deletions" type="boolean" truevalue="--includeDeletions" falsevalue="" checked="False" label="Include information on deletions" />
+ <param name="max_base_quality" type="integer" value="127" label="Maximum quality of bases to count towards depth" />
+ <param name="min_base_quality" type="integer" value="-1" label="Minimum quality of bases to count towards depth" />
+ <param name="max_mapping_quality" type="integer" value="2147483647" label="Maximum mapping quality of reads to count towards depth." />
+ <param name="min_mapping_quality" type="integer" value="127" label="Minimum mapping quality of reads to count towards depth" />
+ <param name="n_bins" type="integer" value="499" label="Number of bins to use for granular binning" />
+ <param name="omit_depth_output_at_each_base" type="boolean" truevalue="--omitDepthOutputAtEachBase" falsevalue="" checked="False" label="Omit the output of the depth of coverage at each base" />
+ <param name="omit_interval_statistics" type="boolean" truevalue="--omitIntervalStatistics" falsevalue="" checked="False" label="Omit the per-interval statistics section" />
+ <param name="omit_locus_table" type="boolean" truevalue="--omitLocusTable" falsevalue="" checked="False" label="Do not calculate the per-sample per-depth counts of loci" />
+ <param name="omit_per_sample_stats" type="boolean" truevalue="--omitPerSampleStats" falsevalue="" checked="False" label="Omit the summary files per-sample." />
+ <param name="print_base_counts" type="boolean" truevalue="--printBaseCounts" falsevalue="" checked="False" label="Add base counts to per-locus output" />
+ <param name="print_bin_endpoints_and_exit" type="boolean" truevalue="--printBinEndpointsAndExit" falsevalue="" checked="False" label="Print the bin values and exits immediately" />
+ <param name="start" type="integer" value="1" label="Starting (left endpoint) for granular binning" />
+ <param name="stop" type="integer" value="500" label="Ending (right endpoint) for granular binning" />
+ </when>
+ </conditional>
+ </inputs>
+ <outputs>
+ <data format="tabular" name="output_per_locus_coverage" label="${tool.name} on ${on_string} (per locus coverage)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_summary_sample" label="${tool.name} on ${on_string} (output summary sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_statistics_sample" label="${tool.name} on ${on_string} (output statistics sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_summary_sample" label="${tool.name} on ${on_string} (output interval summary sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_statistics_sample" label="${tool.name} on ${on_string} (output interval statistics sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_summary_sample" label="${tool.name} on ${on_string} (output gene summary sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_statistics_sample" label="${tool.name} on ${on_string} (output gene statistics sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_counts_sample" label="${tool.name} on ${on_string} (output cumulative coverage counts sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_proportions_sample" label="${tool.name} on ${on_string} (output cumulative coverage proportions sample)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'sample' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+
+ <data format="tabular" name="output_summary_readgroup" label="${tool.name} on ${on_string} (output summary readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_statistics_readgroup" label="${tool.name} on ${on_string} (output statistics readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_summary_readgroup" label="${tool.name} on ${on_string} (output interval summary readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_statistics_readgroup" label="${tool.name} on ${on_string} (output interval statistics readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_summary_readgroup" label="${tool.name} on ${on_string} (output gene summary readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'readgroup' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_statistics_readgroup" label="${tool.name} on ${on_string} (output gene statistics readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'readgroup' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_counts_readgroup" label="${tool.name} on ${on_string} (output cumulative coverage counts readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_proportions_readgroup" label="${tool.name} on ${on_string} (output cumulative coverage proportions readgroup)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>'readgroup' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+
+ <data format="tabular" name="output_summary_library" label="${tool.name} on ${on_string} (output summary library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_statistics_library" label="${tool.name} on ${on_string} (output statistics library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_per_sample_stats'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_summary_library" label="${tool.name} on ${on_string} (output interval summary library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_interval_statistics_library" label="${tool.name} on ${on_string} (output interval statistics library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <filter>gatk_param_type['gatk_param_type_selector'] == "advanced" and len( gatk_param_type['input_interval_repeat'] )</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_interval_statistics'] == False</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_summary_library" label="${tool.name} on ${on_string} (output gene summary library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'library' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_gene_statistics_library" label="${tool.name} on ${on_string} (output gene statistics library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>input_calculate_coverage_over_genes is not None and 'library' in partition_type or not partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_counts_library" label="${tool.name} on ${on_string} (output cumulative coverage counts library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+ <data format="tabular" name="output_cumulative_coverage_proportions_library" label="${tool.name} on ${on_string} (output cumulative coverage proportions library)" >
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['omit_depth_output_at_each_base'] == False</filter>
+ <filter>analysis_param_type['analysis_param_type_selector'] == "basic" or analysis_param_type['print_bin_endpoints_and_exit'] == False</filter>
+ <filter>'library' in partition_type</filter>
+ <actions>
+ <conditional name="output_format">
+ <when value="rtable">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ <when value="csv">
+ <action type="format">
+ <option type="from_param" name="output_format" />
+ </action>
+ </when>
+ </conditional>
+ </actions>
+ </data>
+
+ <data format="tabular" name="output_log" label="${tool.name} on ${on_string} (log)" />
+ </outputs>
+ <trackster_conf/>
+ <tests>
+ <test>
+ <param name="reference_source_selector" value="history" />
+ <param name="ref_file" value="phiX.fasta" ftype="fasta" />
+ <param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" />
+ <param name="input_calculate_coverage_over_genes" />
+ <param name="partition_type" value="sample" />
+ <param name="summary_coverage_threshold_group" value="0" />
+ <param name="output_format" value="rtable" />
+ <param name="gatk_param_type_selector" value="basic" />
+ <param name="analysis_param_type_selector" value="basic" />
+ <output name="output_per_locus_coverage" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_per_locus_coverage.tabular" />
+ <output name="output_summary_sample" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_summary_sample.tabular" />
+ <output name="output_statistics_sample" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_statistics_sample.tabular" />
+ <output name="output_cumulative_coverage_counts_sample" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_cumulative_coverage_counts_sample.tabular" />
+ <output name="output_cumulative_coverage_proportions_sample" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1_output_output_cumulative_coverage_proportions_sample.tabular" />
+ <output name="output_log" file="gatk/gatk_depth_of_coverage/gatk_depth_of_coverage_out_1.log.contains" compare="contains" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+DepthOfCoverage processes a set of bam files to determine coverage at different levels of partitioning and aggregation. Coverage can be analyzed per locus, per interval, per gene, or in total; can be partitioned by sample, by read group, by technology, by center, or by library; and can be summarized by mean, median, quartiles, and/or percentage of bases covered to or beyond a threshold. Additionally, reads and bases can be filtered by mapping or base quality score.
+
+For more information on the GATK Depth of Coverage, see this `tool specific page <http://www.broadinstitute.org/gsa/wiki/index.php/Depth_of_Coverage>`_.
+
+To learn about best practices for variant detection using GATK, see this `overview <http://www.broadinstitute.org/gsa/wiki/index.php/Best_Practice_Variant_Detection_with_the_GATK_v3>`_.
+
+If you encounter errors, please view the `GATK FAQ <http://www.broadinstitute.org/gsa/wiki/index.php/Frequently_Asked_Questions>`_.
+
+------
+
+**Inputs**
+
+GenomeAnalysisTK: DepthOfCoverage accepts aligned BAM input files.
+
+
+**Outputs**
+
+The output is in various table formats.
+
+
+Go `here <http://www.broadinstitute.org/gsa/wiki/index.php/Input_files_for_the_GATK>`_ for details on GATK file formats.
+
+-------
+
+**Settings**::
+
+ calculateCoverageOverGenes File NA Calculate the coverage statistics over this list of genes. Currently accepts RefSeq.
+ ignoreDeletionSites boolean false Ignore sites consisting only of deletions
+ includeDeletions boolean false Include information on deletions
+ maxBaseQuality byte 127 Maximum quality of bases to count towards depth. Defaults to 127 (Byte.MAX_VALUE).
+ maxMappingQuality int 2147483647 Maximum mapping quality of reads to count towards depth. Defaults to 2^31-1 (Integer.MAX_VALUE).
+ minBaseQuality byte -1 Minimum quality of bases to count towards depth. Defaults to -1.
+ minMappingQuality int -1 Minimum mapping quality of reads to count towards depth. Defaults to -1.
+ nBins int 499 Number of bins to use for granular binning
+ omitDepthOutputAtEachBase boolean false Will omit the output of the depth of coverage at each base, which should result in speedup
+ omitIntervalStatistics boolean false Will omit the per-interval statistics section, which should result in speedup
+ omitLocusTable boolean false Will not calculate the per-sample per-depth counts of loci, which should result in speedup
+ omitPerSampleStats boolean false Omits the summary files per-sample. These statistics are still calculated, so this argument will not improve runtime.
+ outputFormat String rtable the format of the output file (e.g. csv, table, rtable); defaults to r-readable table
+ partitionType Set[Partition] [sample] Partition type for depth of coverage. Defaults to sample. Can be any combination of sample, readgroup, library.
+ printBaseCounts boolean false Will add base counts to per-locus output.
+ printBinEndpointsAndExit boolean false Prints the bin values and exits immediately. Use to calibrate what bins you want before running on data.
+ start int 1 Starting (left endpoint) for granular binning
+ stop int 500 Ending (right endpoint) for granular binning
+ summaryCoverageThreshold int[] [15] for summary file outputs, report the % of bases coverd to >= this number. Defaults to 15; can take multiple arguments.
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `DePristo MA, Banks E, Poplin R, Garimella KV, Maguire JR, Hartl C, Philippakis AA, del Angel G, Rivas MA, Hanna M, McKenna A, Fennell TJ, Kernytsky AM, Sivachenko AY, Cibulskis K, Gabriel SB, Altshuler D, Daly MJ. A framework for variation discovery and genotyping using next-generation DNA sequencing data. Nat Genet. 2011 May;43(5):491-8. <http://www.ncbi.nlm.nih.gov/pubmed/21478889>`_
+
+If you use this tool in Galaxy, please cite Blankenberg D, et al. *In preparation.*
+
+ </help>
+</tool>
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 commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/16cf802f9211/
changeset: 16cf802f9211
user: dan
date: 2011-11-17 17:13:53
summary: Update GATK to version 1.3.
affected #: 19 files
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_analyze_covariates/gatk_analyze_covariates_out_1.html
--- a/test-data/gatk/gatk_analyze_covariates/gatk_analyze_covariates_out_1.html
+++ b/test-data/gatk/gatk_analyze_covariates/gatk_analyze_covariates_out_1.html
@@ -6,12 +6,29 @@
<p/><ul><li><a href="A Fake phiX Sample.CycleCovariate.dat">A Fake phiX Sample.CycleCovariate.dat</a></li>
+<li><a href="A Fake phiX Sample.CycleCovariate.dat.Cycle_hist.pdf">A Fake phiX Sample.CycleCovariate.dat.Cycle_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.CycleCovariate.dat.qual_diff_v_Cycle.pdf">A Fake phiX Sample.CycleCovariate.dat.qual_diff_v_Cycle.pdf</a></li>
+<li><a href="A Fake phiX Sample.CycleCovariate.dat.reported_qual_v_Cycle.pdf">A Fake phiX Sample.CycleCovariate.dat.reported_qual_v_Cycle.pdf</a></li><li><a href="A Fake phiX Sample.DinucCovariate.dat">A Fake phiX Sample.DinucCovariate.dat</a></li>
+<li><a href="A Fake phiX Sample.DinucCovariate.dat.Dinuc_hist.pdf">A Fake phiX Sample.DinucCovariate.dat.Dinuc_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.DinucCovariate.dat.qual_diff_v_Dinuc.pdf">A Fake phiX Sample.DinucCovariate.dat.qual_diff_v_Dinuc.pdf</a></li>
+<li><a href="A Fake phiX Sample.DinucCovariate.dat.reported_qual_v_Dinuc.pdf">A Fake phiX Sample.DinucCovariate.dat.reported_qual_v_Dinuc.pdf</a></li><li><a href="A Fake phiX Sample.HomopolymerCovariate.dat">A Fake phiX Sample.HomopolymerCovariate.dat</a></li>
+<li><a href="A Fake phiX Sample.HomopolymerCovariate.dat.Homopolymer_hist.pdf">A Fake phiX Sample.HomopolymerCovariate.dat.Homopolymer_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.HomopolymerCovariate.dat.qual_diff_v_Homopolymer.pdf">A Fake phiX Sample.HomopolymerCovariate.dat.qual_diff_v_Homopolymer.pdf</a></li>
+<li><a href="A Fake phiX Sample.HomopolymerCovariate.dat.reported_qual_v_Homopolymer.pdf">A Fake phiX Sample.HomopolymerCovariate.dat.reported_qual_v_Homopolymer.pdf</a></li><li><a href="A Fake phiX Sample.MinimumNQSCovariate.dat">A Fake phiX Sample.MinimumNQSCovariate.dat</a></li>
+<li><a href="A Fake phiX Sample.MinimumNQSCovariate.dat.MinimumNQS_hist.pdf">A Fake phiX Sample.MinimumNQSCovariate.dat.MinimumNQS_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.MinimumNQSCovariate.dat.qual_diff_v_MinimumNQS.pdf">A Fake phiX Sample.MinimumNQSCovariate.dat.qual_diff_v_MinimumNQS.pdf</a></li>
+<li><a href="A Fake phiX Sample.MinimumNQSCovariate.dat.reported_qual_v_MinimumNQS.pdf">A Fake phiX Sample.MinimumNQSCovariate.dat.reported_qual_v_MinimumNQS.pdf</a></li><li><a href="A Fake phiX Sample.PositionCovariate.dat">A Fake phiX Sample.PositionCovariate.dat</a></li>
+<li><a href="A Fake phiX Sample.PositionCovariate.dat.Position_hist.pdf">A Fake phiX Sample.PositionCovariate.dat.Position_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.PositionCovariate.dat.qual_diff_v_Position.pdf">A Fake phiX Sample.PositionCovariate.dat.qual_diff_v_Position.pdf</a></li>
+<li><a href="A Fake phiX Sample.PositionCovariate.dat.reported_qual_v_Position.pdf">A Fake phiX Sample.PositionCovariate.dat.reported_qual_v_Position.pdf</a></li><li><a href="A Fake phiX Sample.QualityScoreCovariate.dat">A Fake phiX Sample.QualityScoreCovariate.dat</a></li>
-<li><a href="A.qual_diff_v_Fake.pdf">A.qual_diff_v_Fake.pdf</a></li>
+<li><a href="A Fake phiX Sample.QualityScoreCovariate.dat.quality_emp_hist.pdf">A Fake phiX Sample.QualityScoreCovariate.dat.quality_emp_hist.pdf</a></li>
+<li><a href="A Fake phiX Sample.QualityScoreCovariate.dat.quality_emp_v_stated.pdf">A Fake phiX Sample.QualityScoreCovariate.dat.quality_emp_v_stated.pdf</a></li>
+<li><a href="A Fake phiX Sample.QualityScoreCovariate.dat.quality_rep_hist.pdf">A Fake phiX Sample.QualityScoreCovariate.dat.quality_rep_hist.pdf</a></li></ul></body></html>
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_count_covariates/gatk_count_covariates_out_1.log.contains
--- a/test-data/gatk/gatk_count_covariates/gatk_count_covariates_out_1.log.contains
+++ b/test-data/gatk/gatk_count_covariates/gatk_count_covariates_out_1.log.contains
@@ -11,4 +11,3 @@
CountCovariatesWalker - Writing raw recalibration data...
CountCovariatesWalker - ...done!
TraversalEngine - Total runtime
-TraversalEngine - 0 reads were filtered out during traversal out of 20 total (0.00%)
\ No newline at end of file
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains
--- a/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains
+++ b/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains
@@ -10,4 +10,3 @@
UnifiedGenotyper - % confidently called bases of callable loci 100.000
UnifiedGenotyper - Actual calls made 1
TraversalEngine - Total runtime
-TraversalEngine - 0 reads were filtered out during traversal out of 20 total (0.00%)
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
--- a/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
+++ b/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
@@ -25,4 +25,4 @@
##contig=<ID=phiX174,length=5386>
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . 0 . DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
--- a/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
+++ b/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
@@ -28,4 +28,4 @@
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . 0 . DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
--- a/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
+++ b/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
@@ -30,4 +30,4 @@
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=0;DB;DP=10;MQ=37.74;MQ0=0;QD=0.00;set=ReferenceInAll GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=0;DP=10;MQ=37.74;MQ0=0;QD=0.00;set=ReferenceInAll GT:DP:PL ./.:10:0,0,0
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/analyze_covariates.xml
--- a/tools/gatk/analyze_covariates.xml
+++ b/tools/gatk/analyze_covariates.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_analyze_covariates" name="Analyze Covariates" version="0.0.3">
+<tool id="gatk_analyze_covariates" name="Analyze Covariates" version="0.0.4"><description>- draw plots</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
@@ -13,8 +13,7 @@
-outputDir "${output_html.files_path}"
##--num_threads 4 ##hard coded, for now
##-log "${output_log}"
- ##-Rscript,--path_to_Rscript path_to_Rscript; on path is good enough
- -resources "${GALAXY_DATA_INDEX_DIR}/gatk/R"
+ ##-Rscript,--path_to_Rscript path_to_Rscript; on path is good enough
#if $analysis_param_type.analysis_param_type_selector == "advanced":
--ignoreQ "${analysis_param_type.ignore_q}"
--numRG "${analysis_param_type.num_read_groups}"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/count_covariates.xml
--- a/tools/gatk/count_covariates.xml
+++ b/tools/gatk/count_covariates.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_count_covariates" name="Count Covariates" version="0.0.3">
+<tool id="gatk_count_covariates" name="Count Covariates" version="0.0.4"><description>on BAM files</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/indel_realigner.xml
--- a/tools/gatk/indel_realigner.xml
+++ b/tools/gatk/indel_realigner.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_indel_realigner" name="Indel Realigner" version="0.0.4">
+<tool id="gatk_indel_realigner" name="Indel Realigner" version="0.0.5"><description>- perform local realignment</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/realigner_target_creator.xml
--- a/tools/gatk/realigner_target_creator.xml
+++ b/tools/gatk/realigner_target_creator.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_realigner_target_creator" name="Realigner Target Creator" version="0.0.3">
+<tool id="gatk_realigner_target_creator" name="Realigner Target Creator" version="0.0.4"><description>for use in local realignment</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/table_recalibration.xml
--- a/tools/gatk/table_recalibration.xml
+++ b/tools/gatk/table_recalibration.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_table_recalibration" name="Table Recalibration" version="0.0.3">
+<tool id="gatk_table_recalibration" name="Table Recalibration" version="0.0.4"><description>on BAM files</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/unified_genotyper.xml
--- a/tools/gatk/unified_genotyper.xml
+++ b/tools/gatk/unified_genotyper.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_unified_genotyper" name="Unified Genotyper" version="0.0.3">
+<tool id="gatk_unified_genotyper" name="Unified Genotyper" version="0.0.4"><description>SNP and indel caller</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
@@ -104,7 +104,6 @@
--output_mode "${analysis_param_type.output_mode}"
${analysis_param_type.compute_SLOD}
--min_base_quality_score "${analysis_param_type.min_base_quality_score}"
- --min_mapping_quality_score "${analysis_param_type.min_mapping_quality_score}"
--max_deletion_fraction "${analysis_param_type.max_deletion_fraction}"
--min_indel_count_for_genotyping "${analysis_param_type.min_indel_count_for_genotyping}"
--indel_heterozygosity "${analysis_param_type.indel_heterozygosity}"
@@ -343,7 +342,6 @@
</param><param name="compute_SLOD" type="boolean" truevalue="--computeSLOD" falsevalue="" label="Compute the SLOD" /><param name="min_base_quality_score" type="integer" value="17" label="Minimum base quality required to consider a base for calling" />
- <param name="min_mapping_quality_score" type="integer" value="20" label="Minimum read mapping quality required to consider a read for calling" /><param name="max_deletion_fraction" type="float" value="0.05" label="Maximum fraction of reads with deletions spanning this locus for it to be callable" help="to disable, set to < 0 or > 1" /><param name="min_indel_count_for_genotyping" type="integer" value="5" label="Minimum number of consensus indels required to trigger genotyping run" /><param name="indel_heterozygosity" type="float" value="0.000125" label="Heterozygosity for indel calling" help="1.0/8000==0.000125"/>
@@ -417,7 +415,6 @@
<param name="output_mode" value="EMIT_ALL_CONFIDENT_SITES" /><param name="compute_SLOD" /><param name="min_base_quality_score" value="17" />
- <param name="min_mapping_quality_score" value="20" /><param name="max_deletion_fraction" value="-1" /><param name="min_indel_count_for_genotyping" value="2" /><param name="indel_heterozygosity" value="0.000125" />
@@ -471,7 +468,6 @@
standard_min_confidence_threshold_for_emitting The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold)
noSLOD If provided, we will not calculate the SLOD
min_base_quality_score Minimum base quality required to consider a base for calling
- min_mapping_quality_score Minimum read mapping quality required to consider a read for calling
max_deletion_fraction Maximum fraction of reads with deletions spanning this locus for it to be callable [to disable, set to < 0 or > 1; default:0.05]
min_indel_count_for_genotyping Minimum number of consensus indels required to trigger genotyping run
indel_heterozygosity Heterozygosity for indel calling
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_annotator.xml
--- a/tools/gatk/variant_annotator.xml
+++ b/tools/gatk/variant_annotator.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_annotator" name="Variant Annotator" version="0.0.2">
+<tool id="gatk_variant_annotator" name="Variant Annotator" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_apply_recalibration.xml
--- a/tools/gatk/variant_apply_recalibration.xml
+++ b/tools/gatk/variant_apply_recalibration.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_apply_recalibration" name="Apply Variant Recalibration" version="0.0.2">
+<tool id="gatk_variant_apply_recalibration" name="Apply Variant Recalibration" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_combine.xml
--- a/tools/gatk/variant_combine.xml
+++ b/tools/gatk/variant_combine.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_combine" name="Combine Variants" version="0.0.2">
+<tool id="gatk_variant_combine" name="Combine Variants" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_eval.xml
--- a/tools/gatk/variant_eval.xml
+++ b/tools/gatk/variant_eval.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_eval" name="Eval Variants" version="0.0.2">
+<tool id="gatk_variant_eval" name="Eval Variants" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_filtration.xml
--- a/tools/gatk/variant_filtration.xml
+++ b/tools/gatk/variant_filtration.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_filtration" name="Variant Filtration" version="0.0.2">
+<tool id="gatk_variant_filtration" name="Variant Filtration" version="0.0.3"><description>on VCF files</description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variant_recalibrator.xml
--- a/tools/gatk/variant_recalibrator.xml
+++ b/tools/gatk/variant_recalibrator.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_variant_recalibrator" name="Variant Recalibrator" version="0.0.2">
+<tool id="gatk_variant_recalibrator" name="Variant Recalibrator" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
diff -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed -r 16cf802f921189fd5d2a8cba4a04926065afff1c tools/gatk/variants_validate.xml
--- a/tools/gatk/variants_validate.xml
+++ b/tools/gatk/variants_validate.xml
@@ -1,7 +1,7 @@
-<tool id="gatk_validate_variants" name="Validate Variants" version="0.0.2">
+<tool id="gatk_validate_variants" name="Validate Variants" version="0.0.3"><description></description><requirements>
- <requirement type="package" version="1.2">gatk</requirement>
+ <requirement type="package" version="1.3">gatk</requirement></requirements><command interpreter="python">gatk_wrapper.py
--max_jvm_heap_fraction "1"
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: When fetching BAM data for Trackster, use BAI from metadata when possible rather than waiting for converted dataset with duplicate BAI.
by Bitbucket 17 Nov '11
by Bitbucket 17 Nov '11
17 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/12ecc1ea2821/
changeset: 12ecc1ea2821
user: jgoecks
date: 2011-11-17 15:12:19
summary: When fetching BAM data for Trackster, use BAI from metadata when possible rather than waiting for converted dataset with duplicate BAI.
affected #: 1 file
diff -r 486196344e13fcf1d6826ce714bf05cca4e6f6a7 -r 12ecc1ea2821255e81e4fb6de402108e4f30e0ed lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -607,8 +607,16 @@
else:
tracks_dataset_type = data_sources['data']['name']
data_provider_class = get_data_provider( name=tracks_dataset_type, original_dataset=dataset )
- converted_dataset = dataset.get_converted_dataset( trans, tracks_dataset_type )
- deps = dataset.get_converted_dataset_deps( trans, tracks_dataset_type )
+ # HACK: Use bai from bam HDA's metadata if available. This saves
+ # the client from waiting a long time to generate a duplicate
+ # bam via a converted dataset.
+ if dataset.ext == "bam" and dataset.metadata.get( "bam_index", None ) is not None:
+ converted_dataset = dataset.metadata.bam_index
+ deps = None
+ else:
+ # Default behavior.
+ converted_dataset = dataset.get_converted_dataset( trans, tracks_dataset_type )
+ deps = dataset.get_converted_dataset_deps( trans, tracks_dataset_type )
data_provider = data_provider_class( converted_dataset=converted_dataset, original_dataset=dataset, dependencies=deps )
# Get and return data from data_provider.
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: epaniagu: fix tool_form.mako js typo affecting "drill_down" input
by Bitbucket 17 Nov '11
by Bitbucket 17 Nov '11
17 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/7f59c8839d75/
changeset: 7f59c8839d75
user: epaniagu
date: 2011-11-16 23:25:26
summary: fix tool_form.mako js typo affecting "drill_down" input
affected #: 1 file
diff -r aeb72f7dc945f5c51270f6757b6ec6b2d5544cba -r 7f59c8839d75208ebcf02cda1b4f28865e0967d6 templates/tool_form.mako
--- a/templates/tool_form.mako
+++ b/templates/tool_form.mako
@@ -38,7 +38,7 @@
parent_li.find( 'span' ).wrapInner( '<a/>' ).find( 'a' ).click( function() {
sub_ul.toggle();
- (this).html( sub_ul.is(":hidden") ? '[+]' : '[-]' );
+ $(this).html( sub_ul.is(":hidden") ? '[+]' : '[-]' );
});
parent_li.append( sub_ul );
});
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: Refactor data providers to use the get_iterator/process_data framework whenever providing individual data points.
by Bitbucket 16 Nov '11
by Bitbucket 16 Nov '11
16 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/9b7d5c1c0be6/
changeset: 9b7d5c1c0be6
user: jgoecks
date: 2011-11-16 23:53:27
summary: Refactor data providers to use the get_iterator/process_data framework whenever providing individual data points.
affected #: 1 file
diff -r aeb72f7dc945f5c51270f6757b6ec6b2d5544cba -r 9b7d5c1c0be64f903a928758b256326692fb0f2d lib/galaxy/visualization/tracks/data_providers.py
--- a/lib/galaxy/visualization/tracks/data_providers.py
+++ b/lib/galaxy/visualization/tracks/data_providers.py
@@ -84,6 +84,21 @@
# Override.
pass
+ def get_iterator( self, chrom, start, end ):
+ """
+ Returns an iterator that provides data in the region chrom:start-end
+ """
+ # Override.
+ pass
+
+ def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
+ """
+ Process data from an iterator to a format that can be provided to client.
+ """
+ # Override.
+ pass
+
+
def get_data( self, chrom, start, end, start_val=0, max_vals=None, **kwargs ):
"""
Returns data in region defined by chrom, start, and end. start_val and
@@ -93,8 +108,8 @@
Return value must be a dictionary with the following attributes:
dataset_type, data
"""
- # Override.
- pass
+ iterator = self.get_iterator( chrom, start, end )
+ return self.process_data( iterator, start_val, max_vals, **kwargs )
def get_filters( self ):
"""
@@ -236,8 +251,6 @@
bgzip_fname = self.dependencies['bgzip'].file_name
- # if os.path.getsize(self.converted_dataset.file_name) == 0:
- # return { 'kind': messages.ERROR, 'message': "Tabix converted size was 0, meaning the input file had invalid values." }
tabix = ctabix.Tabixfile(bgzip_fname, index_filename=self.converted_dataset.file_name)
# If chrom is not found in indexes, try removing the first three
@@ -248,11 +261,7 @@
chrom = chrom[3:]
return tabix.fetch(reference=chrom, start=start, end=end)
-
- def get_data( self, chrom, start, end, start_val=0, max_vals=None, **kwargs ):
- iterator = self.get_iterator( chrom, start, end )
- return self.process_data( iterator, start_val, max_vals, **kwargs )
-
+
def write_data_to_file( self, chrom, start, end, filename ):
iterator = self.get_iterator( chrom, start, end )
out = open( filename, "w" )
@@ -273,11 +282,7 @@
def get_iterator( self, chrom, start, end ):
raise "Unimplemented Method"
-
- def get_data( self, chrom, start, end, start_val=0, max_vals=None, **kwargs ):
- iterator = self.get_iterator( chrom, start, end )
- return self.process_data( iterator, start_val, max_vals, **kwargs )
-
+
def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
"""
Provides
@@ -392,14 +397,6 @@
col_name_data_attr_mapping = { 'Qual' : { 'index': 6 , 'name' : 'Qual' } }
-
- def get_iterator( self, chrom, start, end ):
- raise "Unimplemented Method"
-
- def get_data( self, chrom, start, end, start_val=0, max_vals=None, **kwargs ):
- iterator = self.get_iterator( chrom, start, end )
- return self.process_data( iterator, start_val, max_vals, **kwargs )
-
def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
"""
Returns a dict with the following attributes:
@@ -607,11 +604,32 @@
# Cleanup.
bamfile.close()
-
- def get_data( self, chrom, start, end, start_val=0, max_vals=sys.maxint, **kwargs ):
+
+ def get_iterator( self, chrom, start, end ):
"""
- Fetch reads in the region and additional metadata.
+ Returns an iterator that provides data in the region chrom:start-end
+ """
+ start, end = int(start), int(end)
+ orig_data_filename = self.original_dataset.file_name
+ index_filename = self.converted_dataset.file_name
+ # Attempt to open the BAM file with index
+ bamfile = csamtools.Samfile( filename=orig_data_filename, mode='rb', index_filename=index_filename )
+ try:
+ data = bamfile.fetch(start=start, end=end, reference=chrom)
+ except ValueError, e:
+ # Some BAM files do not prefix chromosome names with chr, try without
+ if chrom.startswith( 'chr' ):
+ try:
+ data = bamfile.fetch( start=start, end=end, reference=chrom[3:] )
+ except ValueError:
+ return None
+ else:
+ return None
+ return data
+
+ def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
+ """
Returns a dict with the following attributes:
data - a list of reads with the format
[<guid>, <start>, <end>, <name>, <read_1>, <read_2>]
@@ -628,26 +646,6 @@
max_high - highest coordinate for the returned reads
message - error/informative message
"""
- start, end = int(start), int(end)
- orig_data_filename = self.original_dataset.file_name
- index_filename = self.converted_dataset.file_name
- no_detail = "no_detail" in kwargs
-
- # Attempt to open the BAM file with index
- bamfile = csamtools.Samfile( filename=orig_data_filename, mode='rb', index_filename=index_filename )
- message = None
- try:
- data = bamfile.fetch(start=start, end=end, reference=chrom)
- except ValueError, e:
- # Some BAM files do not prefix chromosome names with chr, try without
- if chrom.startswith( 'chr' ):
- try:
- data = bamfile.fetch( start=start, end=end, reference=chrom[3:] )
- except ValueError:
- return None
- else:
- return None
-
# Decode strand from read flag.
def decode_strand( read_flag, mask ):
strand_flag = ( read_flag & mask == 0 )
@@ -660,7 +658,8 @@
results = []
paired_pending = {}
unmapped = 0
- for count, read in enumerate( data ):
+ message = None
+ for count, read in enumerate( iterator ):
if count < start_val:
continue
if ( count - start_val - unmapped ) >= max_vals:
@@ -720,8 +719,8 @@
results.append( [ "%i_%s" % ( read_start, qname ), read_start, read_end, qname, r1, r2 ] )
- # Clean up.
- bamfile.close()
+ # Clean up. TODO: is this needed? If so, we'll need a cleanup function after processing the data.
+ # bamfile.close()
max_low, max_high = get_bounds( results, 1, 2 )
@@ -848,13 +847,15 @@
for interval in feature.intervals:
out.write(interval.raw_line + '\n')
out.close()
-
- def get_data( self, chrom, start, end, start_val=0, max_vals=sys.maxint, **kwargs ):
+
+ def get_iterator( self, chrom, start, end ):
+ """
+ Returns an array with values: (a) source file and (b) an iterator that
+ provides data in the region chrom:start-end
+ """
start, end = int(start), int(end)
source = open( self.original_dataset.file_name )
index = Indexes( self.converted_dataset.file_name )
- results = []
- message = None
# If chrom is not found in indexes, try removing the first three
# characters (e.g. 'chr') and see if that works. This enables the
@@ -862,6 +863,13 @@
chrom = str(chrom)
if chrom not in index.indexes and chrom[3:] in index.indexes:
chrom = chrom[3:]
+
+ return index.find(chrom, start, end)
+
+ def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
+ results = []
+ message = None
+ source = open( self.original_dataset.file_name )
#
# Build data to return. Payload format is:
@@ -872,7 +880,7 @@
#
filter_cols = from_json_string( kwargs.get( "filter_cols", "[]" ) )
no_detail = ( "no_detail" in kwargs )
- for count, val in enumerate( index.find(chrom, start, end) ):
+ for count, val in enumerate( iterator ):
start, end, offset = val[0], val[1], val[2]
if count < start_val:
continue
@@ -899,14 +907,24 @@
NOTE: this data provider does not use indices, and hence will be very slow
for large datasets.
"""
- def get_data( self, chrom, start, end, start_val=0, max_vals=sys.maxint, **kwargs ):
+
+ def get_iterator( self, chrom, start, end ):
+ """
+ Returns an iterator that provides data in the region chrom:start-end
+ """
start, end = int( start ), int( end )
source = open( self.original_dataset.file_name )
+ return GFFReaderWrapper( source, fix_strand=True )
+
+ def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ):
+ """
+ Process data from an iterator to a format that can be provided to client.
+ """
results = []
message = None
offset = 0
- for count, feature in enumerate( GFFReaderWrapper( source, fix_strand=True ) ):
+ for count, feature in enumerate( iterator ):
if count < start_val:
continue
if count-start_val >= max_vals:
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: Update Tophat functional tests for tool version 1.3.3
by Bitbucket 16 Nov '11
by Bitbucket 16 Nov '11
16 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/aeb72f7dc945/
changeset: aeb72f7dc945
user: jgoecks
date: 2011-11-16 22:10:29
summary: Update Tophat functional tests for tool version 1.3.3
affected #: 2 files
diff -r 68099c26be37cb39063ebd2dea3f9d0eb21af83e -r aeb72f7dc945f5c51270f6757b6ec6b2d5544cba test-data/tophat_out2j.bed
--- a/test-data/tophat_out2j.bed
+++ b/test-data/tophat_out2j.bed
@@ -1,3 +1,3 @@
track name=junctions description="TopHat junctions"
-test_chromosome 180 402 JUNC00000001 49 + 180 402 255,0,0 2 70,52 0,170
-test_chromosome 349 550 JUNC00000002 38 + 349 550 255,0,0 2 51,50 0,151
+test_chromosome 177 400 JUNC00000001 61 + 177 400 255,0,0 2 73,50 0,173
+test_chromosome 350 550 JUNC00000002 45 + 350 550 255,0,0 2 50,50 0,150
diff -r 68099c26be37cb39063ebd2dea3f9d0eb21af83e -r aeb72f7dc945f5c51270f6757b6ec6b2d5544cba test-data/tophat_out3j.bed
--- a/test-data/tophat_out3j.bed
+++ b/test-data/tophat_out3j.bed
@@ -1,3 +1,3 @@
track name=junctions description="TopHat junctions"
-test_chromosome 180 400 JUNC00000001 26 + 180 400 255,0,0 2 70,50 0,170
-test_chromosome 349 550 JUNC00000002 22 + 349 550 255,0,0 2 51,50 0,151
+test_chromosome 177 400 JUNC00000001 32 + 177 400 255,0,0 2 73,50 0,173
+test_chromosome 350 550 JUNC00000002 26 + 350 550 255,0,0 2 50,50 0,150
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
3 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/f31e7076b885/
changeset: f31e7076b885
branch: updates-for-tophat-1.3.1+
user: jjohnson
date: 2011-11-03 16:30:36
summary: Tophat - update tool wrappers for Tophat version 1.3.1+
affected #: 3 files
diff -r 0cdd7bb67d95efd4a5cfc9219a36f4f6232a243a -r f31e7076b885b0a1b36969f6c293c075ddc4943a tools/ngs_rna/tophat_color_wrapper.xml
--- a/tools/ngs_rna/tophat_color_wrapper.xml
+++ b/tools/ngs_rna/tophat_color_wrapper.xml
@@ -40,15 +40,18 @@
-g $singlePaired.sParams.max_multihits
--min-segment-intron $singlePaired.sParams.min_segment_intron
--max-segment-intron $singlePaired.sParams.max_segment_intron
+ --initial-read-mismatches=$singlePaired.sParams.initial_read_mismatches
--seg-mismatches=$singlePaired.sParams.seg_mismatches
--seg-length=$singlePaired.sParams.seg_length
--library-type=$singlePaired.sParams.library_type
## Indel search.
#if $singlePaired.sParams.indel_search.allow_indel_search == "Yes":
- --allow-indels
+ ## --allow-indels
--max-insertion-length $singlePaired.sParams.indel_search.max_insertion_length
--max-deletion-length $singlePaired.sParams.indel_search.max_deletion_length
+ #else:
+ --no-novel-indels
#end if
## Supplying junctions parameters.
@@ -99,15 +102,18 @@
-g $singlePaired.pParams.max_multihits
--min-segment-intron $singlePaired.pParams.min_segment_intron
--max-segment-intron $singlePaired.pParams.max_segment_intron
+ --initial-read-mismatches=$singlePaired.pParams.initial_read_mismatches
--seg-mismatches=$singlePaired.pParams.seg_mismatches
--seg-length=$singlePaired.pParams.seg_length
--library-type=$singlePaired.pParams.library_type
## Indel search.
#if $singlePaired.pParams.indel_search.allow_indel_search == "Yes":
- --allow-indels
+ ## --allow-indels
--max-insertion-length $singlePaired.pParams.indel_search.max_insertion_length
--max-deletion-length $singlePaired.pParams.indel_search.max_deletion_length
+ #else:
+ --no-novel-indels
#end if
## Supplying junctions parameters.
@@ -203,6 +209,7 @@
<param name="max_multihits" type="integer" value="40" label="Maximum number of alignments to be allowed" /><param name="min_segment_intron" type="integer" value="50" label="Minimum intron length that may be found during split-segment (default) search" /><param name="max_segment_intron" type="integer" value="500000" label="Maximum intron length that may be found during split-segment (default) search" />
+ <param name="initial_read_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in the initial read mapping" /><param name="seg_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in each segment alignment for reads mapped independently" /><param name="seg_length" type="integer" value="25" label="Minimum length of read segments" />
@@ -309,6 +316,7 @@
<param name="max_multihits" type="integer" value="40" label="Maximum number of alignments to be allowed" /><param name="min_segment_intron" type="integer" value="50" label="Minimum intron length that may be found during split-segment (default) search" /><param name="max_segment_intron" type="integer" value="500000" label="Maximum intron length that may be found during split-segment (default) search" />
+ <param name="initial_read_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in the initial read mapping" /><param name="seg_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in each segment alignment for reads mapped independently" /><param name="seg_length" type="integer" value="25" label="Minimum length of read segments" /><!-- Options for supplying own junctions. -->
diff -r 0cdd7bb67d95efd4a5cfc9219a36f4f6232a243a -r f31e7076b885b0a1b36969f6c293c075ddc4943a tools/ngs_rna/tophat_wrapper.py
--- a/tools/ngs_rna/tophat_wrapper.py
+++ b/tools/ngs_rna/tophat_wrapper.py
@@ -29,10 +29,11 @@
help='The maximum intron length. When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read.' )
parser.add_option( '-F', '--junction_filter', dest='junction_filter', help='Filter out junctions supported by too few alignments (number of reads divided by average depth of coverage)' )
parser.add_option( '-g', '--max_multihits', dest='max_multihits', help='Maximum number of alignments to be allowed' )
+ parser.add_option( '', '--initial-read-mismatches', dest='initial_read_mismatches', help='Number of mismatches allowed in the initial read mapping' )
parser.add_option( '', '--seg-mismatches', dest='seg_mismatches', help='Number of mismatches allowed in each segment alignment for reads mapped independently' )
parser.add_option( '', '--seg-length', dest='seg_length', help='Minimum length of read segments' )
parser.add_option( '', '--library-type', dest='library_type', help='TopHat will treat the reads as strand specific. Every read alignment will have an XS attribute tag. Consider supplying library type options below to select the correct RNA-seq protocol.' )
- parser.add_option( '', '--allow-indels', action="store_true", help='Allow indel search. Indel search is disabled by default.' )
+ parser.add_option( '', '--allow-indels', action="store_true", help='Allow indel search. Indel search is disabled by default.(Not used since version 1.3.0)' )
parser.add_option( '', '--max-insertion-length', dest='max_insertion_length', help='The maximum insertion length. The default is 3.' )
parser.add_option( '', '--max-deletion-length', dest='max_deletion_length', help='The maximum deletion length. The default is 3.' )
@@ -50,6 +51,7 @@
sequence, inclusive.')
parser.add_option( '', '--no-novel-juncs', action="store_true", dest='no_novel_juncs', help="Only look for junctions indicated in the \
supplied GFF file. (ignored without -G)")
+ parser.add_option( '', '--no-novel-indels', action="store_true", dest='no_novel_indels', help="Skip indel search. Indel search is enabled by default.")
# Types of search.
parser.add_option( '', '--microexon-search', action="store_true", dest='microexon_search', help='With this option, the pipeline will attempt to find alignments incident to microexons. Works only for reads 50bp or longer.')
parser.add_option( '', '--closure-search', action="store_true", dest='closure_search', help='Enables the mate pair closure-based search for junctions. Closure-based search should only be used when the expected inner distance between mates is small (<= 50bp)')
@@ -160,12 +162,16 @@
opts += ' --no-novel-juncs'
if options.library_type:
opts += ' --library-type %s' % options.library_type
- if options.allow_indels:
- # Max options do not work for Tophat v1.2.0, despite documentation to the contrary.
- opts += ' --allow-indels'
- #opts += ' --max-insertion-length %i --max-deletion-length %i' % ( int( options.max_insertion_length ), int( options.max_deletion_length ) )
+ if options.no_novel_indels:
+ opts += ' --no-novel-indels'
+ else:
+ if options.max_insertion_length:
+ opts += ' --max-insertion-length %i' % int( options.max_insertion_length )
+ if options..max_deletion_length:
+ opts += ' --max-deletion-length %i' % int( options.max_deletion_length )
+ # Max options do not work for Tophat v1.2.0, despite documentation to the contrary. (Fixed in version 1.3.1)
# need to warn user of this fact
- sys.stdout.write( "Max insertion length and max deletion length options don't work in Tophat v1.2.0\n" )
+ #sys.stdout.write( "Max insertion length and max deletion length options don't work in Tophat v1.2.0\n" )
# Search type options.
if options.coverage_search:
@@ -180,6 +186,8 @@
opts += ' --microexon-search'
if options.single_paired == 'paired':
opts += ' --mate-std-dev %s' % options.mate_std_dev
+ if options.initial_read_mismatches:
+ opts += ' --initial-read-mismatches %d' % int( options.initial_read_mismatches )
if options.seg_mismatches:
opts += ' --segment-mismatches %d' % int( options.seg_mismatches )
if options.seg_length:
diff -r 0cdd7bb67d95efd4a5cfc9219a36f4f6232a243a -r f31e7076b885b0a1b36969f6c293c075ddc4943a tools/ngs_rna/tophat_wrapper.xml
--- a/tools/ngs_rna/tophat_wrapper.xml
+++ b/tools/ngs_rna/tophat_wrapper.xml
@@ -38,15 +38,18 @@
-g $singlePaired.sParams.max_multihits
--min-segment-intron $singlePaired.sParams.min_segment_intron
--max-segment-intron $singlePaired.sParams.max_segment_intron
+ --initial-read-mismatches=$singlePaired.sParams.initial_read_mismatches
--seg-mismatches=$singlePaired.sParams.seg_mismatches
--seg-length=$singlePaired.sParams.seg_length
--library-type=$singlePaired.sParams.library_type
## Indel search.
#if $singlePaired.sParams.indel_search.allow_indel_search == "Yes":
- --allow-indels
+ ## --allow-indels
--max-insertion-length $singlePaired.sParams.indel_search.max_insertion_length
--max-deletion-length $singlePaired.sParams.indel_search.max_deletion_length
+ #else:
+ --no-novel-indels
#end if
## Supplying junctions parameters.
@@ -97,15 +100,18 @@
-g $singlePaired.pParams.max_multihits
--min-segment-intron $singlePaired.pParams.min_segment_intron
--max-segment-intron $singlePaired.pParams.max_segment_intron
+ --initial-read-mismatches=$singlePaired.pParams.initial_read_mismatches
--seg-mismatches=$singlePaired.pParams.seg_mismatches
--seg-length=$singlePaired.pParams.seg_length
--library-type=$singlePaired.pParams.library_type
## Indel search.
#if $singlePaired.pParams.indel_search.allow_indel_search == "Yes":
- --allow-indels
+ ## --allow-indels
--max-insertion-length $singlePaired.pParams.indel_search.max_insertion_length
--max-deletion-length $singlePaired.pParams.indel_search.max_deletion_length
+ #else:
+ --no-novel-indels
#end if
## Supplying junctions parameters.
@@ -201,6 +207,7 @@
<param name="max_multihits" type="integer" value="40" label="Maximum number of alignments to be allowed" /><param name="min_segment_intron" type="integer" value="50" label="Minimum intron length that may be found during split-segment (default) search" /><param name="max_segment_intron" type="integer" value="500000" label="Maximum intron length that may be found during split-segment (default) search" />
+ <param name="initial_read_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in the initial read mapping" /><param name="seg_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in each segment alignment for reads mapped independently" /><param name="seg_length" type="integer" value="25" label="Minimum length of read segments" />
@@ -307,6 +314,7 @@
<param name="max_multihits" type="integer" value="40" label="Maximum number of alignments to be allowed" /><param name="min_segment_intron" type="integer" value="50" label="Minimum intron length that may be found during split-segment (default) search" /><param name="max_segment_intron" type="integer" value="500000" label="Maximum intron length that may be found during split-segment (default) search" />
+ <param name="initial_read_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in the initial read mapping" /><param name="seg_mismatches" type="integer" min="0" max="3" value="2" label="Number of mismatches allowed in each segment alignment for reads mapped independently" /><param name="seg_length" type="integer" value="25" label="Minimum length of read segments" /><!-- Options for supplying own junctions. -->
https://bitbucket.org/galaxy/galaxy-central/changeset/3b176f04a8b8/
changeset: 3b176f04a8b8
branch: updates-for-tophat-1.3.1+
user: jjohnson
date: 2011-11-03 16:40:49
summary: Tophat - Indel search should be default option
affected #: 2 files
diff -r f31e7076b885b0a1b36969f6c293c075ddc4943a -r 3b176f04a8b852a6af12e7bf017d44019874ca62 tools/ngs_rna/tophat_color_wrapper.xml
--- a/tools/ngs_rna/tophat_color_wrapper.xml
+++ b/tools/ngs_rna/tophat_color_wrapper.xml
@@ -196,8 +196,8 @@
<param name="max_intron_length" type="integer" value="500000" label="The maximum intron length" help="When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read." /><conditional name="indel_search"><param name="allow_indel_search" type="select" label="Allow indel search">
+ <option value="Yes">Yes</option><option value="No">No</option>
- <option value="Yes">Yes</option></param><when value="No"/><when value="Yes">
@@ -303,8 +303,8 @@
<param name="max_intron_length" type="integer" value="500000" label="The maximum intron length" help="When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read." /><conditional name="indel_search"><param name="allow_indel_search" type="select" label="Allow indel search">
+ <option value="Yes">Yes</option><option value="No">No</option>
- <option value="Yes">Yes</option></param><when value="No"/><when value="Yes">
diff -r f31e7076b885b0a1b36969f6c293c075ddc4943a -r 3b176f04a8b852a6af12e7bf017d44019874ca62 tools/ngs_rna/tophat_wrapper.xml
--- a/tools/ngs_rna/tophat_wrapper.xml
+++ b/tools/ngs_rna/tophat_wrapper.xml
@@ -194,8 +194,8 @@
<param name="max_intron_length" type="integer" value="500000" label="The maximum intron length" help="When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read." /><conditional name="indel_search"><param name="allow_indel_search" type="select" label="Allow indel search">
+ <option value="Yes">Yes</option><option value="No">No</option>
- <option value="Yes">Yes</option></param><when value="No"/><when value="Yes">
@@ -301,8 +301,8 @@
<param name="max_intron_length" type="integer" value="500000" label="The maximum intron length" help="When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read." /><conditional name="indel_search"><param name="allow_indel_search" type="select" label="Allow indel search">
+ <option value="Yes">Yes</option><option value="No">No</option>
- <option value="Yes">Yes</option></param><when value="No"/><when value="Yes">
https://bitbucket.org/galaxy/galaxy-central/changeset/6483b3fbf1d6/
changeset: 6483b3fbf1d6
branch: updates-for-tophat-1.3.1+
user: jjohnson
date: 2011-11-03 17:09:35
summary: Tophat - fix typo in code.
affected #: 1 file
diff -r 3b176f04a8b852a6af12e7bf017d44019874ca62 -r 6483b3fbf1d689ae02e9eff2ee8cfaa38412fcbc tools/ngs_rna/tophat_wrapper.py
--- a/tools/ngs_rna/tophat_wrapper.py
+++ b/tools/ngs_rna/tophat_wrapper.py
@@ -167,7 +167,7 @@
else:
if options.max_insertion_length:
opts += ' --max-insertion-length %i' % int( options.max_insertion_length )
- if options..max_deletion_length:
+ if options.max_deletion_length:
opts += ' --max-deletion-length %i' % int( options.max_deletion_length )
# Max options do not work for Tophat v1.2.0, despite documentation to the contrary. (Fixed in version 1.3.1)
# need to warn user of this fact
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
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/72cbac1ff125/
changeset: 72cbac1ff125
user: natefoo
date: 2011-11-16 19:38:24
summary: Make linking data in a library upload a job parameter so it can be checked
during job finish to ensure the linked files are not overwritten when using
outputs_to_working_directory. This special-case fix is a temporary solution
that should be removed as soon as we have a smarter way to handle "immutable
outputs."
affected #: 4 files
diff -r 537a42e5d26578413f20b369643110404502b7c3 -r 72cbac1ff125c8133f4ba4e6c2607d816dcd8e56 lib/galaxy/jobs/__init__.py
--- a/lib/galaxy/jobs/__init__.py
+++ b/lib/galaxy/jobs/__init__.py
@@ -541,7 +541,7 @@
self.version_string = open(version_filename).read()
os.unlink(version_filename)
- if self.app.config.outputs_to_working_directory:
+ if self.app.config.outputs_to_working_directory and not self.__link_file_check():
for dataset_path in self.get_output_fnames():
try:
shutil.move( dataset_path.false_path, dataset_path.real_path )
@@ -879,6 +879,15 @@
else:
return 'anonymous@unknown'
+ def __link_file_check( self ):
+ """ outputs_to_working_directory breaks library uploads where data is
+ linked. This method is a hack that solves that problem, but is
+ specific to the upload tool and relies on an injected job param. This
+ method should be removed ASAP and replaced with some properly generic
+ and stateful way of determining link-only datasets. -nate
+ """
+ return self.tool.id == 'upload1' and self.param_dict.get( 'link_data_only', None ) == 'link_to_files'
+
class TaskWrapper(JobWrapper):
"""
Extension of JobWrapper intended for running tasks.
diff -r 537a42e5d26578413f20b369643110404502b7c3 -r 72cbac1ff125c8133f4ba4e6c2607d816dcd8e56 lib/galaxy/tools/actions/upload.py
--- a/lib/galaxy/tools/actions/upload.py
+++ b/lib/galaxy/tools/actions/upload.py
@@ -25,4 +25,4 @@
json_file_path = upload_common.create_paramfile( trans, uploaded_datasets )
data_list = [ ud.data for ud in uploaded_datasets ]
- return upload_common.create_job( trans, incoming, tool, json_file_path, data_list, return_job=True )
+ return upload_common.create_job( trans, incoming, tool, json_file_path, data_list )
diff -r 537a42e5d26578413f20b369643110404502b7c3 -r 72cbac1ff125c8133f4ba4e6c2607d816dcd8e56 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py
+++ b/lib/galaxy/tools/actions/upload_common.py
@@ -294,7 +294,7 @@
json_file.write( to_json_string( json ) + '\n' )
json_file.close()
return json_file_path
-def create_job( trans, params, tool, json_file_path, data_list, folder=None, return_job=False ):
+def create_job( trans, params, tool, json_file_path, data_list, folder=None ):
"""
Create the upload job.
"""
@@ -341,10 +341,7 @@
output = odict()
for i, v in enumerate( data_list ):
output[ 'output%i' % i ] = v
- if return_job:
- return job, output
- else:
- return output
+ return job, output
def active_folders( trans, folder ):
# Stolen from galaxy.web.controllers.library_common (importing from which causes a circular issues).
# Much faster way of retrieving all active sub-folders within a given folder than the
diff -r 537a42e5d26578413f20b369643110404502b7c3 -r 72cbac1ff125c8133f4ba4e6c2607d816dcd8e56 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py
+++ b/lib/galaxy/web/controllers/library_common.py
@@ -1045,7 +1045,12 @@
status='error' ) )
json_file_path = upload_common.create_paramfile( trans, uploaded_datasets )
data_list = [ ud.data for ud in uploaded_datasets ]
- return upload_common.create_job( trans, tool_params, tool, json_file_path, data_list, folder=library_bunch.folder )
+ job, output = upload_common.create_job( trans, tool_params, tool, json_file_path, data_list, folder=library_bunch.folder )
+ # HACK: Prevent outputs_to_working_directory from overwriting inputs when "linking"
+ job.add_parameter( 'link_data_only', to_json_string( kwd.get( 'link_data_only', 'copy_files' ) ) )
+ trans.sa_session.add( job )
+ trans.sa_session.flush()
+ return output
def make_library_uploaded_dataset( self, trans, cntrller, params, name, path, type, library_bunch, in_folder=None ):
library_bunch.replace_dataset = None # not valid for these types of upload
uploaded_dataset = util.bunch.Bunch()
https://bitbucket.org/galaxy/galaxy-central/changeset/c658f8f1e6ea/
changeset: c658f8f1e6ea
user: natefoo
date: 2011-11-16 19:53:05
summary: Bugfix for the last commit, since JobWrapper.param_dict doesn't exist after a server restart.
affected #: 1 file
diff -r 72cbac1ff125c8133f4ba4e6c2607d816dcd8e56 -r c658f8f1e6ea651c7d9f7fc2ca77512cad6beeb5 lib/galaxy/jobs/__init__.py
--- a/lib/galaxy/jobs/__init__.py
+++ b/lib/galaxy/jobs/__init__.py
@@ -886,7 +886,9 @@
method should be removed ASAP and replaced with some properly generic
and stateful way of determining link-only datasets. -nate
"""
- return self.tool.id == 'upload1' and self.param_dict.get( 'link_data_only', None ) == 'link_to_files'
+ job = self.get_job()
+ param_dict = job.get_param_values( self.app )
+ return self.tool.id == 'upload1' and param_dict.get( 'link_data_only', None ) == 'link_to_files'
class TaskWrapper(JobWrapper):
"""
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