Class: GlyDevKit::MolWURCS

Inherits:
Object
  • Object
show all
Defined in:
lib/glydevkit/mol_wurcs.rb

Instance Method Summary collapse

Instance Method Details

#mol2wurcs(smiles) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/glydevkit/mol_wurcs.rb', line 50

def mol2wurcs(smiles)
  parser = SmilesParser.new(DefaultChemObjectBuilder.getInstance)
  molecule = parser.parseSmiles(smiles)
  begin
    graphs = MoleculeToWURCSGraph.new.start(molecule)
  rescue StandardError => e
    puts "An error occurred: #{e.message}"
    puts "This method currently only supports up to WURCSFramework version 1.2.16. You need to downgrade the WURCSFramework using the command: `ruby -r init -e \'Init.switch_WFW_version(\"1.2.16\")\'`."
    raise
  end
  factory = WURCSFactory.new(graphs[0])
  return {"wurcs": factory.getWURCS(), "input": smiles} 
end

#wurcs2mol(w, format) ⇒ String

Returns string with specified molecular descriptor.

Returns:

  • (String)

    string with specified molecular descriptor



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/glydevkit/mol_wurcs.rb', line 36

def wurcs2mol(w,format)
  mols = read_wurcs(w)
  return {"flag": false,"wurcs": w, "message": "WURCS strings that could not be parsed to the atomic level"} if mols.nil?

  case format
  when "sdf"
    {"wurcs": w}.merge(export_to_sdf(mols))
  when "smiles"
    {"wurcs": w}.merge(export_to_smiles(mols))
  else
    {"flag": false,"wurcs": w, "#{format}": "", "message": "Undefined format"}
  end
end