annotate chipsequtil/map_to_known_genes.py @ 9:1c6c8591f760 draft

Deleted selected files
author alenail
date Mon, 04 Apr 2016 15:02:08 -0400
parents 0eaa8225a09a
children 182e829571f7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4f66143b385a Uploaded
alenail
parents:
diff changeset
1 #!/usr/local/bin/python
4f66143b385a Uploaded
alenail
parents:
diff changeset
2
4f66143b385a Uploaded
alenail
parents:
diff changeset
3 import sys, os
4f66143b385a Uploaded
alenail
parents:
diff changeset
4 from optparse import OptionParser
4f66143b385a Uploaded
alenail
parents:
diff changeset
5 from collections import defaultdict as dd
4f66143b385a Uploaded
alenail
parents:
diff changeset
6 from csv import DictReader, DictWriter
4f66143b385a Uploaded
alenail
parents:
diff changeset
7
4f66143b385a Uploaded
alenail
parents:
diff changeset
8 from chipsequtil import MACSFile, BEDFile, KnownGeneFile, parse_number
4f66143b385a Uploaded
alenail
parents:
diff changeset
9 from chipsequtil.util import MultiLineHelpFormatter
4f66143b385a Uploaded
alenail
parents:
diff changeset
10
4f66143b385a Uploaded
alenail
parents:
diff changeset
11 usage = '%prog [options] <knownGene file> <knownGene xRef file> <peaks file>'
4f66143b385a Uploaded
alenail
parents:
diff changeset
12 description = """
4f66143b385a Uploaded
alenail
parents:
diff changeset
13 Map the peaks in <peaks file> to genes in <knownGene file>. <knownGene file> is\
4f66143b385a Uploaded
alenail
parents:
diff changeset
14 format is as specified in http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/knownGene.sql.\
4f66143b385a Uploaded
alenail
parents:
diff changeset
15 <peaks file> format is as produced by MACS. If *auto* is chosen (default) file extension \
4f66143b385a Uploaded
alenail
parents:
diff changeset
16 is examined for *.xls* for default MACS format or *.bed* for BED format. If the --detail \
4f66143b385a Uploaded
alenail
parents:
diff changeset
17 option is provided, the following extra fields are appended to each row:
4f66143b385a Uploaded
alenail
parents:
diff changeset
18
4f66143b385a Uploaded
alenail
parents:
diff changeset
19 peak loc, dist from feature, map type, map subtype
4f66143b385a Uploaded
alenail
parents:
diff changeset
20 """
4f66143b385a Uploaded
alenail
parents:
diff changeset
21 epilog = ''
4f66143b385a Uploaded
alenail
parents:
diff changeset
22 parser = OptionParser(usage=usage,description=description,epilog=epilog,formatter=MultiLineHelpFormatter())
4f66143b385a Uploaded
alenail
parents:
diff changeset
23 parser.add_option('--upstream-window',dest='upst_win',type='int',default=5500,help='window width in base pairs to consider promoter region [default: %default]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
24 parser.add_option('--downstream-window',dest='dnst_win',type='int',default=2500,help='window width in base pairs to consider downstream region [default: %default]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
25 parser.add_option('--tss',dest='tss',action='store_true',help='calculate downstream window from transcription start site instead of transcription end site')
4f66143b385a Uploaded
alenail
parents:
diff changeset
26 parser.add_option('--map-output',dest='peak_output',default=None,help='filename to output mapped peaks to [default: stdout]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
27 parser.add_option('--stats-output',dest='stats_output',default=sys.stderr,help='filename to output summary stats in conversion [default: stderr]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
28 parser.add_option('--peaks-format',dest='peaks_fmt',default='auto',type='choice',choices=['auto','MACS','BED'],help='format of peaks input file [default: %default]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
29 parser.add_option('--detail',dest='detail',action='store_true',help='add extra fields to output, see description')
4f66143b385a Uploaded
alenail
parents:
diff changeset
30 parser.add_option('--intergenic',dest='intergenic',action='store_true',help='write intergenic peaks to the gene file as well with None as gene ID')
4f66143b385a Uploaded
alenail
parents:
diff changeset
31 #parser.add_option('--symbol-xref',dest='symbol_xref',default=None,help='use the kgXref table file supplied to find a gene symbol, output as second column')
4f66143b385a Uploaded
alenail
parents:
diff changeset
32
4f66143b385a Uploaded
alenail
parents:
diff changeset
33 # TODO - options
4f66143b385a Uploaded
alenail
parents:
diff changeset
34 #parser.add_option('--use-cds',dest='use_cds',action='store_true',help='use cdsStart and cdsEnd fields instead of txStart and txEnd to do mapping')
4f66143b385a Uploaded
alenail
parents:
diff changeset
35 #parser.add_option('--capture-intergenic'...)
4f66143b385a Uploaded
alenail
parents:
diff changeset
36 #parser.add_option('--map-format',dest='peak_format',type='choice',choices=['default','BED'],help='format of peak output [default: %default]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
37 #parser.add_option('--stats-format',dest='stats_format',type='choice',choices=['human','python'],help='format of summary stats output [default: %default]')
4f66143b385a Uploaded
alenail
parents:
diff changeset
38
4f66143b385a Uploaded
alenail
parents:
diff changeset
39 def parse_gene_ref(ref_gene) :
4f66143b385a Uploaded
alenail
parents:
diff changeset
40 reader = KnownGeneFile(ref_gene)
4f66143b385a Uploaded
alenail
parents:
diff changeset
41 gene_ref = dd(list)
4f66143b385a Uploaded
alenail
parents:
diff changeset
42 for ref_dict in reader :
4f66143b385a Uploaded
alenail
parents:
diff changeset
43 gene_ref[ref_dict['chrom']].append(ref_dict)
4f66143b385a Uploaded
alenail
parents:
diff changeset
44
4f66143b385a Uploaded
alenail
parents:
diff changeset
45 return gene_ref
4f66143b385a Uploaded
alenail
parents:
diff changeset
46
4f66143b385a Uploaded
alenail
parents:
diff changeset
47 def parse_gene_ref_line(l) :
4f66143b385a Uploaded
alenail
parents:
diff changeset
48 l = map(parse_number, l) # coerce to numbers where possible
4f66143b385a Uploaded
alenail
parents:
diff changeset
49 l[9] = map(parse_number, l[9].split(',')) # turn 'x,x,x,...' into list
4f66143b385a Uploaded
alenail
parents:
diff changeset
50 l[10] = map(parse_number, l[10].split(','))
4f66143b385a Uploaded
alenail
parents:
diff changeset
51 return l
4f66143b385a Uploaded
alenail
parents:
diff changeset
52
4f66143b385a Uploaded
alenail
parents:
diff changeset
53 if __name__ == '__main__' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
54
4f66143b385a Uploaded
alenail
parents:
diff changeset
55 opts, args = parser.parse_args(sys.argv[1:])
4f66143b385a Uploaded
alenail
parents:
diff changeset
56
4f66143b385a Uploaded
alenail
parents:
diff changeset
57 if len(args) < 3 :
4f66143b385a Uploaded
alenail
parents:
diff changeset
58 parser.error('Must provide three filename arguments')
4f66143b385a Uploaded
alenail
parents:
diff changeset
59
4f66143b385a Uploaded
alenail
parents:
diff changeset
60 gene_ref = parse_gene_ref(args[0])
4f66143b385a Uploaded
alenail
parents:
diff changeset
61 xref_fn = args[1]
4f66143b385a Uploaded
alenail
parents:
diff changeset
62 peaks_fn = args[2]
4f66143b385a Uploaded
alenail
parents:
diff changeset
63
4f66143b385a Uploaded
alenail
parents:
diff changeset
64 if opts.peaks_fmt == 'MACS' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
65 peaks_reader_cls = MACSFile
4f66143b385a Uploaded
alenail
parents:
diff changeset
66 chr_field, start_field, end_field = 'chr', 'start', 'end'
4f66143b385a Uploaded
alenail
parents:
diff changeset
67 elif opts.peaks_fmt == 'BED' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
68 peaks_reader_cls = BEDFile
4f66143b385a Uploaded
alenail
parents:
diff changeset
69 chr_field, start_field, end_field = 'chrom', 'chromStart', 'chromEnd'
4f66143b385a Uploaded
alenail
parents:
diff changeset
70 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
71 # should never happen
4f66143b385a Uploaded
alenail
parents:
diff changeset
72 fieldnames = []
4f66143b385a Uploaded
alenail
parents:
diff changeset
73
4f66143b385a Uploaded
alenail
parents:
diff changeset
74 #peaks_reader = DictReader(open(args[1]),fieldnames=fieldnames,delimiter='\t')
4f66143b385a Uploaded
alenail
parents:
diff changeset
75 peaks_reader = peaks_reader_cls(peaks_fn)
4f66143b385a Uploaded
alenail
parents:
diff changeset
76
4f66143b385a Uploaded
alenail
parents:
diff changeset
77 # default output format:
4f66143b385a Uploaded
alenail
parents:
diff changeset
78 if opts.peak_output :
4f66143b385a Uploaded
alenail
parents:
diff changeset
79 peak_output = open(opts.peak_output,'w')
4f66143b385a Uploaded
alenail
parents:
diff changeset
80 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
81 peak_output = sys.stdout
4f66143b385a Uploaded
alenail
parents:
diff changeset
82
4f66143b385a Uploaded
alenail
parents:
diff changeset
83 fieldnames = peaks_reader.FIELD_NAMES
4f66143b385a Uploaded
alenail
parents:
diff changeset
84 if opts.detail :
4f66143b385a Uploaded
alenail
parents:
diff changeset
85 fieldnames += ["peak loc","dist from feature","map type","map subtype"]#"score"
4f66143b385a Uploaded
alenail
parents:
diff changeset
86 output_fields = ['knownGeneID']+fieldnames
4f66143b385a Uploaded
alenail
parents:
diff changeset
87
4f66143b385a Uploaded
alenail
parents:
diff changeset
88 # see if the user wants gene symbols too
4f66143b385a Uploaded
alenail
parents:
diff changeset
89 # TODO - actually make this an option, or make it required
4f66143b385a Uploaded
alenail
parents:
diff changeset
90 opts.symbol_xref = xref_fn
4f66143b385a Uploaded
alenail
parents:
diff changeset
91 if opts.symbol_xref :
4f66143b385a Uploaded
alenail
parents:
diff changeset
92 kgXref_fieldnames = ['kgID','mRNA','spID','spDisplayID','geneSymbol','refseq','protAcc','description']
4f66143b385a Uploaded
alenail
parents:
diff changeset
93 symbol_xref_reader = DictReader(open(opts.symbol_xref),fieldnames=kgXref_fieldnames,delimiter='\t')
4f66143b385a Uploaded
alenail
parents:
diff changeset
94 symbol_xref_map = {}
4f66143b385a Uploaded
alenail
parents:
diff changeset
95 for rec in symbol_xref_reader :
4f66143b385a Uploaded
alenail
parents:
diff changeset
96 symbol_xref_map[rec['kgID']] = rec
4f66143b385a Uploaded
alenail
parents:
diff changeset
97 output_fields = ['knownGeneID','geneSymbol']+fieldnames
4f66143b385a Uploaded
alenail
parents:
diff changeset
98
4f66143b385a Uploaded
alenail
parents:
diff changeset
99 peaks_writer = DictWriter(peak_output,output_fields,delimiter='\t',extrasaction='ignore',lineterminator='\n')
4f66143b385a Uploaded
alenail
parents:
diff changeset
100 peaks_writer.writerow(dict([(k,k) for k in output_fields]))
4f66143b385a Uploaded
alenail
parents:
diff changeset
101 unique_genes = set()
4f66143b385a Uploaded
alenail
parents:
diff changeset
102 map_stats = dd(int)
4f66143b385a Uploaded
alenail
parents:
diff changeset
103 for peak in peaks_reader :
4f66143b385a Uploaded
alenail
parents:
diff changeset
104
4f66143b385a Uploaded
alenail
parents:
diff changeset
105 # if this is a comment or header line get skip it
4f66143b385a Uploaded
alenail
parents:
diff changeset
106 if peak[fieldnames[0]].startswith('#') or \
4f66143b385a Uploaded
alenail
parents:
diff changeset
107 peak[fieldnames[0]] == fieldnames[0] or \
4f66143b385a Uploaded
alenail
parents:
diff changeset
108 peak[fieldnames[0]].startswith('track') : continue
4f66143b385a Uploaded
alenail
parents:
diff changeset
109
4f66143b385a Uploaded
alenail
parents:
diff changeset
110 # coerce values to numeric if possible
4f66143b385a Uploaded
alenail
parents:
diff changeset
111 for k,v in peak.items() : peak[k] = parse_number(v)
4f66143b385a Uploaded
alenail
parents:
diff changeset
112
4f66143b385a Uploaded
alenail
parents:
diff changeset
113 # MACS output gives us summit
4f66143b385a Uploaded
alenail
parents:
diff changeset
114 if opts.peaks_fmt == 'MACS' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
115 peak_loc = peak[start_field]+peak['summit']
4f66143b385a Uploaded
alenail
parents:
diff changeset
116 else : # peak assumed to be in the middle of the reported peak range
4f66143b385a Uploaded
alenail
parents:
diff changeset
117 peak_loc = (peak[start_field]+peak[end_field])/2
4f66143b385a Uploaded
alenail
parents:
diff changeset
118
4f66143b385a Uploaded
alenail
parents:
diff changeset
119 chrom_genes = gene_ref[peak[chr_field]]
4f66143b385a Uploaded
alenail
parents:
diff changeset
120
4f66143b385a Uploaded
alenail
parents:
diff changeset
121 if len(chrom_genes) == 0 :
4f66143b385a Uploaded
alenail
parents:
diff changeset
122 sys.stderr.write('WARNING: peak chromosome %s not found in gene reference, skipping: %s\n'%(peak[chr_field],peak))
4f66143b385a Uploaded
alenail
parents:
diff changeset
123 continue
4f66143b385a Uploaded
alenail
parents:
diff changeset
124
4f66143b385a Uploaded
alenail
parents:
diff changeset
125 mapped = False
4f66143b385a Uploaded
alenail
parents:
diff changeset
126
4f66143b385a Uploaded
alenail
parents:
diff changeset
127 # walk through the genes for this chromosome
4f66143b385a Uploaded
alenail
parents:
diff changeset
128 for gene in chrom_genes :
4f66143b385a Uploaded
alenail
parents:
diff changeset
129
4f66143b385a Uploaded
alenail
parents:
diff changeset
130 # reusable dictionary for output
4f66143b385a Uploaded
alenail
parents:
diff changeset
131 out_d = {}.fromkeys(output_fields,0)
4f66143b385a Uploaded
alenail
parents:
diff changeset
132 out_d.update(peak)
4f66143b385a Uploaded
alenail
parents:
diff changeset
133 out_d['map type'] = ''
4f66143b385a Uploaded
alenail
parents:
diff changeset
134 out_d['chromo'] = peak[chr_field]
4f66143b385a Uploaded
alenail
parents:
diff changeset
135 out_d['peak loc'] = peak_loc
4f66143b385a Uploaded
alenail
parents:
diff changeset
136
4f66143b385a Uploaded
alenail
parents:
diff changeset
137 # determine intervals for promoter, gene, and downstream
4f66143b385a Uploaded
alenail
parents:
diff changeset
138 if gene['strand'] == '+' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
139 promoter_coords = max(gene['txStart']-1-opts.upst_win,0), gene['txStart']-1
4f66143b385a Uploaded
alenail
parents:
diff changeset
140 if opts.tss :
4f66143b385a Uploaded
alenail
parents:
diff changeset
141 gene_coords = gene['txStart'], min(gene['txEnd'],gene['txStart']+opts.dnst_win)
4f66143b385a Uploaded
alenail
parents:
diff changeset
142 downstream_coords = gene['txEnd']+1,gene['txStart']+opts.dnst_win
4f66143b385a Uploaded
alenail
parents:
diff changeset
143 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
144 gene_coords = gene['txStart'], gene['txEnd']
4f66143b385a Uploaded
alenail
parents:
diff changeset
145 downstream_coords = gene['txEnd']+1, gene['txEnd']+1+opts.dnst_win
4f66143b385a Uploaded
alenail
parents:
diff changeset
146 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
147 promoter_coords = gene['txEnd']+1, gene['txEnd']+1+opts.upst_win # +1 because we're using 1 based indexing
4f66143b385a Uploaded
alenail
parents:
diff changeset
148 if opts.tss :
4f66143b385a Uploaded
alenail
parents:
diff changeset
149 gene_coords = max(gene['txStart'],gene['txEnd']-opts.upst_win), gene['txEnd']
4f66143b385a Uploaded
alenail
parents:
diff changeset
150 downstream_coords = gene['txEnd']-1-opts.dnst_win, gene['txStart']-1 # -1 because we're using 1 based indexing
4f66143b385a Uploaded
alenail
parents:
diff changeset
151 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
152 gene_coords = gene['txStart'], gene['txEnd']
4f66143b385a Uploaded
alenail
parents:
diff changeset
153 downstream_coords = gene['txStart']-1-opts.dnst_win, gene['txStart']-1 # -1 because we're using 1 based indexing
4f66143b385a Uploaded
alenail
parents:
diff changeset
154
4f66143b385a Uploaded
alenail
parents:
diff changeset
155 # check for promoter
4f66143b385a Uploaded
alenail
parents:
diff changeset
156 if peak_loc >= promoter_coords[0] and peak_loc <= promoter_coords[1] :
4f66143b385a Uploaded
alenail
parents:
diff changeset
157 out_d['map type'] = 'promoter'
4f66143b385a Uploaded
alenail
parents:
diff changeset
158 out_d['dist from feature'] = peak_loc - promoter_coords[1] if gene['strand'] == '+' else promoter_coords[0] - peak_loc
4f66143b385a Uploaded
alenail
parents:
diff changeset
159
4f66143b385a Uploaded
alenail
parents:
diff changeset
160 # check for gene
4f66143b385a Uploaded
alenail
parents:
diff changeset
161 elif peak_loc >= gene_coords[0] and peak_loc <= gene_coords[1] :
4f66143b385a Uploaded
alenail
parents:
diff changeset
162 # check for intron/exon
4f66143b385a Uploaded
alenail
parents:
diff changeset
163 exon_coords = zip(gene['exonStarts'],gene['exonEnds'])
4f66143b385a Uploaded
alenail
parents:
diff changeset
164 in_exon = False
4f66143b385a Uploaded
alenail
parents:
diff changeset
165 for st,en in exon_coords :
4f66143b385a Uploaded
alenail
parents:
diff changeset
166 if peak_loc >= st and peak_loc <= en :
4f66143b385a Uploaded
alenail
parents:
diff changeset
167 in_exon = True
4f66143b385a Uploaded
alenail
parents:
diff changeset
168 break
4f66143b385a Uploaded
alenail
parents:
diff changeset
169 out_d['map type'] = 'gene'
4f66143b385a Uploaded
alenail
parents:
diff changeset
170 out_d['map subtype'] = 'exon' if in_exon else 'intron'
4f66143b385a Uploaded
alenail
parents:
diff changeset
171
4f66143b385a Uploaded
alenail
parents:
diff changeset
172 #Commented out to keep score reported in bed file - AJD 7/29/14
4f66143b385a Uploaded
alenail
parents:
diff changeset
173 # score = (peak-TSS)/(TSE-TSS) - peak distance from TSS as fraction of length of gene
4f66143b385a Uploaded
alenail
parents:
diff changeset
174 #gene_len = float(gene_coords[1]-gene_coords[0])
4f66143b385a Uploaded
alenail
parents:
diff changeset
175 #out_d['score'] = (peak_loc-gene_coords[0])/gene_len if gene['strand'] == '+' else (gene_coords[1]-peak_loc)/gene_len
4f66143b385a Uploaded
alenail
parents:
diff changeset
176
4f66143b385a Uploaded
alenail
parents:
diff changeset
177 # distance calculated from start of gene
4f66143b385a Uploaded
alenail
parents:
diff changeset
178 out_d['dist from feature'] = peak_loc - promoter_coords[1] if gene['strand'] == '+' else promoter_coords[0] - peak_loc
4f66143b385a Uploaded
alenail
parents:
diff changeset
179
4f66143b385a Uploaded
alenail
parents:
diff changeset
180 map_stats[out_d['map subtype']] += 1
4f66143b385a Uploaded
alenail
parents:
diff changeset
181
4f66143b385a Uploaded
alenail
parents:
diff changeset
182 # check for downstream
4f66143b385a Uploaded
alenail
parents:
diff changeset
183 elif peak_loc >= downstream_coords[0] and peak_loc <= downstream_coords[1] :
4f66143b385a Uploaded
alenail
parents:
diff changeset
184 out_d['map type'] = 'after'
4f66143b385a Uploaded
alenail
parents:
diff changeset
185 if opts.tss :
4f66143b385a Uploaded
alenail
parents:
diff changeset
186 out_d['dist from feature'] = peak_loc - gene_coords[0] if gene['strand'] == '+' else gene_coords[1] - peak_loc
4f66143b385a Uploaded
alenail
parents:
diff changeset
187 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
188 out_d['dist from feature'] = peak_loc - downstream_coords[0] if gene['strand'] == '+' else downstream_coords[1] - peak_loc
4f66143b385a Uploaded
alenail
parents:
diff changeset
189
4f66143b385a Uploaded
alenail
parents:
diff changeset
190 # does not map to this gene
4f66143b385a Uploaded
alenail
parents:
diff changeset
191 else :
4f66143b385a Uploaded
alenail
parents:
diff changeset
192 pass
4f66143b385a Uploaded
alenail
parents:
diff changeset
193
4f66143b385a Uploaded
alenail
parents:
diff changeset
194 # map type is not blank if we mapped to something
4f66143b385a Uploaded
alenail
parents:
diff changeset
195 if out_d['map type'] != '' :
4f66143b385a Uploaded
alenail
parents:
diff changeset
196
4f66143b385a Uploaded
alenail
parents:
diff changeset
197 #out_d = {'knownGeneID':gene['name']}
4f66143b385a Uploaded
alenail
parents:
diff changeset
198 out_d['knownGeneID'] = gene['name']
4f66143b385a Uploaded
alenail
parents:
diff changeset
199 if opts.symbol_xref :
4f66143b385a Uploaded
alenail
parents:
diff changeset
200 out_d['geneSymbol'] = symbol_xref_map[gene['name']]['geneSymbol']
4f66143b385a Uploaded
alenail
parents:
diff changeset
201 peaks_writer.writerow(out_d)
4f66143b385a Uploaded
alenail
parents:
diff changeset
202
4f66143b385a Uploaded
alenail
parents:
diff changeset
203 mapped = True
4f66143b385a Uploaded
alenail
parents:
diff changeset
204
4f66143b385a Uploaded
alenail
parents:
diff changeset
205 # reset map_type
4f66143b385a Uploaded
alenail
parents:
diff changeset
206 out_d['map type'] = ''
4f66143b385a Uploaded
alenail
parents:
diff changeset
207
4f66143b385a Uploaded
alenail
parents:
diff changeset
208 if not mapped :
4f66143b385a Uploaded
alenail
parents:
diff changeset
209 if opts.intergenic :
4f66143b385a Uploaded
alenail
parents:
diff changeset
210 out_d['knownGeneID'] = 'None'
4f66143b385a Uploaded
alenail
parents:
diff changeset
211 out_d['geneSymbol'] = 'None'
4f66143b385a Uploaded
alenail
parents:
diff changeset
212 out_d['map type'] = 'intergenic'
4f66143b385a Uploaded
alenail
parents:
diff changeset
213 peaks_writer.writerow(out_d)
4f66143b385a Uploaded
alenail
parents:
diff changeset
214 map_stats['intergenic'] += 1
4f66143b385a Uploaded
alenail
parents:
diff changeset
215
4f66143b385a Uploaded
alenail
parents:
diff changeset
216 if peak_output != sys.stdout :
4f66143b385a Uploaded
alenail
parents:
diff changeset
217 peak_output.close()
4f66143b385a Uploaded
alenail
parents:
diff changeset
218
4f66143b385a Uploaded
alenail
parents:
diff changeset
219 #if opts.stats_output != sys.stderr :
4f66143b385a Uploaded
alenail
parents:
diff changeset
220 # opts.stats_output = open(opts.stats_output,'w')
4f66143b385a Uploaded
alenail
parents:
diff changeset
221
4f66143b385a Uploaded
alenail
parents:
diff changeset
222 #for k,v in map_stats.items() :
4f66143b385a Uploaded
alenail
parents:
diff changeset
223 # opts.stats_output.write('%s: %s\n'%(k,v))
4f66143b385a Uploaded
alenail
parents:
diff changeset
224
4f66143b385a Uploaded
alenail
parents:
diff changeset
225 #if opts.stats_output != sys.stderr :
4f66143b385a Uploaded
alenail
parents:
diff changeset
226 # opts.stats_output.close()