package ChemicalReaction @ISA = qw() sub new my ($module, $pDBFiles, $BaseDBDir) = @_; return $this; sub DESTROY my ($this) = @_; $this->SUPER::DESTROY( sub Initialize my ($this, $InitializeDB) = @_; sub ClearHashes my ($this) = @_; sub pDBs sub pDBs { my ($this)= return $this->{pDBs}; sub DB sub DB { my ($this, $index)= return $this->{pDBs}->[$index]; sub InitialReaction sub InitialReaction { my ($this)= return $this->{Initial} ; sub FinalReaction sub FinalReaction { my ($this)= return $this->{Final} ; sub Reagents sub Reagents { my ($this)= return $this->{Initial} ; sub Products sub Products { my ($this)= return $this->{Final} ; sub ReagentsHash sub ReagentsHash { my ($this)= return $this->{ReagentsHash} ; sub ProductsHash sub ProductsHash { my ($this)= return $this->{ProductsHash} ; sub pCompounds my ($this, $key) = @_; return $this->{ProductsHash}->{pCompounds}; return $this->{ReagentsHash}->{pCompounds}; sub nCompound my ($this, $key, $compound) = @_; return $pHash->{$compound}{n}; sub ElementsArray my ($this, $key) = @_; return $this->pElements($key); sub pElements my ($this, $key) = @_; return $this->{ProductsHash}->{pElements}; return $this->{ReagentsHash}->{pElements}; sub nElement my ($this, $key, $element) = @_; return $pHash->{$element}{nElement}; sub MolcularWeight my ($this, $Compound) = @_; return $w; sub IsIncluded my ($this, $key, $pArray, $CaseSensitive) = @_; return 1 if($pArray->[$i] eq $key); return 1 if(uc $pArray->[$i] eq $key); return 0; sub SplitReaction my ($this, $Reaction) = @_; return Utils::Split("=>?", $Reaction); sub ReactionToCompounds my ($this, $reaction) = @_; return (\@Chemicals, \@Compounds, \@n); sub CompoundToElements my ($this, $Compound) = @_; return (\@Element, \@n); sub AnalyzeAReaction my ($this, $key, $reaction) = @_; sub Analyze my ($this, $Reaction, $IsPrint) = @_; return (); sub ListCompounds my ($this) = @_; sub CheckMassBalance my ($this, $IsPrint) = @_; return 0; return 0; return 1; sub GetDBHash my ($this, $Compound) = @_; return $pHash if($pHash and $pHash->{Status} eq ''); return undef; sub SearchDBHit my ($this, $RegExp) = @_; return @Hit; sub CalEForm my ($this) = @_; return (); return (); return (); return (); return (); return ($EForm, $EFormInitial, $EFormFinal); sub ShowSpeculatedSpecies my ($this, $Compound) = @_; sub ReadDBFile my ($this, $DBFile, $BaseDBDir) = @_; return undef; return $csv; sub ReadDBFiles my ($this, $pDBFiles, $BaseDBDir) = @_; return undef; return $this->{pDBs}; sub PrintElements my ($this, $key) = @_; sub PrintnElements my ($this, $key) = @_;