https://github.com/BAMresearch/sigmabam2openbis
Mapper script to convert SigmaBAM chemical inventory exports into openBIS-compatible format.
https://github.com/BAMresearch/sigmabam2openbis
bam-data-store mapper openbis parser
Last synced: 5 months ago
JSON representation
Mapper script to convert SigmaBAM chemical inventory exports into openBIS-compatible format.
- Host: GitHub
- URL: https://github.com/BAMresearch/sigmabam2openbis
- Owner: BAMresearch
- License: mit
- Created: 2025-08-13T10:59:43.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-12-16T15:50:14.000Z (6 months ago)
- Last Synced: 2025-12-20T02:56:30.850Z (6 months ago)
- Topics: bam-data-store, mapper, openbis, parser
- Language: Jupyter Notebook
- Homepage:
- Size: 335 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-bamresearch - sigmabam2openbis - Mapper script to convert SigmaBAM chemical inventory exports into openBIS-compatible format. (Research Data Management)
README
You can use this package to parse SigmaBAM files in openBIS. There are two resources used for automating the parsing of such files:
1. Using the Python script in `tutorials/parser_tutorial.py`. This script uses the parser class defined in `src/sigmabam2openbis/parser.py` and the [`bam-masterdata`](https://github.com/BAMresearch/bam-masterdata) parser infrastructure. **We recommend using this tutorial**. To run it, after setting up your environment (see below), run in the terminal `python tutorials/parser_script.py`.
2. Using the _Jupyter notebook_ from `tutorials/chemical_data_inventory_openbis_mapper_1_0.ipynb`. This tutorial uses [PyBIS](https://pypi.org/project/pybis/).
## Development
If you want to develop locally this package, clone the project and enter in the workspace folder:
```bash
git clone https://github.com/BAMresearch/sigmabam2openbis.git
cd sigmabam2openbis
```
Create a virtual environment (you can use Python>=3.10) in your workspace:
- **Using venv**:
```bash
python3 -m venv .venv
source .venv/bin/activate # in Windows (cmd): source .venv\Scripts\activate
```
- **Using conda**:
```bash
conda create --name .venv pip
conda activate .venv
```
Install the package in editable mode (with the flag `-e`):
```bash
pip install --upgrade pip
pip install -e '.[dev]'
```
**Note**: In order to install faster the package, you can use [`uv`](https://docs.astral.sh/uv/) for pip installing Python packages:
```bash
pip install --upgrade pip
pip install uv
uv pip install -e '.[dev]'
```
### Run the tests
You can locally run the tests by doing:
```bash
python -m pytest -sv tests
```
where the `-s` and `-v` options toggle the output verbosity.
You can also generate a local coverage report:
```bash
python -m pytest --cov=src tests
```
### Run auto-formatting and linting
We use [Ruff](https://docs.astral.sh/ruff/) for formatting and linting the code following the rules specified in the `pyproject.toml`. You can run locally:
```bash
ruff check .
```
This will produce an output with the specific issues found. In order to auto-fix them, run:
```bash
ruff format .
```
If some issues are not possible to fix automatically, you will need to visit the file and fix them by hand.