salut cyrano,
j'ai essayer de suivre tes conseils et voila le code que j'ai ecrit:
Code : Tout sélectionner
$file1 = "gene.txt";
$file2 = "gene-synonyme.txt";
function ListFromFile($fname){
$lst=Array();
if(file_exists($fname)){
$f=fopen($fname,'r+');
$lst=explode("\n",fread($f,filesize($fname)));
fclose($f);
}
return $lst;
}
$lst1=ListFromFile($file1);
$cnt1=count($lst1);
//aff_tab($lst1);
$lst2=ListFromFile($file2);
$cnt2=count($lst2);
//aff_tab($lst2);
if($cnt1>0 && $cnt2>0)
for($x1=0;$x1<$cnt1;$x1++){
$found=false;
for($x2=0;$x2<$cnt2;$x2++){
$pos=strpos(trim($lst2[$x2]),trim($lst1[$x1]));
if($pos!==false){
echo 'Correspondance trouvée pour '.$lst1[$x1].
' à la ligne '.($x2).', position '.($pos).'.<br/>';
echo $lst2[$x2]."<BR>";
$found=true;
break;
}
}
//if(!$found)
// echo 'Correspondance non trouvée pour '.$lst1[$x1].'.<br/>';
}
je te donne aussi un exemple de chaque fichier texte que j'utilise.
le fichier gene.txt:
ABTB1
Ac-35K/p35
AD7C-NTP
ADAMTS4
AGGF1
ALS2CR2
ANAPC10
ANK3
le fichier gene-synonyme.txt:
A1a A1, Bfl-1, Hbpa1, Bcl2a1, Bcl2a1a
A1b Bcl2a1b, A1-b
AIF Pdcd8
Ankyrin-1 ANK1, ANK, SPH1, SPH2
Ankyrin-2 ANK2, Ank-2, ankyrin B
Ankyrin-3 Ank3, Ank-3, MGC14049
Apaf1 fog, Apaf-1, Apaf1l
Apollon BIRC6
Arc MYC, NOP, Nop30,Nol3
Mon code semble detecter les genes mais des prblemes subsistent:
-Correspondance trouvée pour CR2 à la ligne 156, position 12.
ligne de synonyme = TNFRSF10D, DCR2, TRUNDD, TRAILR4
ici le motif CR2 est trouve mais a l'interieur d'un gene qui n'est pas le bon.
-les indices de lignes et postion ne sont pas les bons et je ne vois pas pourqoi!
vois tu quelques chose a modifier ?
merci.