Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. chr start stop geneID
  2. 0 chr13 32889584 32889814 BRCA2
  3. 1 chr13 32890536 32890737 BRCA2
  4. 2 chr13 32893194 32893307 BRCA2
  5. 3 chr13 32893282 32893400 BRCA2
  6. 4 chr13 32893363 32893466 BRCA2
  7. 5 chr13 32899127 32899242 BRCA2
  8.  
  9. import pandas as pd
  10. import numpy as np
  11.  
  12. columns = ['chr','start','stop','geneID']
  13. bed = pd.read_table('bedfile.txt',sep='s',names=['chr','start','stop','geneID'],engine='python')
  14.  
  15. def bed_prepare(inp_bed):
  16. inp_bed['next_start'] = inp_bed['start'].shift(periods=-1)
  17. inp_bed['distance_to_next'] = inp_bed['next_start'] - inp_bed['stop']
  18. inp_bed['next_region_overlap'] = inp_bed['next_start'] < inp_bed['stop']
  19. intermediate_bed = inp_bed
  20. return intermediate_bed
  21.  
  22. print bed_prepare(bed)
  23.  
  24. chr start stop geneID next_start distance_to_next next_region_overlap
  25. 0 chr13 32889584 32889814 BRCA2 32890536 722 False
  26. 1 chr13 32890536 32890737 BRCA2 32893194 2457 False
  27. 2 chr13 32893194 32893307 BRCA2 32893282 -25 True
  28. 3 chr13 32893282 32893400 BRCA2 32893363 -37 True
  29. 4 chr13 32893363 32893466 BRCA2 32899127 5661 False
  30.  
  31. new_bed = pd.DataFrame(data=np.zeros((0,len(columns))),columns=columns)
  32.  
  33. def bed_collapse(intermediate_bed, new_bed):
  34. for row in bed.itertuples():
  35. if row[7] == False:
  36. output_row = list(row[1:5])
  37. #print output_row
  38. if row[7] == True:
  39. output_row = list(row[1:3])
  40. bed.itertuples().next()
  41. print row
  42. output_row.append(row[3])
  43. output_row.append(row[4])
  44. #print output_row
  45. #print output_row
  46. new_bed = new_bed.append({columns[0]:output_row[0],columns[1]:output_row[1],columns[2]:output_row[2],columns[
  47. 3]:output_row[3]},ignore_index=True)
  48. output_bed = new_bed
  49. return output_bed
  50.  
  51.  
  52. int_bed = bed_prepare(bed)
  53. print bed_collapse(int_bed,new_bed)
  54.  
  55. chr start stop geneID
  56. 0 chr13 32889584 32889814 BRCA2
  57. 1 chr13 32890536 32890737 BRCA2
  58. 2 chr13 32893194 32893466 BRCA2
  59. 5 chr13 32899127 32899242 BRCA2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement