Interactive widgets to construct data analysis notebooks for Mascope
Project description
Mascope Jupyter Widgets
This package provides interactive Jupyter widgets to construct data analysis notebooks for Mascope, utilizing Mascope SDK to fetch data from the server.
See also Mascope Tools for extended analysis capabilities.
🚀 Getting started
1. Install Python
- Install Python >= 3.12.
2. Set up a virtual environment and install dependencies
When developing in Python, it is best practice to use virtual environments to manage project dependencies. To set up a virtual environment for the project, in your terminal, run the following commands:
# initialize virtual environment
project-dir> python -m venv .venv
# activate the virtual environment
project-dir> .venv/Scripts/activate # On Windows
project-dir> source .venv/bin/activate # On Mac or Linux
# install dependencies
(.venv) project-dir> pip install mascope-jupyter-widgets jupyterlab
3. Configure Mascope access
To enable access from the notebook environment to your organization's Mascope instance, the following configuration steps need to be performed:
- In the project directory, create an empty text file named
.env. - In Mascope account settings, generate and copy a Jupyter Notebooks access token.
- Edit the
.envfile with the URL of your Mascope instance and your personal access token, as follows:
MASCOPE_URL="https://org.mascope.app"
MASCOPE_ACCESS_TOKEN="p3R5oN4l4cC35s70Ken"
4. Launch JupyterLab
JupyterLab is a popular notebook authoring and editing environment.
To run Jupyter Lab, you need to:
- Open a terminal.
- Navigate to the directory where your virtual environment is located.
- Activate the virtual environment.
- Launch JupyterLab.
# navigate to the source code directory
user> cd /path/to/project-dir
# activate the virtual environment
project-dir> .venv/Scripts/activate # On Windows
project-dir> source .venv/bin/activate # On Mac or Linux
# run jupyter lab
(.venv) project-dir> jupyter-lab
A browser window opens, with JupyterLab open. Now browse and open a notebook you wish to run and edit, or create a new one.
If you are not familiar with Jupyter Lab, we recommend starting from their getting started tutorial.
📒 Examples
Below there are a few examples demonstrating how to load processed data from Mascope, and quick ways to visualize it. For more elaborate data visualization, you may have a look at for example Plotly for Python.
Load data
To load data from Mascope, start with MascopeDataBrowser:
import mascope_jupyter_widgets as mjw
db = mjw.MascopeDataBrowser()
After loading, in the next cell, initialize a MascopeDataWrapper instance:
dataset = mjw.MascopeDataWrapper(db)
These two cells you would typically place at the beginning of your notebook. Now, you have easy access to many useful data properties.
NOTE: When you load new data in the data browser, the dataset object gets automatically updated so you don't need to re-instantiate it.
Target timeseries
To access intensities of all targets matched in Mascope, indexed by datetime, you may use the following dataset properties:
dataset.target_compound_timeseries
dataset.target_ion_timeseries
It is very easy to resample the data into different time resolution, for example to compute 1 hour means:
1h_timeseries = dataset.target_compound_timeseries.resample("1H").mean()
To see matched compositions, yoy may use e.g. dataset.target_ion_timeseries.columns. To access the timeseries of a specific target ion or compound, just select the corresponding column from the dataframe, e.g.
dataset.target_ion_timeseries['HSO4-']
Peak data
If you have selected to Import Peaks when loading the data, you also have the property
dataset.peaks_matched
available, which contains all peaks of the loaded samples.
To get a quick glance of the peaks, you can for example visualize the, in a simple mass defect plot like this:
dataset.peaks_matched.plot(x="mz", y="mass_defect", kind="scatter")
Match data
All the "match data" computed by Mascope are available as dataframes in the dataset object:
dataset.match_samples
dataset.match_compounds
dataset.match_ions
dataset.match_isotopes
NOTE: The property
dataset.match_samplescontains all sample metadata from the loaded batches, including timestamps, filenames as well as other attributes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mascope_jupyter_widgets-2025.10.13.tar.gz.
File metadata
- Download URL: mascope_jupyter_widgets-2025.10.13.tar.gz
- Upload date:
- Size: 121.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20b55c5fcc7059ee3f7e59a99abac8892502202cdaff803855341d03982561ad
|
|
| MD5 |
c3b97d738969b0087d0144f2e0a6ff87
|
|
| BLAKE2b-256 |
bfc82aa99fe3c353d11d735506c55cc58fd0369e0c3c5983e6aca88388475c55
|
File details
Details for the file mascope_jupyter_widgets-2025.10.13-py3-none-any.whl.
File metadata
- Download URL: mascope_jupyter_widgets-2025.10.13-py3-none-any.whl
- Upload date:
- Size: 149.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17901e0581e6a95abd0ca575e3fb8e35f7d2d774751c5b918f4a059891b1b616
|
|
| MD5 |
5bfe18d359e59a98522144006d89bc0c
|
|
| BLAKE2b-256 |
1725da87bc72cde9ec9676e92773fcc39be5e6a53967e24be311b8af8b241b74
|