# HG changeset patch # User chmaramis # Date 1521371178 14400 # Node ID 6a8ecfdb9462715d7bae43ec2646b06e732d7302 # Parent e69b5e71734601428c6aef60e1ef636fbdd32d47 Deleted selected files diff -r e69b5e717346 -r 6a8ecfdb9462 cmpb2016/comp_clono_JCDR3.py --- a/cmpb2016/comp_clono_JCDR3.py Sun Mar 18 07:05:35 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Thu Jun 19 17:33:34 2014 - -@author: chmaramis -""" - -from __future__ import division -import numpy as np -from pandas import * -import functools as ft -import sys -import time - -frm = lambda x,y: '{r}/{l}'.format(r=x,l=y) - -def clonotypeComputationJ(inp_name,out1,t10n,fname): - - frame = DataFrame() - tp = read_csv(inp_name, iterator=True, chunksize=5000,sep='\t', index_col=0 ) - frame = concat([chunk for chunk in tp]) - - grouped = frame.groupby(['J-GENE','AA JUNCTION']) - x=grouped.size() - x1=DataFrame(list(x.index), columns=['J-GENE','AA JUNCTION']) - x1['Reads']=x.values - total = sum(x1['Reads']) - #x1['Reads/Total'] = ['{r}/{l}'.format(r=pr , l = total) for pr in x1['Reads']] - x1['Reads/Total'] = x1['Reads'].map(ft.partial(frm, y=total)) - x1['Frequency %'] = (100*x1['Reads']/total).map('{:.4f}'.format) - - final = x1.sort_values(by = ['Reads'] , ascending = False) - - final.index=range(1,len(final)+1) - final.to_csv(out1 , sep = '\t') - - numofclono = len(final) - clust = len(final[final['Reads'] > 1]) - sing = len (final[final['Reads'] == 1]) - top10 = final[['J-GENE','AA JUNCTION','Frequency %']].head(10) - top10.to_csv(t10n , sep = '\t') - - summary = [[str(top10['J-GENE'].values[0]+','+top10['AA JUNCTION'].values[0])]] - summary.append([top10['Frequency %'].values[0]]) - summary.append([numofclono]) - summary.append([clust,'{:.4f}'.format(100*clust/numofclono)]) - summary.append([sing,'{:.4f}'.format(100*sing/numofclono)]) - - - ind = ['Dominant Clonotype (J+CDR3)', 'Frequency', 'Number of Clonotypes' , 'Expanding Clonotypes', 'Singletons'] - spl = fname.split('_') - col = [spl[0],'%'] - - frsum = DataFrame(summary,index = ind, columns = col) - - return frsum - - -if __name__ == '__main__': - - start=time.time() - - # Parse input arguments - inp_name = sys.argv[1] - out1 = sys.argv[2] - t10n = sys.argv[3] - sname = sys.argv[4] - fname = sys.argv[5] - - # Execute basic function - frsum = clonotypeComputationJ(inp_name,out1,t10n,fname) - - # Save output to CSV files - if not frsum.empty: - frsum.to_csv(sname, sep = '\t') - - # Print execution time - stop=time.time() - print('Runtime:' + str(stop-start)) diff -r e69b5e717346 -r 6a8ecfdb9462 cmpb2016/comp_clono_JCDR3.xml --- a/cmpb2016/comp_clono_JCDR3.xml Sun Mar 18 07:05:35 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ - - Compute J+CDR3 clonotypes - comp_clono_JCDR3.py $input $clonos $topcl $summ2 ${input.name} - - - - - - - - - - - - - - - - - -This tool computes the (J-gene, CDR3) clonotypes and their frequencies. - - -