if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/iTreg_enhancers/2014_02_14/Motifs' dirpath = yzer.get_path(dirpath) for ab in ('me2', 'ac'): for condition in ('treg', 'itreg', 'activated'): cond_dirpath = yzer.get_filename(dirpath, '{}_{}'.format(condition, ab)) if True: filename = yzer.get_filename( cond_dirpath, '{}_{}_enhancers.txt'.format(condition, ab)) data = yzer.import_file(filename) data = data.fillna(0) yzer.run_homer(data, 'all', cond_dirpath, cpus=6, center=True, reverse=False, preceding=False, size=200, length=[8, 10, 12, 15], mock=True) for condition in ('itreg', 'treg'): cond_dirpath = yzer.get_filename(dirpath,
''' Created on Jul 5, 2012 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from glasslab.dataanalysis.misc.gr_project_2012.elongation import get_rep_string import sys if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/motifs' dirpath = yzer.get_path(dirpath) pausing_data = yzer.import_file( yzer.get_filename(dirpath, 'feature_vectors.txt')) data = yzer.import_file( yzer.get_filename(dirpath, 'transcript_vectors.txt')) try: min_ratio = float(sys.argv[1]) except IndexError: min_ratio = 1.5 if False: yzer.prep_files_for_homer(data, 'all_transcripts_promoter', dirpath, center=False, reverse=False, preceding=True,
Created on Nov 7, 2012 @author: karmel ''' from __future__ import division from glasslab.dataanalysis.misc.cd4tcell_finland_2012.resources import replicate_sets from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells_Finland_2012/Analysis_2013_02' dirpath = yzer.get_path(dirpath) go_path = yzer.get_and_create_path(dirpath, 'with_me3', 'go_analysis', '0_8_min_lfc') data = yzer.import_file( yzer.get_filename(dirpath, 'transcript_vectors.txt')) data = data.fillna(0) data = data[data['naive_me3_tag_count'] + data['act_me3_tag_count'] > 0] if False: curr_path = yzer.get_and_create_path(dirpath, 'with_me3', 'motif_analysis') yzer.run_homer(data, 'all_refseq_preceding', curr_path, center=False, reverse=False, preceding=True, size=200, cpus=6)
''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from collections import OrderedDict if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/TReg_enhancers/2013_04_01' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs') min_score = 10 stats = OrderedDict() all_data = yzer.import_file( yzer.get_filename(dirpath, 'foxp3_with_treg_enhancers.txt')).fillna(0) stats['all'] = len(all_data) # Filter out promoters data = all_data[all_data['tss_id'] == 0] stats['enhancers'] = len(data) stats['me2_treg'] = sum(data['me2_id'] > 0) stats['ac_treg'] = sum(data['ac_id'] > 0) stats['me2_treg_naive'] = sum((data['me2_id'] > 0) & (data['naive_id'] > 0)) stats['me2_treg_th1'] = sum((data['me2_id'] > 0) & (data['th1_id'] > 0)) stats['me2_treg_naive_th1'] = sum((data['me2_id'] > 0) & (data['naive_id'] > 0) & (data['th1_id'] > 0)) stats['me2_treg_only'] = sum((data['me2_id'] > 0) & (data['naive_id'] == 0)
@author: karmel The goal here is to see if we can tease out which features are predictive of characteristics of interest, such as pausing ratio or transrepression. Worth a stab. ''' from glasslab.dataanalysis.misc.gr_project_2012.elongation import get_rep_string import sys from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/motifs' dirpath = yzer.get_path(dirpath) grouped = yzer.import_file( yzer.get_filename(dirpath, 'feature_vectors.txt')) paused = [] if True: # Can we predict pausing ratio? # Minimal ratio in KLA+Dex vs. KLA pausing try: min_ratio = float(sys.argv[1]) except IndexError: min_ratio = 2 try: secondary_min_ratio = float(sys.argv[2]) except IndexError: secondary_min_ratio = 1.2
''' Created on Sep 7, 2012 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs', 'from_peaks') all_data = yzer.import_file( yzer.get_filename(motif_dirpath, 'p65_kla_vectors.txt')) size = 100 if True: for ratio in (3, 2, 1.5): enhancers = yzer.import_file( yzer.get_filename( dirpath, 'boxplots_non_refseq_by_p65', 'enhancer_like_lose_p65_{0}x_change_dsg_only.txt'.format( ratio))) enhancers['glass_transcript_id'] = enhancers['id'] # Limit to peaks and touching transcripts, then pull out peaks that intersect our enhancer set data = all_data[all_data['touches'] == 't'] data = data.merge(enhancers, how='right', on='glass_transcript_id',
@author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/Foxo1' dirpath = yzer.get_path(dirpath) motifs_dirpath = yzer.get_and_create_path(dirpath, 'motifs') peak_pretty = 'Foxo1' peak = peak_pretty.lower() foxo1 = yzer.import_file( yzer.get_filename(dirpath, '{0}_with_foxp3.txt'.format(peak))).fillna(0) datasets = [ ('foxo1_all', foxo1), ('foxo1_tss', foxo1[foxo1['tss_id'] > 0]), ('foxo1_enhancers', foxo1[foxo1['tss_id'] == 0]), ] for name, subset in datasets: subset['id'] = subset['{0}_id'.format(peak)] subset['start'] = subset['{0}_start'.format(peak)] subset['end'] = subset['{0}_end'.format(peak)] yzer.run_homer(subset, name, motifs_dirpath,
@author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/Rudensky_enhancers' dirpath = yzer.get_path(dirpath) motifs_dirpath = yzer.get_and_create_path(dirpath, 'motifs') peak_pretty = 'Foxp3' peak = peak_pretty.lower() foxp3 = yzer.import_file( yzer.get_filename(dirpath, '{0}_1_with_naive_me2.txt'.format(peak))).fillna(0) naive = yzer.import_file( yzer.get_filename(dirpath, 'naive_me2_with_{0}.txt'.format(peak))).fillna(0) # Filter out promoters foxp3 = foxp3[foxp3['tss_id'] == 0] naive = naive[naive['tss_id'] == 0] # Get venn-diagram sets for foxp3/me2 only_foxp3 = foxp3[foxp3['naive_id'] == 0] only_naive = naive[naive['foxp3_1_id'] == 0] shared = foxp3[foxp3['naive_id'] > 0] print len(only_foxp3), len(only_naive), len(shared)
''' Created on Sep 7, 2012 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/motifs' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath,'from_peaks') transcripts = yzer.import_file(yzer.get_filename(dirpath, 'transcript_vectors.txt')) transcripts['glass_transcript_id'] = transcripts['id'] for peak_type in ('gr_dex', 'gr_kla_dex', 'p65_kla_dex','p65_kla'): size = 100 if True: all_data = yzer.import_file(yzer.get_filename(motif_dirpath, '{0}_vectors.txt'.format(peak_type))) all_data = all_data.merge(transcripts, how='left', on='glass_transcript_id',suffixes=['','trans']) all_data = all_data.fillna(0) for super_name, data in (#('all', all_data,), #('refseq', all_data[(all_data['score'] > 10) & (all_data['has_refseq'] == 1) # & (all_data['touches'] == 't') | (all_data['relationship'] == 'is downstream of')],), #('distal', all_data[(all_data['distal'] == 't')],),
@author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/H3K4me2/Analysis/venn_diagrams' dirpath = yzer.get_path(dirpath) motifs_dirpath = yzer.get_and_create_path(dirpath, 'motifs') peak_pretty = 'H3K4me2' peak = peak_pretty.lower() th1 = yzer.import_file( yzer.get_filename( dirpath, 'th1_with_th2_me1_and_{0}.txt'.format(peak))).fillna(0) th2 = yzer.import_file( yzer.get_filename( dirpath, 'th2_with_th1_me1_and_{0}.txt'.format(peak))).fillna(0) naive = yzer.import_file( yzer.get_filename( dirpath, '{0}_with_th1_and_th2_me1.txt'.format(peak))).fillna(0) # Filter out promoters th1 = th1[th1['tss_id'] == 0] th2 = th2[th2['tss_id'] == 0] naive = naive[naive['tss_id'] == 0] # Get venn-diagram sets for th1/th2 only_th1 = th1[th1['th2_id'] == 0]
if __name__ == '__main__': yzer = MotifAnalyzer() grapher = SeqGrapher() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/TReg_enhancers/2013_04_01' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs') graph_dirpath = yzer.get_filename(dirpath, 'piecharts') min_score = 10 for antibody in ('me2', ): data = {} celltypes = ['treg', 'naive', 'th1', 'th2'] for celltype in ('treg', 'th1'): data[celltype] = yzer.import_file( yzer.get_filename( dirpath, '{0}_{1}_versus_others_with_foxp3.txt'.format( celltype, antibody))).fillna(0) # Filter out promoters data[celltype] = data[celltype][data[celltype]['tss_id'] == 0] # Get venn-diagram "only" sets others = celltypes[:] others.remove(celltype) data[celltype + '_only'] = data[celltype][data[celltype]\ [[o + '_id' for o in others]].sum(axis=1) == 0] # Pairwise for other in others: other_pair = others[:]
from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/motifs/from_peaks/vs_non_dsg' dirpath = yzer.get_path(dirpath) for peak_type in ( #'gr_dex_fa', 'gr_kla_dex_fa', #'gr_dex_dsg', 'gr_kla_dex_dsg', ): size = 200 if True: all_data = yzer.import_file( yzer.get_filename(dirpath, '{0}_vectors.txt'.format(peak_type))) all_data = all_data.fillna(0) for super_name, data in (( 'all', all_data, ), ): for name, dataset in (( 'all', data, ), ): # We have multiple copies of peaks if they align to different transcripts curr_path = yzer.get_and_create_path( dirpath, peak_type, super_name, name)
@author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/H3K4me2/Analysis/venn_diagrams' dirpath = yzer.get_path(dirpath) motifs_dirpath = yzer.get_and_create_path(dirpath, 'motifs') peak_pretty = 'H3K4me2' peak = peak_pretty.lower() dp = yzer.import_file( yzer.get_filename(dirpath, 'dp_with_{0}.txt'.format(peak))).fillna(0) naive = yzer.import_file( yzer.get_filename(dirpath, '{0}_with_dp.txt'.format(peak))).fillna(0) # Filter out promoters dp = dp[dp['tss_id'] == 0] naive = naive[naive['tss_id'] == 0] # Get venn-diagram sets for th1/th2 dp_only = dp[dp['naive_id'] == 0] naive_only = naive[naive['dp_id'] == 0] shared = naive[naive['dp_id'] > 0] datasets = [dp_only, naive_only, shared] main_peak = ['dp', 'naive', 'naive'] names = [
Created on Apr 18, 2013 @author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from glasslab.dataanalysis.graphing.seq_grapher import SeqGrapher if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/TReg_enhancers/2013_04_01' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs') foxp3 = yzer.import_file(yzer.get_filename( dirpath, 'foxp3_with_stat1.txt')).fillna(0) stat1 = yzer.import_file(yzer.get_filename( dirpath, 'stat1_with_foxp3.txt')).fillna(0) print len(foxp3), len(stat1) print sum(foxp3['stat1_id'] > 0) print sum(foxp3['stat1_id'] > 0) / len(foxp3) print sum(stat1['foxp3_id'] > 0) print sum(stat1['foxp3_id'] > 0) / len(stat1) foxp3_enh = foxp3[(foxp3['tss_me2_id'] == 0) & (foxp3['tss_id'] == 0)] foxp3_tss = foxp3[(foxp3['tss_me2_id'] > 0) | (foxp3['tss_id'] > 0)] print len(foxp3_enh) print sum(foxp3_enh['stat1_id'] > 0) / len(foxp3_enh) print len(foxp3_tss) print sum(foxp3_tss['stat1_id'] > 0) / len(foxp3_tss)
Created on Mar 28, 2013 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/TReg_enhancers/2013_03_19' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs') for antibody in ('me2', 'ac'): treg = yzer.import_file( yzer.get_filename( dirpath, 'treg_with_naive_{0}.txt'.format(antibody))).fillna(0) naive = yzer.import_file( yzer.get_filename( dirpath, 'naive_with_treg_{0}.txt'.format(antibody))).fillna(0) # Filter out promoters treg = treg[treg['tss_id'] == 0] naive = naive[naive['tss_id'] == 0] # Get venn-diagram sets for foxp3/me2 only_treg = treg[treg['naive_id'] == 0] only_naive = naive[naive['treg_id'] == 0] shared = treg[treg['naive_id'] > 0] print len(only_treg), len(only_naive), len(shared)
''' Created on Feb 8, 2013 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() base_dirpath = yzer.get_path( 'karmel/GlassLab/Notes_and_Reports/NOD_BALBc/ThioMacs/Analysis_2013_02/' ) dirpath = yzer.get_and_create_path(base_dirpath, 'motifs/') filename = yzer.get_filename(base_dirpath, 'transcript_vectors.txt') data = yzer.import_file(filename) data = data.fillna(0) # Promoters if False: refseq = data[data['has_refseq'] == 1] refseq = refseq[refseq['transcript_score'] >= 4] if True: yzer.run_homer(refseq, 'refseq_promoter', dirpath, cpus=6, center=False, reverse=False, preceding=True, size=400,
Created on Jul 4, 2012 @author: karmel ''' from glasslab.dataanalysis.misc.gr_project_2012.elongation import get_rep_string import sys from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from glasslab.dataanalysis.graphing.seq_grapher import SeqGrapher if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland 2012/KLA skew/' dirpath = yzer.get_path(dirpath) grouped = yzer.import_file( yzer.get_filename(dirpath, 'feature_vectors.txt')) repressed = [] if True: # Can we predict pausing ratio? # Minimal ratio in KLA+Dex vs. KLA pausing try: min_ratio = float(sys.argv[1]) except IndexError: min_ratio = -1 try: thresh = int(sys.argv[3]) except IndexError: thresh = 4
@author: karmel ''' from __future__ import division from glasslab.dataanalysis.misc.gr_project_2012.elongation import get_rep_string import sys from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from glasslab.dataanalysis.graphing.seq_grapher import SeqGrapher if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland 2012/KLA skew/' dirpath = yzer.get_path(dirpath) grouped = yzer.import_file( yzer.get_filename(dirpath, 'feature_vectors.txt')) repressed = [] if True: # Can we predict pausing ratio? # Minimal ratio in KLA+Dex vs. KLA pausing try: min_ratio = float(sys.argv[1]) except IndexError: min_ratio = -1 try: thresh = int(sys.argv[3]) except IndexError: thresh = 4
''' Created on Apr 12, 2013 @author: karmel ''' from __future__ import division from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/GlassLab/Notes_and_Reports/CD4TCells/TReg_enhancers/2013_04_01' dirpath = yzer.get_path(dirpath) data = yzer.import_file(yzer.get_filename( dirpath, 'th1_with_stat1_ko.txt')).fillna(0) print len(data) data = data[data['tss_id'] == 0] data['ko_ratio'] = data['ko_id'] / data['th1_id'] data['treg_ratio'] = data['treg_id'] / data['th1_id'] enh = len(data) print enh print sum(data['ko_ratio'] < .5), sum(data['ko_ratio'] < .5) / enh print sum(data['treg_ratio'] < .5), sum(data['treg_ratio'] < .5) / enh print sum((data['treg_ratio'] < .5) & (data['ko_ratio'] < .5)) print sum((data['treg_ratio'] < .5) & (data['ko_ratio'] < .5)) / enh
''' Created on Sep 7, 2012 @author: karmel ''' from glasslab.dataanalysis.motifs.motif_analyzer import MotifAnalyzer from glasslab.dataanalysis.misc.gr_project_2012.v1.boxplots_redistribution_pairs import get_high_quality_pairs if __name__ == '__main__': yzer = MotifAnalyzer() dirpath = 'karmel/Desktop/Projects/Classes/Rotations/Finland_2012/GR_Project/' dirpath = yzer.get_path(dirpath) motif_dirpath = yzer.get_filename(dirpath, 'motifs', 'from_peaks') transcripts = yzer.import_file( yzer.get_filename(dirpath, 'motifs', 'transcript_vectors.txt')) transcripts['glass_transcript_id'] = transcripts['id'] size = 200 if True: all_data = yzer.import_file( yzer.get_filename( dirpath, 'redistribution', 'p65_peaks_bigger_in_kla_dex_with_nearby_bigger_kla_peaks.txt') ) all_data = get_high_quality_pairs(all_data, transcripts) for super_name, data in ( ( 'all',