| Class | RCDK::Util::Lang |
| In: |
lib/rcdk/util.rb
|
| Parent: | Object |
Molecular language translation. Currently molfile, SMILES, and IUPAC nomenclature (read-only) are implemented.
Returns a String-based molfile by parsing the CDK molecule.
# File lib/rcdk/util.rb, line 87
87: def self.get_molfile(molecule)
88: writer = StringWriter.new
89:
90: @@mdl_writer.setWriter(writer)
91: @@mdl_writer.writeMolecule(molecule)
92: @@mdl_writer.close
93:
94: writer.toString
95: end
Returns a SMILES string based on the structure of the indicated CDK molecule.
# File lib/rcdk/util.rb, line 104
104: def self.get_smiles(molecule)
105: @@smiles_generator.createSMILES(molecule)
106: end
Returns a SMILES string by parsing the molfile string.
# File lib/rcdk/util.rb, line 109
109: def self.molfile_to_smiles(molfile)
110: get_smiles(read_molfile(molfile))
111: end
Returns a CDK Molecule given the specified iupac_name.
# File lib/rcdk/util.rb, line 71
71: def self.read_iupac(iupac_name)
72: nts = NameToStructure.getInstance
73: cml = nts.parseToCML(iupac_name)
74:
75: raise "Couldn't parse #{iupac_name}." unless cml
76:
77: string_reader = StringReader.new(cml.toXML)
78:
79: @@cml_reader = CMLReader.new unless @@cml_reader
80: @@cml_reader.setReader(string_reader)
81:
82: chem_file = @@cml_reader.read(ChemFile.new)
83: chem_file.getChemSequence(0).getChemModel(0).getSetOfMolecules.getMolecule(0)
84: end
Returns a CDK Molecule given the String-based molfile molfile.
# File lib/rcdk/util.rb, line 63
63: def self.read_molfile(molfile)
64: reader = StringReader.new(molfile)
65:
66: @@mdl_reader.setReader(reader)
67: @@mdl_reader.read(Molecule.new)
68: end
Returns a CDK Molecule by parsing smiles.
# File lib/rcdk/util.rb, line 98
98: def self.read_smiles(smiles)
99: @@smiles_parser.parseSmiles(smiles)
100: end