Name | messes JSON |
Version |
1.0.2
JSON |
| download |
home_page | None |
Summary | Extract, validate, and convert tabular data for deposition into repositories. |
upload_time | 2024-08-29 21:16:28 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | The Clear BSD License Copyright (c) 2022, Christian D. Powell, Andrey Smelter, Hunter N.B. Moseley, Travis Thompson All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. * If the source code is used in a published work, then proper citation of the source code must be included with the published work. NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
keywords |
mwtab
metabolomics workbench
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
MESSES
~~~~~~
.. image:: https://img.shields.io/pypi/v/messes.svg
:target: https://pypi.org/project/messes
:alt: Current library version
.. image:: https://img.shields.io/pypi/pyversions/messes.svg
:target: https://pypi.org/project/messes
:alt: Supported Python versions
.. image:: https://github.com/MoseleyBioinformaticsLab/messes/actions/workflows/build.yml/badge.svg
:target: https://github.com/MoseleyBioinformaticsLab/messes/actions/workflows/build.yml
:alt: Build status
.. image:: https://codecov.io/gh/MoseleyBioinformaticsLab/MESSES/branch/main/graphs/badge.svg?branch=main
:target: https://codecov.io/gh/MoseleyBioinformaticsLab/MESSES
:alt: Code coverage information
..
.. image:: https://img.shields.io/badge/DOI-10.3390%2Fmetabo11030163-blue.svg
:target: https://doi.org/10.3390/metabo11030163
:alt: Citation link
.. image:: https://img.shields.io/github/stars/MoseleyBioinformaticsLab/messes.svg?style=social&label=Star
:target: https://github.com/MoseleyBioinformaticsLab/messes
:alt: GitHub project
|
MESSES (Metadata from Experimental SpreadSheets Extraction System) is a Python package that facilitates the conversion of tabular data into
other formats. We call it MESSES because we try to convert other people’s metadata messes into clean, well-structured, JSONized metadata.
It was initially created to pull mass spectrometry (MS) and nuclear magnetic resonance (NMR) experimental data into a database, but has been generalized to work with all tabular data. The key to this
is the `tagging <https://moseleybioinformaticslab.github.io/MESSES/tagging.html>`__ system. Simply add a layer of tags to any tabular data and
MESSES can transform it into an intermediate JSON representation and then convert it to any of the `supported formats <https://moseleybioinformaticslab.github.io/MESSES/supported_formats.html>`__.
Currently Supported Formats:
* mwTab
* Used by the `Metabolomics Workbench`_.
The process of going from your raw experimental data to submission to an online repository
is not an easy one, but MESSES was created to make it easier. MESSES breaks up the process
into 3 steps: extract, validate, and convert. The extraction step adds a layer of tags
to your raw tabular data, which may be automatable, and then extracts it into a JSONized form
that it is more interoperable and more standardized.
The validation step ensures the data that was extracted is valid against the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__,
the `Protocol Dependent Schema <https://moseleybioinformaticslab.github.io/MESSES/protocol_dependent_schema.html>`__, any additional JSON schema you wish to provide, and a built
in schema specific for the format you wish to convert to. The conversion step converts the
extracted data to the form that is accepted by the online repository. There is an initial
steep learning curve. But once the extraction, validation, and conversion settings are
worked out, this process can be easily added to your data generation and analysis workflows.
Although any kind of data schema can be used for extraction into JSON, conversion
to another format from the extracted JSON does rely on the data being in a specific
schema. A generalized schema was developed for MESSES that should be able to comprehensively
describe most experimental designs and data. This schema is described in the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__ section
of the documentation. But original data entry, manual tagging of tabular data, and even
automated tagging facilities can be messy, generating errors in the extracted JSONized
representation. So MESSES includes a validate command to help make sure your data is in
line with your project parameters and data schema.
The MESSES package is primarily designed as a command-line tool to convert raw tabular data
(Excel or CSV formatted) into other well-structured data formats. But the package can be
used as a library and extended to handle additional data conversion use-cases.
Links
~~~~~
* MESSES @ GitHub_
* Issues_
* MESSES @ PyPI_
* Documentation @ Pages_
Installation
~~~~~~~~~~~~
The MESSES package runs under Python 3.10+. Use pip_ to install.
Starting with Python 3.4, pip_ is included by default. Be sure to use the latest
version of pip as older versions are known to have issues grabbing all dependencies.
Install on Linux, Mac OS X
--------------------------
.. code:: bash
python3 -m pip install messes
Install on Windows
------------------
.. code:: bash
py -3 -m pip install messes
Upgrade on Linux, Mac OS X
--------------------------
.. code:: bash
python3 -m pip install messes --upgrade
Upgrade on Windows
------------------
.. code:: bash
py -3 -m pip install messes --upgrade
**Note:** If ``py`` is not installed on Windows (e.g. Python was installed via the Windows store rather than from the official Python website), the installation command is the same as Linux and Mac OS X.
**Note:** If the ``messes`` console script is not found on Windows, the CLI can be used via ``python3 -m messes`` or ``py -3.10 -m messes`` or ``path\to\console\script\messes.exe``. Alternatively, the directory where the console script is located can be added to the Path environment variable. For example, the console script may be installed at:
.. parsed-literal::
c:\\users\\<username>\\appdata\\local\\programs\\python\\python310\\Scripts\\
Quickstart
~~~~~~~~~~
It is unlikely that you will have data that is tagged and ready to be converted, so
it is highly recommended to first read the documentation on `tagging <https://moseleybioinformaticslab.github.io/MESSES/tagging.html>`__
and the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__ so
that you can properly tag your data first.
The expected workflow is to use the "extract" command to transform your tabular data
into JSON, then use the "validate" command to validate the JSON based on your specific
project schema, fix errors and warnings in the original data, repeat steps 1-3 until
there are no more errors, and then use the "convert" command to transform the validated JSON into
your final preferred data format. The validate command can be skipped, but it is not recommended.
A basic error free run may look like:
.. code:: bash
messes extract your_data.csv --output your_data.json
messes validate json your_data.json --pds your_schema.json --format desired_format
messes convert desired_format your_data.json your_format_data
MESSES's behavior can be quite complex, so it is highly encouraged to read the
`guide <https://moseleybioinformaticslab.github.io/MESSES/guide.html>`_ and `tutorial <https://moseleybioinformaticslab.github.io/MESSES/tutorial.html>`_.
There are also examples available in the examples folder on the GitHub_ repository and in a `figshare <https://doi.org/10.6084/m9.figshare.23148224.v1>`_.
Mac OS Note
~~~~~~~~~~~
When you try to run the program on Mac OS, you may get an SSL error.
certificate verify failed: unable to get local issuer certificate
This is due to a change in Mac OS and Python. To fix it, go to to your Python
folder in Applications and run the Install Certificates.command shell command
in the /Applications/Python 3.x folder. This should fix the issue.
License
~~~~~~~
This package is distributed under the BSD `license <https://moseleybioinformaticslab.github.io/MESSES/license.html>`__.
.. _Metabolomics Workbench: http://www.metabolomicsworkbench.org
.. _GitHub: https://github.com/MoseleyBioinformaticsLab/messes
.. _Issues: https://github.com/MoseleyBioinformaticsLab/messes/issues
.. _Pages: https://moseleybioinformaticslab.github.io/MESSES/
.. _PyPI: https://pypi.org/project/messes
.. _pip: https://pip.pypa.io
.. _BSD: https://choosealicense.com/licenses/bsd-3-clause-clear/
Raw data
{
"_id": null,
"home_page": null,
"name": "messes",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mwtab, metabolomics workbench",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e5/f7/c3680caf9623383b006a0df0ec52170dd1917006a041379270360151f911/messes-1.0.2.tar.gz",
"platform": null,
"description": "MESSES\n~~~~~~\n\n.. image:: https://img.shields.io/pypi/v/messes.svg\n :target: https://pypi.org/project/messes\n :alt: Current library version\n\n.. image:: https://img.shields.io/pypi/pyversions/messes.svg\n :target: https://pypi.org/project/messes\n :alt: Supported Python versions\n\n.. image:: https://github.com/MoseleyBioinformaticsLab/messes/actions/workflows/build.yml/badge.svg\n :target: https://github.com/MoseleyBioinformaticsLab/messes/actions/workflows/build.yml\n :alt: Build status\n\n.. image:: https://codecov.io/gh/MoseleyBioinformaticsLab/MESSES/branch/main/graphs/badge.svg?branch=main\n :target: https://codecov.io/gh/MoseleyBioinformaticsLab/MESSES\n :alt: Code coverage information\n\n..\n .. image:: https://img.shields.io/badge/DOI-10.3390%2Fmetabo11030163-blue.svg\n :target: https://doi.org/10.3390/metabo11030163\n :alt: Citation link\n\n.. image:: https://img.shields.io/github/stars/MoseleyBioinformaticsLab/messes.svg?style=social&label=Star\n :target: https://github.com/MoseleyBioinformaticsLab/messes\n :alt: GitHub project\n\n|\n\n\nMESSES (Metadata from Experimental SpreadSheets Extraction System) is a Python package that facilitates the conversion of tabular data into\nother formats. We call it MESSES because we try to convert other people\u2019s metadata messes into clean, well-structured, JSONized metadata. \nIt was initially created to pull mass spectrometry (MS) and nuclear magnetic resonance (NMR) experimental data into a database, but has been generalized to work with all tabular data. The key to this \nis the `tagging <https://moseleybioinformaticslab.github.io/MESSES/tagging.html>`__ system. Simply add a layer of tags to any tabular data and \nMESSES can transform it into an intermediate JSON representation and then convert it to any of the `supported formats <https://moseleybioinformaticslab.github.io/MESSES/supported_formats.html>`__. \n\nCurrently Supported Formats:\n \n * mwTab\n * Used by the `Metabolomics Workbench`_.\n\nThe process of going from your raw experimental data to submission to an online repository \nis not an easy one, but MESSES was created to make it easier. MESSES breaks up the process \ninto 3 steps: extract, validate, and convert. The extraction step adds a layer of tags \nto your raw tabular data, which may be automatable, and then extracts it into a JSONized form \nthat it is more interoperable and more standardized. \nThe validation step ensures the data that was extracted is valid against the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__, \nthe `Protocol Dependent Schema <https://moseleybioinformaticslab.github.io/MESSES/protocol_dependent_schema.html>`__, any additional JSON schema you wish to provide, and a built \nin schema specific for the format you wish to convert to. The conversion step converts the \nextracted data to the form that is accepted by the online repository. There is an initial \nsteep learning curve. But once the extraction, validation, and conversion settings are \nworked out, this process can be easily added to your data generation and analysis workflows.\n\nAlthough any kind of data schema can be used for extraction into JSON, conversion \nto another format from the extracted JSON does rely on the data being in a specific \nschema. A generalized schema was developed for MESSES that should be able to comprehensively \ndescribe most experimental designs and data. This schema is described in the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__ section \nof the documentation. But original data entry, manual tagging of tabular data, and even \nautomated tagging facilities can be messy, generating errors in the extracted JSONized \nrepresentation. So MESSES includes a validate command to help make sure your data is in \nline with your project parameters and data schema.\n\nThe MESSES package is primarily designed as a command-line tool to convert raw tabular data \n(Excel or CSV formatted) into other well-structured data formats. But the package can be \nused as a library and extended to handle additional data conversion use-cases.\n\n\nLinks\n~~~~~\n\n * MESSES @ GitHub_\n * Issues_\n * MESSES @ PyPI_\n * Documentation @ Pages_\n\n\nInstallation\n~~~~~~~~~~~~\n\nThe MESSES package runs under Python 3.10+. Use pip_ to install.\nStarting with Python 3.4, pip_ is included by default. Be sure to use the latest \nversion of pip as older versions are known to have issues grabbing all dependencies.\n\n\nInstall on Linux, Mac OS X\n--------------------------\n\n.. code:: bash\n\n python3 -m pip install messes\n\n\nInstall on Windows\n------------------\n\n.. code:: bash\n\n py -3 -m pip install messes\n\n\nUpgrade on Linux, Mac OS X\n--------------------------\n\n.. code:: bash\n\n python3 -m pip install messes --upgrade\n\n\nUpgrade on Windows\n------------------\n\n.. code:: bash\n\n py -3 -m pip install messes --upgrade\n \n**Note:** If ``py`` is not installed on Windows (e.g. Python was installed via the Windows store rather than from the official Python website), the installation command is the same as Linux and Mac OS X.\n\n**Note:** If the ``messes`` console script is not found on Windows, the CLI can be used via ``python3 -m messes`` or ``py -3.10 -m messes`` or ``path\\to\\console\\script\\messes.exe``. Alternatively, the directory where the console script is located can be added to the Path environment variable. For example, the console script may be installed at:\n\n.. parsed-literal::\n c:\\\\users\\\\<username>\\\\appdata\\\\local\\\\programs\\\\python\\\\python310\\\\Scripts\\\\\n\n\nQuickstart\n~~~~~~~~~~\nIt is unlikely that you will have data that is tagged and ready to be converted, so \nit is highly recommended to first read the documentation on `tagging <https://moseleybioinformaticslab.github.io/MESSES/tagging.html>`__ \nand the `Experiment Description Specification <https://moseleybioinformaticslab.github.io/MESSES/experiment_description_specification.html>`__ so \nthat you can properly tag your data first.\n\nThe expected workflow is to use the \"extract\" command to transform your tabular data \ninto JSON, then use the \"validate\" command to validate the JSON based on your specific \nproject schema, fix errors and warnings in the original data, repeat steps 1-3 until \nthere are no more errors, and then use the \"convert\" command to transform the validated JSON into \nyour final preferred data format. The validate command can be skipped, but it is not recommended.\n\nA basic error free run may look like:\n\n.. code:: bash\n\n messes extract your_data.csv --output your_data.json\n messes validate json your_data.json --pds your_schema.json --format desired_format\n messes convert desired_format your_data.json your_format_data\n \nMESSES's behavior can be quite complex, so it is highly encouraged to read the \n`guide <https://moseleybioinformaticslab.github.io/MESSES/guide.html>`_ and `tutorial <https://moseleybioinformaticslab.github.io/MESSES/tutorial.html>`_.\nThere are also examples available in the examples folder on the GitHub_ repository and in a `figshare <https://doi.org/10.6084/m9.figshare.23148224.v1>`_.\n\n\n\nMac OS Note\n~~~~~~~~~~~\nWhen you try to run the program on Mac OS, you may get an SSL error.\n\n certificate verify failed: unable to get local issuer certificate\n \nThis is due to a change in Mac OS and Python. To fix it, go to to your Python \nfolder in Applications and run the Install Certificates.command shell command \nin the /Applications/Python 3.x folder. This should fix the issue.\n\n\nLicense\n~~~~~~~\n\nThis package is distributed under the BSD `license <https://moseleybioinformaticslab.github.io/MESSES/license.html>`__.\n\n\n.. _Metabolomics Workbench: http://www.metabolomicsworkbench.org\n.. _GitHub: https://github.com/MoseleyBioinformaticsLab/messes\n.. _Issues: https://github.com/MoseleyBioinformaticsLab/messes/issues\n.. _Pages: https://moseleybioinformaticslab.github.io/MESSES/\n.. _PyPI: https://pypi.org/project/messes\n.. _pip: https://pip.pypa.io\n.. _BSD: https://choosealicense.com/licenses/bsd-3-clause-clear/\n",
"bugtrack_url": null,
"license": "The Clear BSD License Copyright (c) 2022, Christian D. Powell, Andrey Smelter, Hunter N.B. Moseley, Travis Thompson All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. * If the source code is used in a published work, then proper citation of the source code must be included with the published work. NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
"summary": "Extract, validate, and convert tabular data for deposition into repositories.",
"version": "1.0.2",
"project_urls": {
"Documentation": "https://moseleybioinformaticslab.github.io/MESSES/",
"GitHub": "https://github.com/MoseleyBioinformaticsLab/MESSES",
"Homepage": "https://github.com/MoseleyBioinformaticsLab/MESSES",
"Issues": "https://github.com/MoseleyBioinformaticsLab/MESSES/issues"
},
"split_keywords": [
"mwtab",
" metabolomics workbench"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e5f7c3680caf9623383b006a0df0ec52170dd1917006a041379270360151f911",
"md5": "96e44ff25b1969bef34b53b9aad41afb",
"sha256": "0068aae7ae56b21b97237a4f93f4fb03b8e3de4d7bf663c3a89dd0149d64677a"
},
"downloads": -1,
"filename": "messes-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "96e44ff25b1969bef34b53b9aad41afb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 19606284,
"upload_time": "2024-08-29T21:16:28",
"upload_time_iso_8601": "2024-08-29T21:16:28.756873Z",
"url": "https://files.pythonhosted.org/packages/e5/f7/c3680caf9623383b006a0df0ec52170dd1917006a041379270360151f911/messes-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-29 21:16:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MoseleyBioinformaticsLab",
"github_project": "MESSES",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "messes"
}