[4d6235]: / count_barcode_distribution.py

Download this file

25 lines (18 with data), 544 Bytes

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import re
from collections import defaultdict
try:
import cPickle as pickle
except:
import pickle
from indrops import from_fastq, to_fastq
def count():
barcode_read_counter = defaultdict(int)
for name, seq, qual in from_fastq(sys.stdin):
split_name = name.split(':')
cell_name = split_name[0]
barcode_read_counter[cell_name] += 1
sys.stdout.write(to_fastq(name, seq, qual))
pickle.dump(dict(barcode_read_counter), sys.stderr)
if __name__=="__main__":
import sys, argparse
count()