Logomaker: beautiful sequence logos in Python

Logomaker is a Python package for generating publication-quality sequence logos. Logomaker can generate both standard and highly customized logos illustrating the properties of DNA, RNA, or protein sequences. Logos are rendered as vector graphics embedded within native matplotlib Axes objects, making them easy to style and incorporate into multi-panel figures. The Installation, Quick Start, Examples, and tutorial sections below are provided to help users quickly get Logomaker working for their own research needs. For more information about Logomaker, please see Tareen and Kinney (2019) [1].

Installation

Logomaker has minimal dependencies and is compatible with both Python 2.7 and Python 3.6. The code for Logomaker is available on GitHub under an MIT open source license. Logomaker can be installed from PyPI using the pip package manager by executing the following at the commandline:

pip install logomaker

Quick Start

For a quick demonstration of Logomaker, execute the following within Python:

import logomaker
logomaker.demo('fig1b')

This command will generate a sequence logo representing the DNA binding specificity of CRP, a major transcription factor in Escherichia coli:

_images/crp_energy_logo.png

This command will also print out the code used to generate the logo. We note that the logo shown here is from Figure 1B of Tareen and Kinney (2019) [1], and that the other logos in Figure 1 can be generated in a similar manner.

Tutorial

A tutorial is available via a series of Jupyter notebooks, each of which focuses on a different aspect of Logomaker’s functionality. To run each notebook interactively, click the Binder badge below. To instead view the notebooks statically on GitHub, click here.

https://mybinder.org/badge_logo.svg

Reference

[1](1, 2) Tareen A, Kinney JB (2019) Logomaker: beautiful sequence logos in Python. bioRxiv doi:10.1101/635029.

Contact

For technical assistance or to report bugs, please contact Ammar Tareen (Email: tareen@cshl.edu, Twitter: @AmmarTareen1) . For more general correspondence, please contact Justin Kinney (Email: jkinney@cshl.edu, Twitter: @jbkinney).