chemruby 0.9.3 → 1.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. data/README +2 -2
  2. data/Rakefile +67 -63
  3. data/ext/extconf.rb +2 -0
  4. data/ext/subcomp.c +461 -320
  5. data/ext/utils.c +56 -0
  6. data/ext/utils.h +13 -0
  7. data/lib/chem.rb +34 -8
  8. data/lib/chem/db.rb +8 -0
  9. data/lib/chem/db/cansmi.rb +1 -1
  10. data/lib/chem/db/cdx.rb +1 -1
  11. data/lib/chem/db/cml.rb +52 -0
  12. data/lib/chem/db/gd.rb +64 -0
  13. data/lib/chem/db/gspan.rb +2 -2
  14. data/lib/chem/db/kcf_rpair.rb +34 -0
  15. data/lib/chem/db/kegg.rb +35 -1
  16. data/lib/chem/db/mdl.rb +75 -34
  17. data/lib/chem/db/opsin.rb +24 -0
  18. data/lib/chem/db/pdb.rb +105 -0
  19. data/lib/chem/db/pdf.rb +2 -0
  20. data/lib/chem/db/pubchem.rb +1071 -88
  21. data/lib/chem/db/rmagick.rb +5 -3
  22. data/lib/chem/db/sdf.rb +28 -2
  23. data/lib/chem/db/smiles/smiles.ry +27 -25
  24. data/lib/chem/db/smiles/smiparser.rb +29 -27
  25. data/lib/chem/db/types/type_gd.rb +35 -0
  26. data/lib/chem/db/types/type_gspan.rb +2 -2
  27. data/lib/chem/db/types/type_kcf.rb +19 -0
  28. data/lib/chem/db/types/type_kegg.rb +2 -0
  29. data/lib/chem/db/types/type_mdl.rb +1 -1
  30. data/lib/chem/db/types/type_png.rb +5 -1
  31. data/lib/chem/db/types/type_rdf.rb +22 -0
  32. data/lib/chem/db/types/type_xyz.rb +1 -1
  33. data/lib/chem/db/vector.rb +19 -3
  34. data/lib/chem/model.rb +5 -2
  35. data/lib/chem/utils.rb +17 -1
  36. data/lib/chem/utils/bitdb.rb +49 -0
  37. data/lib/chem/utils/cas.rb +28 -0
  38. data/lib/chem/utils/cdk.rb +403 -0
  39. data/lib/chem/utils/fingerprint.rb +98 -0
  40. data/lib/chem/utils/geometry.rb +8 -0
  41. data/lib/chem/utils/net.rb +303 -0
  42. data/lib/chem/utils/once.rb +28 -0
  43. data/lib/chem/utils/openbabel.rb +204 -0
  44. data/lib/chem/utils/sssr.rb +33 -25
  45. data/lib/chem/utils/sub.rb +6 -0
  46. data/lib/chem/utils/transform.rb +9 -8
  47. data/lib/chem/utils/ullmann.rb +138 -95
  48. data/lib/graph.rb +5 -6
  49. data/lib/graph/utils.rb +8 -0
  50. data/sample/calc_maximum_common_subgraph.rb +27 -0
  51. data/sample/calc_properties.rb +9 -0
  52. data/sample/data/atp.mol +69 -0
  53. data/sample/data/pioglitazone.mol +58 -0
  54. data/sample/data/rosiglitazone.mol +55 -0
  55. data/sample/data/troglitazone.mol +70 -0
  56. data/sample/find_compound_by_keggapi.rb +19 -0
  57. data/sample/generate_inchi.rb +7 -0
  58. data/sample/generate_substructurekey.rb +11 -0
  59. data/sample/images/ex6.rb +17 -0
  60. data/sample/images/ex7.rb +18 -0
  61. data/sample/iupac2mol.rb +8 -0
  62. data/sample/kekule.rb +13 -0
  63. data/sample/logp.rb +4 -0
  64. data/sample/mcs.rb +13 -0
  65. data/sample/mol2pdf.rb +8 -0
  66. data/sample/pubchem_fetch.rb +8 -0
  67. data/sample/pubchem_search.rb +12 -0
  68. data/sample/rosiglitazone.mol +57 -0
  69. data/sample/smarts.rb +10 -0
  70. data/sample/structure_match.rb +8 -0
  71. data/sample/structure_match_color.rb +22 -0
  72. data/sample/thiazolidinedione.mol +19 -0
  73. data/sample/troglitazone.mol +232 -0
  74. data/sample/vicinity.rb +8 -0
  75. data/test/data/CID_704.sdf +236 -0
  76. data/test/data/CID_994.sdf +146 -0
  77. data/test/data/db_EXPT03276.txt +321 -0
  78. data/test/data/pioglitazone.mol +58 -0
  79. data/test/data/rosiglitazone.mol +55 -0
  80. data/test/data/thiazolidinedione.mol +19 -0
  81. data/test/data/troglitazone.mol +70 -0
  82. data/test/{test_adj.rb → tc_adj.rb} +0 -0
  83. data/test/{test_canonical_smiles.rb → tc_canonical_smiles.rb} +0 -0
  84. data/test/tc_casrn.rb +17 -0
  85. data/test/tc_cdk.rb +89 -0
  86. data/test/{test_cdx.rb → tc_cdx.rb} +0 -0
  87. data/test/{test_chem.rb → tc_chem.rb} +0 -0
  88. data/test/{test_cluster.rb → tc_cluster.rb} +0 -0
  89. data/test/{test_db.rb → tc_db.rb} +0 -0
  90. data/test/tc_develop.rb +38 -0
  91. data/test/tc_drugbank.rb +13 -0
  92. data/test/{test_eps.rb → tc_eps.rb} +0 -0
  93. data/test/tc_gd.rb +8 -0
  94. data/test/{test_geometry.rb → tc_geometry.rb} +0 -0
  95. data/test/tc_graph.rb +15 -0
  96. data/test/{test_gspan.rb → tc_gspan.rb} +0 -0
  97. data/test/{test_iupac.rb → tc_iupac.rb} +0 -0
  98. data/test/{test_kcf.rb → tc_kcf.rb} +0 -0
  99. data/test/{test_kcf_glycan.rb → tc_kcf_glycan.rb} +0 -0
  100. data/test/{test_kegg.rb → tc_kegg.rb} +13 -0
  101. data/test/{test_linucs.rb → tc_linucs.rb} +0 -0
  102. data/test/{test_mdl.rb → tc_mdl.rb} +20 -0
  103. data/test/{test_mol2.rb → tc_mol2.rb} +1 -1
  104. data/test/{test_morgan.rb → tc_morgan.rb} +0 -0
  105. data/test/tc_net.rb +5 -0
  106. data/test/tc_once.rb +29 -0
  107. data/test/tc_openbabel.rb +57 -0
  108. data/test/{test_pdf.rb → tc_pdf.rb} +0 -0
  109. data/test/{test_prop.rb → tc_prop.rb} +1 -1
  110. data/test/tc_pubchem.rb +32 -0
  111. data/test/{test_rmagick.rb → tc_rmagick.rb} +0 -0
  112. data/test/{test_sbdb.rb → tc_sbdb.rb} +0 -0
  113. data/test/{test_sdf.rb → tc_sdf.rb} +2 -0
  114. data/test/{test_smiles.rb → tc_smiles.rb} +46 -30
  115. data/test/tc_sssr.rb +1 -0
  116. data/test/{test_sub.rb → tc_sub.rb} +0 -0
  117. data/test/tc_subcomp.rb +59 -0
  118. data/test/{test_traverse.rb → tc_traverse.rb} +0 -0
  119. data/test/{test_writer.rb → tc_writer.rb} +0 -0
  120. data/test/{test_xyz.rb → tc_xyz.rb} +0 -0
  121. data/test/ts_current.rb +11 -0
  122. data/test/ts_image.rb +6 -0
  123. data/test/ts_main.rb +12 -0
  124. metadata +259 -194
  125. data/lib/chem/utils/graph_db.rb +0 -146
  126. data/test/test_sssr.rb +0 -18
  127. data/test/test_subcomp.rb +0 -37
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'chem'
4
+
5
+ term = ARGV.shift
6
+
7
+ query = {
8
+ :db => :pccompound,
9
+ :term => term
10
+ }
11
+
12
+ p Chem::NCBI::ESearch.search(query)
@@ -0,0 +1,57 @@
1
+
2
+ ChemRuby1124072309
3
+ rosiglitazone.mol
4
+ 25 27 0 0 0 0 0 0 0 0999 V2000
5
+ 0.0000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0
6
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
7
+ 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
13
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
14
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
15
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
16
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
17
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
18
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
19
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
20
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
21
+ 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
22
+ 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
23
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
24
+ 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
25
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
26
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
27
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
28
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
29
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
30
+ 1 2 1 0
31
+ 2 3 1 0
32
+ 3 4 1 0
33
+ 4 5 1 0
34
+ 5 1 1 0
35
+ 6 2 2 0
36
+ 7 4 2 0
37
+ 9 10 2 0
38
+ 10 11 1 0
39
+ 11 12 2 0
40
+ 12 13 1 0
41
+ 13 14 2 0
42
+ 14 9 1 0
43
+ 15 16 1 0
44
+ 17 15 1 0
45
+ 20 21 2 0
46
+ 21 22 1 0
47
+ 22 23 2 0
48
+ 23 24 1 0
49
+ 24 25 2 0
50
+ 25 20 1 0
51
+ 19 18 1 0
52
+ 21 18 1 0
53
+ 18 16 1 0
54
+ 17 12 1 0
55
+ 9 8 1 0
56
+ 8 5 1 0
57
+ M END
@@ -0,0 +1,10 @@
1
+ require 'chem'
2
+
3
+ mol = Chem::OpenBabel::parse_smiles('CC(C)CCCC(C)C1CCC2C1(CCC3C2CC=C4C3(CCC(C4)O)C)C')
4
+ pat = Chem::OpenBabel::parse_smarts('Cc1ccc(C)cc1')
5
+
6
+ pat.match(mol)
7
+ ary = pat.get_umap_list
8
+
9
+ p ary
10
+
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'chem'
5
+
6
+ mol = Chem.load("troglitazone.mol")
7
+ query = SMILES("C1C(=O)NC(=O)S1")
8
+ p query.match(mol)
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'chem'
5
+
6
+ target = Chem.load("troglitazone.mol")
7
+ query = SMILES("C1C(=O)NC(=O)S1")
8
+
9
+ hash = query.match(target)[0]
10
+ p hash
11
+ hash.each_value do |atom|
12
+ atom.color = [1, 0, 0]
13
+ end
14
+
15
+ target.edges.each do |bond, from, to|
16
+ if hash.values.include?(from) and hash.values.include?(to)
17
+ bond.color = [1, 0, 0]
18
+ end
19
+ end
20
+
21
+ target.remove_hydrogens!
22
+ target.save("troglitazone.pdf")
@@ -0,0 +1,19 @@
1
+
2
+ ChemRuby1128072358
3
+ thiazolidinedione.mol
4
+ 7 7 0 0 0 0 0 0 0 0999 V2000
5
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
6
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
7
+ 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 0.0000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 1 2 1 0
13
+ 2 3 2 0
14
+ 2 4 1 0
15
+ 4 5 1 0
16
+ 5 6 2 0
17
+ 5 7 1 0
18
+ 7 1 1 0
19
+ M END
@@ -0,0 +1,232 @@
1
+ 5591
2
+ -OEChem-11230710362D
3
+
4
+ 58 61 0 1 0 0 0 0 0999 V2000
5
+ 13.9366 0.5956 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0
6
+ 6.0290 -1.7278 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
7
+ 8.4383 -0.3537 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 2.5369 0.3068 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 11.5611 1.6217 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 15.0634 1.9762 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 13.2842 2.0763 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 6.9350 -1.2140 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
13
+ 6.9350 -0.1723 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
14
+ 6.0290 0.3415 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
15
+ 5.1350 -0.1932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
16
+ 5.1350 -1.1932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
17
+ 7.9350 -1.2178 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
18
+ 7.4317 -2.0819 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
19
+ 4.2690 0.3068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
20
+ 4.2690 -1.6932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
21
+ 3.4030 -1.1932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
22
+ 3.4030 -0.1932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
23
+ 4.2690 1.3068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
24
+ 4.2690 -2.6932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
25
+ 2.5369 -1.6932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
26
+ 9.4383 -0.3576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
27
+ 11.4383 -0.3653 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
28
+ 9.9350 -1.2255 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
29
+ 9.9417 0.5065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
30
+ 12.4383 -0.3692 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
31
+ 12.9417 0.4949 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
32
+ 10.9350 -1.2294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
33
+ 10.9417 0.5026 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
34
+ 12.5384 1.4100 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
35
+ 14.1483 1.5730 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
36
+ 7.5459 -0.2784 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
37
+ 7.1441 0.4114 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
38
+ 6.4226 0.8205 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
39
+ 5.6244 0.8113 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
40
+ 8.5168 -1.4321 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
41
+ 7.8250 -1.8280 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
42
+ 7.9698 -1.7740 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
43
+ 7.7396 -2.6200 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
44
+ 6.8936 -2.3898 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
45
+ 4.8890 1.3068 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
46
+ 4.2690 1.9268 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
47
+ 3.6490 1.3068 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
48
+ 3.6490 -2.6932 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
49
+ 4.2690 -3.3132 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
50
+ 4.8890 -2.6932 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
51
+ 2.2269 -1.1562 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
52
+ 2.0000 -2.0032 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
53
+ 2.8469 -2.2301 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
54
+ 2.0000 -0.0032 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
55
+ 13.0201 -0.5834 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
56
+ 12.3283 -0.9793 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
57
+ 9.6229 -1.7613 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
58
+ 9.6337 1.0446 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
59
+ 13.2773 -0.0263 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
60
+ 11.2429 -1.7675 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
61
+ 11.2537 1.0384 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
62
+ 13.2217 2.6932 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
63
+ 1 27 1 0 0 0 0
64
+ 1 31 1 0 0 0 0
65
+ 2 8 1 0 0 0 0
66
+ 2 12 1 0 0 0 0
67
+ 3 13 1 0 0 0 0
68
+ 3 22 1 0 0 0 0
69
+ 4 18 1 0 0 0 0
70
+ 4 50 1 0 0 0 0
71
+ 5 30 2 0 0 0 0
72
+ 6 31 2 0 0 0 0
73
+ 7 30 1 0 0 0 0
74
+ 7 31 1 0 0 0 0
75
+ 7 58 1 0 0 0 0
76
+ 8 9 1 0 0 0 0
77
+ 8 13 1 0 0 0 0
78
+ 8 14 1 0 0 0 0
79
+ 9 10 1 0 0 0 0
80
+ 9 32 1 0 0 0 0
81
+ 9 33 1 0 0 0 0
82
+ 10 11 1 0 0 0 0
83
+ 10 34 1 0 0 0 0
84
+ 10 35 1 0 0 0 0
85
+ 11 12 2 0 0 0 0
86
+ 11 15 1 0 0 0 0
87
+ 12 16 1 0 0 0 0
88
+ 13 36 1 0 0 0 0
89
+ 13 37 1 0 0 0 0
90
+ 14 38 1 0 0 0 0
91
+ 14 39 1 0 0 0 0
92
+ 14 40 1 0 0 0 0
93
+ 15 18 2 0 0 0 0
94
+ 15 19 1 0 0 0 0
95
+ 16 17 2 0 0 0 0
96
+ 16 20 1 0 0 0 0
97
+ 17 18 1 0 0 0 0
98
+ 17 21 1 0 0 0 0
99
+ 19 41 1 0 0 0 0
100
+ 19 42 1 0 0 0 0
101
+ 19 43 1 0 0 0 0
102
+ 20 44 1 0 0 0 0
103
+ 20 45 1 0 0 0 0
104
+ 20 46 1 0 0 0 0
105
+ 21 47 1 0 0 0 0
106
+ 21 48 1 0 0 0 0
107
+ 21 49 1 0 0 0 0
108
+ 22 24 2 0 0 0 0
109
+ 22 25 1 0 0 0 0
110
+ 23 26 1 0 0 0 0
111
+ 23 28 2 0 0 0 0
112
+ 23 29 1 0 0 0 0
113
+ 24 28 1 0 0 0 0
114
+ 24 53 1 0 0 0 0
115
+ 25 29 2 0 0 0 0
116
+ 25 54 1 0 0 0 0
117
+ 26 27 1 0 0 0 0
118
+ 26 51 1 0 0 0 0
119
+ 26 52 1 0 0 0 0
120
+ 27 30 1 0 0 0 0
121
+ 27 55 1 0 0 0 0
122
+ 28 56 1 0 0 0 0
123
+ 29 57 1 0 0 0 0
124
+ M END
125
+ > <PUBCHEM_COMPOUND_CID>
126
+ 5591
127
+
128
+ > <PUBCHEM_COMPOUND_CANONICALIZED>
129
+ 1
130
+
131
+ > <PUBCHEM_CACTVS_COMPLEXITY>
132
+ 681
133
+
134
+ > <PUBCHEM_CACTVS_HBOND_ACCEPTOR>
135
+ 5
136
+
137
+ > <PUBCHEM_CACTVS_HBOND_DONOR>
138
+ 2
139
+
140
+ > <PUBCHEM_CACTVS_ROTATABLE_BOND>
141
+ 5
142
+
143
+ > <PUBCHEM_CACTVS_SUBSKEYS>
144
+ AAADceB6OABAAAAAAAAAAAAAAAAAAWAAAAA0YIAAAAAAAACRQAAAHgQQCAAADESl2AKyBoLABgiIAiFSEAACCABgIBAIiAEGCIgNJjKmsRqGeCCk1DEKuAfYyPCO4QADAAAYAADCAAYAADAAAAAAAAAAAA==
145
+
146
+ > <PUBCHEM_IUPAC_OPENEYE_NAME>
147
+ 5-[[4-[(6-hydroxy-2,5,7,8-tetramethyl-chroman-2-yl)methoxy]phenyl]methyl]thiazolidine-2,4-dione
148
+
149
+ > <PUBCHEM_IUPAC_CAS_NAME>
150
+ 5-[[4-[(6-hydroxy-2,5,7,8-tetramethyl-2-chromanyl)methoxy]phenyl]methyl]thiazolidine-2,4-dione
151
+
152
+ > <PUBCHEM_IUPAC_NAME>
153
+ 5-[[4-[(6-hydroxy-2,5,7,8-tetramethylchroman-2-yl)methoxy]phenyl]methyl]-1,3-thiazolidine-2,4-dione
154
+
155
+ > <PUBCHEM_IUPAC_SYSTEMATIC_NAME>
156
+ 5-[[4-[(6-hydroxy-2,5,7,8-tetramethyl-chroman-2-yl)methoxy]phenyl]methyl]-1,3-thiazolidine-2,4-dione
157
+
158
+ > <PUBCHEM_IUPAC_TRADITIONAL_NAME>
159
+ 5-[4-[(6-hydroxy-2,5,7,8-tetramethyl-chroman-2-yl)methoxy]benzyl]thiazolidine-2,4-quinone
160
+
161
+ > <PUBCHEM_NIST_INCHI>
162
+ InChI=1/C24H27NO5S/c1-13-14(2)21-18(15(3)20(13)26)9-10-24(4,30-21)12-29-17-7-5-16(6-8-17)11-19-22(27)25-23(28)31-19/h5-8,19,26H,9-12H2,1-4H3,(H,25,27,28)/f/h25H
163
+
164
+ > <PUBCHEM_CACTVS_XLOGP>
165
+ 3.6
166
+
167
+ > <PUBCHEM_EXACT_MASS>
168
+ 441.160994
169
+
170
+ > <PUBCHEM_MOLECULAR_FORMULA>
171
+ C24H27NO5S
172
+
173
+ > <PUBCHEM_MOLECULAR_WEIGHT>
174
+ 441.53988
175
+
176
+ > <PUBCHEM_OPENEYE_CAN_SMILES>
177
+ CC1=C(C(=C2CCC(OC2=C1C)(C)COC3=CC=C(C=C3)CC4C(=O)NC(=O)S4)C)O
178
+
179
+ > <PUBCHEM_OPENEYE_ISO_SMILES>
180
+ CC1=C(C(=C2CCC(OC2=C1C)(C)COC3=CC=C(C=C3)CC4C(=O)NC(=O)S4)C)O
181
+
182
+ > <PUBCHEM_CACTVS_TPSA>
183
+ 84.9
184
+
185
+ > <PUBCHEM_MONOISOTOPIC_WEIGHT>
186
+ 441.160994
187
+
188
+ > <PUBCHEM_TOTAL_CHARGE>
189
+ 0
190
+
191
+ > <PUBCHEM_HEAVY_ATOM_COUNT>
192
+ 31
193
+
194
+ > <PUBCHEM_ATOM_DEF_STEREO_COUNT>
195
+ 0
196
+
197
+ > <PUBCHEM_ATOM_UDEF_STEREO_COUNT>
198
+ 2
199
+
200
+ > <PUBCHEM_BOND_DEF_STEREO_COUNT>
201
+ 0
202
+
203
+ > <PUBCHEM_BOND_UDEF_STEREO_COUNT>
204
+ 0
205
+
206
+ > <PUBCHEM_ISOTOPIC_ATOM_COUNT>
207
+ 0
208
+
209
+ > <PUBCHEM_COMPONENT_COUNT>
210
+ 1
211
+
212
+ > <PUBCHEM_CACTVS_TAUTO_COUNT>
213
+ 27
214
+
215
+ > <PUBCHEM_BONDANNOTATIONS>
216
+ 11 12 8
217
+ 11 15 8
218
+ 12 16 8
219
+ 15 18 8
220
+ 16 17 8
221
+ 17 18 8
222
+ 22 24 8
223
+ 22 25 8
224
+ 23 28 8
225
+ 23 29 8
226
+ 24 28 8
227
+ 25 29 8
228
+ 27 26 3
229
+ 8 14 3
230
+
231
+ $$$$
232
+
@@ -0,0 +1,8 @@
1
+ require 'chem'
2
+
3
+ atp = Chem.load("data/atp.mol").cdk_setup
4
+
5
+ atp.cdk_generate_vicinity.each_with_index do |mol, n|
6
+ mol2d = mol.cdk_generate_2D
7
+ mol2d.save("temp/v#{n}.pdf")
8
+ end
@@ -0,0 +1,236 @@
1
+ 704
2
+ -OEChem-10300603532D
3
+
4
+ 62 64 0 1 0 0 0 0 0999 V2000
5
+ 8.4752 2.1223 0.0000 P 0 0 3 0 0 0 0 0 0 0 0 0
6
+ 10.1980 2.3004 0.0000 P 0 0 3 0 0 0 0 0 0 0 0 0
7
+ 5.9405 0.3579 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
8
+ 3.4025 0.8622 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
9
+ 4.6844 2.6201 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
10
+ 7.6651 1.5359 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
11
+ 9.2852 2.7087 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
12
+ 11.1109 1.8921 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
13
+ 9.0615 1.3123 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
14
+ 13.5410 3.6512 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
15
+ 7.8888 2.9323 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
16
+ 12.9366 1.0754 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
17
+ 14.6594 1.2535 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
18
+ 10.6063 3.2132 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
19
+ 9.7897 1.3875 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
20
+ 4.6783 -0.9000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
21
+ 4.6783 -2.5095 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
22
+ 2.8660 -0.7048 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
23
+ 2.0000 -2.2048 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
24
+ 2.8660 -3.7048 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
25
+ 16.2795 2.4263 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
26
+ 4.4025 0.8605 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
27
+ 4.9917 1.6685 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
28
+ 4.9889 0.0505 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
29
+ 5.9423 1.3579 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
30
+ 6.7523 1.9442 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
31
+ 3.7321 -1.2048 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
32
+ 5.2619 -1.7048 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
33
+ 3.7321 -2.2048 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
34
+ 2.8660 -2.7048 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
35
+ 13.6438 2.6565 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
36
+ 12.8337 2.0701 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
37
+ 14.5566 2.2482 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0
38
+ 11.9209 2.4784 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
39
+ 2.0000 -1.2048 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
40
+ 15.3667 2.8346 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
41
+ 4.1220 1.4134 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
42
+ 5.4309 2.1062 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
43
+ 5.4266 -0.3887 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
44
+ 6.4942 1.0754 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
45
+ 7.0999 2.4576 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
46
+ 6.3070 2.3757 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
47
+ 3.0935 1.3997 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
48
+ 5.1000 3.0801 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
49
+ 5.8819 -1.7048 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
50
+ 13.0778 2.9097 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
51
+ 13.3997 1.8170 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
52
+ 14.0544 1.8846 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
53
+ 12.2685 2.9918 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
54
+ 11.4757 2.9099 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
55
+ 1.4631 -0.8948 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
56
+ 15.7142 3.3480 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
57
+ 14.9214 3.2660 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
58
+ 8.8084 0.7463 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
59
+ 2.3291 -4.0148 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
60
+ 3.4030 -4.0148 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
61
+ 14.0432 4.0148 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
62
+ 13.5025 0.8223 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
63
+ 15.2254 1.0003 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
64
+ 16.7817 2.7898 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
65
+ 16.3432 1.8095 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
66
+ 10.2428 3.7154 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
67
+ 1 6 1 0 0 0 0
68
+ 1 7 1 0 0 0 0
69
+ 1 9 1 0 0 0 0
70
+ 1 11 2 0 0 0 0
71
+ 2 7 1 0 0 0 0
72
+ 2 8 1 0 0 0 0
73
+ 2 14 1 0 0 0 0
74
+ 2 15 2 0 0 0 0
75
+ 3 24 1 0 0 0 0
76
+ 3 25 1 0 0 0 0
77
+ 4 22 1 0 0 0 0
78
+ 4 43 1 0 0 0 0
79
+ 5 23 1 0 0 0 0
80
+ 5 44 1 0 0 0 0
81
+ 6 26 1 0 0 0 0
82
+ 8 34 1 0 0 0 0
83
+ 9 54 1 0 0 0 0
84
+ 10 31 1 0 0 0 0
85
+ 10 57 1 0 0 0 0
86
+ 12 32 1 0 0 0 0
87
+ 12 58 1 0 0 0 0
88
+ 13 33 1 0 0 0 0
89
+ 13 59 1 0 0 0 0
90
+ 14 62 1 0 0 0 0
91
+ 16 24 1 0 0 0 0
92
+ 16 27 1 0 0 0 0
93
+ 16 28 1 0 0 0 0
94
+ 17 28 2 0 0 0 0
95
+ 17 29 1 0 0 0 0
96
+ 18 27 2 0 0 0 0
97
+ 18 35 1 0 0 0 0
98
+ 19 30 1 0 0 0 0
99
+ 19 35 2 0 0 0 0
100
+ 20 30 1 0 0 0 0
101
+ 20 55 1 0 0 0 0
102
+ 20 56 1 0 0 0 0
103
+ 21 36 1 0 0 0 0
104
+ 21 60 1 0 0 0 0
105
+ 21 61 1 0 0 0 0
106
+ 22 23 1 0 0 0 0
107
+ 22 24 1 0 0 0 0
108
+ 22 37 1 0 0 0 0
109
+ 23 25 1 0 0 0 0
110
+ 23 38 1 0 0 0 0
111
+ 24 39 1 0 0 0 0
112
+ 25 26 1 0 0 0 0
113
+ 25 40 1 0 0 0 0
114
+ 26 41 1 0 0 0 0
115
+ 26 42 1 0 0 0 0
116
+ 27 29 1 0 0 0 0
117
+ 28 45 1 0 0 0 0
118
+ 29 30 2 0 0 0 0
119
+ 31 32 1 0 0 0 0
120
+ 31 33 1 0 0 0 0
121
+ 31 46 1 0 0 0 0
122
+ 32 34 1 0 0 0 0
123
+ 32 47 1 0 0 0 0
124
+ 33 36 1 0 0 0 0
125
+ 33 48 1 0 0 0 0
126
+ 34 49 1 0 0 0 0
127
+ 34 50 1 0 0 0 0
128
+ 35 51 1 0 0 0 0
129
+ 36 52 1 0 0 0 0
130
+ 36 53 1 0 0 0 0
131
+ M END
132
+ > <PUBCHEM_COMPOUND_CID>
133
+ 704
134
+
135
+ > <PUBCHEM_CACTVS_HBOND_ACCEPTOR>
136
+ 19
137
+
138
+ > <PUBCHEM_CACTVS_HBOND_DONOR>
139
+ 9
140
+
141
+ > <PUBCHEM_CACTVS_ROTATABLE_BOND>
142
+ 12
143
+
144
+ > <PUBCHEM_CACTVS_SUBSKEYS>
145
+ AAADceBzvAMAAAAAAAAAAAAAAAAAAWJAAAAsAAAAAAAAAFgB+AAAHgAQCCAACBzhlwYF8L9MFxCgQQZhZICAgC0REKABUKAoVBCDWAJAyEAeRAgPEALTACDwMAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
146
+
147
+ > <PUBCHEM_IUPAC_OPENEYE_NAME>
148
+ [[5-(6-aminopurin-9-yl)-3,4-dihydroxy-tetrahydrofuran-2-yl]methoxy-hydroxy-phosphoryl]oxy-(5-amino-2,3,4-trihydroxy-pentoxy)phosphinic acid
149
+
150
+ > <PUBCHEM_IUPAC_CAS_NAME>
151
+ [[5-(6-aminopurin-9-yl)-3,4-dihydroxy-tetrahydrofuran-2-yl]methoxy-hydroxy-phosphoryl]oxy-(5-amino-2,3,4-trihydroxy-pentoxy)phosphinic acid
152
+
153
+ > <PUBCHEM_IUPAC_NAME>
154
+ [[5-(6-aminopurin-9-yl)-3,4-dihydroxy-oxolan-2-yl]methoxy-hydroxy-phosphoryl]oxy-(5-amino-2,3,4-trihydroxy-pentoxy)phosphinic acid
155
+
156
+ > <PUBCHEM_IUPAC_SYSTEMATIC_NAME>
157
+ [[5-(6-aminopurin-9-yl)-3,4-dihydroxy-oxolan-2-yl]methoxy-hydroxy-phosphoryl]oxy-(5-amino-2,3,4-trihydroxy-pentoxy)phosphinic acid
158
+
159
+ > <PUBCHEM_IUPAC_TRADITIONAL_NAME>
160
+ [[5-(6-aminopurin-9-yl)-3,4-dihydroxy-tetrahydrofuran-2-yl]methoxy-hydroxy-phosphoryl]oxy-(5-amino-2,3,4-trihydroxy-pentoxy)phosphinic acid
161
+
162
+ > <PUBCHEM_NIST_INCHI>
163
+ InChI=1/C15H26N6O13P2/c16-1-6(22)10(24)7(23)2-31-35(27,28)34-36(29,30)32-3-8-11(25)12(26)15(33-8)21-5-20-9-13(17)18-4-19-14(9)21/h4-8,10-12,15,22-26H,1-3,16H2,(H,27,28)(H,29,30)(H2,17,18,19)/f/h27,29H,17H2
164
+
165
+ > <PUBCHEM_CACTVS_XLOGP>
166
+ -6.577
167
+
168
+ > <PUBCHEM_CACTVS_EXACT_MASS>
169
+ 560.103
170
+
171
+ > <PUBCHEM_OPENEYE_MF>
172
+ C15H26N6O13P2
173
+
174
+ > <PUBCHEM_OPENEYE_MW>
175
+ 560.347
176
+
177
+ > <PUBCHEM_OPENEYE_CAN_SMILES>
178
+ C1=NC2=C(C(=N1)N)N=CN2C3C(C(C(O3)COP(=O)(O)OP(=O)(O)OCC(C(C(CN)O)O)O)O)O
179
+
180
+ > <PUBCHEM_OPENEYE_ISO_SMILES>
181
+ C1=NC2=C(C(=N1)N)N=CN2C3C(C(C(O3)COP(=O)(O)OP(=O)(O)OCC(C(C(CN)O)O)O)O)O
182
+
183
+ > <PUBCHEM_CACTVS_TPSA>
184
+ 308.31
185
+
186
+ > <PUBCHEM_OPENEYE_MONOISOTOPICWT>
187
+ 560.103
188
+
189
+ > <PUBCHEM_TOTAL_CHARGE>
190
+ 0
191
+
192
+ > <PUBCHEM_HEAVY_ATOM_COUNT>
193
+ 36
194
+
195
+ > <PUBCHEM_ATOM_DEF_STEREO_COUNT>
196
+ 0
197
+
198
+ > <PUBCHEM_ATOM_UDEF_STEREO_COUNT>
199
+ 7
200
+
201
+ > <PUBCHEM_BOND_DEF_STEREO_COUNT>
202
+ 0
203
+
204
+ > <PUBCHEM_BOND_UDEF_STEREO_COUNT>
205
+ 0
206
+
207
+ > <PUBCHEM_ISOTOPIC_ATOM_COUNT>
208
+ 0
209
+
210
+ > <PUBCHEM_COMPONENT_COUNT>
211
+ 1
212
+
213
+ > <PUBCHEM_CACTVS_TAUTO_COUNT>
214
+ 3
215
+
216
+ > <PUBCHEM_BONDANNOTATIONS>
217
+ 31 10 3
218
+ 32 12 3
219
+ 33 13 3
220
+ 24 16 3
221
+ 16 27 8
222
+ 16 28 8
223
+ 17 28 8
224
+ 17 29 8
225
+ 18 27 8
226
+ 18 35 8
227
+ 19 30 8
228
+ 19 35 8
229
+ 25 26 3
230
+ 27 29 8
231
+ 29 30 8
232
+ 22 4 3
233
+ 23 5 3
234
+
235
+ $$$$
236
+