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 ?>
La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file
mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)