alert(\"Sorry, you didn\'t input any gene, please try again!\");";
echo "";
}
$job = date("YMdHis");
$fp0 = fopen("../tmp/$job.txt","w");
fwrite($fp0,$gene);
foreach($amount as $value)
{
if($value == "positive"){
$positive=1;
}elseif($value == "negative"){
$negative=1;
}elseif($value == "PPI"){
$PPI=1;
}
}
trim($spe);
$con = mysql_connect("localhost","nobody");
mysql_select_db($spe,$con);
##### Fetch Co-expressed edge info from databases #####
$node = array();
$node1 = array();
$node2 = array();
$edge = array();
$tmp_edge = array();
if($positive == 1)
{
$query1=mysql_query("SELECT * FROM coexpress_positive_MR WHERE geneA = '$gene' or geneB = '$gene' limit 50");
while ($result=mysql_fetch_row($query1)){
array_push($node,$result[1]);
array_push($node,$result[0]);
$hash1{$result[0]}=2;
$hash1{$result[1]}=2;
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: '#f0a49a', strength: 10 } },\n"; ##第一层级
array_push($edge,$element);
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."positive\n";
//fwrite($fp3,$tmp_value);
array_push($tmp_edge,$tmp_value);
}
$node = array_flip(array_flip($node));
$arraykey = "''";
foreach($node as $sub_gene){
if($sub_gene == $gene){continue;}
$arraykey=$arraykey.",'$sub_gene'";
}
$query2=mysql_query("SELECT * FROM coexpress_positive_MR WHERE geneA in ($arraykey) and geneB in ($arraykey)"); ##用and保证检索到的relationship一定在一级node之间,避免result的栈太大
while ($result=mysql_fetch_row($query2)) {
//if($result[1] == $gene || $result[0] == $gene){continue;} ##跳到下一循环
if($hash1{$result[0]} && $hash1{$result[1]}){
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: '#f0a49a', strength: 5 } },\n";
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."positive\n";
}
array_push($edge,$element);
array_push($tmp_edge,$tmp_value);
}
}
##negative
if($negative ==1)
{
$query4=mysql_query("SELECT * FROM coexpress_negative_MR WHERE geneA = '$gene' or geneB = '$gene'");
while ($result=mysql_fetch_row($query4)){
array_push($node1,$result[1]);
array_push($node1,$result[0]);
$hash2{$result[0]}=2;
$hash2{$result[1]}=2;
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: '#96a1c2', strength: 10 } },\n"; ##第一层级
array_push($edge,$element);
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."negative\n";
//fwrite($fp3,$tmp_value);
array_push($tmp_edge,$tmp_value);
}
$node1 = array_flip(array_flip($node1));
$arraykey1 = "''";
foreach($node1 as $sub_gene){
if($sub_gene == $gene){continue;}
$arraykey1=$arraykey1.",'$sub_gene'";
}
$query5=mysql_query("SELECT * FROM coexpress_negative_MR WHERE geneA in ($arraykey1) and geneB in ($arraykey1)");
while ($result=mysql_fetch_row($query5)){
//if($result[1] == $gene || $result[0] == $gene){continue;} ##跳到下一循环
if($hash2{$result[0]} && $hash2{$result[1]}){
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: '#96a1c2', strength: 5 } },\n";
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."negative\n";
}
array_push($edge,$element);
//fwrite($fp3,$tmp_value);
array_push($tmp_edge,$tmp_value);
}
}
if($PPI ==1)
{
$query6=mysql_query("SELECT * FROM PPI WHERE geneA = '$gene' or geneB = '$gene'");
while ($result=mysql_fetch_row($query6)){
array_push($node2,$result[1]);
array_push($node2,$result[0]);
$hash3{$result[0]}=2;
$hash3{$result[1]}=2;
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: 'green', strength: 10 } },\n"; ##第一层级
array_push($edge,$element);
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."negative\n";
//fwrite($fp3,$tmp_value);
array_push($tmp_edge,$tmp_value);
}
$node2 = array_flip(array_flip($node2));
$arraykey1 = "''";
foreach($node2 as $sub_gene){
if($sub_gene == $gene){continue;}
$arraykey1=$arraykey1.",'$sub_gene'";
}
$query7=mysql_query("SELECT * FROM PPI WHERE geneA in ($arraykey1) and geneB in ($arraykey1)");
while ($result=mysql_fetch_row($query7)){
//if($result[1] == $gene || $result[0] == $gene){continue;} ##跳到下一循环
if($hash3{$result[0]} && $hash3{$result[1]}){
$element = "\t\t{ data: { source: '$result[0]', target: '$result[1]', faveColor: 'green', strength: 5 } },\n";
$tmp_value=$result[0]."\t".$result[1]."\t".$result[2]."\t".$result[3]."\t"."negative\n";
}
array_push($edge,$element);
//fwrite($fp3,$tmp_value);
array_push($tmp_edge,$tmp_value);
}
}
$nodeall=array_merge($node,$node1,$node2);
$nodeall = array_flip(array_flip($nodeall));
$edge = array_flip(array_flip($edge));
$tmp_edge = array_flip(array_flip($tmp_edge));
$edge_num=count($edge);
$node_num = count($nodeall);
shuffle($nodeall);
if ($edge_num == 0){
echo "";
echo "";
}
###### Visualizing nodes&edges #######
$fp1 = fopen("../tmp/node$job.inc","w");
for($i=0;$i<$node_num;$i++)
{
$query=mysql_query("SELECT * FROM ortholog_annotation WHERE gene = '$nodeall[$i]'");
$result=mysql_fetch_row($query);
if($result[1]==""){$result[1]="expressed protein";}
$result_P450=array();
$result_TF=array();
$result_PK=array();
$result_Ubs=array();
$result_CAZy=array();
$query_P450 = mysql_query("SELECT * from P450 WHERE geneid='$nodeall[$i]' ");
$result_P450=mysql_fetch_row($query_P450);
$query_TF = mysql_query("SELECT * from TF WHERE id='$nodeall[$i]' ");
$result_TF=mysql_fetch_row($query_TF);
$query_PK = mysql_query("SELECT * from PK WHERE id='$nodeall[$i]' ");
$result_PK=mysql_fetch_row($query_PK);
$query_Ubs = mysql_query("SELECT * from Ubs WHERE id='$nodeall[$i]' ");
$result_Ubs=mysql_fetch_row($query_Ubs);
$query_CAZy = mysql_query("SELECT * from CAZy WHERE id='$nodeall[$i]' ");
$result_CAZy=mysql_fetch_row($query_CAZy);
if(!$result_P450 && !$result_TF && !$result_PK && ! $result_Ubs && ! $result_CAZy)
{$genefamily="";}
else
{
$genefamily=";genefamily: ";
if($result_P450){$genefamily.="Cytochrome P450 Family ($result_P450[0])";}
if($result_TF) {$genefamily.="Transcription Factors Family ($result_TF[0])";}
if($result_PK) {$genefamily.="Protein Kinases Family ($result_PK[0])";}
if($result_Ubs) {$genefamily.="Ubiquitin Family ($result_Ubs[0])";}
if($result_CAZy){$genefamily.="Carbohydrate-Active enzymes Family ($result_CAZy[0])";}
}
$result_KEGG=array();
$query_KEGG = mysql_query("SELECT * from KEGG WHERE genes='$nodeall[$i]' ");
$result_KEGG=mysql_fetch_row($query_KEGG);
if(!$result_KEGG)
{$kegg="";}
else
{
$kegg=";KEGG: ";$en="($result_KEGG[3])";
$kegg.="$result_KEGG[0]";
while ($result_KEGG=mysql_fetch_row($query_KEGG)){
$kegg.=";$result_KEGG[0]";
}$kegg.="$en";
}
$result[1] = str_replace("'","\'",$result[1]);
$genefamily = str_replace("'","\'",$genefamily);
$kegg = str_replace("'","\'",$kegg);
if ($nodeall[$i]==$gene){
$element = "\t\t{ data: { id: '$nodeall[$i]', name: '$nodeall[$i]', weight: 70, faveColor: '#ffb82d', faveShape: 'ellipse', annotation: '$result[1]$genefamily$kegg' } },\n";
fwrite($fp1,$element);
}else{
$element = "\t\t{ data: { id: '$nodeall[$i]', name: '$nodeall[$i]', weight: 15, faveColor: '#91cfbe', faveShape: 'octagon', annotation: '$result[1]$genefamily$kegg' } },\n";
fwrite($fp1,$element);
}
}
$fp2 = fopen("../tmp/edge$job.inc","w");
foreach($edge as $value){
fwrite($fp2,$value);
}
$fp3 = fopen("../tmp/tmp_edge$job.inc","w");
foreach($tmp_edge as $value){
fwrite($fp3,$value);
}
fclose($fp1);
fclose($fp2);
fclose($fp3);
?>
";
}
if($category=="treat")
{
$tissue=$_GET['tissue'];
$treat=$_GET['treat'];
$time=$_GET['time'];
print "";
}
?>