This little utility allows to interactively explore large 2D FTICR-MS datasets.
You find here a simple interface the reads and displays the multiresolution 2D files created by SPIKE when processing 2D data-sets (usually called xxx_mr.msh5).
It is based on the capabilities of both the SPIKE library and the jupyter notebook interface.
Thanks to the technology behind, these extremely large files can be accessed rapidly, even on a laptop computer.
This program supersedes the old Visu2D program, developped in Qt, which could no longer be maintained.
This is a work inprogress - additional utilities should come soon !
execute each executable cell (marked with the In[]) either by cliking on the Run icon on the top of the window, or by hitting shift-Return on the keyboard
the following cell should be run only once, at the beginning of the processing
from IPython.display import display, HTML, Markdown, Image
display(Markdown('## STARTING Environment...'))
%matplotlib notebook
import spike.Interactive.INTER as I
from spike.Interactive.FTICR_INTER import MR, MR_interact
from spike.Interactive.ipyfilechooser import FileChooser
I.hidecode()
Use FileChooser() to choose a file on your disk - The optional base argument, starts the exploration on a given location.
2D processed files are *.msh5 files.
FC = FileChooser('/DATA',filetype='y*.msh5', mode='r')
display(FC)
the MR tool simply loads and describe the content of the file
MR(FC.selected)
MR_interact loads and display the data-set.
It can be called directly
MR_interact(FC.selected);
Note that the 2D files contain several version of the spectrum at different resolution - zooming and out may modify the look of the region you are looking to. Only the closest zoom contains the unbiaised verion of the spectrum.
Some additional options are possible:
# complete initialisation, and storing the view into a python var
DI = MR_interact(FC.selected,
report=False, # inhibits parameter printing
show=False, # does not display on start-up
figsize=(15,15),# Size of initial display (in cm)
Debug=False # Enables live debugging if True
)
DI._zoom = (380, 700, 380, 700) # set the initial zoom view, in m/z (F1low , F1High , F2low , F2High)
DI.scale = 3.0 # set the initial scale
DI.show() # and finally show
There is 1D extraction tool which is handy to examine carefully the details
Just use your stored view and append .I1D() to it
DI.I1D()