Module: Chem::OpenBabel
- Defined in:
- lib/chem/utils/openbabel.rb
Defined Under Namespace
Modules: OBAtom
Classes: OBMolecule, OBSmarts
Class Method Summary
collapse
Class Method Details
.load_as(path, filetype) ⇒ Object
116
117
118
119
120
121
122
|
# File 'lib/chem/utils/openbabel.rb', line 116
def self.load_as(path, filetype)
conv = ::OpenBabel::OBConversion.new
conv.set_in_format(filetype.to_s)
mol = ::OpenBabel::OBMol.new
conv.read_file(mol, path)
OBMolecule.new(mol)
end
|
.load_sdf(path) ⇒ Object
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/chem/utils/openbabel.rb', line 72
def self.load_sdf(path)
require 'openbabel'
conv = ::OpenBabel::OBConversion.new
conv.set_in_format("sdf")
mol = ::OpenBabel::OBMol.new
cond = conv.read_file(mol, path)
mols = [OBMolecule.new(mol)]
while cond
mol = ::OpenBabel::OBMol.new
cond = conv.read(mol)
mols << OBMolecule.new(mol) if cond
end
mols
end
|
.parse_smarts(smarts) ⇒ Object
108
109
110
|
# File 'lib/chem/utils/openbabel.rb', line 108
def self.parse_smarts(smarts)
OBSmarts.new(smarts)
end
|
.parse_smiles(smiles) ⇒ Object
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/chem/utils/openbabel.rb', line 61
def self.parse_smiles(smiles)
require 'openbabel'
converter = ::OpenBabel::OBConversion.new
converter.set_in_format("smi")
mol = ::OpenBabel::OBMol.new
converter.read_string(mol, smiles)
OBMolecule.new(mol)
end
|