Skip to content

Instantly share code, notes, and snippets.

@tlnagy tlnagy/script.py
Created Sep 22, 2015

Embed
What would you like to do?
pubs_plotting_code
import pickle
import seaborn as sns
sns.set_style("whitegrid")
%pylab --no-import-all
%matplotlib inline
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
data = pickle.load(open("allele_dic.pkl", "rb"))
translate = pickle.load(open("translate.pkl", "rb"))
aminotonumber = pickle.load(open("aminotonumber.pkl", "rb"))
aa_to_barcodes = {}
pos_to_barcodes = {}
for barcode, value in data.items():
pos, codon = value[0].split("_")
aa = translate[codon.replace("T", "U")]
if aa not in aa_to_barcodes:
aa_to_barcodes[aa] = []
if pos not in pos_to_barcodes:
pos_to_barcodes[pos] = []
aa_to_barcodes[aa].append(barcode)
pos_to_barcodes[pos].append(barcode)
scores = []
for key, value in aa_to_barcodes.items():
scores.append((aminotonumber[key], len(value), key))
scores = list(zip(*scores))
sns.set_palette(sns.color_palette(flatui))
plt.bar(scores[0], scores[1])
plt.xlim(0, len(scores[0]))
sns.axlabel("Amino acids", "Barcode count")
plt.xticks(np.arange(len(scores[0]))+0.5, scores[2])
plt.title("Number of barcodes mapped to each amino acid")
plt.show()
scores = []
for pos, barcodes in pos_to_barcodes.items():
scores.append((int(pos), len(barcodes)))
scores = list(zip(*scores))
sns.set_palette(sns.color_palette(flatui[1:]))
plt.bar(scores[0], scores[1], width=1.0, edgecolor="none")
plt.xlim(2, len(scores[0]))
sns.axlabel("Position", "Barcode count")
plt.title("Number of barcodes mapped to Ubiquitin AA position")
plt.show()
poses = np.zeros((len(aminotonumber), 77))
for barcode, value in data.items():
pos, codon = value[0].split("_")
aa = aminotonumber[translate[codon.replace("T", "U")]]
poses[int(aa), int(pos) - 1] += 1
plt.figure(figsize=(10, 4))
sns.heatmap(poses,
xticklabels=5, yticklabels=aas)
sns.axlabel("Ubiquitin AA position", "Amino Acid")
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.