1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
foreach $linekmtn (@$KMTN)
{
# -- One specie
if ($linekmtn =~ /^\s#(\d+)#\s(\d.+)\s\{(\w.+)\}/)
{
next unless exists ($SpecRef->{$1});
($specie1, $val, $compound) = ($1, $2, $3);
foreach $data (@$allfile)
{
chomp $data;
next unless ($data =~ m/^(\d+\.\d+\.\d+\.\d+)\t(\w.+)\t(\w.+)\tc\t/i);
next if $1 ne $numEC;
($valEC, $NameReact, $Equation) = ($1, $2, $3);
$da2 = $data;
$da2 =~ s/^\d+\.\d+\.\d+\.\d+\t\w.+\t\w.+\tc\t//gi;
foreach $ligne (split /;/, $da2)
{
($shortC,$nameC,$formulaC) = split (/\t/,$ligne);
next if (($nameC eq $duplicateN) && ($val eq $duplicateV));
&Product_Substrate($R_D,$R_Ins,$nameC,$formulaC); #envoie sur la base pour table product ou substrat
if ($nameC eq $compound)
{
# &Reaction_Prod_Sub($R_D2,$R_Ins2,$Equation,$NameReact,$nameC,$formulaC);
print FIL "\n $specie1 : $compound : $val" ;
$duplicateN = $nameC;
$duplicateV = $val;
#-------condition-------#
# deux conditions pour la meme espece
if ($linekmtn =~ /^\s\#(\d+)\#\s(\d.*)\s\{(\w.*)\}\s\s\(\#\d+\#\s(\w.+)\<\d+\>\;\s\#\d+\#\s(\w.+)\<\d+\>\)\s/)
{
$condition=$4.$5;
print FIL (" - $condition");
&R_KMP ->execute ($val,$condition,($SpecRef{$specie1}),$nameC,$formulaC);
} |
Partager