Metadata-Version: 2.1
Name: LZGraphs
Version: 0.26
Summary: An Implementation of LZ76 Based Graphs for Repertoire Representation
Home-page: https://github.com/MuteJester/LZGraphs
Download-URL: https://github.com/MuteJester/LZGraphs/archive/refs/tags/V2.6.tar.gz
Author: Thomas Konstantinovsky
Author-email: thomaskon90@gmail.com
License: MIT
Keywords: Graph Theory,Immunology,Bioinformatics,TCRB Repertoire,CDR3 Sequences,LZGraph,Lempel-Ziv 76 Algorithm,K1000 Diversity Index,LZCentrality,Sequence Analysis,Python,Adaptive Immune Receptor Repertoires,Sequence Encoding,Data Compression
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Description-Content-Type: text/markdown
License-File: LICENSE

.. raw:: html



   <p align="center">



|Stargazers| |Commits| |Issues| |MIT License| |LinkedIn|



.. raw:: html



   </p>



.. raw:: html



   <!-- PROJECT LOGO -->



.. raw:: html



   <p align="center">



.. raw:: html



   <h2 align="center">



LZGraphs



.. raw:: html



   </h2>



.. raw:: html



   <p align="center">



LZ76 Graphs and Applications in Immunology Explore the docs » Report Bug

· Request Feature



.. raw:: html



   </p>



.. raw:: html



   </p>



.. raw:: html



   <!-- TABLE OF CONTENTS -->



Table of Contents

-----------------



-  `About the Project <#about-the-project>`__

-  `Usage <#usage>`__

-  `Roadmap <#roadmap>`__

-  `Contributing <#contributing>`__

-  `License <#license>`__

-  `Contact <#contact>`__



.. raw:: html



   <!-- ABOUT THE PROJECT -->



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/



