Subversion Repositories wimsdev

Rev

Rev 14144 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14144 Rev 14376
Line 34... Line 34...
34
    elsif ( grep { $_ eq $a[3] } @valence1 ){ $hash->{$cnt-4}{hydrogen}=1}
34
    elsif ( grep { $_ eq $a[3] } @valence1 ){ $hash->{$cnt-4}{hydrogen}=1}
35
    elsif ( grep { $_ eq $a[3] } @valence2 ){ $hash->{$cnt-4}{hydrogen}=2}
35
    elsif ( grep { $_ eq $a[3] } @valence2 ){ $hash->{$cnt-4}{hydrogen}=2}
36
    elsif ( grep { $_ eq $a[3] } @valence3 ){ $hash->{$cnt-4}{hydrogen}=3}
36
    elsif ( grep { $_ eq $a[3] } @valence3 ){ $hash->{$cnt-4}{hydrogen}=3}
37
    elsif ( grep { $_ eq $a[3] } @other) {}
37
    elsif ( grep { $_ eq $a[3] } @other) {}
38
    else {
38
    else {
39
    #die( "$a[3]")
39
      #die( "$a[3]")
40
    }
40
    }
41
  }
41
  }
42
  if ($cnt > $cntmax && $cnt <= $cntmax + $nbbond) {
42
  if ($cnt > $cntmax && $cnt <= $cntmax + $nbbond) {
43
    if (!($hash->{$a[0]}{name} =~ /H\b/) && !($hash->{$a[1]}{name} =~ /H\b/)) {
43
    if (!($hash->{$a[0]}{name} =~ /H\b/) && !($hash->{$a[1]}{name} =~ /H\b/)) {
44
      $hash->{$a[0]}{hydrogen}-= $a[2];
44
      $hash->{$a[0]}{hydrogen}-= $a[2];
45
      $hash->{$a[1]}{hydrogen}-= $a[2]
45
      $hash->{$a[1]}{hydrogen}-= $a[2]
-
 
46
    }
-
 
47
    if (!($hash->{$a[0]}{name} =~ /H\b/) && ($hash->{$a[1]}{name} =~ /H\b/)) {
-
 
48
      $hash->{$a[0]}{hydrogenfichier}++;
-
 
49
    }
-
 
50
    if (!($hash->{$a[1]}{name} =~ /H\b/) && ($hash->{$a[0]}{name} =~ /H\b/)) {
-
 
51
      $hash->{$a[1]}{hydrogenfichier}++;
46
    }
52
    }
47
  }
53
  }
48
  if ($_ =~s /M  CHG//) {
54
  if ($_ =~s /M  CHG//) {
49
    @a=split(" ", $_);
55
    @a=split(" ", $_);
50
    my $cc=1;
56
    my $cc=1;
Line 54... Line 60...
54
      }
60
      }
55
      $cc++;
61
      $cc++;
56
    }
62
    }
57
  };
63
  };
58
  $cnt ++;
64
  $cnt ++;
59
}
65
}
60
close IN;
66
close IN;
61
my $nbhydrogen='';
67
my $nbhydrogen='';
62
for my $at (sort {$a<=>$b} keys %hash){
68
for my $at (sort {$a<=>$b} keys %hash){
63
  $hash{$at}{'hydrogen'}=0 if (!(defined $hash{$at}{'hydrogen'}) || $hash{$at}{'hydrogen'}<0);
69
  $hash{$at}{'hydrogen'}=0 if (!(defined $hash{$at}{'hydrogen'}) || $hash{$at}{'hydrogen'}<0);
64
  $nH = $nH+ $hash{$at}{'hydrogen'};
70
  $nH = $nH+ $hash{$at}{'hydrogen'};
65
  $nbhydrogen .= "$at,$hash->{$at}{name},$hash->{$at}{hydrogen}\n";
71
  $nbhydrogen .= "$at,$hash->{$at}{name},$hash->{$at}{hydrogen}\n";
66
}
72
}
-
 
73
my $nbhydrogenfichier='';
-
 
74
for my $at (sort {$a<=>$b} keys %hash){
-
 
75
  if(!($hash->{$at}{name} =~ /H\b/)){
-
 
76
    $hash{$at}{'hydrogenfichier'}=0 if (!(defined $hash{$at}{'hydrogenfichier'})
-
 
77
      || $hash{$at}{'hydrogenfichier'}<0);
-
 
78
    $nbhydrogenfichier .= "$at,$hash->{$at}{name},$hash->{$at}{hydrogenfichier}\n";
-
 
79
  }
-
 
80
}
-
 
81
 
67
$atom{'H'}=$nH;
82
$atom{'H'}=$nH;
68
my $formula=$atom{'C'} > 0 ? 'C' : '' ;
83
my $formula=$atom{'C'} > 0 ? 'C' : '' ;
69
$formula .= $atom{'C'} if $atom{'C'} > 1;
84
$formula .= $atom{'C'} if $atom{'C'} > 1;
70
$formula .= 'H' if $atom{'H'} > 0;
85
$formula .= 'H' if $atom{'H'} > 0;
71
$formula .= $atom{'H'} if $atom{'H'} > 1;
86
$formula .= $atom{'H'} if $atom{'H'} > 1;
Line 73... Line 88...
73
for my $at (sort keys %atom){
88
for my $at (sort keys %atom){
74
  next if (!(defined ($atom{$at})) || $atom{$at}==0 );
89
  next if (!(defined ($atom{$at})) || $atom{$at}==0 );
75
  next if ($at=~'C\b' || $at=~'H\b');
90
  next if ($at=~'C\b' || $at=~'H\b');
76
  $formula .= $atom{$at}==1? $at : $at . $atom{$at};
91
  $formula .= $atom{$at}==1? $at : $at . $atom{$at};
77
}
92
}
78
print "$formula,[$nbhydrogen]";
93
print "$formula,[$nbhydrogen],[$nbhydrogenfichier]";
79
EOF
94
EOF