@datagrok/sequence-translator 1.6.0 → 1.6.1
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.
- package/CHANGELOG.md +7 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/package.json +1 -1
- package/src/polytool/conversion/pt-synthetic.ts +14 -11
- package/src/polytool/pt-dialog.ts +2 -2
- package/src/tests/toAtomicLevel-tests.ts +2 -2
package/package.json
CHANGED
|
@@ -30,6 +30,7 @@ export async function getOverriddenLibrary(rules: Rules): Promise<IMonomerLibBas
|
|
|
30
30
|
names = [];
|
|
31
31
|
monomers = [];
|
|
32
32
|
console.error(e);
|
|
33
|
+
grok.shell.warning(e);
|
|
33
34
|
} finally {
|
|
34
35
|
for (let j = 0; j < names.length; j ++)
|
|
35
36
|
argLib[names[j]] = monomers[j];
|
|
@@ -52,12 +53,12 @@ export function getNewMonomers(rdkit: RDModule, mLib: IMonomerLib, rule: RuleRea
|
|
|
52
53
|
|
|
53
54
|
const monomerNames = new Array<string>(totalLength);
|
|
54
55
|
const resMonomers = new Array<Monomer>(totalLength);
|
|
55
|
-
const
|
|
56
|
+
const monomers = new Array<string>(totalLength);
|
|
56
57
|
|
|
57
58
|
const mainRxn = getReactionSmirks(rdkit, reacSmarts);
|
|
58
59
|
|
|
59
|
-
const reacCutFirst = `${reactants[0]}>>[C:1]`;
|
|
60
|
-
const reacCutSecond = `${reactants[1]}>>[C:2]`;
|
|
60
|
+
const reacCutFirst = `${reactants[0]}>>[C:1]C`;
|
|
61
|
+
const reacCutSecond = `${reactants[1]}>>[C:2]C`;
|
|
61
62
|
|
|
62
63
|
const rxnCutFirst = getReactionSmirks(rdkit, reacCutFirst);
|
|
63
64
|
const rxnCutSecond = getReactionSmirks(rdkit, reacCutSecond);
|
|
@@ -68,7 +69,7 @@ export function getNewMonomers(rdkit: RDModule, mLib: IMonomerLib, rule: RuleRea
|
|
|
68
69
|
if (!monomer) throw new MonomerNotFoundError('PEPTIDE', rule.firstMonomers[i]);
|
|
69
70
|
|
|
70
71
|
const sMolBlock = cutReactant(rdkit, monomer.molfile, rxnCutFirst, monomer.name);
|
|
71
|
-
|
|
72
|
+
monomers[counter] = sMolBlock;
|
|
72
73
|
monomerNames[counter] = `${monomer.symbol}_${monomerName}`;
|
|
73
74
|
counter++;
|
|
74
75
|
}
|
|
@@ -77,7 +78,7 @@ export function getNewMonomers(rdkit: RDModule, mLib: IMonomerLib, rule: RuleRea
|
|
|
77
78
|
if (!monomer) throw new MonomerNotFoundError('PEPTIDE', rule.secondMonomers[i]);
|
|
78
79
|
|
|
79
80
|
const sMolBlock = cutReactant(rdkit, monomer.molfile, rxnCutSecond, monomer.name);
|
|
80
|
-
|
|
81
|
+
monomers[counter] = sMolBlock;
|
|
81
82
|
monomerNames[counter] = `${monomer.symbol}_${monomerName}`;
|
|
82
83
|
counter++;
|
|
83
84
|
}
|
|
@@ -97,20 +98,22 @@ export function getNewMonomers(rdkit: RDModule, mLib: IMonomerLib, rule: RuleRea
|
|
|
97
98
|
mol?.delete();
|
|
98
99
|
}
|
|
99
100
|
//pMolblock = reactionMembers[1]//cutProduct(rdkit, monomer1?.molfile, monomer2?.molfile, mainRxn, monomerName);
|
|
100
|
-
|
|
101
|
+
monomers[counter] = pMolblock;
|
|
101
102
|
monomerNames[counter] = monomerName;
|
|
102
103
|
|
|
103
|
-
//after RDKit works
|
|
104
|
-
for (let i = 0; i < totalLength - 1; i ++)
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
//after RDKit works - [X:N] is first atom which is exploited
|
|
105
|
+
for (let i = 0; i < totalLength - 1; i ++) {
|
|
106
|
+
monomers[i] = monomers[i].replace(' 0.0000 0.0000 0.0000 C ', ' 0.0000 0.0000 0.0000 R# ')
|
|
107
|
+
.replace('M RGP 2', 'M RGP 3 2 3');
|
|
108
|
+
}
|
|
109
|
+
monomers[totalLength - 1] = modProduct(monomers[totalLength - 1]);
|
|
107
110
|
|
|
108
111
|
for (let i = 0; i < totalLength; i ++) {
|
|
109
112
|
const isProduct = i == totalLength - 1 ? true : false;
|
|
110
113
|
const resMonomer: Monomer = {
|
|
111
114
|
[REQ.SYMBOL]: monomerNames[i],
|
|
112
115
|
[REQ.NAME]: monomerNames[i],
|
|
113
|
-
[REQ.MOLFILE]:
|
|
116
|
+
[REQ.MOLFILE]: monomers[i],
|
|
114
117
|
[REQ.AUTHOR]: '',
|
|
115
118
|
[REQ.ID]: 0,
|
|
116
119
|
[REQ.RGROUPS]: getNewGroups(isProduct),
|
|
@@ -99,8 +99,8 @@ export async function getPolyToolConvertDialog(srcCol?: DG.Column): Promise<DG.D
|
|
|
99
99
|
const generateHelmInput = ui.input.bool(PT_UI_GET_HELM, {value: true});
|
|
100
100
|
ui.tooltip.bind(generateHelmInput.root, PT_UI_ADD_HELM);
|
|
101
101
|
|
|
102
|
-
const chiralityEngineInput = ui.input.bool(PT_UI_USE_CHIRALITY, {value:
|
|
103
|
-
const highlightMonomersInput = ui.input.bool(PT_UI_HIGHLIGHT_MONOMERS, {value:
|
|
102
|
+
const chiralityEngineInput = ui.input.bool(PT_UI_USE_CHIRALITY, {value: true});
|
|
103
|
+
const highlightMonomersInput = ui.input.bool(PT_UI_HIGHLIGHT_MONOMERS, {value: true});
|
|
104
104
|
let ruleFileList: string[];
|
|
105
105
|
const ruleInputs = new RuleInputs(RULES_PATH, RULES_STORAGE_NAME, '.json', {
|
|
106
106
|
onValueChanged: (value: string[]) => { ruleFileList = value; }
|
|
@@ -85,8 +85,8 @@ category('toAtomicLevel', () => {
|
|
|
85
85
|
try {
|
|
86
86
|
const molInchi = mol.get_inchi();
|
|
87
87
|
const molInchiKey = rdKitModule.get_inchikey_for_inchi(molInchi);
|
|
88
|
-
expect(mol.get_num_bonds(),
|
|
89
|
-
expect(mol.get_num_atoms(),
|
|
88
|
+
expect(mol.get_num_bonds(), 7);
|
|
89
|
+
expect(mol.get_num_atoms(), 8);
|
|
90
90
|
// TODO: Check inchi key for the new monomer molfile
|
|
91
91
|
// expect(molInchiKey, 'V2H10N2O3S-UHFFFAOYSA-N');
|
|
92
92
|
} finally {
|