Skip to main content

LAGG

Looking at Genomes Graphically (LAGG) is a CLI tool for creating images from DNA sequences.

LAGG is capable of generating an image providing just an SRA (or ENA) accession number and a k-mer count. Of course, the CLI contains more options and even a config-based workflow for more complex processes.

Images are generated using an algorithm based on Chaos Game Representation1 (CGR). This process creates images by counting k-mers for a genome / DNA sequence. With genomes aquired from the European Nucleotide Archive (ENA). Options are available to use Cutadapt2 to preprocess the genomes before counting.

Installation

LAGG makes use of Jellyfish3 as a dependency for k-mer counting. Installation instructions can be found on the GitHub page for Jellyfish found here. Jellyfish is commonly available on major Linux distributions and on Homebrew for MacOS.

After installing dependencies, install LAGG using pip with the following command:

pip install pylagg

Usage

Using LAGG is as simple as executing the lagg command.

For example, to generate an image from an SRA or ENA accession number:

lagg cgr <accession> -k <kmer size>

Replace <accession> with any accession number (try DRR259113 for a small COVID-19 genome)

The <kmer_size> is an integer used when counting kmers which can eventually determine the size of the image. For larger genomes, consider a size of 9-10. For smaller ones, consider 5-8.

For more options or help type 'lagg --help or visit the documentation site here.

For Contributors

This project uses Poetry to handle dependencies and build the project. Installation instructions can be found here.

Install Dependencies

Similar to the CLI, Jellyfish is required to execute k-mer counting for LAGG. Please make sure to have to it installed before continuing. Instructions can be found in the "Installation" section above.

For project dependencies, use poetry install to automatically create a new virtual environment with all required packages.

If you'd like to install the dependencies directly within the project directory, use the following command:

poetry config virtualenvs.in-project true

Running Tests

To run tests, first, activate the virtual environment using poetry shell.

Use pytest to run all tests.

  1. H. Joel. Jeffrey, “Chaos game representation of gene structure,” Nucleic Acids Research, vol. 18, no. 8, pp. 2163–2170, 1990, doi: https://doi.org/10.1093/nar/18.8.2163.

  2. Martin, Marcel. “Cutadapt Removes Adapter Sequences from High-Throughput Sequencing Reads.” EMBnet.journal, vol. 17, no. 1, 2 May 2011, p. 10, journal.embnet.org/index.php/embnetjournal/article/view/200, https://doi.org/10.14806/ej.17.1.200.

  3. G. Marçais and C. Kingsford, “A fast, lock-free approach for efficient parallel counting of occurrences of k-mers,” Bioinformatics, vol. 27, no. 6, pp. 764–770, Jan. 2011, doi: https://doi.org/10.1093/bioinformatics/btr011.

Release files for pylagg 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pylagg 0.5.1
File Size Uploaded
pylagg-0.5.1.tar.gz 25.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pylagg 0.5.1
File Interpreter ABI Platform
pylagg-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 53.0 kB

Release files / pylagg-0.5.1.tar.gz

Download URL pylagg-0.5.1.tar.gz
Size 25.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8f7fa130b47e1e20f9d8f5ed57b1bc5abf086432f1bd203d304daefd229ba0e9
BLAKE2b-256 checksum
How to use checksums
abf3f1db48bf604b1afcf53f064fbe3bea63998f17334d28c2c8ced4c684b580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.6 Linux/6.6.56

Release files / pylagg-0.5.1-py3-none-any.whl

Download URL pylagg-0.5.1-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd488a282a16d204bdc7926daa8886f3ea6ce18664ca525a28076d769a21b2e4
BLAKE2b-256 checksum
How to use checksums
0aa693777e3261e2e5dd5cff73a513019e3156d12eaa1f027b7510173b565079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.6 Linux/6.6.56

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page