Skip to main content

This project is deprecated and no longer maintained. A small python package used for gel electrophoresis visualization, fitting and analysis

Project description

⚠️ Deprecated: gelpy

This project is no longer maintained and may not work with current versions of Python or its dependencies.

Due to lack of time and newer alternatives, I have discontinued this project. Thank you for your contributions, and may the gels be with you.

Welcome to the gelpy project

DOI

If you are looking for a Python package for simplified, reproducible, and easily shareable gel electrophoresis analysis, you are in the right place. If you are also keen on contributing to a Python project, then hey, you are also in the right place!

Please note that this package is under development and currently in its alpha phase. I would like to invite you to try gelpy, break it, and contribute to it. Valuable contributions include raising issues on the GitHub issues page or, if you want to do some coding, fixing the issue and submitting a merge request to this repository. In any case, I believe that even in its early state, gelpy can make your life working with electrophoresis gels more pleasant and reproducible.

What can gelpy do?

As of now, this package includes functions to:

  • Visualize gels with automatically adjusted contrasts (linear and non-linear)
  • Label the lanes
  • Remove the image background
  • Extract and plot lane profiles
  • Fit the peaks (bands) of lane profiles
  • Save all generated images
  • Save the gel object, including all the plots, lane profiles, and fits, as a Python object. You can then send this object as one file to your collaborator, who can load it back into Python and continue where you left off.

Another benefit of using this package over, for example, Fiji for data extraction is that all lane profiles, fitting parameters, and the original image are directly available in Python and do not have to be saved and imported again for further custom analysis

Installation

pip

conda create -n <your_environment_name> python
conda activate <your_environment_name>
pip installl gelpy

How to use gelpy

I recommend checking out the example Jupyter notebook in the "Example" folder. I hope to add proper documentation soon. Also, please note that the docstring was generated with GPT and may potentially contain errors in its current state.

How to contribute by coding

Does this pique your interest in contributing? Perhaps even implementing new features? I have an unstructured list below where I collect ideas for tasks to be done or features to be implemented.

Loose notes

  • translate docstrings to reStructuredText, such that Sphinx can read it.
  • Compose docs with Sphinx and make it available on read the docs.
  • Allow direct extraction of non-normalized, raw intensity values.
  • Extract remaining magic numbers and magic strings to the top of each class file (using GPT).
  • Write (more) unit tests.
  • Add optional interactive IPython widgets to set up the gel.
  • Add some autodetection functions that provide reasonable guesses for the parameters in the gel.setup_gel() function.
    • Implement a function to autodetect the lane positions based on summing them up along the y-axis, followed by a peak detection scheme. Perhaps add another function that calculates the optimal lane width used for all lanes?
  • Implement another peak-finding algorithm based on inflection point detection of a spline-fitted function.
  • Add utility functions to crop and rotate images so that people can directly use their recorded images.
  • Include a logfile or YAML file that saves all the used parameters for quantitative data extraction in a separate text file. This simplifies reproducibility.

New class for quantitative band analysis

  • Set up a new class that can be used for quantitative gel analysis (e.g., in ng per band). The class should accept the ladder used, the applied ladder concentration, and volume. It should calculate a calibration curve based on this information and use it to convert the intensities of other bands into sample mass.

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

gelpy-0.0.4.tar.gz (12.5 MB view details)

Uploaded Source

Built Distribution

gelpy-0.0.4-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file gelpy-0.0.4.tar.gz.

File metadata

  • Download URL: gelpy-0.0.4.tar.gz
  • Upload date:
  • Size: 12.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for gelpy-0.0.4.tar.gz
Algorithm Hash digest
SHA256 0b47f1fb3da1f227173aac0e0ea92e472b3bb0e27063ec09a80392b6ff75c5dd
MD5 b3cb71936d102f963c8dd1703d042d31
BLAKE2b-256 2da0e8808501028ee73fb04114611d4af130d70b2501617dcb3920c73208c4e0

See more details on using hashes here.

File details

Details for the file gelpy-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: gelpy-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for gelpy-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5eb3740348c3a6f691a437ca18aec527f0398b373299800410443247d5ea641f
MD5 8690355f0445fba5622a29c3c2da779c
BLAKE2b-256 4af48f9dc28b64e1e83e655c6d68214cee4b3bb6fd879907d9c59430f3e11a7a

See more details on using hashes here.

Supported by

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