smiles-js 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,7 +20,9 @@
20
20
  "Bash(move atorvastatin-synthesis.js docs )",
21
21
  "Bash(move:*)",
22
22
  "Bash(move sildenafil-synthesis.js docs )",
23
- "Bash(move ritonavir-synthesis.js docs )"
23
+ "Bash(move ritonavir-synthesis.js docs )",
24
+ "Bash(gh run list:*)",
25
+ "Bash(echo:*)"
24
26
  ]
25
27
  }
26
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smiles-js",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "A JavaScript library for building molecules using composable fragments",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/common.js ADDED
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Common molecular fragments and functional groups
3
+ * Pre-built fragments for frequently used chemical structures
4
+ */
5
+
6
+ import { Fragment, Ring } from './index.js';
7
+
8
+ // Common functional groups
9
+ export const methyl = Fragment('C');
10
+ export const ethyl = Fragment('CC');
11
+ export const propyl = Fragment('CCC');
12
+ export const isopropyl = Fragment('C(C)C');
13
+ export const butyl = Fragment('CCCC');
14
+ export const tert_butyl = Fragment('C(C)(C)C');
15
+
16
+ export const hydroxyl = Fragment('O');
17
+ export const amino = Fragment('N');
18
+ export const carboxyl = Fragment('C(=O)O');
19
+ export const carbonyl = Fragment('C=O');
20
+ export const ester = Fragment('C(=O)O');
21
+ export const ether = Fragment('O');
22
+ export const aldehyde = Fragment('C=O');
23
+ export const ketone = Fragment('C(=O)C');
24
+
25
+ export const phenyl = Fragment('c1ccccc1');
26
+ export const benzyl = Fragment('Cc1ccccc1');
27
+
28
+ // Common rings
29
+ export const benzene = Ring('c', 6);
30
+ export const cyclohexane = Ring('C', 6);
31
+ export const cyclopentane = Ring('C', 5);
32
+ export const pyridine = Ring({ atoms: 'ccncc', bonds: '=::=:' });
33
+ export const furan = Ring({ atoms: 'ccoc', bonds: '=::=' });
34
+ export const pyrrole = Ring({ atoms: 'ccnc', bonds: '=::=' });
35
+ export const imidazole = Ring({ atoms: 'cncc', bonds: ':=::' });
36
+
37
+ // Halides
38
+ export const fluoro = Fragment('F');
39
+ export const chloro = Fragment('Cl');
40
+ export const bromo = Fragment('Br');
41
+ export const iodo = Fragment('I');
42
+
43
+ // Other common groups
44
+ export const nitro = Fragment('N(=O)=O');
45
+ export const cyano = Fragment('C#N');
46
+ export const sulfhydryl = Fragment('S');
47
+ export const sulfonyl = Fragment('S(=O)(=O)');
48
+ export const phosphate = Fragment('P(=O)(O)O');