This project has been archived by its maintainers, and is no longer receiving any updates.
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.
Metadata
Release files for mascope-jupyter-widgets 2026.1.16.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mascope_jupyter_widgets-2026.1.16.post2.tar.gz | 121.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mascope_jupyter_widgets-2026.1.16.post2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 272.2 kB
Release files / mascope_jupyter_widgets-2026.1.16.post2.tar.gz
| Download URL | mascope_jupyter_widgets-2026.1.16.post2.tar.gz |
|---|---|
| Size | 121.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa899665e5ef1fb2ed4493eeae9f057633f5fd0bc3153487cf2b9d12797373b9
|
|
BLAKE2b-256 checksum How to use checksums |
2027adaa22015a56842f76529069a0fe685b3b1a3430229622e299518abb74c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mascope_jupyter_widgets-2026.1.16.post2-py3-none-any.whl
| Download URL | mascope_jupyter_widgets-2026.1.16.post2-py3-none-any.whl |
|---|---|
| Size | 150.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6339572328aa1103a5b220ded15705847288e9c772cc791dcce34219d404c48e
|
|
BLAKE2b-256 checksum How to use checksums |
c6b70cc99914613f610ffce409cadd470acefd0dd61f25cf5cd14e7553a87938
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|