-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathBlastLocalColumnSearch_subset.yaml
More file actions
210 lines (200 loc) · 5.48 KB
/
BlastLocalColumnSearch_subset.yaml
File metadata and controls
210 lines (200 loc) · 5.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
id: d35172ce-5e4b-945a-631d-14e47c9a1fc6
name: Blast Local Column Search (subset)
description: Performs a BLAST search of user selected databases using queries from a sequence column. Pre-configured BLAST databases can be downloaded from https://tinyurl.com/3d38p356
category: Biopolymer
version: 1.2.0
serviceName: BlastLocalColumnSearch
serviceUri: glysade.python
executorId: Glysade.CPythonDataFxn
inputFields:
- control:
id: sequenceColumn
label: Select sequence column
type: columnselect
filters:
- dataType: string
contentType:
- chemical/x-sequence
- dataType: binary
contentType: chemical/x-genbank
validationRules:
- type: required
message: Must select column of sequences
limitByControlId: limitByField
request:
id: sequenceColumn
dataType: string
selectorType: column
- control:
id: idColumn
label: ID Column (optional)
type: columnselect
multi: !!bool false
filters:
- dataType:
- string
- int
contentType: []
tooltip: ID column is not required for Genbank encoded sequences
limitByControlId: limitByField
request:
id: idColumn
dataType: string
selectorType: column
- control:
id: method
label: Select method
type: select
options:
- text: 'BLASTP: protein(q)-protein(d)'
value: BLASTP
- text: 'BLASTN: nucleotide(q)-nucleotide(d)'
value: BLASTN
- text: 'BLASTX: nucleotide(q)+translation-protein(d)'
value: BLASTX
- text: 'TBLASTN: protein(q)-nucleotide(d)+translation'
value: TBLASTN
- text: 'TBLASTX: nucleotide(q)+translation-nucleotide(d)+translation'
value: TBLASTX
validationRules:
- type: required
request:
id: method
dataType: string
data: BLASTP
- control:
id: databaseName
label: Select database
type: select
options:
- text: Human NCBI NR
value: human_nr
- text: Human Uniprot SwissProt
value: up_sp_human
- text: Human Uniprot Trembl
value: up_tbl_human
- text: Human PDB
value: human_pdbaa
- text: Human Patented Proteins
value: human_pataa
- text: Human IG Germline (Proteins)
value: human_IG_germline
- text: Human NCBI NT
value: human_nt
- text: Human EBI ENA
value: ena_cd_human
- text: Human Patented Nucleotides
value: human_patnt
- text: Mouse NCBI NR
value: mouse_nr
- text: Mouse PDB
value: mouse_pdbaa
- text: Mouse Patented Proteins
value: mouse_pataa
- text: Mouse NCBI NT
value: mouse_nt
- text: Mouse Patented Nucleotides
value: mouse_patnt
- text: Rat NCBI NR
value: rat_nr
- text: Rat PDB
value: rat_pdbaa
- text: Rat Patented Proteins
value: rat_pataa
- text: Rat NCBI NT
value: rat_nt
- text: Rat Patented Nucleotides
value: rat_patnt
validationRules:
- type: required
request:
id: databaseName
dataType: string
- control:
id: maxHits
label: Max hits
type: text
validationRules:
- type: required
message: Must enter a value between 1 and 5000
- type: range
min: !!int 1
max: !!int 5000
message: Max hits must be a value between 1 and 5000
request:
id: maxHits
dataType: integer
data: !!int 100
- control:
id: blastDbPath
label: Directory containing BLAST databases
type: file
mode: path
pathType: folder
validationRules:
- type: required
message: ''
request:
id: blastDbPath
dataType: string
data: C:\db\ncbi
- control:
id: limitByField
label: Apply data function to
type: limitby
request:
- id: limitByField
dataType: string
field: limitBy
data: none
- id: limitByFieldMarking
dataType: string
field: marking
tags:
- color: '#337abc'
text: sequence
- color: '#f7cb2d'
text: search
ironPython: |
####################################################
# Copyright 2022 Glysade LLC, All Rights Reserved #
####################################################
import sys,clr
from Spotfire.Dxp.Data import DataTable, DataManager
from Spotfire.Dxp.Application import PanelTypeIdentifiers
from Spotfire.Dxp.Application import Panel
import Spotfire.Dxp.Application.PanelCollection
from System import AppDomain
for asm in AppDomain.CurrentDomain.GetAssemblies():
if asm.GetName().Name == 'Charts':
clr.AddReference(asm.FullName)
from Charts import ChartsModel
model_type = ChartsModel
#tableId pass in args
dataTable = ResultTables[0]
if not dataTable:
raise Exception('target table not found')
page = Document.Pages.AddNew('Blast (local) column query Results')
panelsToHide = [PanelTypeIdentifiers.DataPanel, PanelTypeIdentifiers.DetailsOnDemandPanel]
for panel in page.Panels:
if panel.TypeId in panelsToHide:
if panel.Visible:
panel.Visible = False
filteringScheme = Document.FilteringSchemes[0]
page.FilterPanel.FilteringSchemeReference = filteringScheme
tableVis = page.Visuals.AddNew[model_type]()
tableVis.SetKeyValue('visualization','table-visualization')
tableVis.DataTable = dataTable
tableVis.ConfigureColumns()
tableVis.Marking = Document.Data.Markings.DefaultMarkingReference
tableVis.SetActiveVisual()
page.AutoConfigure()
updateBehavior: manual
maximumOutputColumns: !!int 0
maximumOutputTables: !!int 1
chemistryFunction: !!bool false
allowedClients:
- Analyst
demoUrl: https://youtu.be/v7leIlBaiz4
minimumChartsVersion: 4.4.0.0
confirmSubmit: