'; verGetPost(array("contig", "start", "end")); $fcontig="Fasta/Contigs/Contig".$contig; if ($start > $end) $reverse= 1; if ( !(is_readable($fcontig)) ) $genopar->error("

Não foi possível ler contig do arquivo: $fcontig"); $file = fopen($fcontig, 'r'); $line = fgets($file, 4096); #Eliminar primeira linha $SEQ=''; for ($linha= 1; !feof($file); $linhas++){ $line = fgets($file, 4096); $SEQ.= trim($line); } $seq= substr($SEQ,$start-1,$end-$start+1); if ($reverse) { $size = $start-$end+1; $array = str_split(substr($SEQ, 0, $size)); $array = array_reverse($array); $seq = ''; foreach ($array as $nt){ $seq .= complement($nt); } } $seqn=""; $cols = 50; $rows = 5; for($i=0;$i$seqn"; exit(); } $genopar = new Genopar(__FILE__); $genopar->abrePagina("Busca de ORFs"); $mtgs = obtemMtgs($genopar); echo ' '; $genopar->abreBanco(); echo '
'; echo ''; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ''; echo ''; echo ''; echo '
Busca de ORF
"; echo "Assembly: "; echo ""; $genopar->select("mtg", $mtgs, $mtg,"", TRUE); echo "
ID: 
Gene name: 
Function: 
Product: 
Anotador: 
'; echo "

"; echo '

'; // echo 'Annotation Status'; echo '

'; echo "

"; // if (!$mtg) $genopar->fechaPagina(); ########################################################## if ($processa == "Pesquisar ORF") { $genopar->queryBanco("SELECT * FROM validation"); $STATUS=array(); while ($lin= $genopar->getArray()) $STATUS[$lin['val_cod']]= $lin['status']; $STATUS[99]= 'Updated'; if ($mtg != '') $whereMtg = "WHERE idMontagem='$mtg'"; $where = array(); if ($id!='') $where['id'] = "id='$id'"; if ($gene_name!='') $where['gene']= "(orfName like '%$gene_name%' or synonym like '%$gene_name%')"; if ($function!='') $where['fun']= "function like '%$function%'"; if ($product!='') $where['prd']= "product like '%$product%'"; if ($anotador!='') $where['antdr']= "anotador like '%$anotador%'"; if ($whereMtg && count($where) > 0) $where = $whereMtg." AND ".resolveWhereClause($where); elseif ($whereMtg) $where = $whereMtg; elseif ($where) $where = "WHERE ".resolveWhereClause($where); // if (!$where) $genopar->fechaPagina(); // echo $where; $genopar->fechaPagina(); $query= "SELECT * FROM anotacao $where order by id"; $n= $genopar->queryBanco($query); if ($n > 0) { echo "
$n ORFs encontradas."; echo ''; echo ''; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ''; $num=0; while ($lin=$genopar->getArray()) { $orf= $lin["id"]; $orfName = $lin['orfName'] ? $lin['orfName'] : $orf; echo ''; echo ""; echo ""; echo ""; echo ""; // echo ""; echo ""; echo ""; echo ""; // echo ""; echo ""; echo ""; echo ''; } echo '
#ORFMontagemGeneStatusCOGProductEC #Anotador
".number_format(++$num,0,",",".")."$orf".$lin['idMontagem']."".$orfName." ".$lin['synonym']." ".$STATUS[$lin['validation']]." ".$lin['function']." ".$lin['product']." ".$lin['category1']."
".$lin['category2']." 
".$lin['EC_number']."
".$lin['EC_number2']." 
".$lin['anotador']." 
'; } else { echo "
Nenhuma ORF encontrada."; } } $genopar->fechaPagina(); ######### FUNCOES function resolveWhereClause($where){ $clause = ''; if (count($where) > 0){ foreach ($where as $key => $val) $clause .= $where[$key]." AND "; $clause = substr($clause, 0, -5); } return $clause; } function obtemMtgs($genopar){ $mtgs = array(); $genopar->abreBanco(); $q = "SELECT DISTINCT idMontagem FROM contig"; $n = $genopar->queryBanco($q); if($n > 0) while($res = $genopar->getArray()){ array_push($mtgs, $res['idMontagem']); } $genopar->fechaBanco(); return $mtgs; } function complement($nt){ switch ($nt){ case 'A': case 'a': return 'T'; case 'T'; case 't': return 'A'; case 'C': case 'c': return 'G'; case 'G': case 'g': return 'C'; } return $nt; } ?>