Skip to content
Snippets Groups Projects
Commit e9f114ca authored by cramakri's avatar cramakri
Browse files

LMS-2784 Sort the list of plasmids

SVN: 24382
parent accb0a35
No related branches found
No related tags found
No related merge requests found
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html> <html>
<head> <head>
<title>YeastLab Browser</title> <title>Plasmid Browser</title>
<link type="text/css" rel="stylesheet" href="body-style.css" /> <link type="text/css" rel="stylesheet" href="body-style.css" />
<link type="text/css" rel="stylesheet" href="button.css" /> <link type="text/css" rel="stylesheet" href="button.css" />
<script type="text/javascript" src="d3.js"></script> <script type="text/javascript" src="d3.js"></script>
...@@ -10,12 +10,20 @@ ...@@ -10,12 +10,20 @@
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="openbis.js"></script> <script type="text/javascript" src="openbis.js"></script>
<!-- To speed development, cache the requests --> <!-- To speed development, cache the requests -->
<!-- <script type="text/javascript" src="openbis-request-cache.js"></script> --> <script type="text/javascript" src="openbis-request-cache.js"></script>
<script> <script>
/// The openbisServer we use for our data /// The openbisServer we use for our data
openbisServer = new openbis('https://openbis-csb.ethz.ch/openbis/openbis', 'https://openbis-csb.ethz.ch:443/datastore_server'); openbisServer = new openbis('https://openbis-csb.ethz.ch/openbis/openbis', 'https://openbis-csb.ethz.ch:443/datastore_server');
// Some global variables we refer to
/// All plasmids
var plasmids = null;
/// The plasmids that are currently being inspected
var inspectedPlasmids = [];
function getAppHeight(){ function getAppHeight(){
return Math.max($(window).height() - 50, getVisibleLeafsCountForNode(root) * 30); return Math.max($(window).height() - 50, getVisibleLeafsCountForNode(root) * 30);
} }
...@@ -84,6 +92,37 @@ function props_to_pairs(d) ...@@ -84,6 +92,37 @@ function props_to_pairs(d)
return pairs; return pairs;
} }
/** Initialize the plasmids variable */
function initializePlasmids(result)
{
// Split the plasmids into two groups, the ones that start with FRP in their sample name and the other ones.
var frpPlasmids = [], otherPlasmids = [];
var frpRegex = /^FRP[0-9]+/;
frpRegex.compile(frpRegex);
result.forEach(function(sample) {
if (frpRegex.test(sample.code)) {
frpPlasmids.push(sample);
} else {
otherPlasmids.push(sample);
}
});
// Sort each of the groups
otherPlasmids.sort(function(a, b) {
return (a.code < b.code) ? -1 : 1;
});
frpPlasmids.sort(function(a, b) {
// Sort based on the FRP number
var frpNumberA = parseInt(a.code.substring(3));
var frpNumberB = parseInt(b.code.substring(3));
return (frpNumberA < frpNumberB) ? -1 : 1;
});
// Combine the two groups back together to produce the full collection of plasmids
plasmids = frpPlasmids.concat(otherPlasmids);
}
function inspectPlasmid(data) function inspectPlasmid(data)
{ {
console.log(data); console.log(data);
...@@ -100,12 +139,17 @@ function displayReturnedSamples(data) ...@@ -100,12 +139,17 @@ function displayReturnedSamples(data)
return; return;
} }
initializePlasmids(data.result);
// This will show the object in the log -- helpful for debugging // This will show the object in the log -- helpful for debugging
// console.log(data.result); // console.log(data.result);
var samplesToShow = data.result if (plasmids.length < 1) {
vis.append("p").text("No data found.");
return;
}
// Pick the table element of the visualization // Pick the table element of the visualization
d3.select("#vis").select("#plasmid-table").selectAll("tr.plasmid-table-data").data(samplesToShow) d3.select("#vis").select("#plasmid-table").selectAll("tr.plasmid-table-data").data(plasmids)
// Code under enter is run if there is no HTML element for a data element // Code under enter is run if there is no HTML element for a data element
.enter() .enter()
.append("tr") .append("tr")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment