@datagrok/hit-triage 1.2.1 → 1.3.0

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.
@@ -18,5 +18,73 @@
18
18
  },
19
19
  "rowCount": 8,
20
20
  "filteredRowCount": 8,
21
- "layout": "{\"containerType\":\"horizontal\",\"state\":{\"width\":1406,\"height\":841},\"children\":[{\"containerType\":\"vertical\",\"state\":{\"width\":238,\"height\":841},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":238,\"height\":558,\"element\":{\"id\":\"1a2cc3b0-6280-11ee-e2f5-6d4bdc9a7a09\",\"type\":\"Filters\",\"look\":{\"#type\":\"FiltersLook\",\"filters\":[{\"type\":\"Chem:substructureFilter\",\"column\":\"Molecule\",\"active\":true,\"columnName\":\"Molecule\",\"molBlock\":\"\\n RDKit 2D\\n\\n 0 0 0 0 0 0 0 0 0 0999 V2000\\nM END\\n\",\"searchType\":\"Contains\",\"simCutOff\":0.8,\"fp\":\"Morgan\",\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Mutagenicity\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Tumorigenicity\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Stage\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"V-iD\",\"active\":true,\"boolInput\":null},{\"type\":\"histogram\",\"column\":\"MolWt\",\"active\":true,\"filterOutMissingValues\":false,\"showMissingValuesOnly\":false,\"showHistogram\":true,\"showSlider\":true,\"showMinMax\":false,\"boolInput\":null},{\"type\":\"histogram\",\"column\":\"MolWt\",\"active\":true,\"filterOutMissingValues\":false,\"showMissingValuesOnly\":false,\"showHistogram\":true,\"showSlider\":true,\"showMinMax\":false,\"boolInput\":null}]},\"title\":\"Filters\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":238,\"height\":282,\"element\":{\"id\":\"1a2f5bc0-6280-11ee-e4b4-9b33b2886623\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Molecule\"},\"title\":\"Bar chart\"}},\"children\":[]}]},{\"containerType\":\"vertical\",\"state\":{\"width\":1167,\"height\":841},\"children\":[{\"containerType\":\"fill\",\"state\":{\"width\":1167,\"height\":417,\"documentManager\":true},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":1167,\"height\":417,\"element\":{\"id\":\"1a2fd0f0-6280-11ee-a9a7-63a6fe964276\",\"type\":\"Grid\",\"look\":{\"#type\":\"GridLook\",\"showAddNewRowIcon\":true,\"addNewRowOnLastRowEdit\":true,\"rowHeight\":100,\"topLevelDefaultMenu\":true,\"allowColumnMenu\":true,\"columns\":[{\"width\":20,\"backgroundColor\":4294440951,\"customName\":\"\",\"cellType\":\"row header\",\"settings\":{}},{\"width\":200,\"columnName\":\"Molecule\",\"cellType\":\"Molecule\",\"settings\":{}},{\"isColorCoded\":true,\"width\":140,\"columnName\":\"Stage\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"settings\":{}},{\"width\":72,\"columnName\":\"V-iD\",\"settings\":{}},{\"width\":96,\"columnName\":\"MolWt\",\"customFormat\":\"0.0000000\",\"cellType\":\"number\",\"format\":\"0.0000000\",\"settings\":{}},{\"width\":111,\"columnName\":\"Stereo centers\",\"cellType\":\"number\",\"settings\":{}},{\"isColorCoded\":true,\"width\":101,\"columnName\":\"Mutagenicity\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"settings\":{}},{\"isColorCoded\":true,\"width\":113,\"columnName\":\"Tumorigenicity\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"settings\":{}},{\"width\":136,\"columnName\":\"CHEMBL molregno\",\"cellType\":\"number\",\"settings\":{}},{\"columnName\":\"~Molecule.Pattern\",\"settings\":{}},{\"columnName\":\"~Molecule.canonicalSmiles\",\"settings\":{}}]},\"title\":\"Molecules\",\"default\":true}},\"children\":[]}]},{\"containerType\":\"horizontal\",\"state\":{\"width\":1167,\"height\":423},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":384,\"height\":423,\"element\":{\"id\":\"1a301f10-6280-11ee-b1d5-2d16e8f0db42\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Mutagenicity\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":386,\"height\":423,\"element\":{\"id\":\"1a304620-6280-11ee-abd0-552c00e996d0\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Tumorigenicity\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":395,\"height\":423,\"element\":{\"id\":\"1a304620-6280-11ee-cab3-d3344815cd96\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Stage\"},\"title\":\"Bar chart\"}},\"children\":[]}]}]}],\"floating\":[],\"tableId\":null,\"tableName\":\"Molecules\"}"
21
+ "savePath": "System.AppData/HitTriage/Hit Design/campaigns/DMT1-1/enriched_table.csv",
22
+ "columnTypes": {
23
+ "Molecule": "string",
24
+ "Stage": "string",
25
+ "V-iD": "string",
26
+ "MolWt": "double",
27
+ "Stereo centers": "int",
28
+ "Mutagenicity": "string",
29
+ "Tumorigenicity": "string",
30
+ "CHEMBL molregno": "int",
31
+ "~Molecule.Pattern": "byte_array",
32
+ "~Molecule.canonicalSmiles": "string"
33
+ },
34
+ "version": 1,
35
+ "authorUserId": "7a6a9f30-25d0-11ef-c943-0b65a97fa481",
36
+ "permissions": {
37
+ "view": ["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"],
38
+ "edit": ["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"]
39
+ },
40
+ "layout": "{\"containerType\":\"horizontal\",\"state\":{\"width\":1223,\"height\":889},\"children\":[{\"containerType\":\"vertical\",\"state\":{\"width\":207,\"height\":889},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":207,\"height\":589,\"element\":{\"id\":\"27131d00-4ce0-11ef-9a76-7376886b6923\",\"type\":\"Filters\",\"look\":{\"#type\":\"FiltersLook\",\"filters\":[{\"type\":\"Chem:substructureFilter\",\"column\":\"Molecule\",\"active\":true,\"columnName\":\"Molecule\",\"molBlock\":\"\\n RDKit 2D\\n\\n 0 0 0 0 0 0 0 0 0 0999 V2000\\nM END\\n\",\"searchType\":\"Contains\",\"simCutOff\":0.8,\"fp\":\"Morgan\",\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Mutagenicity\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Tumorigenicity\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"Stage\",\"active\":true,\"boolInput\":null},{\"type\":\"categorical\",\"column\":\"V-iD\",\"active\":true,\"boolInput\":null},{\"type\":\"histogram\",\"column\":\"MolWt\",\"active\":true,\"filterOutMissingValues\":false,\"showMissingValuesOnly\":false,\"showHistogram\":true,\"showSlider\":true,\"showMinMax\":false,\"boolInput\":null},{\"type\":\"histogram\",\"column\":\"MolWt\",\"active\":true,\"filterOutMissingValues\":false,\"showMissingValuesOnly\":false,\"showHistogram\":true,\"showSlider\":true,\"showMinMax\":false,\"boolInput\":null}]},\"title\":\"Filters\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":207,\"height\":299,\"element\":{\"id\":\"27131d00-4ce0-11ef-ec85-ad160b08bb80\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Molecule\"},\"title\":\"Bar chart\"}},\"children\":[]}]},{\"containerType\":\"vertical\",\"state\":{\"width\":1015,\"height\":889},\"children\":[{\"containerType\":\"fill\",\"state\":{\"width\":1015,\"height\":440,\"documentManager\":true},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":1015,\"height\":440,\"element\":{\"id\":\"27136b20-4ce0-11ef-cb98-cd1d78d0d258\",\"type\":\"Grid\",\"look\":{\"#type\":\"GridLook\",\"showAddNewRowIcon\":true,\"addNewRowOnLastRowEdit\":true,\"rowHeight\":100,\"topLevelDefaultMenu\":true,\"allowColumnMenu\":true,\"columns\":[{\"width\":20,\"backgroundColor\":4294440951,\"customName\":\"\",\"cellType\":\"row header\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":200,\"columnName\":\"Molecule\",\"cellType\":\"Molecule\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":140,\"columnName\":\"Stage\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":72,\"columnName\":\"V-iD\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":96,\"columnName\":\"MolWt\",\"customFormat\":\"0.0000000\",\"cellType\":\"number\",\"format\":\"0.0000000\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":111,\"columnName\":\"Stereo centers\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":101,\"columnName\":\"Mutagenicity\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":113,\"columnName\":\"Tumorigenicity\",\"colorCodingType\":\"Categorical\",\"colorCodingCategorical\":{},\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":136,\"columnName\":\"CHEMBL molregno\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"columnName\":\"~Molecule.Pattern\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"columnName\":\"~Molecule.canonicalSmiles\",\"headerCellStyle\":{\"textWrap\":\"words\"}}]},\"title\":\"Molecules\",\"default\":true}},\"children\":[]}]},{\"containerType\":\"horizontal\",\"state\":{\"width\":1015,\"height\":448},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":334,\"height\":448,\"element\":{\"id\":\"27136b20-4ce0-11ef-bacc-2786973237cb\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Mutagenicity\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":335,\"height\":448,\"element\":{\"id\":\"27136b20-4ce0-11ef-dcc4-7d8f969313b9\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Tumorigenicity\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":344,\"height\":448,\"element\":{\"id\":\"27136b20-4ce0-11ef-abdd-6b5e095b1e2c\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"count\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"Stage\"},\"title\":\"Bar chart\"}},\"children\":[]}]}]}],\"floating\":[],\"tableId\":\"234fac60-4ce0-11ef-84ed-1d98d738d676\",\"tableName\":\"DMT1-1\"}",
41
+ "template": {
42
+ "name": "Demo Template 1",
43
+ "key": "DMT1",
44
+ "campaignFields": [
45
+ { "name": "Chemist", "type": "String", "required": true },
46
+ { "name": "Supervisor", "type": "String", "required": true },
47
+ { "name": "Target molecules", "type": "Number", "required": true },
48
+ { "name": "Deadline", "type": "Date", "required": true }
49
+ ],
50
+ "stages": [
51
+ "Consideration",
52
+ "Processing",
53
+ "Synthesis",
54
+ "Testing",
55
+ "Ready for production"
56
+ ],
57
+ "compute": {
58
+ "descriptors": { "enabled": true, "args": ["MolWt"] },
59
+ "functions": [
60
+ {
61
+ "name": "addChemPropertiesColumns",
62
+ "package": "Chem",
63
+ "args": {
64
+ "MW": false,
65
+ "HBA": false,
66
+ "HBD": false,
67
+ "logP": false,
68
+ "logS": false,
69
+ "PSA": false,
70
+ "rotatableBonds": false,
71
+ "stereoCenters": true,
72
+ "moleculeCharge": false
73
+ }
74
+ },
75
+ {
76
+ "name": "addChemRisksColumns",
77
+ "package": "Chem",
78
+ "args": {
79
+ "mutagenicity": true,
80
+ "tumorigenicity": true,
81
+ "irritatingEffects": false,
82
+ "reproductiveEffects": false
83
+ }
84
+ },
85
+ { "name": "chemblMolregno", "package": "Chembl", "args": {} }
86
+ ]
87
+ },
88
+ "submit": { "fName": "demoFileSubmit1", "package": "HitTriage" }
89
+ }
22
90
  }
@@ -1 +1,84 @@
1
- {"name":"DMT2-1","templateName":"Demo Template 2","status":"In Progress","createDate":"2023/11/11","campaignFields":{"Target protein":"Argonaut","Target MW":100},"columnSemTypes":{"Molecule":"Molecule","MolWt":null,"HeavyAtomMolWt":null,"NumValenceElectrons":null,"MaxPartialCharge":null,"fr_Ar_OH":null,"fr_COO":null,"fr_COO2":null,"fr_C_O":null,"fr_C_O_noCOO":null,"fr_C_S":null,"fr_HOCCN":null,"fr_Imine":null,"fr_NH2":null,"~Molecule.Pattern":null,"~Molecule.canonicalSmiles":null},"rowCount":6,"filteredRowCount":3}
1
+ {
2
+ "name": "DMT2-1",
3
+ "templateName": "Demo Template 2",
4
+ "status": "In Progress",
5
+ "createDate": "2023/11/11",
6
+ "campaignFields": { "Target protein": "Argonaut", "Target MW": 100 },
7
+ "columnSemTypes": {
8
+ "Molecule": "Molecule",
9
+ "Stage": null,
10
+ "V-iD": null,
11
+ "MolWt": null,
12
+ "HeavyAtomMolWt": null,
13
+ "NumValenceElectrons": null,
14
+ "MaxPartialCharge": null,
15
+ "fr_Ar_OH": null,
16
+ "fr_COO": null,
17
+ "fr_COO2": null,
18
+ "fr_C_O": null,
19
+ "fr_C_O_noCOO": null,
20
+ "fr_C_S": null,
21
+ "fr_HOCCN": null,
22
+ "fr_Imine": null,
23
+ "fr_NH2": null
24
+ },
25
+ "rowCount": 6,
26
+ "filteredRowCount": 6,
27
+ "savePath": "System.AppData/HitTriage/Hit Design/campaigns/DMT2-1/enriched_table.csv",
28
+ "columnTypes": {
29
+ "Molecule": "string",
30
+ "Stage": "string",
31
+ "V-iD": "string",
32
+ "MolWt": "double",
33
+ "HeavyAtomMolWt": "double",
34
+ "NumValenceElectrons": "int",
35
+ "MaxPartialCharge": "double",
36
+ "fr_Ar_OH": "int",
37
+ "fr_COO": "int",
38
+ "fr_COO2": "int",
39
+ "fr_C_O": "int",
40
+ "fr_C_O_noCOO": "int",
41
+ "fr_C_S": "int",
42
+ "fr_HOCCN": "int",
43
+ "fr_Imine": "int",
44
+ "fr_NH2": "int"
45
+ },
46
+ "version": 1,
47
+ "authorUserId": "7a6a9f30-25d0-11ef-c943-0b65a97fa481",
48
+ "permissions": {
49
+ "view": ["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"],
50
+ "edit": ["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"]
51
+ },
52
+ "layout": "{\"containerType\":\"fill\",\"state\":{\"width\":1223,\"height\":889,\"documentManager\":true},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":1223,\"height\":889,\"element\":{\"id\":\"30197250-4ce0-11ef-8764-99dce94d2cc4\",\"type\":\"Grid\",\"look\":{\"#type\":\"GridLook\",\"showAddNewRowIcon\":true,\"addNewRowOnLastRowEdit\":true,\"rowHeight\":100,\"topLevelDefaultMenu\":true,\"allowColumnMenu\":true,\"columns\":[{\"width\":20,\"backgroundColor\":4294440951,\"customName\":\"\",\"cellType\":\"row header\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":200,\"columnName\":\"Molecule\",\"cellType\":\"Molecule\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":64,\"columnName\":\"Stage\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":72,\"columnName\":\"V-iD\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":155,\"columnName\":\"MolWt\",\"cellType\":\"number\",\"format\":\"0.000000000000000\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":155,\"columnName\":\"HeavyAtomMolWt\",\"cellType\":\"number\",\"format\":\"0.000000000000000\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":154,\"columnName\":\"NumValenceElectrons\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":151,\"columnName\":\"MaxPartialCharge\",\"cellType\":\"number\",\"format\":\"0.0000000000000000\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":78,\"columnName\":\"fr_Ar_OH\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":67,\"columnName\":\"fr_COO\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":74,\"columnName\":\"fr_COO2\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":63,\"columnName\":\"fr_C_O\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":110,\"columnName\":\"fr_C_O_noCOO\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":63,\"columnName\":\"fr_C_S\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":85,\"columnName\":\"fr_HOCCN\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":73,\"columnName\":\"fr_Imine\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":66,\"columnName\":\"fr_NH2\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}}]},\"title\":\"DMT2-1\",\"default\":true}},\"children\":[]}],\"floating\":[],\"tableId\":\"2ce8f2e0-4ce0-11ef-b980-c51c8afcfbb3\",\"tableName\":\"DMT2-1\"}",
53
+ "template": {
54
+ "name": "Demo Template 2",
55
+ "key": "DMT2",
56
+ "campaignFields": [
57
+ { "name": "Target protein", "type": "String", "required": true },
58
+ { "name": "Target MW", "type": "Number", "required": true }
59
+ ],
60
+ "stages": ["Stage 1", "Stage 2", "Stage 3", "Stage 4"],
61
+ "compute": {
62
+ "descriptors": {
63
+ "enabled": true,
64
+ "args": [
65
+ "MolWt",
66
+ "HeavyAtomMolWt",
67
+ "NumValenceElectrons",
68
+ "MaxPartialCharge",
69
+ "fr_Ar_OH",
70
+ "fr_COO",
71
+ "fr_COO2",
72
+ "fr_C_O",
73
+ "fr_C_O_noCOO",
74
+ "fr_C_S",
75
+ "fr_HOCCN",
76
+ "fr_Imine",
77
+ "fr_NH2"
78
+ ]
79
+ },
80
+ "functions": []
81
+ },
82
+ "submit": { "fName": "demoFileSubmit", "package": "HitTriage" }
83
+ }
84
+ }
@@ -0,0 +1 @@
1
+ {"name":"PHD-1","templateName":"Peptide hits Demo","status":"In Progress","createDate":"2024/9/4","campaignFields":{"Chemist":"Davit"},"columnSemTypes":{"Helm":"Macromolecule","Molecule":"Molecule","Stage":null,"V-iD":null,"MolWt":null,"HeavyAtomMolWt":null,"FractionCSP3":null,"BMS (Molecule)":null,"PAINS (Molecule)":null,"SureChEMBL (Molecule)":null,"MLSMR (Molecule)":null},"rowCount":9,"filteredRowCount":9,"savePath":"System.AppData/HitTriage/PeptiHit/campaigns/PHD-1/enriched_table.csv","columnTypes":{"Helm":"string","Molecule":"string","Stage":"string","V-iD":"string","MolWt":"double","HeavyAtomMolWt":"double","FractionCSP3":"double","BMS (Molecule)":"bool","PAINS (Molecule)":"bool","SureChEMBL (Molecule)":"bool","MLSMR (Molecule)":"bool"},"tilesViewerFormSketch":"{\"#type\":\"SketchState\",\"elementStates\":[{\"left\":171,\"top\":164,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"HeavyAtomMolWt\",\"format\":null}},{\"left\":171,\"top\":284,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"MLSMR (Molecule)\",\"format\":null}},{\"left\":171,\"top\":140,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"MolWt\",\"format\":null}},{\"left\":11,\"top\":68,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"Molecule\",\"input-value\":\"Molecule\"}},{\"left\":11,\"top\":212,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"BMS (Molecule)\",\"input-value\":\"BMS (Molecule)\"}},{\"left\":11,\"top\":260,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"SureChEMBL (Molecule)\",\"input-value\":\"SureChEMBL (Molecule)\"}},{\"left\":11,\"top\":284,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"MLSMR (Molecule)\",\"input-value\":\"MLSMR (Molecule)\"}},{\"left\":171,\"top\":212,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"BMS (Molecule)\",\"format\":null}},{\"left\":11,\"top\":236,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"PAINS (Molecule)\",\"input-value\":\"PAINS (Molecule)\"}},{\"left\":170,\"top\":44,\"width\":100,\"height\":70,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"Molecule\",\"format\":null}},{\"left\":171,\"top\":236,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"PAINS (Molecule)\",\"format\":null}},{\"left\":11,\"top\":164,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"HeavyAtomMolWt\",\"input-value\":\"HeavyAtomMolWt\"}},{\"left\":11,\"top\":140,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"MolWt\",\"input-value\":\"MolWt\"}},{\"left\":11,\"top\":188,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"FractionCSP3\",\"input-value\":\"FractionCSP3\"}},{\"left\":170,\"top\":118,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"Stage\",\"format\":null}},{\"left\":171,\"top\":188,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"FractionCSP3\",\"format\":null}},{\"left\":171,\"top\":260,\"width\":100,\"height\":20,\"type\":\"field\",\"viewerSettings\":{\"table\":\"Table\",\"column\":\"SureChEMBL (Molecule)\",\"format\":null}},{\"left\":10,\"top\":118,\"width\":140,\"height\":20,\"type\":\"html\",\"viewerSettings\":{\"markup\":\"<input type=\\\"text\\\" class=\\\"d4-sketch-column-name ui-input-editor\\\">\",\"table\":\"Table\",\"column\":\"Stage\",\"input-value\":\"Stage\"}}]}","version":22,"authorUserId":"7a6a9f30-25d0-11ef-c943-0b65a97fa481","permissions":{"view":["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"],"edit":["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"]},"layout":"{\"containerType\":\"horizontal\",\"state\":{\"width\":1870,\"height\":889},\"children\":[{\"containerType\":\"vertical\",\"state\":{\"width\":1245,\"height\":889},\"children\":[{\"containerType\":\"fill\",\"state\":{\"width\":1245,\"height\":632,\"documentManager\":true},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":1245,\"height\":632,\"element\":{\"id\":\"2575b740-4ce0-11ef-b71b-cd73d6e06cfa\",\"type\":\"Grid\",\"look\":{\"#type\":\"GridLook\",\"showAddNewRowIcon\":true,\"addNewRowOnLastRowEdit\":true,\"rowHeight\":100,\"topLevelDefaultMenu\":true,\"allowColumnMenu\":true,\"columns\":[{\"width\":20,\"backgroundColor\":4294440951,\"customName\":\"\",\"cellType\":\"row header\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":263,\"columnName\":\"Helm\",\"cellType\":\"helm\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":200,\"columnName\":\"Molecule\",\"cellType\":\"Molecule\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":123,\"columnName\":\"Stage\",\"colorCodingType\":\"Categorical\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":72,\"columnName\":\"V-iD\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":63,\"columnName\":\"MolWt\",\"customFormat\":\"0.00000000000000\",\"cellType\":\"number\",\"format\":\"0.00000000000000\",\"colorCodingType\":\"Linear\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":131,\"columnName\":\"HeavyAtomMolWt\",\"customFormat\":\"0.00000000000000\",\"cellType\":\"number\",\"format\":\"0.00000000000000\",\"colorCodingType\":\"Linear\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":105,\"columnName\":\"FractionCSP3\",\"customFormat\":\"0.0000000000000000\",\"cellType\":\"number\",\"format\":\"0.0000000000000000\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":119,\"columnName\":\"BMS (Molecule)\",\"cellType\":\"bool\",\"colorCodingType\":\"Categorical\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":128,\"columnName\":\"PAINS (Molecule)\",\"cellType\":\"bool\",\"colorCodingType\":\"Categorical\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":168,\"columnName\":\"SureChEMBL (Molecule)\",\"cellType\":\"bool\",\"colorCodingType\":\"Categorical\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"isColorCoded\":true,\"width\":137,\"columnName\":\"MLSMR (Molecule)\",\"cellType\":\"bool\",\"colorCodingType\":\"Categorical\",\"headerCellStyle\":{\"textWrap\":\"words\"}}]},\"title\":\"Table\",\"default\":true}},\"children\":[]}]},{\"containerType\":\"panel\",\"state\":{\"width\":1245,\"height\":256,\"element\":{\"id\":\"2575de50-4ce0-11ef-c020-f7348d841704\",\"type\":\"Histogram\",\"look\":{\"#type\":\"HistogramLook\",\"valueColumnName\":\"MolWt\",\"showXAxis\":true,\"showYAxis\":true,\"binWidthRatio\":0.9,\"marginLeft\":5,\"marginRight\":5},\"title\":\"Histogram\"}},\"children\":[]}]},{\"containerType\":\"vertical\",\"state\":{\"width\":624,\"height\":889},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":624,\"height\":204,\"element\":{\"id\":\"25762c70-4ce0-11ef-d41f-93bce25564eb\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"avg\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"BMS (Molecule)\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":624,\"height\":169,\"element\":{\"id\":\"25765380-4ce0-11ef-be5a-2b4106ad6a73\",\"type\":\"Bar chart\",\"look\":{\"#type\":\"BarChartLook\",\"valueColumnName\":\"MolWt\",\"valueAggrType\":\"avg\",\"barSortType\":\"by value\",\"barSortOrder\":\"desc\",\"splitColumnName\":\"PAINS (Molecule)\"},\"title\":\"Bar chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":624,\"height\":378,\"element\":{\"id\":\"25767a90-4ce0-11ef-a55e-1f46e608ed7e\",\"type\":\"Pie chart\",\"look\":{\"#type\":\"PieChartLook\",\"categoryColumnName\":\"V-iD\",\"categoryFunction\":\"\",\"segmentAngleColumnName\":\"MolWt\",\"segmentAngleAggrType\":\"max\"},\"title\":\"Pie chart\"}},\"children\":[]},{\"containerType\":\"panel\",\"state\":{\"width\":624,\"height\":135,\"element\":{\"id\":\"25767a90-4ce0-11ef-aa2e-75fa924f73f9\",\"type\":\"Statistics\",\"look\":{\"#type\":\"StatsViewerLook\",\"columnNames\":[\"MolWt\",\"HeavyAtomMolWt\"]},\"title\":\"Statistics\"}},\"children\":[]}]}],\"floating\":[],\"tableId\":\"fc953d00-4ce0-11ef-acf8-f3488c2850be\",\"tableName\":\"Table\"}","template":{"name":"Peptide hits Demo","key":"PHD","campaignFields":[{"name":"Chemist","type":"String","required":true}],"stages":["Design","Consideration","Synthesis","Testing"],"compute":{"descriptors":{"enabled":true,"args":["MolWt","HeavyAtomMolWt","FractionCSP3"]},"functions":[{"name":"structuralAlertsTopMenu","package":"Chem","args":{"pains":true,"bms":true,"sureChembl":true,"mlsmr":true,"dandee":false,"inpharmatica":false,"lint":false,"glaxo":false}}],"scripts":[],"queries":[]}}}
@@ -0,0 +1,10 @@
1
+ Helm,Molecule,Stage,V-iD,MolWt,HeavyAtomMolWt,FractionCSP3,BMS (Molecule),PAINS (Molecule),SureChEMBL (Molecule),MLSMR (Molecule)
2
+ PEPTIDE1{C.A.A}$$$$V2.0,C[C@H](NC(=O)[C@H](C)NC(=O)[C@@H](N)CS)C(=O)O,Design,V000001,263.31900024414063,246.18299865722656,0.6666666865348816,false,false,true,true
3
+ "PEPTIDE1{C.C.C.[Cya]}$PEPTIDE1,PEPTIDE1,4:R2-1:R1$$$V2.0",O=C1N[C@@H](CS)C(=O)N[C@@H](CS(=O)(=O)O)C(=O)N[C@@H](CS)C(=O)N[C@H]1CS,Consideration,V000002,460.58099365234375,440.42098999023438,0.6666666865348816,true,false,true,true
4
+ PEPTIDE1{[2Nal].C.C.C}$$$$V2.0,N[C@@H](Cc1ccc2ccccc2c1)C(=O)N[C@@H](CS)C(=O)N[C@@H](CS)C(=O)N[C@@H](CS)C(=O)O,Synthesis,V000003,524.69000244140625,496.46600341796875,0.3636363744735718,true,false,true,true
5
+ "PEPTIDE1{C.A.A.[dC]}$PEPTIDE1,PEPTIDE1,4:R2-1:R1$$$V2.0",C[C@@H]1NC(=O)[C@H](C)NC(=O)[C@H](CS)NC(=O)[C@@H](CS)NC1=O,Testing,V000004,348.45001220703125,328.29000854492188,0.6666666865348816,false,false,true,true
6
+ "PEPTIDE1{[meG]}|PEPTIDE2{[D-Phe_4Cl].[meG].D.[D-gGlu]}$PEPTIDE1,PEPTIDE2,1:R2-3:R3$$$V2.0",CNCC(=O)C(=O)C[C@H](NC(=O)CN(C)C(=O)[C@H](N)Cc1ccc(Cl)cc1)C(=O)N[C@H](CCC(=O)O)C(=O)O,Consideration,V000005,569.99902343750000,537.74298095703125,0.4583333432674408,true,true,false,true
7
+ "PEPTIDE1{[meG]}|PEPTIDE2{[D-Phe_4Cl].[meG].D.[D-gGlu]}$PEPTIDE1,PEPTIDE2,1:R2-3:R3|PEPTIDE2,PEPTIDE1,1:R1-1:R1$$$V2.0",CN1CC(=O)C(=O)C[C@@H](C(=O)N[C@H](CCC(=O)O)C(=O)O)NC(=O)CN(C)C(=O)[C@@H](Cc2ccc(Cl)cc2)N1,Synthesis,V000006,567.98297119140625,537.74298095703125,0.4583333432674408,true,true,false,true
8
+ "PEPTIDE1{[D-Trp_For]}|PEPTIDE2{[D-Hyp].[D-Nle].[D-Trp_For]}|PEPTIDE3{[D-Orn].[D-Trp_For].[meQ].[Met_O].G.[D-gGlu]}$PEPTIDE2,PEPTIDE3,3:R2-6:R2|PEPTIDE3,PEPTIDE2,1:R1-1:R1|PEPTIDE1,PEPTIDE3,1:R2-6:R3$$$V2.0",CCCC[C@H]1NC(=O)[C@H]2C[C@H](O)CN2N[C@H](CCCN)C(=O)N[C@H](Cc2cn(C=O)c3ccccc23)C(=O)N(C)[C@@H](CCC(N)=O)C(=O)N[C@@H](CC[S+](C)[O-])C(=O)NCC(=O)N[C@@H](C(=O)C(=O)[C@H](N)Cc2cn(C=O)c3ccccc23)CCC(=O)C(=O)[C@@H](Cc2cn(C=O)c3ccccc23)NC1=O,Testing,V000007,1442.62097167968750,1354.92504882812500,0.4428571462631226,true,true,true,true
9
+ "PEPTIDE1{[Gla]}|PEPTIDE2{[D-Trp_For]}|PEPTIDE3{[D-Hyp].[D-Nle].[D-Trp_For]}|PEPTIDE4{[D-Orn].[D-Trp_For].[meQ].[Met_O].G.[D-gGlu]}$PEPTIDE3,PEPTIDE4,3:R2-6:R2|PEPTIDE4,PEPTIDE3,1:R1-1:R1|PEPTIDE2,PEPTIDE4,1:R2-6:R3|PEPTIDE1,PEPTIDE4,1:R2-1:R3$$$V2.0",CCCC[C@H]1NC(=O)[C@H]2C[C@H](O)CN2N[C@H](CCCNC(=O)C(C[C@H](N)C=O)C(=O)O)C(=O)N[C@H](Cc2cn(C=O)c3ccccc23)C(=O)N(C)[C@@H](CCC(N)=O)C(=O)N[C@@H](CC[S+](C)[O-])C(=O)NCC(=O)N[C@@H](C(=O)C(=O)[C@H](N)Cc2cn(C=O)c3ccccc23)CCC(=O)C(=O)[C@@H](Cc2cn(C=O)c3ccccc23)NC1=O,Design,V000008,1599.74597167968750,1504.99401855468750,0.4473684132099152,true,true,true,true
10
+ "PEPTIDE1{[Pyr]}|PEPTIDE2{[Pyr]}|PEPTIDE3{[Pyr]}|PEPTIDE4{C.C.C.[Cya]}$PEPTIDE4,PEPTIDE4,4:R2-1:R1|PEPTIDE4,PEPTIDE3,3:R3-1:R1|PEPTIDE4,PEPTIDE1,1:R3-1:R1|PEPTIDE2,PEPTIDE4,1:R2-2:R3$$$V2.0",O=C1CC[C@@H](C(=O)SC[C@@H]2NC(=O)[C@H](CSN3C(=O)CC[C@H]3C(=O)O)NC(=O)[C@H](CS(=O)(=O)O)NC(=O)[C@H](CSN3C(=O)CC[C@H]3C(=O)O)NC2=O)N1,Testing,V000009,825.87902832031250,790.59899902343750,0.6296296119689940,true,false,true,true
@@ -0,0 +1 @@
1
+ {"name":"PHD-2","templateName":"Peptide hits Demo","status":"In Progress","createDate":"2024/9/4","campaignFields":{"Chemist":"Someone"},"columnSemTypes":{"Helm":"Macromolecule","Molecule":"Molecule","Stage":null,"V-iD":null},"rowCount":1,"filteredRowCount":1,"savePath":"System.AppData/HitTriage/PeptiHit/campaigns/PHD-2/enriched_table.csv","columnTypes":{"Helm":"string","Molecule":"string","Stage":"string","V-iD":"string","MolWt":"double","HeavyAtomMolWt":"double","FractionCSP3":"double"},"version":2,"authorUserId":"7a6a9f30-25d0-11ef-c943-0b65a97fa481","permissions":{"view":["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"],"edit":["a4b45840-9a50-11e6-9cc9-8546b8bf62e6"]},"layout":"{\"containerType\":\"fill\",\"state\":{\"width\":701,\"height\":889,\"documentManager\":true},\"children\":[{\"containerType\":\"panel\",\"state\":{\"width\":701,\"height\":889,\"element\":{\"id\":\"41404730-4ce0-11ef-a35c-937ec35463b4\",\"type\":\"Grid\",\"look\":{\"#type\":\"GridLook\",\"showAddNewRowIcon\":true,\"addNewRowOnLastRowEdit\":true,\"rowHeight\":100,\"topLevelDefaultMenu\":true,\"allowColumnMenu\":true,\"columns\":[{\"width\":20,\"backgroundColor\":4294440951,\"customName\":\"\",\"cellType\":\"row header\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":400,\"columnName\":\"Helm\",\"cellType\":\"helm\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":200,\"columnName\":\"Molecule\",\"cellType\":\"Molecule\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":60,\"columnName\":\"Stage\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":72,\"columnName\":\"V-iD\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":63,\"columnName\":\"MolWt\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":131,\"columnName\":\"HeavyAtomMolWt\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}},{\"width\":105,\"columnName\":\"FractionCSP3\",\"cellType\":\"number\",\"headerCellStyle\":{\"textWrap\":\"words\"}}]},\"title\":\"Table\",\"default\":true}},\"children\":[]}],\"floating\":[],\"tableId\":\"34c341b0-4ce0-11ef-9215-3b488e649d82\",\"tableName\":\"Table\"}","template":{"name":"Peptide hits Demo","key":"PHD","campaignFields":[{"name":"Chemist","type":"String","required":true}],"stages":["Design","Consideration","Synthesis","Testing"],"compute":{"descriptors":{"enabled":true,"args":["MolWt","HeavyAtomMolWt","FractionCSP3"]},"functions":[],"scripts":[],"queries":[]}}}
@@ -0,0 +1,82 @@
1
+ Helm,Molecule,Stage,V-iD,MolWt,HeavyAtomMolWt,FractionCSP3
2
+ PEPTIDE1{[Cys_Me].[D-1Nal].[Cys_SEt]}$$$$V2.0,"
3
+ Actelion Java MolfileCreator 2.0
4
+
5
+ 0 0 0 0 0 0 0 V3000
6
+ M V30 BEGIN CTAB
7
+ M V30 COUNTS 32 33 0 0 0
8
+ M V30 BEGIN ATOM
9
+ M V30 1 C -3.0446 -6.3515 0 0
10
+ M V30 2 S -1.7455 -5.6015 0 0
11
+ M V30 3 C -1.7455 -4.1015 0 0
12
+ M V30 4 C -0.4465 -3.3515 0 0 CFG=2
13
+ M V30 5 N 0.8524 -4.1015 0 0
14
+ M V30 6 C -0.4465 -1.8515 0 0
15
+ M V30 7 O -1.7455 -1.1015 0 0
16
+ M V30 8 N 0.8524 -1.1015 0 0
17
+ M V30 9 C 0.8524 0.3984 0 0 CFG=2
18
+ M V30 10 C 2.1515 1.1484 0 0
19
+ M V30 11 C 3.4505 0.3984 0 0
20
+ M V30 12 C 3.4505 -1.1015 0 0
21
+ M V30 13 C 4.7496 -1.8515 0 0
22
+ M V30 14 C 6.0486 -1.1015 0 0
23
+ M V30 15 C 6.0486 0.3984 0 0
24
+ M V30 16 C 7.3476 1.1484 0 0
25
+ M V30 17 C 7.3476 2.6484 0 0
26
+ M V30 18 C 6.0486 3.3984 0 0
27
+ M V30 19 C 4.7496 2.6484 0 0
28
+ M V30 20 C 4.7496 1.1484 0 0
29
+ M V30 21 C -0.4465 1.1484 0 0
30
+ M V30 22 O -0.4465 2.6484 0 0
31
+ M V30 23 C -9.5398 0.3984 0 0
32
+ M V30 24 C -8.2407 1.1484 0 0
33
+ M V30 25 S -6.9417 0.3984 0 0
34
+ M V30 26 S -5.6426 1.1484 0 0
35
+ M V30 27 C -4.3436 0.3984 0 0
36
+ M V30 28 C -3.0446 1.1484 0 0 CFG=2
37
+ M V30 29 N -1.7455 0.3984 0 0
38
+ M V30 30 C -3.0446 2.6484 0 0
39
+ M V30 31 O -4.3436 3.3984 0 0
40
+ M V30 32 O -1.7455 3.3984 0 0
41
+ M V30 END ATOM
42
+ M V30 BEGIN BOND
43
+ M V30 1 1 1 2
44
+ M V30 2 1 2 3
45
+ M V30 3 1 4 3
46
+ M V30 4 1 4 5 CFG=1
47
+ M V30 5 1 4 6
48
+ M V30 6 1 6 8
49
+ M V30 7 2 6 7
50
+ M V30 8 1 9 8
51
+ M V30 9 1 9 10 CFG=1
52
+ M V30 10 1 10 11
53
+ M V30 11 2 11 12
54
+ M V30 12 1 12 13
55
+ M V30 13 2 13 14
56
+ M V30 14 1 14 15
57
+ M V30 15 2 15 16
58
+ M V30 16 1 16 17
59
+ M V30 17 2 17 18
60
+ M V30 18 1 18 19
61
+ M V30 19 2 19 20
62
+ M V30 20 1 11 20
63
+ M V30 21 1 15 20
64
+ M V30 22 1 9 21
65
+ M V30 23 1 21 29
66
+ M V30 24 2 21 22
67
+ M V30 25 1 23 24
68
+ M V30 26 1 24 25
69
+ M V30 27 1 25 26
70
+ M V30 28 1 26 27
71
+ M V30 29 1 28 27 CFG=1
72
+ M V30 30 1 28 29
73
+ M V30 31 1 28 30
74
+ M V30 32 1 30 31
75
+ M V30 33 2 30 32
76
+ M V30 END BOND
77
+ M V30 BEGIN COLLECTION
78
+ M V30 MDLV30/STEABS ATOMS=(3 4 9 28)
79
+ M V30 END COLLECTION
80
+ M V30 END CTAB
81
+ M END
82
+ ",Design,V000001,495.6919860839844,466.4599914550781,0.40909090638160706
@@ -0,0 +1 @@
1
+ {"name":"Peptide hits Demo","key":"PHD","campaignFields":[{"name":"Chemist","type":"String","required":true}],"stages":["Design","Consideration","Synthesis","Testing"],"compute":{"descriptors":{"enabled":true,"args":["MolWt","HeavyAtomMolWt","FractionCSP3"]},"functions":[],"scripts":[],"queries":[]}}
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@datagrok/hit-triage",
3
3
  "friendlyName": "HitTriage",
4
- "version": "1.2.1",
4
+ "version": "1.3.0",
5
5
  "author": {
6
6
  "name": "Davit Rizhinashvili",
7
7
  "email": "drizhinashvili@datagrok.ai"
@@ -16,11 +16,11 @@
16
16
  "directory": "packages/HitTriage"
17
17
  },
18
18
  "dependencies": {
19
- "@datagrok-libraries/compute-utils": "^1.8.3",
20
- "@datagrok-libraries/utils": "^4.2.29",
19
+ "@datagrok-libraries/compute-utils": "^1.39.0",
20
+ "@datagrok-libraries/utils": "^4.3.0",
21
21
  "cash-dom": "latest",
22
22
  "css-loader": "^6.5.1",
23
- "datagrok-api": "^1.19.2",
23
+ "datagrok-api": "^1.21.1",
24
24
  "source-map-loader": "^4.0.1",
25
25
  "style-loader": "^3.3.1",
26
26
  "ts-loader": "latest",
@@ -9,8 +9,8 @@ export function getLayoutInput() {
9
9
  let layoutViewState: string | null = null;
10
10
  let error: string | null = null;
11
11
  dataFileInput.addValidator((_) => error);
12
- dataFileInput.onChanged(async () => {
13
- const f: DG.FileInfo = dataFileInput.value;
12
+ dataFileInput.onChanged.subscribe(async (value) => {
13
+ const f: DG.FileInfo = value;
14
14
  if (f) {
15
15
  try {
16
16
  const contentString = await f.readAsString();
@@ -1,8 +1,9 @@
1
+ /* eslint-disable max-len */
1
2
  import * as DG from 'datagrok-api/dg';
2
3
  import * as ui from 'datagrok-api/ui';
3
4
  import * as grok from 'datagrok-api/grok';
4
5
  import {CampaignFieldTypes, HitDesignTemplate} from '../types';
5
- import {HitDesignMolColName, TileCategoriesColName, ViDColName, i18n} from '../consts';
6
+ import {HitDesignMolColName, PeptiHitHelmColName, TileCategoriesColName, ViDColName, i18n} from '../consts';
6
7
  import '../../../css/hit-triage.css';
7
8
  import {getNewVid} from '../utils/calculate-single-cell';
8
9
 
@@ -17,8 +18,17 @@ type HitDesignCampaignAccordeon = {
17
18
  cancelPromise: Promise<void>
18
19
  }
19
20
 
20
- export function newHitDesignCampaignAccordeon(template: HitDesignTemplate): HitDesignCampaignAccordeon {
21
+ export function newHitDesignCampaignAccordeon(template: HitDesignTemplate, peptiHit = false): HitDesignCampaignAccordeon {
21
22
  const df = DG.DataFrame.create(1);
23
+ if (peptiHit) {
24
+ const pepCol = df.columns.addNew(PeptiHitHelmColName, DG.TYPE.STRING);
25
+ pepCol.semType = DG.SEMTYPE.MACROMOLECULE;
26
+ pepCol.meta.units = 'helm';
27
+ pepCol.setTag('units', 'helm');
28
+ pepCol.setTag('cell.renderer', 'helm');
29
+ pepCol.setTag('.alphabetIsMultichar', 'true');
30
+ }
31
+
22
32
  const molCol = df.columns.addNew(HitDesignMolColName, DG.TYPE.STRING);
23
33
  molCol.semType = DG.SEMTYPE.MOLECULE;
24
34
  molCol.meta.units = DG.UNITS.Molecule.SMILES;
@@ -4,7 +4,7 @@ import * as grok from 'datagrok-api/grok';
4
4
  import {_package} from '../../package';
5
5
  import * as C from '../consts';
6
6
  import '../../../css/hit-triage.css';
7
- import {HitDesignTemplate, IComputeDialogResult, INewTemplateResult} from '../types';
7
+ import {IComputeDialogResult, INewTemplateResult, PeptiHitTemplate} from '../types';
8
8
  import {chemFunctionsDialog} from '../dialogs/functions-dialog';
9
9
  import {getCampaignFieldEditors} from './new-template-accordeon';
10
10
  import {ItemType, ItemsGrid} from '@datagrok-libraries/utils/src/items-grid';
@@ -12,8 +12,8 @@ import {HitAppBase} from '../hit-app-base';
12
12
  import {getLayoutInput} from './layout-input';
13
13
 
14
14
  export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
15
- preset?: HitDesignTemplate): Promise<INewTemplateResult<HitDesignTemplate>> {
16
- const availableTemplates = (await _package.files.list('Hit Design/templates'));
15
+ preset?: PeptiHitTemplate): Promise<INewTemplateResult<PeptiHitTemplate>> {
16
+ const availableTemplates = (await _package.files.list(`${app.appName}/templates`));
17
17
  let hasNameError = false;
18
18
  let hasKeyError = false;
19
19
  // Remove .json from end
@@ -22,7 +22,7 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
22
22
 
23
23
  for (const file of availableTemplates) {
24
24
  try {
25
- const t: HitDesignTemplate = JSON.parse(await _package.files.readAsText(file));
25
+ const t: PeptiHitTemplate = JSON.parse(await _package.files.readAsText(file));
26
26
  availableTemplateKeys.push(t.key);
27
27
  } catch (e) {
28
28
  console.error(e);
@@ -33,7 +33,8 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
33
33
  availableSubmitFunctions.forEach((func) => {
34
34
  submitFunctionsMap[func.friendlyName ?? func.name] = func;
35
35
  });
36
- const submitFunctionInput = ui.input.choice('Submit function', {value: null, items: [null, ...Object.keys(submitFunctionsMap)]});
36
+ const submitFunctionInput = ui.input.choice('Submit function',
37
+ {value: null, items: [null, ...Object.keys(submitFunctionsMap)]});
37
38
  submitFunctionInput.nullable = true;
38
39
  submitFunctionInput.value = preset?.submit?.fName ?? null;
39
40
  submitFunctionInput.setTooltip('Select function to be called upon submitting');
@@ -97,7 +98,7 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
97
98
  },
98
99
  functions: preset?.compute?.functions ?? [],
99
100
  },
100
- } as unknown as HitDesignTemplate;
101
+ } as unknown as PeptiHitTemplate;
101
102
  const funcInput = await chemFunctionsDialog(app, (res) => {funcDialogRes = res;}, () => null,
102
103
  dummyTemplate, false);
103
104
  funcInput.root.classList.add('hit-triage-new-template-functions-input');
@@ -131,7 +132,7 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
131
132
  const cancelButton = ui.button(C.i18n.cancel, () => resolve());
132
133
  buttonsContainerDiv.appendChild(cancelButton);
133
134
  });
134
- const promise = new Promise<HitDesignTemplate>((resolve) => {
135
+ const promise = new Promise<PeptiHitTemplate>((resolve) => {
135
136
  async function onOkProxy() {
136
137
  onTemplateNameChanged();
137
138
  onTemplateKeyChange();
@@ -146,7 +147,7 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
146
147
  }
147
148
 
148
149
  const submitFunction = submitFunctionInput.value ? submitFunctionsMap[submitFunctionInput.value] : undefined;
149
- const out: HitDesignTemplate = {
150
+ const out: PeptiHitTemplate = {
150
151
  name: templateNameInput.value,
151
152
  key: templateKeyInput.value,
152
153
  campaignFields: fieldsEditor.getFields(),
@@ -188,7 +189,7 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
188
189
  },
189
190
  ...(submitFunction ? {submit: {fName: submitFunction.name, package: submitFunction.package.name}} : {}),
190
191
  };
191
- saveHitDesignTemplate(out);
192
+ saveHitDesignTemplate(out, app.appName);
192
193
  grok.shell.info('Template created successfully');
193
194
  resolve(out);
194
195
  }
@@ -199,8 +200,8 @@ export async function newHitDesignTemplateAccordeon(app: HitAppBase<any>,
199
200
  return {root: form, template: promise, cancelPromise};
200
201
  }
201
202
 
202
- export function saveHitDesignTemplate(template: HitDesignTemplate) {
203
- _package.files.writeAsText(`Hit Design/templates/${template.name}.json`, JSON.stringify(template));
203
+ function saveHitDesignTemplate(template: PeptiHitTemplate, appName: string) {
204
+ _package.files.writeAsText(`${appName}/templates/${template.name}.json`, JSON.stringify(template));
204
205
  }
205
206
 
206
207
 
@@ -38,8 +38,8 @@ export async function createTemplateAccordeon(app: HitAppBase<any>,
38
38
 
39
39
  const keyErrorDiv = ui.divText('Template key is empty or already exists', {classes: 'hit-triage-error-div'});
40
40
 
41
- const templateNameInput = ui.input.string('Name', {value: '', onValueChanged: () => {
42
- if (templateNameInput.value === '' || availableTemplates.includes(templateNameInput.value)) {
41
+ const templateNameInput = ui.input.string('Name', {value: '', onValueChanged: (value) => {
42
+ if (value === '' || availableTemplates.includes(value)) {
43
43
  templateNameInput.root.style.borderBottom = '1px solid red';
44
44
  errorDiv.style.opacity = '100%';
45
45
  } else {
@@ -47,8 +47,8 @@ export async function createTemplateAccordeon(app: HitAppBase<any>,
47
47
  errorDiv.style.opacity = '0%';
48
48
  }
49
49
  }});
50
- const templateKeyInput = ui.input.string('Key', {value: '', onValueChanged: () => {
51
- if (templateKeyInput.value === '' || availableTemplateKeys.includes(templateKeyInput.value)) {
50
+ const templateKeyInput = ui.input.string('Key', {value: '', onValueChanged: (value) => {
51
+ if (value === '' || availableTemplateKeys.includes(value)) {
52
52
  templateKeyInput.root.style.borderBottom = '1px solid red';
53
53
  keyErrorDiv.style.opacity = '100%';
54
54
  } else {
@@ -89,11 +89,8 @@ export async function createTemplateAccordeon(app: HitAppBase<any>,
89
89
  const dataSourceFunctionInput = ui.input.choice(
90
90
  C.i18n.dataSourceFunction, {value: combinedSourceNames[0], items: combinedSourceNames});
91
91
  const ingestTypeInput = ui.input.choice<IngestType>('Ingest using', {value: 'Query', items: ['Query', 'File'],
92
- onValueChanged: () => {
93
- if (ingestTypeInput.value !== 'Query')
94
- dataSourceFunctionInput.root.style.display = 'none';
95
- else
96
- dataSourceFunctionInput.root.style.display = 'block';
92
+ onValueChanged: (value) => {
93
+ dataSourceFunctionInput.root.style.display = value === 'Query' ? 'block' : 'none';
97
94
  }});
98
95
 
99
96
  const fieldsEditor = getCampaignFieldEditors();
@@ -1,10 +1,10 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
- import {AppName, HitDesignTemplate, HitTriageTemplate} from './types';
2
+ import {AppName, HitDesignTemplate, HitTriageTemplate, PeptiHitTemplate} from './types';
3
3
  import {HitDesignApp} from './hit-design-app';
4
4
  import {HitTriageApp} from './hit-triage-app';
5
5
  import {_package} from '../package';
6
6
 
7
- export class HitBaseView<Ttemplate extends HitDesignTemplate | HitTriageTemplate,
7
+ export class HitBaseView<Ttemplate extends HitDesignTemplate | HitTriageTemplate | PeptiHitTemplate,
8
8
  Tapp extends HitDesignApp | HitTriageApp> extends DG.ViewBase {
9
9
  app: Tapp;
10
10
  protected deletedCampaigns: string[] = [];
package/src/app/consts.ts CHANGED
@@ -8,7 +8,7 @@ export const HitTriageSubmitTag = 'HitTriageSubmitFunction';
8
8
  export const HitSelectionColName = 'Selected hits';
9
9
  export const TileCategoriesColName = 'Stage';
10
10
  export const HitDesignMolColName = 'Molecule';
11
- export const EmptyStageCellValue = 'StageDefiningRow'; // Kostilj, for a while
11
+ export const PeptiHitHelmColName = 'Helm';
12
12
  export const ViDColName = 'V-iD';
13
13
  export const ViDColFormat = 'V######';
14
14
  export const HTcampaignName = 'HTcampaignName';
@@ -127,9 +127,9 @@ export async function chemFunctionsDialog(app: HitAppBase<any>,
127
127
  // add checkboxes to each hader
128
128
  tc.panes.forEach((pane)=> {
129
129
  const functionCheck =
130
- ui.input.bool('', {value: calculatedFunctions[funcNamesMap[pane.name]], onValueChanged: (input) => {
131
- calculatedFunctions[funcNamesMap[pane.name]] = !!functionCheck.value;
132
- if (!input.value)
130
+ ui.input.bool('', {value: calculatedFunctions[funcNamesMap[pane.name]], onValueChanged: (value) => {
131
+ calculatedFunctions[funcNamesMap[pane.name]] = !!value;
132
+ if (!value)
133
133
  $(pane.content).find('input').attr('disabled', 'true');
134
134
  else
135
135
  $(pane.content).find('input').removeAttr('disabled');
@@ -2,19 +2,22 @@ import * as grok from 'datagrok-api/grok';
2
2
  import * as ui from 'datagrok-api/ui';
3
3
  import * as DG from 'datagrok-api/dg';
4
4
  import {_package} from '../package';
5
- import {ComputeFunctions, HitDesignCampaign, HitTriageCampaign} from './types';
5
+ import {AppName, ComputeFunctions, HitDesignCampaign, HitTriageCampaign} from './types';
6
6
  import {funcTypeNames, HitTriageComputeFunctionTag} from './consts';
7
7
  import {checkEditPermissions} from './utils';
8
8
 
9
- export class HitAppBase<T> {
9
+ export abstract class HitAppBase<T> {
10
10
  public dataFrame?: DG.DataFrame;
11
11
  public template?: T;
12
12
  public baseUrl!: string;
13
13
  public computeFunctions: Promise<ComputeFunctions>;
14
14
  protected isJoining = false;
15
15
  protected hasEditPermission = false;
16
+ private _appName: AppName;
17
+ public get appName(): AppName {return this._appName;}
16
18
  // public layouts: Promise<DG.ViewLayout[]>;
17
- constructor(public parentCall: DG.FuncCall) {
19
+ constructor(public parentCall: DG.FuncCall, appN: AppName) {
20
+ this._appName = appN;
18
21
  this.resetBaseUrl();
19
22
  this.computeFunctions = new Promise<ComputeFunctions>(async (resolve) => {
20
23
  const funcs = DG.Func.find({tags: [HitTriageComputeFunctionTag]});