fusion_reads_primer.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import argparse,os
  4. def main(indir):
  5. infile=indir+"/fusion_breakpoints_primer.txt"
  6. outfile=indir+"/fusion_breakpoints_primer_stat.txt"
  7. #out
  8. count_dict={}
  9. with open(infile,'r') as inf1:
  10. for line in inf1:
  11. info = line.strip("\n").split("\t")
  12. site = info[0]
  13. site_rev_temp = site.split("-")
  14. site_rev=site_rev_temp[1]+"-"+site_rev_temp[0]
  15. primerID = info[2]
  16. if site not in count_dict.keys() and site_rev not in count_dict.keys():
  17. count_dict[site]={primerID:1}
  18. else:
  19. if primerID not in count_dict[site].keys():
  20. count_dict[site][primerID]=1
  21. else:
  22. count_dict[site][primerID]+=1
  23. outf=open(outfile,'w')
  24. for item in count_dict.keys():
  25. item_dict=count_dict[item]
  26. primer_num = len(item_dict)
  27. outf.write(item+"\t"+str(primer_num)+"\n")
  28. outf.close()
  29. if __name__ == '__main__':
  30. parser = argparse.ArgumentParser(description='get fusion reads primers')
  31. parser.add_argument('-i', required=True, type=str, help="indir")
  32. args = parser.parse_args()
  33. main(args.i)