Class: Chem::Sybyl::SybylMolecule
- Inherits:
-
Object
- Object
- Chem::Sybyl::SybylMolecule
- Includes:
- Molecule, Enumerable
- Defined in:
- lib/chem/db/sybyl.rb
Constant Summary
Constants included from Molecule
Molecule::DESCRIPTORNAME, Molecule::ELEMNUM, Molecule::EpsHeader, Molecule::MDLCountLineFormat, Molecule::MDLHeaderLine2Format
Instance Attribute Summary
Attributes included from Molecule
#cdk2atom, #cdk_mol, #name, #ob_mol, #source
Attributes included from Graph
Instance Method Summary collapse
-
#initialize(filename) ⇒ SybylMolecule
constructor
def charge?.
- #n_atoms ⇒ Object
- #n_bonds ⇒ Object
Methods included from Molecule
#-, #adjacent_index, #assign_2d_geometry, #bit_mat, #box_size, #breadth_first_search, #canonical_ring, #cdk_BCUT, #cdk_CPSA, #cdk_RotatableBondsCount, #cdk_calc_descriptor, #cdk_calc_descriptors, #cdk_find_all_rings, #cdk_fingerprint, #cdk_gasteiger_marsili_partial_charges, #cdk_generate_2D, #cdk_generate_randomly, #cdk_generate_vicinity, #cdk_hose_code, #cdk_hueckel, #cdk_mcs, #cdk_properties, #cdk_rule_of_file, #cdk_save_as, #cdk_setup, #cdk_sssr, #cdk_wiener_numbers, #cdk_xlogp, #composition, #connected?, #deep_dup, #delete, #delete_bond, #depth_first_search, #divide, #f_dfs, #find_smallest_ring, #find_sssr, #fingerprint, #generate_pubchem_subskey, #hilight, #induced_sub, #match, #match_by_ullmann, #method_missing, #molecular_weight, #n_hydrogen, #ob_export_as, #ob_save_as, #oxidation_number, #pubchem_subskeys, #remove_hydrogens!, #save, #save_as_mdl, #save_as_pdf, #subset_in_composition?, #to_cansmi, #to_eps, #to_inchi, #to_sybyl, #typ_str, #use_open_babel
Methods included from Graph
#adjacent_to, #clustering_coefficient, #each, #morgan, #terminal_nodes
Constructor Details
#initialize(filename) ⇒ SybylMolecule
def charge?
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/chem/db/sybyl.rb', line 120 def initialize filename @nodes = [] @edges = [] File.open(filename) do |input| input.read.split("\n@").each do |line| ary = line.split("\n") case ary[0] when /<TRIPOS>MOLECULE/ parse_mol ary when /<TRIPOS>ATOM/ ary[1..-1].each{|line| @nodes.push(SybylAtom.new(line))} when /<TRIPOS>BOND/ ary[1..-1].each do |line| bond = SybylBond.new(line) @edges.push([bond, @nodes[bond.e - 1], @nodes[bond.b - 1]]) end end end end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Chem::Molecule
Instance Method Details
#n_atoms ⇒ Object
117 |
# File 'lib/chem/db/sybyl.rb', line 117 def n_atoms ; @n_atoms ||= @count_line[0..4].to_i ; end |
#n_bonds ⇒ Object
118 |
# File 'lib/chem/db/sybyl.rb', line 118 def n_bonds ; @n_bonds ||= @count_line[5..10].to_i ; end |