robert-m-elder commited on
Commit
412bfc6
·
1 Parent(s): bd5fb72

report now shows input string and IUPAC name

Browse files
ChemID.py CHANGED
@@ -81,6 +81,7 @@ def ResolveChemical(chemName, IDtype):
81
  im64 = None
82
  error = 0
83
 
 
84
  smiles = name2smiles(name)
85
 
86
  if smiles:
@@ -167,6 +168,9 @@ def smiles2name(smiles):
167
  compounds = pcp.get_compounds(smiles, namespace='smiles')
168
  c = compounds[0]
169
  name = c.iupac_name
 
 
 
170
  except:
171
  name = None
172
  # next try cirpy
@@ -234,12 +238,14 @@ def cas2name(cas):
234
  #if not is_cas(cas):
235
  # name = 'INVALID CAS'
236
  # first try chemicals package
237
- if not name:
238
- try:
239
- cm = chemicals.search_chemical(cas)
240
  name = cm.iupac_name
241
- except:
242
- name = None
 
 
243
  # then try cirpy
244
  if not name:
245
  try:
@@ -261,15 +267,17 @@ def cas2name(cas):
261
  name = None
262
  return name
263
 
264
- # function to convert chemical entity string to iupac name
265
- def string2name(string):
266
  name = None
267
  origin = None
268
  # try chemicals package
269
  try:
270
  cm = chemicals.search_chemical(string)
271
- name = cm.iupac_name
272
- #name = cm.common_name
 
 
273
  origin = 'chemicals'
274
  except KeyboardInterrupt:
275
  raise
@@ -281,10 +289,9 @@ def string2name(string):
281
  try:
282
  compounds = pcp.get_compounds(string, namespace='name')
283
  c = compounds[0]
284
- if c.iupac_name:
285
- name = c.iupac_name
286
  if not name:
287
- # have seen empty iupac_name before, try synonyms if this happens
288
  name = c.synonyms[0]
289
  origin = 'PubChem'
290
  except:
@@ -293,8 +300,8 @@ def string2name(string):
293
  # next try cirpy
294
  if not name:
295
  try:
296
- name = cirpy.resolve(string, 'names')
297
- #name = cirpy.resolve(string, 'iupac_name')
298
  if name: origin = 'CIRPY'
299
  except:
300
  name = None
@@ -321,8 +328,10 @@ def string2name(string):
321
  try:
322
  compounds = pcp.get_compounds(string_strip, namespace='name')
323
  c = compounds[0]
324
- name = c.synonyms[0]
325
- #name = c.iupac_name
 
 
326
  origin = 'PubChem'
327
  except:
328
  name = None
@@ -330,7 +339,8 @@ def string2name(string):
330
  # next try cirpy
331
  if not name:
332
  try:
333
- name = cirpy.resolve(string_strip, 'names')
 
334
  if name: origin = 'CIRPY'
335
  except:
336
  name = None
 
81
  im64 = None
82
  error = 0
83
 
84
+ name, name_origin = name2iupac(name)
85
  smiles = name2smiles(name)
86
 
87
  if smiles:
 
168
  compounds = pcp.get_compounds(smiles, namespace='smiles')
169
  c = compounds[0]
170
  name = c.iupac_name
171
+ if not name:
172
+ # have seen empty iupac_name before, try synonyms if this happens
173
+ name = c.synonyms[0]
174
  except:
175
  name = None
176
  # next try cirpy
 
238
  #if not is_cas(cas):
239
  # name = 'INVALID CAS'
240
  # first try chemicals package
241
+ try:
242
+ cm = chemicals.search_chemical(cas)
243
+ if cm.iupac_name:
244
  name = cm.iupac_name
245
+ elif cm.common_name:
246
+ name = cm.common_name
247
+ except:
248
+ name = None
249
  # then try cirpy
250
  if not name:
251
  try:
 
267
  name = None
268
  return name
269
 
270
+ # function to convert chemical name to iupac name
271
+ def name2iupac(string):
272
  name = None
273
  origin = None
274
  # try chemicals package
275
  try:
276
  cm = chemicals.search_chemical(string)
277
+ if cm.iupac_name:
278
+ name = cm.iupac_name
279
+ elif cm.common_name:
280
+ name = cm.common_name
281
  origin = 'chemicals'
282
  except KeyboardInterrupt:
283
  raise
 
289
  try:
290
  compounds = pcp.get_compounds(string, namespace='name')
291
  c = compounds[0]
292
+ name = c.iupac_name
 
293
  if not name:
294
+ # have seen empty iupac_name before, try synonyms if this happens
295
  name = c.synonyms[0]
296
  origin = 'PubChem'
297
  except:
 
300
  # next try cirpy
301
  if not name:
302
  try:
303
+ #name = cirpy.resolve(string, 'names')
304
+ name = cirpy.resolve(string, 'iupac_name')
305
  if name: origin = 'CIRPY'
306
  except:
307
  name = None
 
328
  try:
329
  compounds = pcp.get_compounds(string_strip, namespace='name')
330
  c = compounds[0]
331
+ name = c.iupac_name
332
+ if not name:
333
+ # have seen empty iupac_name before, try synonyms if this happens
334
+ name = c.synonyms[0]
335
  origin = 'PubChem'
336
  except:
337
  name = None
 
339
  # next try cirpy
340
  if not name:
341
  try:
342
+ #name = cirpy.resolve(string_strip, 'names')
343
+ name = cirpy.resolve(string, 'iupac_name')
344
  if name: origin = 'CIRPY'
345
  except:
346
  name = None
exposure_module/templates/exposure_report.html CHANGED
@@ -50,6 +50,7 @@
50
  <div class="container">
51
  <div class="row">
52
  <div class="column">
 
53
  IUPAC Name :: {{iupac}} <br> <br>
54
  CAS :: {{cas}} <br> <br>
55
  Molecular weight :: {{MW}} <br> <br>
 
50
  <div class="container">
51
  <div class="row">
52
  <div class="column">
53
+ Input :: {{chemName}} <br> <br>
54
  IUPAC Name :: {{iupac}} <br> <br>
55
  CAS :: {{cas}} <br> <br>
56
  Molecular weight :: {{MW}} <br> <br>