lumparser


Namelumparser JSON
Version 1.0.0 PyPI version JSON
download
home_page
SummaryPython library for parsing and analysing Luminescence time drive data.
upload_time2023-01-13 11:13:35
maintainer
docs_urlNone
authorFenne Marjolein Dijkema
requires_python>=3.7
licenseMIT license Copyright (c) 2022 Fenne Marjolein Dijkema Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords luminescence time drive luciferase gaussia relative light units luminometer spectroscopy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # About LumParser
What is LumParser?
- a Python library
- a standalone programme where you can interact with luminescence data through a user interface

If you perform bioluminescent enzymatic reactions and record the light output over time in a spectrometer, you can use
LumParser to analyze the resulting data. It saves you the hassle of copy-pasting the data in Excel and subtracting the
light background by hand. Plus, you get more options for fitting of data than in Excel.

The program was built to take ascii time drive files as input and detecting features of a typical run:
- An initial phase of around 10s to record the background light, with a luciferase in the reaction mixture.
- Injection of substrate (luciferin) around 10s into the recording, starting light emission. The entire period in which
light is emitted is referred to as a signal and the initial spike in light as a peak.
- Slow decay of the light signal over a period of time, which can be fitted to an exponential decay curve.

A run can contain several signals if multiple substrate injections are performed, so multiple signals can be detected by
the program.


# Requirements

  * Python 3.7
  * Python third-party libraries:
    * matplotlib
    * numpy
    * scipy

# Input files
Input time drive files are text files with the extension ".td". The files can contain a header with information. After
the header, a line reading

```
#DATA
```
should precede the section of the file containing the recorded datapoints.
Data should be in time/value pairs, separated by whitespace. The expected units are seconds (s) for time and relative light
units (RLU) for light emission.

# Signal detection
The following rules are used to detect a signal:
- The start of the signal cannot overlap with the background. So, if the background is measured between 0 and 10s, a
signal start at 9.5s will not be detected.
- The light emission value should increase by more than the threshold value compared to the average of the last 10
datapoints. So, if the threshold is set to 0.3 and the average of the last 10 datapoints is 5.0, the next datapoint
should have a value of 5.3 or higher for a signal to be detected. The average of the last 10 datapoints before the start
is taken as the baseline.
- If the light emission dips below baseline withing 100 datapoints after the initial increase, the increase is assumed 
to be the result of noise instead of a signal.
- To make sure that it is always possible to check the rule above, no signal starts can be recorded in the last 100
datapoints in a file.
- A signal ends at the start of the new signal or at the end of the file.
- When a signal is recorded and parsed, the background light value is subtracted from all datapoints and the starting
time is set to 0s.

# Installing
Install using pip (For installing pip see https://pip.pypa.io/en/stable/installation/):

```
pip install lumparser
```

# Using the interface
Once the library is installed, run the interface from command line using:

```
python -m lumparser
```
or
```
lumparser
```

# Importing the library
To import the lumparser library, include the line

```
import lumparser
```

at the beginning of a script or module.

# Maintenance and updates
The library is provided as-is and will not be maintained or updated after June 2023.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "lumparser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Luminescence Time drive Luciferase Gaussia Relative light units Luminometer Spectroscopy",
    "author": "Fenne Marjolein Dijkema",
    "author_email": "fmdijkema@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/26/ac/520306945707fcd25434433d18fb08d20d5e7d6a07cb6fddb2bb15ba62dd/lumparser-1.0.0.tar.gz",
    "platform": null,
    "description": "# About LumParser\r\nWhat is LumParser?\r\n- a Python library\r\n- a standalone programme where you can interact with luminescence data through a user interface\r\n\r\nIf you perform bioluminescent enzymatic reactions and record the light output over time in a spectrometer, you can use\r\nLumParser to analyze the resulting data. It saves you the hassle of copy-pasting the data in Excel and subtracting the\r\nlight background by hand. Plus, you get more options for fitting of data than in Excel.\r\n\r\nThe program was built to take ascii time drive files as input and detecting features of a typical run:\r\n- An initial phase of around 10s to record the background light, with a luciferase in the reaction mixture.\r\n- Injection of substrate (luciferin) around 10s into the recording, starting light emission. The entire period in which\r\nlight is emitted is referred to as a signal and the initial spike in light as a peak.\r\n- Slow decay of the light signal over a period of time, which can be fitted to an exponential decay curve.\r\n\r\nA run can contain several signals if multiple substrate injections are performed, so multiple signals can be detected by\r\nthe program.\r\n\r\n\r\n# Requirements\r\n\r\n  * Python 3.7\r\n  * Python third-party libraries:\r\n    * matplotlib\r\n    * numpy\r\n    * scipy\r\n\r\n# Input files\r\nInput time drive files are text files with the extension \".td\". The files can contain a header with information. After\r\nthe header, a line reading\r\n\r\n```\r\n#DATA\r\n```\r\nshould precede the section of the file containing the recorded datapoints.\r\nData should be in time/value pairs, separated by whitespace. The expected units are seconds (s) for time and relative light\r\nunits (RLU) for light emission.\r\n\r\n# Signal detection\r\nThe following rules are used to detect a signal:\r\n- The start of the signal cannot overlap with the background. So, if the background is measured between 0 and 10s, a\r\nsignal start at 9.5s will not be detected.\r\n- The light emission value should increase by more than the threshold value compared to the average of the last 10\r\ndatapoints. So, if the threshold is set to 0.3 and the average of the last 10 datapoints is 5.0, the next datapoint\r\nshould have a value of 5.3 or higher for a signal to be detected. The average of the last 10 datapoints before the start\r\nis taken as the baseline.\r\n- If the light emission dips below baseline withing 100 datapoints after the initial increase, the increase is assumed \r\nto be the result of noise instead of a signal.\r\n- To make sure that it is always possible to check the rule above, no signal starts can be recorded in the last 100\r\ndatapoints in a file.\r\n- A signal ends at the start of the new signal or at the end of the file.\r\n- When a signal is recorded and parsed, the background light value is subtracted from all datapoints and the starting\r\ntime is set to 0s.\r\n\r\n# Installing\r\nInstall using pip (For installing pip see https://pip.pypa.io/en/stable/installation/):\r\n\r\n```\r\npip install lumparser\r\n```\r\n\r\n# Using the interface\r\nOnce the library is installed, run the interface from command line using:\r\n\r\n```\r\npython -m lumparser\r\n```\r\nor\r\n```\r\nlumparser\r\n```\r\n\r\n# Importing the library\r\nTo import the lumparser library, include the line\r\n\r\n```\r\nimport lumparser\r\n```\r\n\r\nat the beginning of a script or module.\r\n\r\n# Maintenance and updates\r\nThe library is provided as-is and will not be maintained or updated after June 2023.\r\n",
    "bugtrack_url": null,
    "license": "MIT license  Copyright (c) 2022 Fenne Marjolein Dijkema  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Python library for parsing and analysing Luminescence time drive data.",
    "version": "1.0.0",
    "split_keywords": [
        "luminescence",
        "time",
        "drive",
        "luciferase",
        "gaussia",
        "relative",
        "light",
        "units",
        "luminometer",
        "spectroscopy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61856c5df95bdfaf64c5276b9ff97fb14f98ca32353d9bbe431d722d9d4282d8",
                "md5": "ab902a7a2d3b5eccd8e3215ac97e61ee",
                "sha256": "8634dbb5459ce4dc9d0c4ccf11c44d22452145a630cb0c97b2be0b82c04cee26"
            },
            "downloads": -1,
            "filename": "lumparser-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab902a7a2d3b5eccd8e3215ac97e61ee",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 674286,
            "upload_time": "2023-01-13T11:13:33",
            "upload_time_iso_8601": "2023-01-13T11:13:33.118771Z",
            "url": "https://files.pythonhosted.org/packages/61/85/6c5df95bdfaf64c5276b9ff97fb14f98ca32353d9bbe431d722d9d4282d8/lumparser-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26ac520306945707fcd25434433d18fb08d20d5e7d6a07cb6fddb2bb15ba62dd",
                "md5": "a2cb2f7f61606fc9103edf4934141020",
                "sha256": "0441a006e708e1dc06bce30ca392aded8634e0efb51e17146e4422ce0aa470f5"
            },
            "downloads": -1,
            "filename": "lumparser-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a2cb2f7f61606fc9103edf4934141020",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 4839326,
            "upload_time": "2023-01-13T11:13:35",
            "upload_time_iso_8601": "2023-01-13T11:13:35.412996Z",
            "url": "https://files.pythonhosted.org/packages/26/ac/520306945707fcd25434433d18fb08d20d5e7d6a07cb6fddb2bb15ba62dd/lumparser-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-13 11:13:35",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "lumparser"
}
        
Elapsed time: 0.02758s