Skip to main content

mzml2isa - mzML to ISA-tab parsing tool

Project description

# mzml2isa
#####Parser to get meta information from mzML file and parse relevant information to a ISA-Tab structure
[![Build Status](https://travis-ci.org/althonos/mzml2isa.svg?branch=master)](https://travis-ci.org/althonos/mzml2isa)

## Overview
mzml2isa is a Python3 program that can be used to generate an ISA-Tab structure out of mzML files, providing the backbone of a study which can then be edited with an ISA editing tool (see [Metabolight pre-packaged ISA Creator](http://www.ebi.ac.uk/metabolights/))

Currently the program does the following
* Extract meta information from mzML files and store as either python dictionary or JSON format
* Create an ISA-Tab file structure with relevant meta information
* Add additional metadatas that cannot be parsed from mzML files to the ISA-Tab files through a JSON formatted dictionnary.

## Install

### With PIP
If `pip` is installed, it can be used to easily install the parser (this may need to be run as administrator depending on the machine's architecture):
```bash
pip3 install mzml2isa
```

### Without PIP
Alternatively, you can also clone the repository and install from the source :
```bash
git clone git://github.com/althonos/mzml2isa && cd mzml2isa
python3 setup.py install
```

mzml2isa has 2 optional dependencies: `progressbar2` and `lxml`, the latter quickening the parsing process while the other enhances the output of the program. To install them both, use pip:
```bash
pip3 install lxml progressbar2
```

## Use

### CLI
The parser comes with a simple one-liner:
```bash
mzml2isa -i /path/to/mzml_files/ -o /path/to/out_folder/ -s name_of_study
```

### Module
It is also possible to import the package:
```python
from mzml2isa import parsing

in_dir = "/path/to/mzml_files/"
out_dir = "/path/to/out_folder/"
study_identifier_name = "name_of_study"

parsing.full_parse(in_dir, out_dir, study_identifier_name)
```

### Meta extraction
If you just want to extract meta information:

```python
from mzml2isa import mzml

onefile = os.path.join(in_dir,"samp1.mzML")
mm = mzml.mzMLmeta(onefile)

# python dictionary format
print mm.meta

# JSON format
print mm.meta_json
```

## Metabolights
To download some real data from [MetaboLights](http://www.ebi.ac.uk/metabolights/) studies to test the converter with, run
```bash
python scripts/metabolights-dl.py <size>
```
from inside the repository, where _size_ is the maximum size in GiB you can allocate to download files.
The script will download the files to the `example_files/metabolight`s folder and then run mzml2isa on those files..

If you use a *NIX machine with **curlftpfs** and **bash** available, you can also run
```bash
scripts/metabolights.sh
```
to mount the database to the example directory and start converting mzML studies.

## Workflow

![alt tag](https://github.com/Tomnl/mzml_2_isa/blob/master/isa_config/mzml2isa.png)

## Ref
A modified version of the ontology extraction from this blog[1] was used, and a slightly modified class from pymzml[2]

[1] http://blog.nextgenetics.net/?e=6
[2] http://pymzml.github.io/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mzml2isa-0.4.7.tar.gz (125.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mzml2isa-0.4.7-py3-none-any.whl (134.1 kB view details)

Uploaded Python 3

File details

Details for the file mzml2isa-0.4.7.tar.gz.

File metadata

  • Download URL: mzml2isa-0.4.7.tar.gz
  • Upload date:
  • Size: 125.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mzml2isa-0.4.7.tar.gz
Algorithm Hash digest
SHA256 d7ff86daf40b3e42bb30c1db6fc1513a6aa1e7211dd51d57bc35ee5132542cff
MD5 b6adccf0cdeeede541e96175e8602dcc
BLAKE2b-256 aa3d9014cb05cee53617648f7e3771653668089f84f768e56b1808dba8f8e880

See more details on using hashes here.

File details

Details for the file mzml2isa-0.4.7-py3-none-any.whl.

File metadata

File hashes

Hashes for mzml2isa-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 96e72e9520c656f1bcb46fc029c7950af8f8298b8277732c1ffaec4b41173caf
MD5 a3aeace7afe23e9b4fd83dd24f1020c3
BLAKE2b-256 d83fa4a05c60d29370dbc1dd1c9d9b712b1b4274428f0352f20b398008d0e1e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page