@datagrok/sequence-translator 1.0.2 → 1.0.3

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datagrok/sequence-translator",
3
3
  "friendlyName": "Sequence Translator",
4
- "version": "1.0.2",
4
+ "version": "1.0.3",
5
5
  "description": "SequenceTranslator is a [package](https://datagrok.ai/help/develop/develop#packages) for the [Datagrok](https://datagrok.ai) platform, used to translate [oligonucleotide](https://en.wikipedia.org/wiki/Oligonucleotide) sequences between [different representations](https://github.com/datagrok-ai/public/tree/master/packages/SequenceTranslator#sequence-representations).",
6
6
  "repository": {
7
7
  "type": "git",
package/src/package.ts CHANGED
@@ -10,6 +10,7 @@ import {sequenceToSmiles, sequenceToMolV3000} from './structures-works/from-mono
10
10
  import {convertSequence, undefinedInputSequence, isValidSequence, getFormat} from
11
11
  './structures-works/sequence-codes-tools';
12
12
  import {map, COL_NAMES, MODIFICATIONS} from './structures-works/map';
13
+ import {siRnaAxolabsToGcrs} from './structures-works/converters';
13
14
  import {SALTS_CSV} from './salts';
14
15
  import {USERS_CSV} from './users';
15
16
  import {ICDS} from './ICDs';
@@ -216,10 +217,12 @@ export function sequenceTranslator(): void {
216
217
  'SDF': saveSenseAntiSense(),
217
218
  });
218
219
 
220
+ $(codesTablesDiv).hide();
221
+
219
222
  const v = grok.shell.newView('Sequence Translator', [tabControl]);
220
223
  v.box = true;
221
224
 
222
- const switchInput = ui.switchInput('Codes', true, (v: boolean) => (v) ?
225
+ const switchInput = ui.switchInput('Codes', false, (v: boolean) => (v) ?
223
226
  $(codesTablesDiv).show() :
224
227
  $(codesTablesDiv).hide(),
225
228
  );
@@ -306,9 +309,26 @@ function molecularWeight(sequence: string, weightsObj: {[index: string]: number}
306
309
 
307
310
  //tags: autostart
308
311
  export function autostartOligoSdFileSubscription() {
312
+ let alreadyAdded = false;
309
313
  grok.events.onViewAdded.subscribe((v: any) => {
310
- if (v.type == 'TableView' && v.dataFrame.columns.contains(COL_NAMES.TYPE))
311
- oligoSdFile(v.dataFrame);
314
+ if (v.type == 'TableView') {
315
+ if (v.dataFrame.columns.contains(COL_NAMES.TYPE))
316
+ oligoSdFile(v.dataFrame);
317
+ grok.events.onContextMenu.subscribe((args) => {
318
+ for (const col of v.dataFrame.columns) {
319
+ if (!alreadyAdded && DG.Detector.sampleCategories(col, (s) => /^[fsACGUacgu]{6,}$/.test(s))) {
320
+ alreadyAdded = true;
321
+ args.args.menu.item('Convert to GCRS', () => {
322
+ const seqCol = args.args.context.table.currentCol;
323
+ args.args.context.table.columns.addNewString(seqCol.name + ' to GCRS').init((i: number) => {
324
+ return siRnaAxolabsToGcrs(seqCol.get(i));
325
+ });
326
+ });
327
+ break;
328
+ };
329
+ }
330
+ });
331
+ }
312
332
  });
313
333
  }
314
334
 
@@ -366,7 +386,7 @@ export function oligoSdFile(table: DG.DataFrame) {
366
386
  ui.button('Save SD file', () => saveTableAsSdFile(addColumnsPressed ? newDf : table)),
367
387
  );
368
388
 
369
- const view = grok.shell.getTableView(table.name)!;
389
+ const view = grok.shell.getTableView(table.name);
370
390
 
371
391
  view.table!.col(COL_NAMES.TYPE)!.setTag(DG.TAGS.CHOICES, '["AS", "SS", "Duplex"]');
372
392
  view.table!.col(COL_NAMES.OWNER)!.setTag(DG.TAGS.CHOICES, stringifyItems(usersDf.columns.byIndex(0).toList()));
@@ -1,4 +1,4 @@
1
- <html><head><meta charset="utf-8"/><title>SequenceTranslator Test Report. Datagrok version datagrok/datagrok:latest SHA=b5ff4c12f22d. Commit f3bfb562.</title><style type="text/css">html,
1
+ <html><head><meta charset="utf-8"/><title>SequenceTranslator Test Report. Datagrok version datagrok/datagrok:latest SHA=46784acc64a5. Commit c67dd897.</title><style type="text/css">html,
2
2
  body {
3
3
  font-family: Arial, Helvetica, sans-serif;
4
4
  font-size: 1rem;
@@ -229,7 +229,7 @@ header {
229
229
  font-size: 1rem;
230
230
  padding: 0 0.5rem;
231
231
  }
232
- </style></head><body><div id="jesthtml-content"><header><h1 id="title">SequenceTranslator Test Report. Datagrok version datagrok/datagrok:latest SHA=b5ff4c12f22d. Commit f3bfb562.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-06-30 13:09:46</div><div id="summary"><div id="suite-summary"><div class="summary-total">Suites (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div><div id="test-summary"><div class="summary-total">Tests (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div></div></div><div id="suite-1" class="suite-container"><div class="suite-info"><div class="suite-path">/home/runner/work/public/public/packages/SequenceTranslator/src/__jest__/remote.test.ts</div><div class="suite-time warn">14.488s</div></div><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename"> </div><div class="test-title">TEST</div><div class="test-status">failed</div><div class="test-duration">0.427s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Evaluation failed: Unable to find JS function "test"
232
+ </style></head><body><div id="jesthtml-content"><header><h1 id="title">SequenceTranslator Test Report. Datagrok version datagrok/datagrok:latest SHA=46784acc64a5. Commit c67dd897.</h1></header><div id="metadata-container"><div id="timestamp">Started: 2022-07-07 17:11:12</div><div id="summary"><div id="suite-summary"><div class="summary-total">Suites (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div><div id="test-summary"><div class="summary-total">Tests (1)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed">1 failed</div><div class="summary-pending summary-empty">0 pending</div></div></div></div><div id="suite-1" class="suite-container"><div class="suite-info"><div class="suite-path">/home/runner/work/public/public/packages/SequenceTranslator/src/__jest__/remote.test.ts</div><div class="suite-time warn">10.531s</div></div><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename"> </div><div class="test-title">TEST</div><div class="test-status">failed</div><div class="test-duration">0.564s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: Evaluation failed: Unable to find JS function "test"
233
233
  at ExecutionContext._evaluateInternal (/home/runner/work/public/public/packages/SequenceTranslator/node_modules/puppeteer/src/common/ExecutionContext.ts:273:13)
234
234
  at processTicksAndRejections (internal/process/task_queues.js:97:5)
235
235
  at ExecutionContext.evaluate (/home/runner/work/public/public/packages/SequenceTranslator/node_modules/puppeteer/src/common/ExecutionContext.ts:140:12)</pre></div></div></div><div class="suite-consolelog"><div class="suite-consolelog-header">Console Log</div><div class="suite-consolelog-item"><pre class="suite-consolelog-item-origin"> at Object.&lt;anonymous&gt; (/home/runner/work/public/public/packages/SequenceTranslator/src/__jest__/test-node.ts:62:11)