Code Search for Developers
 
 
  

gaeval_lists.php from eXtensible Genome Data Broker at Krugle


Show gaeval_lists.php syntax highlighted

<?php
if(empty($SITEDEF_H)){require('SITEDEF.php');}
if(empty($PARAM_H)){require('getPARAM.php');}
require('SSI_GDBprep.php');
virtual("${CGIPATH}SSI_GDBgui.pl/TWO_COLUMN_HEADER/" . $SSI_QUERYSTRING);
?>

<link rel='stylesheet' type='text/css' href='GLquery.css' />
<SCRIPT LANGUAGE='JavaScript' SRC='GLquery.js'></SCRIPT>


<div id="mainWLS" align="center">
<H2>GAEVAL analysis of <?php echo "$COMMONORGN"; ?> transcript annotations</H2>

<?php 
import_request_variables("gp","cp_");

require('GAEVALconf.php');

$SQL_svars = array('geneId'              =>'geneId',
		   'integrity'           =>'integrity',
		   'introns_confirmed'   =>'introns_confirmed',
		   'introns_unsupported' =>'introns_unsupported',
		   'cds_size'            =>'cds_size',
		   'utr5_size'           =>'utr5_size',
		   'utr3_size'           =>'utr3_size',
		   'exon_coverage'       =>'exon_coverage'
		   );
$DEFAULT_COLUMN_ORDER  = array('geneId'              => 0,
			       'integrity'           => 1,
			       'custom_integrity'    => 2,
			       'introns_confirmed'   => 3,
			       'introns_unsupported' => 4,
			       'exon_coverage'       => 5,
			       'utr5_size'           => 6,
			       'cds_size'            => 7,
			       'utr3_size'           => 8
			       );
$DEFAULT_COLUMN_HEADER = array('geneId'              =>'Annotation',
			       'integrity'           =>'Standard Integrity',
			       'custom_integrity'    =>'Custom Integrity',
			       'introns_confirmed'   =>'Introns Confirmed',
			       'introns_unsupported' =>'Intons Unsupported',
			       'cds_size'            =>'CDS Size',
			       'utr5_size'           =>'5`UTR Size',
			       'utr3_size'           =>'3`UTR Size',
			       'exon_coverage'       =>'%Coverage'
			       );

function by_display($a,$b){
  global $DEFAULT_COLUMN_ORDER;
  return ($DEFAULT_COLUMN_ORDER[$a] > $DEFAULT_COLUMN_ORDER[$b])?1:-1;
}

if($cp_ANNsrc){
  mysql_connect($GAEVAL_DB_HOST,$GAEVAL_DB_USER,$GAEVAL_DB_PASS);
  mysql_select_db($GAEVAL_DB_NAME);

  if($cp_GAEVALsearch == "Retrieve annotations"){
    $GAEVAL_TBLS = explode(":",$cp_ANNsrc);
    
    $SQL_where   = array();
    $SQL_having  = array();
    $SQL_orderby = array();
    
    switch ($cp_AIgroup){
    case 1:
      $SQL_where[] = "(integrity BETWEEN " . min($cp_AIscore1,$cp_AIscore2) . " AND " . max($cp_AIscore1,$cp_AIscore2) . " )";
    break;
    case 2:
      $SQL_svars['custom_integrity'] = "($cp_AICparam1 * IF((introns_confirmed + introns_unsupported),(introns_confirmed / (introns_confirmed + introns_unsupported)),LEAST(1,(cds_size / 400))) + ($cp_AICparam2 * exon_coverage) + ($cp_AICparam3 * LEAST(1,(utr5_size / 200))) + ($cp_AICparam4 * LEAST(1,(utr3_size / 200)))) as custom_integrity";
      $SQL_having[] = "(( custom_integrity ) BETWEEN " . min($cp_AICscore1,$cp_AICscore2) . " AND " . max($cp_AICscore1,$cp_AICscore2) . " )";
      $cp_resultCols['custom_integrity'] = 'custom_integrity';
    break;
    }
    
    switch ($cp_ISgroup){
    case 1:
      $SQL_where[] = "(((introns_confirmed * 100) / (introns_confirmed + introns_unsupported)) BETWEEN " . min($cp_ISpct1,$cp_ISpct2) . " AND " . max($cp_ISpct1,$cp_ISpct2) . " )";
    break;
    case 2:
      $SQL_where[] = "((introns_confirmed BETWEEN " . min($cp_ISconf1,$cp_ISconf2) . " AND " . max($cp_ISconf1,$cp_ISconf2) . " )&&(introns_unsupported BETWEEN " . min($cp_ISuns1,$cp_ISuns2) . " AND " . max($cp_ISuns1,$cp_ISuns2) . " ))";
    break;
    }
    
    switch ($cp_SCSgroup){
    case 1:
      $SQL_where[] = "(exon_coverage BETWEEN " . min($cp_SCSpct1,$cp_SCSpct2) . " AND " . max($cp_SCSpct1,$cp_SCSpct2) . " )";
    break;
    }
    
    $SQL_cmd = "Select SQL_CALC_FOUND_ROWS " . implode(",",$SQL_svars) . " FROM $GAEVAL_TBLS[1] JOIN $GAEVAL_TBLS[0] USING (uid) ";
    if(count($SQL_where)){
      $SQL_cmd .= " WHERE " . implode("&&",$SQL_where); 
    }
    if(count($SQL_having)){
      $SQL_cmd .= " HAVING " . implode("&&",$SQL_having);
    }
    
    for($x=0;$x<count($cp_sortCol);$x++){
      if(array_key_exists($cp_sortCol[$x],$SQL_svars) && (!array_key_exists($cp_sortCol[$x],$SQL_orderby))){
	$SQL_orderby[$cp_sortCol[$x]] = "$cp_sortCol[$x] $cp_sortCol_ORT[$x]";
      } 
    }
    $SQL_cmd .= " ORDER BY " . implode(",",$SQL_orderby);
    
  }elseif($cp_SQL_cmd){
    $SQL_cmd = $cp_SQL_cmd;
  }else{
    $SQL_cmd = 0;
  }
  
  if($SQL_cmd){
    $PRIMARY_SQL = $SQL_cmd;
    
    if($cp_returnLIMIT){
      $SQL_cmd .= " LIMIT ${cp_resultOFFSET},${cp_returnLIMIT} ";
    }
    //  echo $SQL_cmd;
    $result = mysql_query($SQL_cmd);
    $pageCNT = mysql_num_rows($result);
    $res2 = mysql_query("SELECT FOUND_ROWS()");
    $rCNT = mysql_fetch_row($res2);
    
    if($cp_returnLIMIT){
      $PAGE_SELECTION = "<SELECT NAME='resTOC' ID='resTOC' ONCHANGE='goto_page(this);'>\n";
      for($x=0;$x<=($rCNT[0] / $cp_returnLIMIT);$x++){
	if(($x * $cp_returnLIMIT) == $cp_resultOFFSET){
	  $PAGE_SELECTION .= "<OPTION VALUE=$x SELECTED>Page " . ($x +1) . " Annotations ( " . ($x * $cp_returnLIMIT + 1) . " - " . ($x * $cp_returnLIMIT + $pageCNT) . " ) of $rCNT[0] </OPTION>\n"; 
	}else{
	  $PAGE_SELECTION .= "<OPTION VALUE=$x >Page " . ($x +1) . " Annotations ( " . ($x * $cp_returnLIMIT + 1) . " - " . ($x * $cp_returnLIMIT + $pageCNT) . " ) of $rCNT[0] </OPTION>\n"; 
	}
      }
      $PAGE_SELECTION .= "</SELECT>\n";
    }else{
      $PAGE_SELECTION = "Annotations ( 1 - $rCNT[0] ) of $rCNT[0]";
    }
    
    echo "<H3 CLASS='GAEVALresultHeader'>GAEVAL Search Results -- $PAGE_SELECTION </H3>\n";

    uasort($cp_resultCols,'by_display');

    echo "<TABLE ID='GAEVALresults'>\n<TR>";
    foreach($cp_resultCols as $col){ echo "<TH>$DEFAULT_COLUMN_HEADER[$col]</TH>"; }
    echo "</TR>\n";
      
    while($row = mysql_fetch_assoc($result)){
      echo "<TR>";
      foreach($cp_resultCols as $col){ echo "<TD>$row[$col]</TD>"; }
      echo "</TR>\n";
    }
    echo "</TABLE>\n<H3 CLASS='GAEVALresultHeader'></H3>\n";
    
    
    // print new inline stylesheet to close the query selection list
    echo "<STYLE>\n";
    echo "UL.AIgroup, UL.ISgroup, UL.SCSgroup, UL.INCgroup { display:none; }\n";
    echo "IMG#AIopen, IMG#ISopen, IMG#SCSopen, IMG#INCopen { display:none; }\n";
    echo "IMG#AIclosed, IMG#ISclosed, IMG#SCSclosed, IMG#INCclosed { display:inline; }\n";
    echo "</STYLE>\n";

    mysql_free_result($result);
    mysql_free_result($res2);
  }
}

// Check form values and initialize defaults
if(!isset($cp_ANNsrc)){ 
  $src = array_values($GAEVAL_SOURCES);
  $cp_ANNsrc = $src[0];
}
if(!isset($cp_returnLIMIT)){ $cp_returnLIMIT = 50; }

if(!isset($cp_AIgroup)){ $cp_AIgroup = 0; }
if(!isset($cp_AIscore1)){ $cp_AIscore1 = 0; }
if(!isset($cp_AIscore2)){ $cp_AIscore2 = 1; }
if(!isset($cp_AICscore1)){ $cp_AICscore1 = 0; }
if(!isset($cp_AICscore2)){ $cp_AICscore2 = 1; }
if(!isset($cp_AICparam1)){ $cp_AICparam1 = 0.60; }
if(!isset($cp_AICparam2)){ $cp_AICparam2 = 0.30; }
if(!isset($cp_AICparam3)){ $cp_AICparam3 = 0.05; }
if(!isset($cp_AICparam4)){ $cp_AICparam4 = 0.05; }

if(!isset($cp_ISpct1)){ $cp_ISpct1 = 0; }
if(!isset($cp_ISpct2)){ $cp_ISpct2 = 100; }
if(!isset($cp_ISconf1)){ $cp_ISconf1 = 0; }
if(!isset($cp_ISconf2)){ $cp_ISconf2 = 1000; }
if(!isset($cp_ISuns1)){ $cp_ISuns1 = 0; }
if(!isset($cp_ISuns2)){ $cp_ISuns2 = 1000; }

if(!isset($cp_SCSpct1)){ $cp_SCSpct1 = 0; }
if(!isset($cp_SCSpct2)){ $cp_SCSpct2 = 100; }

?>


<INPUT TYPE='text' NAME='resultOFFSET' ID='resultOFFSET' VALUE=0 STYLE='display:none;' />
<INPUT TYPE='text' NAME='SQL_cmd' ID='SQL_cmd' VALUE=<?php echo "'$PRIMARY_SQL'" ?> STYLE='display:none;' />
<UL ID='GAEVALquery'>

<!-- -->
<LI><INPUT TYPE='submit' name='GAEVALsearch' value="Retrieve annotations" /> from annotation source 
<SELECT NAME='ANNsrc'>
<?php
foreach($GAEVAL_SOURCES as $srcID => $src){
  $select = ($cp_ANNsrc == $src)?"SELECTED":"";
  echo "<OPTION VALUE='${src}' $select>${srcID}</OPTION>";
}
?>
</SELECT>
<SPAN CLASS='pageDisplay'>&#91; Show <SELECT CLASS='pageDisplay' NAME='returnLIMIT' ID='returnLIMIT'>
<?php
foreach(array(50,100,500,1000,5000) as $val){
  $select = ($cp_returnLIMIT == $val)?"SELECTED":"";
  echo "<OPTION VALUE=$val $select>${val}</OPTION>";
}
$select = ($cp_returnLIMIT == 0)?"SELECTED":"";
echo "<OPTION VALUE=0 $select>ALL</OPTION>";
?>
</SELECT> results per page &#93;
</SPAN>
</LI>

<LI><IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow2.png'"; ?> CLASS='menubutton' ID='AIclosed' ONCLICK='openMENU("AI");'>
<IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow.png'"; ?> CLASS='menubutton' ID='AIopen' ONCLICK='closeMENU("AI");'>Annotation Integrity Filter
<UL class='AIgroup' ID='AIoptions'>
<LI><INPUT TYPE='radio' NAME='AIgroup' VALUE='0' ONCHANGE='AIenable(this.value);' <?php if($cp_AIgroup == 0){ echo "CHECKED"; } ?>>Do NOT filter by integrity score!</INPUT></LI>
<LI><INPUT TYPE='radio' NAME='AIgroup' VALUE='1' ONCHANGE='AIenable(this.value);' <?php if($cp_AIgroup == 1){ echo "CHECKED"; } ?>>Select annotations with Integrity Scores
<P ID='AIcustom'>Between <INPUT TYPE='text' NAME='AIscore1' ID='AIscore1' VALUE=<?php printf("'%.2f'",${cp_AIscore1}); ?> SIZE=4 <?php if($cp_AIgroup != 1){ echo "DISABLED"; } ?> /> and <INPUT TYPE='text' NAME='AIscore2' ID='AIscore2' VALUE=<?php printf("'%.2f'",${cp_AIscore2}); ?> SIZE=4 <?php if($cp_AIgroup != 1){ echo "DISABLED"; } ?> />
</P></INPUT></LI>
<LI><INPUT TYPE='radio' NAME='AIgroup' VALUE='2' ONCHANGE='AIenable(this.value);' <?php if($cp_AIgroup == 2){ echo "CHECKED"; } ?>>Select annotations with CUSTOM Integrity Scores
<P ID='AIcustom'>
Between <INPUT TYPE='text' NAME='AICscore1' ID='AICscore1' VALUE=<?php printf("'%.2f'",${cp_AICscore1}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /> and <INPUT TYPE='text' NAME='AICscore2' ID='AICscore2' VALUE=<?php printf("'%.2f'",${cp_AICscore2}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /><BR>
CUSTOM Annotation Integrity = (<INPUT TYPE='text' NAME='AICparam1' ID='AICparam1' VALUE=<?php printf("'%.2f'",${cp_AICparam1}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /> * alpha) +
(<INPUT TYPE='text' NAME='AICparam2' ID='AICparam2' VALUE=<?php printf("'%.2f'",${cp_AICparam2}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /> * beta) +
(<INPUT TYPE='text' NAME='AICparam3' ID='AICparam3' VALUE=<?php printf("'%.2f'",${cp_AICparam3}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /> * delta) +
(<INPUT TYPE='text' NAME='AICparam4' ID='AICparam4' VALUE=<?php printf("'%.2f'",${cp_AICparam4}); ?> SIZE=4 <?php if($cp_AIgroup != 2){ echo "DISABLED"; } ?> /> * gamma)
</P></INPUT></LI>
</UL>
</LI>

<LI><IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow2.png'"; ?> CLASS='menubutton' ID='ISclosed' ONCLICK='openMENU("IS");'>
<IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow.png'"; ?> CLASS='menubutton' ID='ISopen' ONCLICK='closeMENU("IS");'>Annotation Support Filter (Intron Support)
<UL class='ISgroup' ID='ISoptions'>
<LI><INPUT TYPE='radio' NAME='ISgroup' VALUE='0' ONCHANGE='ISenable(this.value);' <?php if($cp_ISgroup == 0){ echo "CHECKED"; } ?> >Do NOT filter by intron support!</INPUT></LI>
<LI><INPUT TYPE='radio' NAME='ISgroup' VALUE='1' ONCHANGE='ISenable(this.value);' <?php if($cp_ISgroup == 1){ echo "CHECKED"; } ?> >Select annotations with a percentage of confirmed introns
<P ID='AIcustom'>Between <INPUT TYPE='text' NAME='ISpct1' ID='ISpct1' VALUE=<?php printf("'%3d'",${cp_ISpct1}); ?> SIZE=3 <?php if($cp_ISgroup != 1){ echo "DISABLED"; } ?> />% and <INPUT TYPE='text' NAME='ISpct2' ID='ISpct2' VALUE=<?php printf("'%3d'",${cp_ISpct2}); ?> SIZE=3 <?php if($cp_ISgroup != 1){ echo "DISABLED"; } ?> />%
</P></INPUT></LI>
<LI><INPUT TYPE='radio' NAME='ISgroup' VALUE='2' ONCHANGE='ISenable(this.value);' <?php if($cp_ISgroup == 2){ echo "CHECKED"; } ?> >Select annotations with
<P ID='AIcustom'>Between <INPUT TYPE='text' NAME='ISconf1' ID='ISconf1' VALUE=<?php printf("'%4d'",${cp_ISconf1}); ?> SIZE=4 <?php if($cp_ISgroup != 2){ echo "DISABLED"; } ?> /> and <INPUT TYPE='text' NAME='ISconf2' ID='ISconf2' VALUE=<?php printf("'%4d'",${cp_ISconf2}); ?> SIZE=4 <?php if($cp_ISgroup != 2){ echo "DISABLED"; } ?> /> introns confirmed<BR>
AND<BR>
Between <INPUT TYPE='text' NAME='ISuns1' ID='ISuns1' VALUE=<?php printf("'%4d'",${cp_ISuns1}); ?> SIZE=4 <?php if($cp_ISgroup != 2){ echo "DISABLED"; } ?> /> and <INPUT TYPE='text' NAME='ISuns2' ID='ISuns2' VALUE=<?php printf("'%4d'",${cp_ISuns2}); ?> SIZE=4 <?php if($cp_ISgroup != 2){ echo "DISABLED"; } ?> /> introns unsupported
</P></INPUT></LI>
</UL>
</LI>

<LI><IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow2.png'"; ?> CLASS='menubutton' ID='SCSclosed' ONCLICK='openMENU("SCS");'>
<IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow.png'"; ?> CLASS='menubutton' ID='SCSopen' ONCLICK='closeMENU("SCS");'>Annotation Support Filter (Sequence Coverage)
<UL class='SCSgroup' ID='SCSoptions'>
<LI><INPUT TYPE='radio' NAME='SCSgroup' VALUE='0' ONCHANGE='SCSenable(this.value);' <?php if($cp_SCSgroup == 0){ echo "CHECKED"; } ?> >Do NOT filter by sequence coverage!</INPUT></LI>
<LI><INPUT TYPE='radio' NAME='SCSgroup' VALUE='1' ONCHANGE='SCSenable(this.value);' <?php if($cp_SCSgroup == 1){ echo "CHECKED"; } ?> >Select annotations with a percent sequence coverage
<P ID='AIcustom'>Between <INPUT TYPE='text' NAME='SCSpct1' ID='SCSpct1' VALUE=<?php printf("'%3d'",${cp_SCSpct1}); ?> SIZE=3 <?php if($cp_SCSgroup != 1){ echo "DISABLED"; } ?> />% and <INPUT TYPE='text' NAME='SCSpct2' ID='SCSpct2' VALUE=<?php printf("'%3d'",${cp_SCSpct2}); ?> SIZE=3 <?php if($cp_SCSgroup != 1){ echo "DISABLED"; } ?> />%
</P></INPUT></LI>
</UL>
</LI>

<!-- -->

<LI><IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow2.png'"; ?> CLASS='menubutton' ID='INCclosed' ONCLICK='openMENU("INC");'>
<IMG SRC=<?php echo "'${IMAGEDIR}GDBmenuArrow.png'"; ?> CLASS='menubutton' ID='INCopen' ONCLICK='closeMENU("INC");'>Annotation Incongruence Filter
<UL class='INCgroup' ID='INCoptions'>
<LI><INPUT TYPE='checkbox' NAME='INC_altsp' VALUE='altsp' UNCHECKED>Alternative splicing filter</INPUT></LI>
<LI><INPUT TYPE='checkbox' NAME='INC_altcps' VALUE='altcps' UNCHECKED>Alternative polyadenylation site selection</INPUT></LI>
<LI><INPUT TYPE='checkbox' NAME='INC_fus' VALUE='fus' UNCHECKED>Split annotation filter</INPUT></LI>
<LI><INPUT TYPE='checkbox' NAME='INC_fis' VALUE='fis' UNCHECKED>Merged annotation filter</INPUT></LI>
<LI><INPUT TYPE='checkbox' NAME='INC_pcis' VALUE='pcis' UNCHECKED>Polycistronic transcript filter</INPUT></LI>
</UL>
</LI>

</UL>

<P ID='resultCols'>Display result columns<BR>
<?php
foreach(array_keys($DEFAULT_COLUMN_ORDER) as $col){
  $select = ((!count($cp_resultCols))||($cp_resultCols[$col]))?"CHECKED":"";
  if((!count($cp_resultCols))&&($col == 'custom_integrity')){ $select = ""; }
  echo "<INPUT TYPE='checkbox' NAME='resultCols[$col]' VALUE='$col' ${select}>$DEFAULT_COLUMN_HEADER[$col]</INPUT><BR>\n";
}
?>
</P>
<P ID='sortCols'>Sort by columns<BR>

<?php
for($x=0;$x<5;$x++){
  echo ($x + 1) . ".<SELECT NAME='sortCol[${x}]'>\n";
  foreach(array_keys($DEFAULT_COLUMN_ORDER) as $col){
    $select = ($cp_sortCol[$x] == $col)?"SELECTED":"";
    echo "<OPTION VALUE='$col' $select>$DEFAULT_COLUMN_HEADER[$col]</OPTION>";
  }
  echo "</SELECT><BR>\n";
}
?> 
</P>

</div>
<?php
require('SSI_GDBprep.php');
virtual("${CGIPATH}SSI_GDBgui.pl/STANDARD_FOOTER/" . $SSI_QUERYSTRING);
?>




See more files for this project here

eXtensible Genome Data Broker

The xGDB project provides scientists with an online portal for the integration of diverse sources of genomic data. Portals allow researchers to effectively target a specific scientific question by customizing their interactions with available data.

Project homepage: http://sourceforge.net/projects/xgdb
Programming language(s): JavaScript,Perl,PHP
License: other

  examples/
    altspl.png
    amb3.png
    amb5.png
    att.png
    cov0.png
    cov1.png
    cov2.png
    cov3.png
    cov4.png
    fission.png
    fussion.png
    ovext.png
    unext.png
  GLquery.css
  GLquery.js
  cps.php
  fig1.png
  fig2.png
  figa.png
  gaeval_lists.php
  index.php