fechaPagina(); exit; // } $genopar->abreBanco(); $reverse=$showInvalid=$showQual=$start=$end=$showTable=$kb=$geraFrames=$showClones=$use_cog=''; $kbArray = array(1,5,10,20,50,100); $zoom=10; verGetPost( array( "processa", "mtg", "data", "id", "contig", "start", "end", "reverse", "showInvalid", "zoom", "showQual", "geraFrames", "showClones", "use_cog")); if ($showInvalid == '') $showInvalid=0; if ($reverse == '') $reverse = 0; if ($geraFrames == '') $geraFrames = 0; if ($processa == 'Search'){ $contig = substr($id, 0, 4); $contig = ceil($contig); }elseif ($processa == 'Graphic'){ $id = "$contig.0001"; } if ($zoom == '' or $zoom<1 or $zoom>19) $zoom=10; $n= $genopar->queryBanco("SELECT id as contig, tam FROM contig WHERE idMontagem='$mtg'"); $contig_lab= array(); while ($lin= $genopar->getArray()){ array_push($contig_lab, $lin['contig']); $contigs[$lin['contig']]=$lin['tam']; } #monta tabela de Status $genopar->queryBanco("SELECT * FROM validation"); $STATUS=array(); while ($lin= $genopar->getArray()) $STATUS[$lin['code']]= $lin['status']; $genopar->abrePagina("ORF annotation page [$mtg]", "", "", false); echo '

'; echo '

'; $genopar->input("mtg", "hidden", "$mtg"); $genopar->input("geraFrames", "hidden", "$geraFrames"); $genopar->input("use_cog", "hidden", "$use_cog"); $genopar->input("id", "hidden", "$id"); echo '

'; ?> '; echo ''; #NUMERO echo "ORF:"; echo ""; echo ''; echo ''; echo '
'; echo '
'; $genopar->input("mtg", "hidden", "$mtg"); $genopar->input("geraFrames", "hidden", "$geraFrames"); $genopar->input("use_cog", "hidden", "$use_cog"); $genopar->input("id", "hidden", "$id"); ########################################################## if ($processa != ""){ if (($processa == "Update")){ $contig = (int) substr($id, 0, 4); system("rm tmp/*\.$mtg\.$contig\.*"); $A_function=$A_validation=$A_orf_name=$A_product=$A_EC_number=$A_EC_number2=$A_cat1=$A_cat2=$A_note=$A_synonym=$A_frameshift=$A_relat=$A_funCOG=$A_cog_num=$PRODPFAM=$FUNCOG=$muda_fun=$muda_prod=""; verGetPost(array("A_function", "A_validation", "A_orf_name", "A_synonym", "A_product", "A_EC_number", "A_EC_number2", "A_cat1", "A_cat2", "A_note", "A_synonym", "A_frameshift", "A_relat", "A_funCOG", "A_cog_num", "PRODPFAM", "FUNCOG", "muda_fun", "muda_prod")); if ($muda_fun==1) $A_function= $FUNCOG; if ($muda_prod==1)$A_product= $PRODPFAM; $genopar->queryBanco(" UPDATE anotacao SET validation=$A_validation, orfName='$A_orf_name', synonym='$A_synonym', product='$A_product', function='$A_function', COGid='$A_cog_num', frameshift='$A_frameshift', EC_number='$A_EC_number', EC_number2='$A_EC_number2', note='$A_note', relatorio='$A_relat' WHERE id='$id' AND idMontagem='$mtg' "); $genopar->queryBanco("SELECT anotador FROM anotacao WHERE id='$id' AND idMontagem='$mtg'"); $res = $genopar->getArray(); if ($res['anotador']) $genopar->queryBanco(" UPDATE anotacao SET revisor='$UserAuth_username' WHERE id='$id' AND idMontagem='$mtg' "); else $genopar->queryBanco(" UPDATE anotacao SET anotador='$UserAuth_username' WHERE id='$id' AND idMontagem='$mtg' "); $processa= 'Search'; echo "
ORF$id Updated Successfully - ".$STATUS[$A_validation]."
"; } elseif ($processa == "Search"){ echo "
"; if (strlen($id)!=9) { echo "
ORF identification must be provided as CCCC.OOOO"; echo "
   where CCCC is the contig number and OOOO the ORF number in contig"; echo "
Example: 474.0252, ORF 252 of contig 474."; $genopar->fechaPagina(); } #monta tabela de MonicaRiley // $genopar->queryBanco("SELECT number FROM MonicaRiley group by number"); $MRtable=array(); // while ($lin= $genopar->getArray()) // array_push($MRtable, $lin['number']); #monta tabela de ECnumber $genopar->queryBanco("SELECT numero FROM ECnumbers"); $ECtable=array(); while ($lin= $genopar->getArray()) array_push($ECtable, $lin['numero']); #busca informacoes sobre a ORF $n= $genopar->queryBanco(" SELECT * FROM anotacao a WHERE a.id='$id' AND a.idMontagem='$mtg' "); if ($n == 1){ $LAnn= $genopar->getArray(); $A_orf_name= $LAnn['orfName']; $A_product= $LAnn['product']; $A_function= $LAnn['function']; $A_EC_number= $LAnn['EC_number']; $A_EC_number2= $LAnn['EC_number2']; $A_note= $LAnn['note']; $A_validation= $LAnn['validation']; $A_synonym= $LAnn['synonym']; $A_frameshift= $LAnn['frameshift']; $A_relat= $LAnn['relatorio']; $A_anotador= $LAnn['anotador']; $A_revisor= $LAnn['revisor']; $A_cog_num= $LAnn['COGid']; #if ($A_anotador == '') # $A_anotador= $UserAuth_username; }else $genopar->error("Invalid ORF"); $n= $genopar->queryBanco("SELECT * FROM orf WHERE idMontagem='$mtg' AND id='$id'"); if ($n == 1) $Lg2= $genopar->getArray(); $gene_start_opt=$Lg2['start']; $gene_end_opt=$Lg2['end']; $contig= $Lg2['contigId']; if ($Lg2['start']<$Lg2['end']) { $start= $Lg2['start']; $end= $Lg2['end']; }else{ $start= $Lg2['end']; $end= $Lg2['start']; } $li= $start-500; if ($li<0) $li=0; $lf= $end+500; $kb=0; $imgSrc = geraSingleGraphAnnot($mtg,$contig,$li,$lf,$id, $zoom,$geraFrames,$showInvalid,$showQual, $showClones,$use_cog); if ($showQual == 1){ list($width, $height, $type, $attr) = getimagesize($imgSrc); $qualSrc = "qual$contig.$li.$lf.$width.png"; $qualGraphFile = "/genome/web/html/HS/annotV1/tmp/$qualSrc"; $ctgQualFile = "/genome/data/montagens/HS/20030818/edit_dir/20030818.fasta.screen.contigs.qual"; system("/genome/bin/HS/geraQualGraph.pl $ctgQualFile $contig $width $li $lf $qualGraphFile"); } echo "

"; if ($showQual == 1){ echo "
";} echo ""; echo "

"; ob_flush(); flush(); preg_match("/img\.(.*)\.[a-z]{3}$/", $imgSrc, $matches); $common = $matches[1]; $areaFile_name = "tmp/area.$common"; while(!is_file($areaFile_name)){ ob_flush(); flush(); refresh(); } $areaFile = fopen($areaFile_name, 'r'); while (!feof($areaFile)){ $line = fgets($areaFile, 4096); echo "$line\n"; } fclose($areaFile); $n= $genopar->queryBanco("SELECT * FROM rbs WHERE idMontagem='$mtg' AND id='$id'"); if ($n == 1) $Lrbs= $genopar->getArray(); $genopar->queryBanco("SELECT count(*) as qtd_starts FROM startCodons WHERE idMontagem='$mtg' AND idOrf='$id'"); $lin = $genopar->getArray(); $qtd_starts= $lin['qtd_starts']; $Lgtam= abs($Lg2['end'] - $Lg2['start']) + 1; $Lgtamp= $Lgtam/3; echo ''; echo ''; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; if ($genopar->UserAuth_level <= LVLADM) echo ""; echo "
ORF #  $id"; if ($Lg2['id_orf'] != '') echo "     *** ORF choosen by Glimmer3 ***"; echo "
Glimmer 3 RBS Additional Information
Frame  ".$Lg2['frame']." RBS Position  ".number_format($Lrbs['position'],0,",",".")." Base Composition  A:".number_format((100*($Lg2['bases_a']/$Lgtam)),2,".",","). "%     T:".number_format((100*($Lg2['bases_t']/$Lgtam)),2,".",","). "%
 C:".number_format((100*($Lg2['bases_c']/$Lgtam)),2,".",","). "%     G:".number_format((100*($Lg2['bases_g']/$Lgtam)),2,".",",")."%  
Gene Start  ".number_format($Lg2['start'],0,",",".")." RBS Pattern  ".$Lrbs['pattern']."
Gene End   ".number_format($Lg2['end'],0,",",".")." Start Codon  ".$Lrbs['codon']." (".$Lrbs['old_codon'].") Optional Start Codons  "; echo "$qtd_starts"; echo "  
ORF Size ".$Lgtam."nt
 ".$Lgtamp."aa
New Gene Start  ".number_format($Lrbs['start'],0,",",".")."Edit ORF sequence
"; echo "
"; ######### AVISO SOBRE BLAST $blastAtualizado = $genopar->queryBanco(" SELECT * FROM edicaoORF WHERE idMontagem='$mtg' AND orfId='$id' AND BLAST_atualizado=0"); if ($blastAtualizado){ $updateBlastLink = "javascript:popup(\"outOfDateBLASTs.php?mtg=$mtg&ORF=$id&action=update&popup=1\")"; echo "

WARNING: BLAST reports are out of date. (update)

"; } ############################## ########## ORGANISMOS $nnr = $genopar->queryBanco(" SELECT b.subject, b.description, b.score, b.hit_start, b.hit_end, b.query_start, b.query_end, b.idOrg, t.organism as org FROM blastp_orgs b INNER JOIN taxonomy t ON b.idOrg=t.id WHERE b.idMontagem='$mtg' AND b.orfId='$id'"); if ($nnr >= 1) while ($Pnr = $genopar->getArray()){ foreach ($Pnr as $k => $v) $$k= $v; if ($nnr>=1 and $Pnr['subject'] != '') { $array = explode("|", $subject); $proteinId = $array[3]; $linkToNCBI = "NCBI"; echo "
"; echo "
$expect   ($score)   BlastP ".$org." [$linkToNCBI]   
Product: $description
Q: $query_start..$query_end
S: $hit_start..$hit_end
"; echo ""; } elseif ($nnr>0) echo "
BlastP '$org' - No Hits Found!
"; else echo "
BlastP '$org' - Not Blasted!
"; } ########## COG $n = $genopar->queryBanco("SELECT * FROM blastp_COG WHERE idMontagem='$mtg' AND orfId='$id'"); if ($n >= 1) $COG = $genopar->getArray(); if ($n>=1 and $COG['subject'] != '') { foreach ($COG as $k => $v) $$k= $v; $descr_pattern = "/\[(.*)\]\sCOG\d{4}\s(.*)/"; preg_match($descr_pattern, $description, $fun); $FUNCOG= $fun[1]." - ".$fun[2]; echo ""; $org = 'COG'; echo "
"; echo "
$expect   ($score)   BlastP ".$org."
Description: $description
Q: $query_start..$query_end
S: $hit_start..$hit_end
"; echo ""; } elseif ($n>0) echo "
BlastP COG - No Hits Found!
"; // else // echo "
BlastP COG - Not Blasted!
"; ########## PFAM $n = $genopar->queryBanco("SELECT * FROM blastp_PFAM WHERE idMontagem='$mtg' AND orfId='$id'"); if ($n >= 1) $PFAM = $genopar->getArray(); if ($n>=1 and $PFAM['subject'] != '') { foreach ($PFAM as $k => $v) $$k= $v; $PRODPFAM = $description; echo ""; $org = 'PFAM'; echo "
"; echo "
$expect   ($score)   BlastP ".$org."
Description: $description
Q: $query_start..$query_end
S: $hit_start..$hit_end
"; echo ""; } elseif ($n>0) echo "
BlastP PFAM - No Hits Found!
"; // else // echo "
BlastP PFAM - Not Blasted!
"; echo "
"; echo ""; echo ""; echo ""; echo "
Annotation Fields for ORF $id
"; echo "
"; echo ""; echo ""; echo ""; echo ""; // if (substr($A_EC_number, -1) == "-") $A_EC_number=substr($A_EC_number, 0, -2); // if (substr($A_EC_number2, -1) == "-") $A_EC_number2=substr($A_EC_number2, 0, -2); $n= $genopar->queryBanco("SELECT numero, enzima FROM ECnumbers WHERE numero='$A_EC_number' OR numero='$A_EC_number2' GROUP BY numero"); if ($n>=1) while ($lin= $genopar->getArray()) $A_EC[$lin['numero']]=$lin['enzima']; echo "" ; echo ""; ############## // $n= $genopar->queryBanco("SELECT number, concat(lvl1,'; ',lvl2,'; ',lvl3,'; ',lvl4,'; ',lvl5) as descr // FROM MonicaRiley WHERE number='$A_cat1' OR number='$A_cat2' GROUP BY number"); // if ($n>=1) // while ($lin= $genopar->getArray()){ // $tmp= $lin['descr']; // // while (substr($tmp, strlen($tmp)-2) == '; ') // $tmp= substr($tmp, 0, strlen($tmp)-2); // // $A_cat[$lin['number']]= $tmp; // } ############## /* echo ""; */ ############# $n = $genopar->queryBanco("SELECT descr FROM COG where id='$A_cog_num'"); if ($n==1) { $lin= $genopar->getArray(); $A_cog_desc= $lin['descr']; } ############# echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
Status:         "; echo "=1?'checked':'')." value=1> Frameshift            "; if ($genopar->UserAuth_level <= LVLANT) echo "
Gene name: 
ORF name: 
EC number: 
"; // mostraNumerosEC($ECtable, $A_EC_number, 'A_EC_number'); $genopar->input('A_EC_number', 'text', $A_EC_number); echo "  ".$A_EC[$A_EC_number]."
"; // mostraNumerosEC($ECtable, $A_EC_number2, 'A_EC_number2'); $genopar->input('A_EC_number2', 'text', $A_EC_number2, 7); echo "  ".$A_EC[$A_EC_number2]."
Category: 
 ".$A_cat[$A_cat1]."
 ".$A_cat[$A_cat2]."

COG Number:

  $A_cog_desc
Function:


COG: $FUNCOG
Product:


PFAM: $PRODPFAM
Notes: 
Comments: 
(Report)
 
Annotator: $A_anotador
Reviewer: $A_revisor
"; if ($genopar->UserAuth_level <= LVLANT) echo "
"; echo "
"; echo '
'; } # FIM IF Search // else{ # send info to be processed by index.php // $indexInfo = array("annot", "processa", "contig", "start", "end", "reverse", "showInvalid", "zoom", "showQual", "showTable", "geraFrames", "kb"); // echo ''; // echo '
'; // foreach($_POST as $key => $value){ // if (in_array($key, $indexInfo)) // $genopar->input($key, "hidden", $value); // } // echo '
'; // echo ""; // } } $genopar->fechaPagina(); function showClones($genopar, $contig, $ini, $fim, $size, $zoom){ require ("../lib/geraGraphClones.php"); $wholeContig = 0; if ($ini == 0 && $fim == $size) $wholeContig = 1; if ($wholeContig) $q = " SELECT direc, inicio as ini, final as fim FROM contig_seqs WHERE contig_num = $contig and data = '2003-08-18' ORDER BY direc, inicio "; else $q = " SELECT direc, inicio as ini, final as fim FROM contig_seqs WHERE contig_num = $contig and data = '2003-08-18' and ( (inicio >= $ini and inicio <= $fim) or (final >= $ini and final <= $fim) ) ORDER BY direc, inicio "; $genopar->queryBanco($q); $clones['C'] = array(); $clones['F'] = array(); while ($lin= $genopar->getArray()){ $direc = $lin['direc']; if ($direc != 'C') $direc = 'F'; $pushed = 0; if (count($clones[$direc])>0){ for($nivel=0; $nivel

"; $areaFile_name = "tmp/area.clones.ctg$contig"; if (is_readable($areaFile_name)){ $areaFile = fopen($areaFile_name, 'r'); while (!feof($areaFile)){ $line = fgets($areaFile, 4096); echo "$line\n"; } fclose($areaFile); } break; } } function mostraNumerosEC($ECtable, $selectedNum, $name){ $selected = ''; foreach ($ECtable as $numero){ if ($num == $selectedNum) $selected = $k; $partial = array(); $partial = explode('.', $numero); for($i=0;$i<4;$i++){ if ($partial[$i] != '') $selection[$k][$i] = $partial[$i]; else $selection[$k][$i] = '-'; } $k++; } for($i=0; $i<4;$i++){ echo ""; } } function refresh(){ $url = $_SERVER['PHP_SELF']."?"; foreach($_POST as $key => $value) $param .= "$key=$value&"; foreach($_GET as $key => $value) $param .= "$key=$value&"; $url .= $param; sleep(1); echo ' '; } ?>