@@ -1531,35 +1531,40 @@ def draw_spectrum(usi, ms2_identifier, export_format, plot_theme, xic_mz):
15311531 spectrum_type = "MS"
15321532 button_elements = []
15331533
1534- if "MS2" in ms2_identifier or "MS3" in ms2_identifier :
1535- spectrum_type = "MS2"
1536-
1537- mzs = [peak [0 ] for peak in peaks ]
1538- ints = [peak [1 ] for peak in peaks ]
1539- neg_ints = [intensity * - 1 for intensity in ints ]
1540-
1541- interactive_fig = go .Figure (
1542- data = go .Scatter (x = mzs , y = ints ,
1543- mode = 'markers' ,
1544- marker = dict (size = 1 ),
1545- error_y = dict (
1546- symmetric = False ,
1547- arrayminus = [0 ]* len (neg_ints ),
1548- array = neg_ints ,
1549- width = 0
1550- ),
1551- hoverinfo = "x" ,
1552- text = mzs
1553- )
1534+ # Drawing the spectrum object
1535+ mzs = [peak [0 ] for peak in peaks ]
1536+ ints = [peak [1 ] for peak in peaks ]
1537+ neg_ints = [intensity * - 1 for intensity in ints ]
1538+
1539+ # Figuring out which labels to show
1540+ mzs_text = ms2 ._get_ms_peak_labels (mzs , ints )
1541+
1542+ interactive_fig = go .Figure (
1543+ data = go .Scatter (x = mzs , y = ints ,
1544+ mode = 'markers+text' ,
1545+ marker = dict (size = 1 ),
1546+ error_y = dict (
1547+ symmetric = False ,
1548+ arrayminus = [0 ]* len (neg_ints ),
1549+ array = neg_ints ,
1550+ width = 0
1551+ ),
1552+ hoverinfo = "x" ,
1553+ textposition = "top right" ,
1554+ text = mzs_text
15541555 )
1556+ )
1557+
1558+ interactive_fig .update_layout (title = '{}' .format (ms2_identifier ))
1559+ interactive_fig .update_layout (template = plot_theme )
1560+ interactive_fig .update_xaxes (title_text = 'm/z' )
1561+ interactive_fig .update_yaxes (title_text = 'intensity' )
1562+ interactive_fig .update_xaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1563+ interactive_fig .update_yaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1564+ interactive_fig .update_yaxes (range = [0 , max (ints ) * 1.1 ])
15551565
1556- interactive_fig .update_layout (title = '{}' .format (ms2_identifier ))
1557- interactive_fig .update_layout (template = plot_theme )
1558- interactive_fig .update_xaxes (title_text = 'm/z' )
1559- interactive_fig .update_yaxes (title_text = 'intensity' )
1560- interactive_fig .update_xaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1561- interactive_fig .update_yaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1562- interactive_fig .update_yaxes (range = [0 , max (ints )])
1566+ if "MS2" in ms2_identifier or "MS3" in ms2_identifier :
1567+ spectrum_type = "MS2"
15631568
15641569 masst_dict = {}
15651570 masst_dict ["workflow" ] = "SEARCH_SINGLE_SPECTRUM"
@@ -1573,37 +1578,9 @@ def draw_spectrum(usi, ms2_identifier, export_format, plot_theme, xic_mz):
15731578
15741579 button_elements = [USI_button , html .Br (), masst_button ]
15751580
1576-
15771581 if "MS1" in ms2_identifier :
15781582 spectrum_type = "MS1"
15791583
1580- mzs = [peak [0 ] for peak in peaks ]
1581- ints = [peak [1 ] for peak in peaks ]
1582- neg_ints = [intensity * - 1 for intensity in ints ]
1583-
1584- interactive_fig = go .Figure (
1585- data = go .Scatter (x = mzs , y = ints ,
1586- mode = 'markers' ,
1587- marker = dict (size = 1 ),
1588- error_y = dict (
1589- symmetric = False ,
1590- arrayminus = [0 ]* len (neg_ints ),
1591- array = neg_ints ,
1592- width = 0
1593- ),
1594- hoverinfo = "x" ,
1595- text = mzs
1596- )
1597- )
1598-
1599- interactive_fig .update_layout (title = '{}' .format (ms2_identifier ))
1600- interactive_fig .update_layout (template = plot_theme )
1601- interactive_fig .update_xaxes (title_text = 'm/z' )
1602- interactive_fig .update_yaxes (title_text = 'intensity' )
1603- interactive_fig .update_xaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1604- interactive_fig .update_yaxes (showline = True , linewidth = 1 , linecolor = 'black' )
1605- interactive_fig .update_yaxes (range = [0 , max (ints )])
1606-
16071584 USI_button = html .A (dbc .Button ("View Vector Metabolomics USI" , color = "primary" , className = "mr-1" , block = True ), href = usi_url , target = "_blank" )
16081585
16091586 button_elements = [USI_button ]
0 commit comments