1414import numpy as np
1515import csv
1616
17- # initialize parser
18- parser = argparse .ArgumentParser (description = 'Calculate clonality of a TCR repertoire' )
19-
20- # add arguments
21- parser .add_argument ('-s' , '--sample_meta' ,
22- metavar = 'sample_meta' ,
23- type = str ,
24- help = 'sample metadata passed in through samples CSV file' )
25- parser .add_argument ('-c' , '--count_table' ,
26- metavar = 'count_table' ,
27- type = argparse .FileType ('r' ),
28- help = 'counts file in TSV format' )
29- # parser.add_argument('-d', '--data_dir',
30- # metavar='data_dir',
31- # type=str,
32- # help='path to data directory')
33-
34- args = parser .parse_args ()
35-
36- ## convert metadata to list
37- s = args .sample_meta
38- sample_meta = args .sample_meta [1 :- 1 ].split (', ' )
39- # print('sample_meta looks like this: ' + str(sample_meta))
40-
41- # Read in the counts file
42- counts = pd .read_csv (args .count_table , sep = '\t ' , header = 0 )
43- counts = counts .rename (columns = {'count (templates/reads)' : 'read_count' , 'frequencyCount (%)' : 'frequency' })
44- # print('counts columns: \n')
45- # print(counts.columns)
46-
4717def calc_sample_stats (sample_meta , counts ):
4818 """Calculate sample level statistics of TCR repertoire."""
4919
@@ -145,4 +115,31 @@ def calc_sample_stats(sample_meta, counts):
145115 # with open('gene_usage_' + str(metadata[1] + '_' + str(metadata[2] + '_' + str(metadata[3]))) + '.pkl', 'wb') as f:
146116 # pickle.dump(gene_usage, f)
147117
148- calc_sample_stats (sample_meta , counts )
118+ def main ():
119+ # initialize parser
120+ parser = argparse .ArgumentParser (description = 'Calculate clonality of a TCR repertoire' )
121+
122+ # add arguments
123+ parser .add_argument ('-s' , '--sample_meta' ,
124+ metavar = 'sample_meta' ,
125+ type = str ,
126+ help = 'sample metadata passed in through samples CSV file' )
127+ parser .add_argument ('-c' , '--count_table' ,
128+ metavar = 'count_table' ,
129+ type = argparse .FileType ('r' ),
130+ help = 'counts file in TSV format' )
131+
132+ args = parser .parse_args ()
133+
134+ ## convert metadata to list
135+ s = args .sample_meta
136+ sample_meta = args .sample_meta [1 :- 1 ].split (', ' )
137+
138+ # Read in the counts file
139+ counts = pd .read_csv (args .count_table , sep = '\t ' , header = 0 )
140+ counts = counts .rename (columns = {'count (templates/reads)' : 'read_count' , 'frequencyCount (%)' : 'frequency' })
141+
142+ calc_sample_stats (sample_meta , counts )
143+
144+ if __name__ == "__main__" :
145+ main ()
0 commit comments