An Implementation of LZ76 Based Graphs for Repertoire Representation
Project description
.. raw:: html
|Stargazers| |Commits| |Issues| |MIT License| |LinkedIn|
.. raw:: html
.. raw:: html
.. raw:: html
.. raw:: html
LZGraphs
.. raw:: html
.. raw:: html
LZ76 Graphs and Applications in Immunology Explore the docs » Report Bug
· Request Feature
.. raw:: html
.. raw:: html
.. raw:: html
Table of Contents
-
About the Project <#about-the-project>
__ -
Usage <#usage>
__ -
Roadmap <#roadmap>
__ -
Contributing <#contributing>
__ -
License <#license>
__ -
Contact <#contact>
__
.. raw:: html
About The Project
LZGraphs :dna: is a Python library that implements the methodology
presented in the research paper “A Novel Approach to T-Cell Receptor
Beta Chain (TCRB) Repertoire Encoding Using Lossless String
Compression”.
Background
The diversity of T-cells is crucial for producing effective receptors
that can recognize the pathogens encountered throughout life. A
stochastic biological process known as V(D)J recombination accounts for
the high diversity of these receptors, making their analysis
challenging.
The LZGraphs Approach
LZGraphs presents a new approach to sequence encoding and analysis,
based on the Lempel-Ziv 76 algorithm (LZ-76). By creating a graph-like
model, LZGraphs identifies specific sequence features and produces a new
encoding approach to an individual’s repertoire.
This unique repertoire representation allows for various applications,
such as:
-
Generation probability inference
-
Informative feature vector derivation
-
Sequence generation
-
A new measure for diversity estimation
All of these are obtained without relying on time costly and error-prone
alignment steps.
Installation
General Python Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^
To install LZGraphs in a general Python environment, you can use pip,
which is a package manager for Python. Open your terminal and type the
following command:
.. code:: bash
pip install LZGraphs
If you have both Python 2 and Python 3 installed on your machine, and
you want to use Python 3, you should use pip3:
.. code:: bash
pip3 install LZGraphs
Jupyter Notebook
^^^^^^^^^^^^^^^^
If you’re using a Jupyter notebook, you can install LZGraphs directly in
a code cell. Just type and execute the following command in a new cell:
.. code:: python
!pip install LZGraphs
The exclamation mark at the beginning is a special Jupyter command that
allows you to run terminal commands from within a notebook.
Troubleshooting
^^^^^^^^^^^^^^^
If you encounter any issues during the installation, make sure that your
pip is up-to-date. You can upgrade pip using the following command:
.. code:: bash
pip install --upgrade pip
Or, for Python 3:
.. code:: bash
pip3 install --upgrade pip
After upgrading pip, try installing LZGraphs again. If you still
encounter issues, please raise an issue in this GitHub repository with a
description of the problem and any error messages you received.
--------------
.. raw:: html
<!-- USAGE EXAMPLES -->
Usage
-----
The LZGraphs library is designed to be user-friendly and easy to use.
You can get started with it in two main ways:
1. **Read the Documentation**: We have a comprehensive
`documentation <https://MuteJester.github.io/LZGraphs/>`__ that
provides detailed information about the LZGraph model and its
applications. The documentation is divided into several sections to
help you understand and use the functions and data structures
implemented in this library in the most effective and quick manner.
It includes:
- Installation instructions
- Tutorials for quick plug-and-play usage
- Descriptions of miscellaneous, visualization, utilities, and Node
Edge Saturation functions
- Detailed information about the LZGraph Base Class, NDPLZGraph
Class, and AAPLZGraph Class
We recommend starting with the
`Tutorials <https://MuteJester.github.io/LZGraphs/tutorials>`__ page
for a hands-on introduction to the useful functionality provided by
the LZGraph library.
2. **Interactive Jupyter Notebook Guides**: You can also download the
``Examples`` folder from this repository and follow an interactive
Jupyter notebook guide. These guides provide step-by-step
instructions on how to use the different models of this repo, making
it easy for you to learn by doing.
.. raw:: html
<!-- ROADMAP -->
Roadmap
-------
See the `open issues <https://github.com/MuteJester/LZGraphs/issues>`__
for a list of proposed features (and known issues).
.. raw:: html
<!-- CONTRIBUTING -->
Contributing
------------
Contributions are what make the open-source community such a powerful
place to create new ideas, inspire, and make progress. Any contributions
you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch
(``git checkout -b feature/AmazingFeature``)
3. Commit your changes (``git commit -m 'Add some AmazingFeature'``)
4. Push to the Branch (``git push origin feature/AmazingFeature``)
5. Open a Pull Request
.. raw:: html
<!-- LICENSE -->
License
-------
Distributed under the MIT license. See ``LICENSE`` for more information.
.. raw:: html
<!-- CONTACT -->
Contact
-------
`Thomas Konstantinovsky <>`__ - thomaskon90@gmail.com
Project Link: https://github.com/MuteJester/LZGraphs
.. raw:: html
<!-- MARKDOWN LINKS & IMAGES -->
.. |Stargazers| image:: https://img.shields.io/github/stars/MuteJester/LZGraphs.svg?style=flat-square
:target: https://github.com/MuteJester/LZGraphs/stargazers
.. |Commits| image:: https://img.shields.io/github/commit-activity/m/MuteJester/LZGraphs?style=flat-square
:target: https://github.com/MuteJester/LZGraphs
.. |Issues| image:: https://img.shields.io/github/issues/MuteJester/LZGraphs.svg?style=flat-square
:target: https://github.com/MuteJester/LZGraphs/issues
.. |MIT License| image:: https://img.shields.io/github/license/MuteJester/LZGraphs.svg?style=flat-square
:target: https://github.com/MuteJester/LZGraphs/blob/master/LICENSE
.. |LinkedIn| image:: https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=555
:target: https://www.linkedin.com/in/thomas-konstantinovsky-56230117b/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file LZGraphs-0.26.tar.gz
.
File metadata
- Download URL: LZGraphs-0.26.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e99f3f775d570db74c2a9e5daa9352eb4d4793d651a5d19a5de907d40ebd42a0 |
|
MD5 | 5812fc29bf0226374b38ed6e44a3c92a |
|
BLAKE2b-256 | 6295e53a0cae8dfaefd22129c226c01ed307b4d3cde40089efb4087c4a7df470 |