<?php
#    (gH)   -_-  td2.php  ;  TimeStamp (unix) : 27 Mars 2008 vers 10:34

# ce programme s'exécute en ligne de commande seulement et produit le
# fichier-texte td2*.data exploitable par R

mysql_connect("forge","anonymous","anonymous") ;
mysql_select_db("qcmarchi") ;

# détermination de la nature des ponts

$que  "" ;
$que .= " SELECT pr_id as PRID, " ;
$que .= " IF(pr_nbr_inter+pr_nbr_intra=0,0,1) AS  PONT ,  " ;
$que .= " IF(pr_nbr_intra=0,0,1) AS INTRA, " ;
$que .= " If(pr_nbr_inter=0,0,1) AS INTER" ;
$que .= " FROM dbdbprot " ;
# $que .= " LIMIT 5 " ;

## echo "\n$que\n" ;

$f1 "td2t1.data" ;
$fh fopen($f1,"w") ;

fputs($fh,"PRID PONT INTRA INTER\n") ;

$res mysql_query($que) ;
while (
$tdr=mysql_fetch_array($res)) {
  
$ligs  "" ;
  
$ligs .= sprintf("P%05d",$tdr["PRID"]) ;
  
$ligs .= sprintf("%3d",  $tdr["PONT"]) ;
  
$ligs .= sprintf("%3d",  $tdr["INTRA"]) ;
  
$ligs .= sprintf("%3d",  $tdr["INTER"]) ;
  
$ligs .= "\n" ;
  
fputs($fh,$ligs) ;
} ; 
# fin tant que

fclose($fh) ;

echo 
" Variables PRID PONT INTRA INTER dans le fichier $f1\n ";

# détermination de la forte présence en C ou G

$que  "" ;
$que .= " SELECT pr_id as PRID, " ;
$que .= " ch_fasta AS  FASTA   " ;
$que .= " FROM dbdbprot,dbdbchain WHERE pr_id=ch_pr_id " ;
# $que .= " LIMIT 5 " ;

## echo "\n$que\n" ;

$f2 "td2t2.data" ;
$fh fopen($f2,"w") ;

fputs($fh,"PRID bcpC bcpG\n") ;
$seuil 0.05 ;

$res mysql_query($que) ;
while (
$tdr=mysql_fetch_array($res)) {
  
$fasta =  $tdr["FASTA"] ;
  
# on compte les C et les G
  
$cntC compte("C",$fasta) ;
  
$cntG compte("G",$fasta) ;
  
# et on compare au seuil pour dire s'il y a beaucoup de C, de G
  
$bcpC ;
  if (
$cntC/strlen($fasta)>$seuil) { $bcpC ; } ;
  
$bcpG ;
  if (
$cntG/strlen($fasta)>$seuil) { $bcpG ; } ;
  
$ligs  "" ;
  
$ligs .= sprintf("P%05d",$tdr["PRID"]) ;
  
$ligs .= sprintf("%3d",  $bcpC) ;
  
$ligs .= sprintf("%3d",  $bcpG) ;
  
$ligs .= "\n" ;
  
fputs($fh,$ligs) ;
} ; 
# fin tant que

fclose($fh) ;

echo 
" Variables PRID  bcpC bcpG dans le fichier $f2\n ";

##################################################################


function compte($leCar,$laChaine) {

# indique combien de fois on trouve $leCar dans $laChaine

   
$lon strlen($laChaine) ;
   
$nbf ;
   
$idc ;
   while (
$idc<$lon) {
         
$cc substr($laChaine,$idc,1) ;
         if (
$cc==$leCar) { $nbf++ ; } ;
         
$idc++ ;
   } ; 
# fin de tant que
   
return($nbf) ;

# fin de fonction


?>