# HG changeset patch
# User mzeidler
# Date 1380105902 14400
# Node ID cbd4d7e3f155badd289c4de548cb67d16de25a2f
# Parent 83f8da489fad0f1c10b610874ce3618c98a341f1
Uploaded
diff -r 83f8da489fad -r cbd4d7e3f155 jqBarGraph.2.1.js
--- a/jqBarGraph.2.1.js Tue Sep 24 18:59:40 2013 -0400
+++ b/jqBarGraph.2.1.js Wed Sep 25 06:45:02 2013 -0400
@@ -94,24 +94,39 @@
arr = opts[el.id];
data = arr.data;
-
+ if(arr.tab=='reads'){
+ val_index=0;
+ }
+ else{
+ val_index=1;
+ }
+
//check if array is bad or empty
if(data == undefined) {
$(el).html('There is not enought data for graph');
return;
}
- //sorting ascending or descending
- if(arr.sort == 'asc') data.sort(sortNumberAsc);
- if(arr.sort == 'desc') data.sort(sortNumberDesc);
+ //sorting ascending or descending
+ if(arr.tab == 'reads'){
+ if(arr.sort == 'asc'){
+ data.sort(sortReadsAsc);
+ }
+ if(arr.sort == 'desc'){
+ data.sort(sortReadsDesc);
+ }
+ }
+ if(arr.tab == 'basepairs'){
+ if(arr.sort == 'asc'){
+ data.sort(sortBasesAsc);
+ }
+ if(arr.sort == 'desc'){
+ data.sort(sortBasesDesc);
+ }
+ }
if(arr.sortBar == 'asc') sortBars(data, barAsc);
- if(arr.sortBar == 'desc')sortBars(data,barDesc);
- if(arr.tab=='reads'){
- val_index=0;
- }
- else{
- val_index=1;
-
- }
+ if(arr.sortBar == 'desc')sortBars(data, barDesc);
+
+
legend = '';
prefix = arr.prefix;
@@ -136,7 +151,8 @@
else{
val_index=1;
- }
+ }
+ console.log(arr.tab,arr.sort,val_index);
for(var val in data){
valueData = data[val][0];
@@ -263,8 +279,8 @@
$("#sortDesc"+el.id).click(function(){
if(opts[el.id].sort!='desc'){
opts[el.id].sort='desc';
- $('#'+el.id).html('');
- $('#'+el.id).jqbargraph(opts[el.id]);
+ $('#graphHolder'+el.id).html('');
+ $('#graphHolder'+el.id).jqbargraph(opts[el.id]);
}
});
@@ -287,7 +303,6 @@
$("#showBasepairs"+el.id).click(function(){
opts[el.id].tab='basepairs';
- $("#label"+el.id).html('Cumulative basepairs assigned to family');
$('#graphHolder'+el.id).html('');
$('#graphHolder'+el.id).jqbargraph(opts[el.id]);
@@ -296,7 +311,6 @@
});
$("#showReads"+el.id).click(function(){
opts[el.id].tab='reads';
- $("#label"+el.id).html('Cumulative reads assigned to family');
$('#graphHolder'+el.id).html('');
$('#graphHolder'+el.id).jqbargraph(opts[el.id]);
@@ -309,7 +323,11 @@
//position of title
if(arr.title){
$(el).wrap("
");
- $('#graphHolder'+el.id).prepend("Cumulative reads assigned to family
").css({ 'width' : arr.width+'px', 'text-align' : 'center' });
+ if(arr.tab=='reads'){
+ $('#graphHolder'+el.id).prepend("Cumulative reads assigned to family
").css({ 'width' : arr.width+'px', 'text-align' : 'center' });
+ }else{
+ $('#graphHolder'+el.id).prepend("Cumulative basepairs assigned to family
").css({ 'width' : arr.width+'px', 'text-align' : 'center' });
+ }
$('#graphHolder'+el.id).prepend(""+arr.title+"").css({ 'width' : arr.width+'px', 'text-align' : 'center' });
}
@@ -358,17 +376,18 @@
dict=arr.files;
generateDownloadLink = function(family,region,filetype){
- out="no file";
- if(searchArray("region_"+region+"_"+filetype,dict[family][region])!=-1){
+ out=" no file ";
+ console.log(dict[family][region]);
+ if($.inArray("region_"+region+"_"+filetype,dict[family][region])!=-1){
out="download";
}
return out;
};
generateShowLink = function(family,region){
- out="no image";
-
- if(searchArray("region_"+region+"_consensus.png",dict[family][region])!=-1){
+ out=" no image ";
+ console.log($.inArray("region_"+region+"_consensus.png",dict[family][region]));
+ if($.inArray("region_"+region+"_consensus.png",dict[family][region])!=-1){
out="show";
}
return out;
@@ -379,10 +398,11 @@
data = arr.data
for(var val in data){
for(var element in data[val][0]){
- dict[data[val][0][0][3]+"_"+data[val][1]][data[val][0][element][5]].push(data[val][0][element][0],data[val][0][element][1],data[val][0][element][4]);
+ dict[data[val][0][0][3]+"_"+data[val][1]][data[val][0][element][5]].push([data[val][0][element][0],data[val][0][element][1],data[val][0][element][4]]);
}
}
+
var div = document.getElementById("files" + elid);
div.innerHTML="";
out = "Files for Sample "+arr.sample+"
";
@@ -394,8 +414,11 @@
//out += ""+directory+"";
//out += ""+directory+" | "+region+" | "+dict[directory][region][5]+" | "+dict[directory][region][6]+" | "+dict[directory][region][7]+" | "+generateDownloadLink(directory,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(directory,region,"alignment.bam")+" | "+generateDownloadLink(directory,region,"consensus.fa")+" | "+generateShowLink(directory,region)+" "+generateDownloadLink(directory,region,"consensus.png")+" | ";
+
+ last = dict[directory][region][dict[directory][region].length-1];
+ console.log(last);
+ if(last instanceof Array && last[0]){
+ out += ""+directory+" | "+region+" | "+last[0]+" | "+last[1]+" | "+last[2]+" | "+generateDownloadLink(directory,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(directory,region,"alignment.bam")+" | "+generateDownloadLink(directory,region,"consensus.fa")+" | "+generateShowLink(directory,region)+" "+generateDownloadLink(directory,region,"consensus.png")+" |
";
}
}
out += "";
@@ -406,13 +429,13 @@
if (!region) {
for (var region in dict[dir]) {
if(dict[dir][region][5]){
- out += ""+dir+" | "+region+" | "+dict[dir][region][5]+" | "+dict[dir][region][6]+" | "+dict[dir][region][7]+" | "+generateDownloadLink(dir,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(dir,region,"alignment.bam")+" | "+generateDownloadLink(dir,region,"consensus.fa")+" | "+generateShowLink(dir,region)+" "+generateDownloadLink(dir,region,"consensus.png")+" |
";
+ out += ""+dir+" | "+region+" | "+last[0]+" | "+last[1]+" | "+last[2]+" | "+generateDownloadLink(dir,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(dir,region,"alignment.bam")+" | "+generateDownloadLink(dir,region,"consensus.fa")+" | "+generateShowLink(dir,region)+" "+generateDownloadLink(dir,region,"consensus.png")+" |
";
}
}
} else {
if(dict[dir][region][5]){
- out += ""+dir+" | "+region+" | "+dict[dir][region][5]+" | "+dict[dir][region][6]+" | "+dict[dir][region][7]+" | "+generateDownloadLink(dir,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(dir,region,"alignment.bam")+" | "+generateDownloadLink(dir,region,"consensus.fa")+" | "+generateShowLink(dir,region)+" "+generateDownloadLink(dir,region,"consensus.png")+" |
";
+ out += ""+dir+" | "+region+" | "+last[0]+" | "+last[1]+" | "+last[2]+" | "+generateDownloadLink(dir,region,"unaligned.fa.bzip2")+" | "+generateDownloadLink(dir,region,"alignment.bam")+" | "+generateDownloadLink(dir,region,"consensus.fa")+" | "+generateShowLink(dir,region)+" "+generateDownloadLink(dir,region,"consensus.png")+" |
";
}
}
}
@@ -457,12 +480,7 @@
$('.files'+elid).css({'height': curr_hei+'px', 'width':'915px','position':'relative', 'overflow' : 'auto','background-color':'#D0D0D0', 'border':'2px solid silver','border-radius':'10px','display':'block' }).animate({'height':hei+'px'}, 1000);
}
};
- searchArray = function(str, strArray){
- for (var j=0; jsum_b) return 1;
return 0;
+ }
+ function sortBasesAsc(a,b){
+ sum_a=0
+ for(var values in a){
+ if(a[values] instanceof Array){
+ for(var val in a[values]){
+ sum_a+=a[values][val][1];
+ }
+ }
+ }
+ sum_b=0
+ for(var values in b){
+ if(b[values] instanceof Array){
+ for(var val in b[values]){
+ sum_b+=b[values][val][1];
+ }
+ }
+ }
+
+ if (sum_asum_b) return 1;
+ return 0;
}
- function sortNumberDesc(a,b){
+ function sortReadsDesc(a,b){
sum_a=0
for(var values in a){
if(a[values] instanceof Array){
@@ -581,6 +621,28 @@
if (sum_a>sum_b) return -1;
return 0;
}
+ function sortBasesDesc(a,b){
+ sum_a=0
+ for(var values in a){
+ if(a[values] instanceof Array){
+ for(var val in a[values]){
+ sum_a+=a[values][val][1];
+ }
+ }
+ }
+ sum_b=0
+ for(var values in b){
+ if(b[values] instanceof Array){
+ for(var val in b[values]){
+ sum_b+=b[values][val][1];
+ }
+ }
+ }
+
+ if (sum_asum_b) return -1;
+ return 0;
+ }
function sortBars(data,fun){
for(var values in data){
@@ -591,6 +653,18 @@
data[values].push(last);
}
}
+
+ function sortBars(data,fun){
+ for(var values in data){
+ last = data[values].pop();
+ for(var val in data[values]){
+ data[values][val].sort(fun);
+ }
+ data[values].push(last);
+ }
+ }
+
+
function barAsc(a,b){
if(a[0]