# HG changeset patch # User glogobyte # Date 1603870334 0 # Node ID 41de387b39826075e3796f66fd20889b1bf4c28f # Parent 3038dac9d61c40fa20761ac2bc6bc322ac349945 Uploaded diff -r 3038dac9d61c -r 41de387b3982 viz_ultra.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/viz_ultra.py Wed Oct 28 07:32:14 2020 +0000 @@ -0,0 +1,271 @@ +import argparse +from functions import * +from viz_graphs import * +import sys +import pandas as pd +import matplotlib.pyplot as plt +import matplotlib.patches as mpatches +import matplotlib.font_manager as font_manager +import time +from multiprocessing import Process, Queue, Lock, Pool, Manager, Value + + +################################################################################################################################################################################################################## + +def top_diff(miRNA_info, number,flag,l): + + Kind=[] + + miRNA_info.sort(key = lambda x: abs(x[1]),reverse=True) + miRNA_info = miRNA_info[:number] + miRNA_info.sort(key = lambda x: x[0]) + + for x in miRNA_info: + if x[1] > 0: + Kind.append(True) + elif x[1] < 0: + Kind.append(False) + else: + Kind.append("Zero") + + top_miRNA = {"Names": [x[0] for x in miRNA_info], + "Log2FC": [x[1] for x in miRNA_info], + "Kind": Kind}; + + df_miRNA = pd.DataFrame(data=top_miRNA) + df_miRNA = df_miRNA.sort_values(by=['Names']) + if df_miRNA.empty==False: + h1=df_miRNA.plot.barh(x= 'Names',y='Log2FC',color=df_miRNA.Kind.map({True: 'g', False: 'r', 'Zero':'k'})) + figure = plt.gcf() # get current figure + figure.set_size_inches(5, 12) # set figure's size manually to your full screen (32x18) + up_reg = mpatches.Patch(color='green', label='Upregulated') + down_reg = mpatches.Patch(color='red', label='Downregulated') + font = font_manager.FontProperties(weight='bold', style='normal') + l3 = plt.legend(handles=[up_reg,down_reg],bbox_to_anchor=(1.04,0.5), loc="center left", borderaxespad=0) + h1.set_ylabel(" ", fontsize=3, fontweight='bold') + h1.set_xlabel("Log2FC", fontsize=12, fontweight='bold') + plt.axvline(x=0, color="k") + + plt.grid(axis='y', linewidth=0.2) + plt.grid(axis='x', linewidth=0.2) + if flag=='t': + plt.savefig('tem.png', bbox_inches='tight', dpi=300) + if flag=='nt': + plt.savefig('non.png', bbox_inches='tight', dpi=300) + +#################################################################################################################################################################################################################### + +def unique(sequence): + seen = set() + return [x for x in sequence if not (x in seen or seen.add(x))] + +########################################################################################################################################################################################################################################################################### + +def top_scatter_non(matures,isoforms,non_temp,uni_names,number): + + mat_names=[] + mat_log2fc=[] + + iso_names=[] + iso_log2fc=[] + + non_temp_names=[] + non_temp_log2fc=[] + + count=0 + for x in uni_names: + flag = False + if countlog2fc and float(x[2])log2fc and float(x[2])log2fc and float(x[2])1 and float(x[2])1 and float(x[2])1 and float(x[2])