semvec/pypi-packages huggingface dataset:
rawprasslib 0.0.13
Thermo/Finnigan .raw file format reader
License: MIT

## RawPrassLib

RawPrassLib provides Finnigan .raw file format decoder intended for loading Thermo/Finnigan spectra into python code.

The project is in experimental state so please verify that it gives meaningful outputs in your case before reyling on it. The number of supported machines is very low at this time. If you would like to get your machine supported, please send me some sample spectrum/spectra. I do not guarantee that I will have free time to look at it, but it is worth trying.

## Usage
RawPrassLib is designed to enable fast advanced data processing by python, which is not easily acessible with original software.

>!#/usr/bin/env python3

>from rawparse import load_raw

>import numpy as np

>import logging

>...

>...

>chromatogram, masses, ion_scans = load_raw(filename)

The chromatogram is np.array of times of acquisition and total ion current during these acquisitions. (np.array ([times[],intensities[]]))

masses is np.array of the scanned masses from the lowest to the highest. As it should stay the same during whole acquisition only one masses array is provided. (np.array [mass])

matrix is np.array of acquired intensities during each acquisition. It is two-dimensional np.array where the first dimension count should correlate with number of acquisition and the second dimension with the number of masses which were scanned during each acquisition.

## Tested instruments
We've tested and optimized the code against TSQ-7000, LCQ Deca, LCQ Max and LTQ machines .raw output files.

## Known drawbacks
Projet is still very experimental so not all formats and acquisition supported

## Known benefits
The only file which has some real code has just 300 lines of codes.

## Installation
>pip install rawprasslib
melano 0.1.0
JSON utility
License: MIT
Requires Python: >=3.9,<4.0
Keywords: json,diff,utils

# melano

`melano` is JSON utility library

## features
### dict compare

```shell
>>> from melano import diff
>>> x, y = dict(x=1, y=2), dict(x=2, z=1)
>>> diff.compare(x, y)
[{'field': 'x', 'x': 1, 'type': 'MISMATCH', 'y': 2, 'message': 'x: 1 (int) != 2 (int)'}, {'field': 'y', 'x': 2, 'type': 'MISSING', 'message': 'y: not found'}, {'field': 'z', 'y': 1, 'type': 'MISSING', 'message': 'z: not found'}]
```

### list of dict operations
#### sort 

```shell
>>> from melano import sort
>>> items = [dict(x=1, y=5), dict(x=4, y=2), dict(x=2, y=3), dict(x=1, y=2)]
>>> sort(items, 'x', 'y')
[{'x': 1, 'y': 2}, {'x': 1, 'y': 5}, {'x': 2, 'y': 3}, {'x': 4, 'y': 2}]
```

#### group by

```shell
>>> from melano import group_by
>>> items = [dict(x=1, y=5, z=5), dict(x=4, y=2, z=3), dict(x=4, y=2, z=10)]
>>> group_by(items, 'x', 'y')
[{'x': 1, 'y': 5, 'items': [{'x': 1, 'y': 5, 'z': 5}]}, {'x': 4, 'y': 2, 'items': [{'x': 4, 'y': 2, 'z': 3}, {'x': 4, 'y': 2, 'z': 10}]}]
```

#### count

```shell
>>> from melano import count
>>> items = [dict(x=1, y=5, z=5), dict(x=4, y=2, z=3), dict(x=4, y=2, z=10)]
>>> count(items, 'x', 'y')
[{'x': 1, 'y': 5, 'count': 1}, {'x': 4, 'y': 2, 'count': 2}]
```