Mercurial > repos > chmaramis > testirprofiler
view cmpb2016/compare_repertoire_J.py @ 0:8be019b173e6 draft
Uploaded included tools
| author | chmaramis |
|---|---|
| date | Sun, 18 Mar 2018 05:54:20 -0400 |
| parents | |
| children |
line wrap: on
line source
# -*- coding: utf-8 -*- """ Created on Mon Feb 29 10:18:39 2016 @author: chmaramis """ from __future__ import division import numpy as np from pandas import * from numpy import nan as NA import sys import time sw_reads = lambda x: x.startswith('Reads') sw_freq = lambda x: x.startswith('Freq') sw_gene = lambda x: x.startswith('J') def freqtoall(inputs): mer=DataFrame() for x in range(0,len(inputs),2): ini = read_csv(inputs[x] , sep = '\t' , index_col = 0) ini.drop(ini.columns[np.where(ini.columns.map(sw_reads))[0]], axis=1, inplace=True) x1 = inputs[x+1].split('_') ini.rename(columns={ini.columns[np.where(ini.columns.map(sw_freq))[0][0]]: x1[0]}, inplace=True) if mer.empty: mer = DataFrame(ini) else: mer = merge(mer,ini, on=ini.columns[np.where(ini.columns.map(sw_gene))[0][0]] , how='outer') mer=mer.fillna(0) mer['mean'] = mer.sum(axis=1)/(len(mer.columns)-1) fr = 'mean' mer=mer.sort_values(by = fr,ascending=False) mer[fr] = mer[fr].map('{:.4f}'.format) mer.index = range(1,len(mer)+1) return mer if __name__ == '__main__': start=time.time() # Parse input arguments inputs = sys.argv[2:] output = sys.argv[1] # Execute basic function mer = freqtoall(inputs) # Save output to CSV files if not mer.empty: mer.to_csv(output , sep = '\t') # Print execution time stop=time.time() print('Runtime:' + str(stop-start))
