EdgeExpressDB

 view release on metacpan or  search on metacpan

www/edgeexpress/view/edgeExpress.js  view on Meta::CPAN

				url+=","+node.value;	
		}
	}
	else if(document.getElementById("L3").checked)
	{
		poptions = document.getElementById("L3Promoters");
		url+='&names=';
		comma = "";
		for(i=0; i<poptions.childNodes.length; i++)
		{
			node = poptions.childNodes[i];
			if(node.type == 'checkbox' && node.checked)
			{	url+=comma+node.value;	 comma=","; }
		}	
	}
	
	url+= "&type="+ (type==null?"cage,illumina,qrt-pcr":type);
	rows = feature.getData();
	if(rows[0]["featuresource/@category"]!=null && rows[0]["featuresource/@category"]=="miRBase")
	{ 
		url += (rows[0]["featuresource/@name"]=="miRBase_mature"?",miRNA&mature=true":",miRNA&mature=false");	
	}
	
	dataset = "";
	if(document.getElementById("riken1").checked)
		dataset += "1";
	if(document.getElementById("riken3").checked)
	{
		if(dataset.length>0)
			dataset+=",";
		dataset+="3";
	}
	if(document.getElementById("riken6").checked)
	{
		if(dataset.length>0)
			dataset+=",";
		dataset+="6";
	}
	if(dataset.length>0)
		url += "&dataset="+dataset;

	if(size!=null)
		url += "&size="+size;
	else
	{
		document.getElementById("expressionGraphs").innerHTML="<br><br><br><br><br><br><br>Fetching Expression Data.....<br><br><br><br><br><br><br>";
		document.getElementById("graphValues").innerHTML="";
	}
			
	url += "&rnd="+Math.random();
	url = url.replace(/[\+]/g,'%2B'); 

	expressXMLHttp=GetXmlHttpObject()
	if (expressXMLHttp==null)
	{
	  alert ("Your browser does not support AJAX!");
	  return;
	}	
 
	if(size!=null)
		expressXMLHttp.onreadystatechange=popupGraph;
	else
		expressXMLHttp.onreadystatechange=displayGraph;
	expressXMLHttp.open("GET",url,true);
	expressXMLHttp.send(null);
}

function popupGraph()
{
	if(expressXMLHttp.readyState==4)
	{
		var xmlDoc=expressXMLHttp.responseXML.documentElement;
		nodes = xmlDoc.getElementsByTagName("graph");
		window.open(imageURL+nodes[0].getAttribute("url"),'largeGraph');
	}
}

function displayGraph()
{
	valuesrx = /([\d\.-]+)/g;

	if (expressXMLHttp!=null && expressXMLHttp.readyState==4)
	{
		if(expressXMLHttp==null || expressXMLHttp.responseXML==null || expressXMLHttp.responseXML.documentElement==null)
		{
			//alert('Problem fetching Expression Data!');
			document.getElementById("expressionGraphs").innerHTML="<br><br>Error retrieving expression data.";
			return;
		}
		
		var xmlDoc=expressXMLHttp.responseXML.documentElement;
		var imageTable = "<table width=\"100%\" border=\"0\"><tr>";
		var dataTable = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
		var dataHeader="";
		var nodes;
		var dataFound = false;


		for(i=0; i<xmlDoc.childNodes.length; i++)
		{				
			nodes = xmlDoc.getElementsByTagName("graph");
			if(nodes==null || nodes[i]==null)
			{
				continue;
			}
			dataFound = true;

			width = 100/nodes.length;

			if(nodes[i].getAttribute("url")!=null)
				imageTable+="<td align=\"center\" width=\""+width+"%\">"
					+"<a href=\"#\" onClick=\"window.open('graphLoading.html','largeGraph');updateGraphs('large','"+nodes[i].getAttribute("type") +"');return false;\">"
					+"<img border=\"0\" src=\""+imageURL+nodes[i].getAttribute("url")+"\"></a></td>";

			genes = nodes[i].getElementsByTagName("gene");
			dataTable+="<td valign=\"top\" align=\"center\" width=\""+width+"%\"><table border=\"1\" class=\"small\" cellpadding=\"0\" cellspacing=\"0\">";
			for(n=0; n<genes.length; n++)
			{

				values = genes[n].getAttribute("data").match(valuesrx);

				if(n==0)
				{
					dataTable+="<tr><th>&nbsp;</th>";
					for(v=0; v<values.length; v+=2)
						dataTable+="<th>"+values[v]+"</th>";
					dataTable+="</tr>";



( run in 0.613 second using v1.01-cache-2.11-cpan-364913b4093 )