Skip to main content

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


Download files

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

Source Distribution

LZGraphs-0.26.tar.gz (36.2 kB view details)

Uploaded Source

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

Hashes for LZGraphs-0.26.tar.gz
Algorithm Hash digest
SHA256 e99f3f775d570db74c2a9e5daa9352eb4d4793d651a5d19a5de907d40ebd42a0
MD5 5812fc29bf0226374b38ed6e44a3c92a
BLAKE2b-256 6295e53a0cae8dfaefd22129c226c01ed307b4d3cde40089efb4087c4a7df470

See more details on using hashes here.

Provenance

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