Class: Ruspider::Compound

Inherits:
Object
  • Object
show all
Defined in:
lib/ruspider/compound.rb

Overview

ChemSpider Compound Data container and parser

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(csid, cs) ⇒ Compound

Returns a new instance of Compound.



8
9
10
11
12
# File 'lib/ruspider/compound.rb', line 8

def initialize(csid, cs)
  @csid = csid
  @cs = cs
  @extended_compound_info = nil
end

Instance Attribute Details

#csidObject (readonly)

Returns the value of attribute csid.



6
7
8
# File 'lib/ruspider/compound.rb', line 6

def csid
  @csid
end

Instance Method Details

#alogpObject



58
59
60
# File 'lib/ruspider/compound.rb', line 58

def alogp
  extended_compound_info[:alogp]
end

#average_massObject



42
43
44
# File 'lib/ruspider/compound.rb', line 42

def average_mass
  extended_compound_info[:average_mass]
end

#common_nameObject



66
67
68
# File 'lib/ruspider/compound.rb', line 66

def common_name
  extended_compound_info[:common_name]
end

#extended_compound_infoObject



18
19
20
21
22
23
24
# File 'lib/ruspider/compound.rb', line 18

def extended_compound_info
  if @extended_compound_info.nil?
    @extended_compound_info = @cs.get_extended_compound_info(@csid)
  end

  @extended_compound_info
end

#imageObject



82
83
84
# File 'lib/ruspider/compound.rb', line 82

def image
  @cs.get_compound_thumbnail(@csid)
end

#image_urlObject



14
15
16
# File 'lib/ruspider/compound.rb', line 14

def image_url
  'http://www.chemspider.com/ImagesHandler.ashx?id=%s' + @csid
end

#inchiObject



34
35
36
# File 'lib/ruspider/compound.rb', line 34

def inchi
  extended_compound_info[:inchi]
end

#inchikeyObject



38
39
40
# File 'lib/ruspider/compound.rb', line 38

def inchikey
  extended_compound_info[:inchikey]
end

#mol_2dObject



70
71
72
# File 'lib/ruspider/compound.rb', line 70

def mol_2d
  @cs.get_record_mol(@csid, False)
end

#mol_3dObject



74
75
76
# File 'lib/ruspider/compound.rb', line 74

def mol_3d
  @cs.get_record_mol(@csid, True)
end

#mol_rawObject



78
79
80
# File 'lib/ruspider/compound.rb', line 78

def mol_raw
  @cs.get_original_mol(@csid)
end

#molecular_formulaObject



26
27
28
# File 'lib/ruspider/compound.rb', line 26

def molecular_formula
  extended_compound_info[:molecular_formula]
end

#molecular_weightObject



46
47
48
# File 'lib/ruspider/compound.rb', line 46

def molecular_weight
  extended_compound_info[:molecular_weight]
end

#monoisotopic_massObject



50
51
52
# File 'lib/ruspider/compound.rb', line 50

def monoisotopic_mass
  extended_compound_info[:monoisotopic_mass]
end

#nominal_massObject



54
55
56
# File 'lib/ruspider/compound.rb', line 54

def nominal_mass
  extended_compound_info[:nominal_mass]
end

#smilesObject



30
31
32
# File 'lib/ruspider/compound.rb', line 30

def smiles
  extended_compound_info[:smiles]
end

#spectraObject



86
87
88
89
90
91
# File 'lib/ruspider/compound.rb', line 86

def spectra
  spectra_list = @cs.get_spectra_info_list(@csid)
  spectra_list.map { |s| Spectrum.new(s) }
  # [Spectrum.from_info_dict(self._cs, info)
  # for info in self._cs.get_spectra_info_list([self.csid])]
end

#xlogpObject



62
63
64
# File 'lib/ruspider/compound.rb', line 62

def xlogp
  extended_compound_info[:xlogp]
end