Valid XHTML    Valid CSS2    

Listing du fichier codons2aa.php

 

00001     <?php
00002     
00003     
# test des paramètres
00004     
00005     
if (!isset($argv[1])) {
00006      print
" syntaxe : php codons2aa.php nom_de_fichier \n" ;
00007      exit(-
1) ;
00008      } ;
# fin de test sur les arguments
00009     
00010     
$fichier
= $argv[1] ; # récupération du nom du fichier
00011     
00012      # essai d'ouverture du fichier d'entrée
00013     
00014     
$FIC
= fopen("$fichier","r") or die("\n impossible d'ouvrir le fichier nommé $fichier \n\n") ;
00015     
00016     
# préparation du fichier de sortie
00017      # on utilise le texte avant le dernier point, soit :
00018     
00019     
$sortie
= substr($fichier,0,strpos($fichier,".")).".aa" ;
00020     
00021     
$FS
= fopen("$sortie","w") or die("\n impossible d'écrire dans le fichier nommé $sortie \n\n") ;
00022     
00023     
# table de correspondance entre codon et acide aminé
00024      # on rajoute ___ vers _ pour gap
00025     
00026     
$dcod= array(
00027     
00028     
"aaa"
=>"K",
00029     
"aac"
=>"N",
00030     
"aag"
=>"K",
00031     
"aat"
=>"N",
00032     
"aca"
=>"T",
00033     
"acc"
=>"T",
00034     
"acg"
=>"T",
00035     
"act"
=>"T",
00036     
"aga"
=>"R",
00037     
"agc"
=>"S",
00038     
"agg"
=>"R",
00039     
"agt"
=>"S",
00040     
"ata"
=>"I",
00041     
"atc"
=>"I",
00042     
"atg"
=>"M",
00043     
"att"
=>"I",
00044     
"caa"
=>"Q",
00045     
"cac"
=>"H",
00046     
"cag"
=>"Q",
00047     
"cat"
=>"H",
00048     
"cca"
=>"P",
00049     
"ccc"
=>"P",
00050     
"ccg"
=>"P",
00051     
"cct"
=>"P",
00052     
"cga"
=>"R",
00053     
"cgc"
=>"R",
00054     
"cgg"
=>"R",
00055     
"cgt"
=>"R",
00056     
"cta"
=>"L",
00057     
"ctc"
=>"L",
00058     
"ctg"
=>"L",
00059     
"ctt"
=>"L",
00060     
"gaa"
=>"E",
00061     
"gac"
=>"D",
00062     
"gag"
=>"E",
00063     
"gat"
=>"D",
00064     
"gca"
=>"A",
00065     
"gcc"
=>"A",
00066     
"gcg"
=>"A",
00067     
"gct"
=>"A",
00068     
"gga"
=>"G",
00069     
"ggc"
=>"G",
00070     
"ggg"
=>"G",
00071     
"ggt"
=>"G",
00072     
"gta"
=>"V",
00073     
"gtc"
=>"V",
00074     
"gtg"
=>"V",
00075     
"gtt"
=>"V",
00076     
"taa"
=>"*",
00077     
"tac"
=>"Y",
00078     
"tag"
=>"*",
00079     
"tat"
=>"Y",
00080     
"tca"
=>"S",
00081     
"tcc"
=>"S",
00082     
"tcg"
=>"S",
00083     
"tct"
=>"S",
00084     
"tga"
=>"*",
00085     
"tgc"
=>"C",
00086     
"tgg"
=>"W",
00087     
"tgt"
=>"C",
00088     
"tta"
=>"L",
00089     
"ttc"
=>"F",
00090     
"ttg"
=>"L",
00091     
"ttt"
=>"F",
00092     
"___"
=>"_"
00093     
00094     
) ; # fin de tableau de décodage
00095     
00096      # parcours du fichier avec conversion par paquets de 3
00097     
00098     
$nbl
= 0 ;
00099      while (!
feof
($FIC)) {
00100     
$nbl++;
00101     
$lig
= fgets($FIC,4096) ;
00102      if (
strlen
($lig)>0) {
00103     
$lng
= strlen($lig)/3 ;
00104     
$nlig
= "" ;
00105      for (
$idc
=0;$idc<$lng;$idc++) {
00106     
$nlig
.= $dcod[substr($lig,3*$idc,3)] ;
00107      } ;
# fin de pour idc
00108     
if (
$nbl<=3) {
00109      if (
$nbl
==1) { print "\n pour vérification, affichage des 3 premières lignes (ou moins) :\n\n" ; } ;
00110      print
" Ligne
$nbl \n" ;
00111      print
" codons :
$lig\n" ;
00112      print
" acides aminés :
$nlig\n" ;
00113      } ;
# fin de si on est dans les trois premières lignes
00114     
} ; # fin de si ligne non vide
00115     
fputs
($FS,"$nlig\n") ;
00116      } ;
# fin de tant que
00117     
00118      # fermeture des fichiers et message de fin
00119     
00120     
fclose
($FIC) ;
00121     
fclose
($FS) ;
00122     
00123      print
"\n vous pouvez utiliser
$sortie \n\n"
00124     
00125     
?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)