@@ -54,6 +54,7 @@ interface ScatterGenomeChartUiBinder extends UiBinder<Widget, GWASGeneViewer> {
54
54
protected DataTable dataTable ;
55
55
protected boolean isScatterChartLoaded = false ;
56
56
protected int snpPosX = -1 ;
57
+ protected double bonferroniThreshold = -1 ;
57
58
58
59
// use instance because getSelection() does not work in onUnderlay event, because date_graph is not properly initialized
59
60
protected JsArray <Selection > selections =JsArray .createArray ().cast ();
@@ -147,12 +148,17 @@ public void refresh() {
147
148
scatterChart .redraw ();
148
149
}
149
150
150
- public void draw (DataTable dataTable ,double max_value , int start ,int end )
151
+ public void draw (DataTable dataTable ,double max_value , int start ,int end ) {
152
+ draw (dataTable ,max_value ,start ,end ,-1 );
153
+ }
154
+
155
+ public void draw (DataTable dataTable ,double max_value , int start ,int end ,double bonferroniThreshold )
151
156
{
152
157
this .dataTable = dataTable ;
153
158
this .max_value = max_value ;
154
159
this .viewStart = start ;
155
160
this .viewEnd = end ;
161
+ this .bonferroniThreshold = bonferroniThreshold ;
156
162
geneViewer .setViewRegion (start ,end );
157
163
geneViewer .setChromosome (chromosome );
158
164
geneViewer .setDataSource (datasource );
@@ -240,6 +246,17 @@ public void onUnderlay(UnderlayEvent event) {
240
246
event .canvas .fill ();
241
247
event .canvas .restore ();
242
248
}
249
+
250
+ if (bonferroniThreshold != -1 ) {
251
+ double posY = (int )event .dygraph .toDomYCoord (bonferroniThreshold , 0 )-0.5 ;
252
+ event .canvas .save ();
253
+ event .canvas .beginPath ();
254
+ event .canvas .setStrokeStyle (gene_marker_color );
255
+ event .canvas .dashedLine (0 , posY , width , posY );
256
+ event .canvas .closePath ();
257
+ event .canvas .stroke ();
258
+ event .canvas .restore ();
259
+ }
243
260
}
244
261
245
262
},options );
0 commit comments