Logomaker quick example

I wanted to use Logomaker to make a sequence logo. While the documentation is pretty good there wasn’t an example that showed exactly what I wanted. Most likely this is obvious if you’re familiar with Pandas.

The code below will load sequence probabilities from a tsv file, create a sequence logo and save it to logo.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
 
import logomaker
 
ss_df = pd.read_csv('all.tsv', sep="\t", index_col=0)
 
# create Logo object
ss_logo = logomaker.Logo(ss_df,
                         width=.8,
                         color_scheme='NajafabadiEtAl2017',
                         vpad=.05)
 
ss_logo.ax.set_ylabel('probability')
 
plt.savefig('logo.png')

all.tsv contains the following:

1
2
3
4
5
6
7
8
9
10
11
pos     A       T       G       C
0       0.1     0.2     0.3     0.4
1       0.1     0.2     0.3     0.4
2       0.1     0.2     0.3     0.4
3       0.1     0.2     0.3     0.4
4       0.1     0.2     0.3     0.4
5       0.1     0.2     0.3     0.4
6       0.1     0.2     0.3     0.4
7       0.1     0.2     0.3     0.4
8       0.1     0.2     0.3     0.4
9       0.1     0.2     0.3     0.4

Leave a Reply