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 |