Draw Venn Diagrams using matplotlib

gene_x 0 like s 793 view s

Tags: plot, python

Venn_Diagram_NHDF_vs_HEK293_vs_PFSK-1

NHDF-LT_vs_NHDF-LT-K331A

Venn_Diagram_Peak_Consistency_Between_NHDF-LT-K331A_Donors

Venn_Diagram_Peak_Consistency_Between_NHDF-LT_Donors

Venn_Diagram_Peak_Consistency_Between_PFSK-1-LT+sT_Replicates

Venn_Diagram_Peak_Consistency_Between_HEK293-LT+sT_Replicates

  1. #peaks_PFSK-1.txt peaks_HEK293.txt peaks_NHDF.txt Total Name
  2. # X 950 peaks_NHDF.txt
  3. # X 964 peaks_HEK293.txt
  4. # X X 68 peaks_HEK293.txt|peaks_NHDF.txt
  5. #X 6155 peaks_PFSK-1.txt
  6. #X X 653 peaks_PFSK-1.txt|peaks_NHDF.txt
  7. #X X 920 peaks_PFSK-1.txt|peaks_HEK293.txt
  8. #X X X 267 peaks_PFSK-1.txt|peaks_HEK293.txt|peaks_NHDF.txt
  9. #-------
  10. import matplotlib.pyplot as plt
  11. from matplotlib_venn import venn3
  12. # Define the sizes of the sets
  13. set1_only = 950 # Size of NHDF
  14. set2_only = 964 # Size of HEK293
  15. set3_only = 6155 # Size of PFSK-1
  16. # Define the sizes of the overlapping regions
  17. shared_elements_12 = 68 # Size of the overlap between set 1 and set 2
  18. shared_elements_13= 653 # Size of the overlap between set 1 and set 3
  19. shared_elements_23 = 920 # Size of the overlap between set 2 and set 3
  20. shared_elements_123 = 267 # Size of the overlap between all three sets
  21. ## Define the sizes of the datasets
  22. #set1_size = 100
  23. #set2_size = 80
  24. #set3_size = 60
  25. #shared_elements_12 = 30
  26. #shared_elements_13 = 20
  27. #shared_elements_23 = 15
  28. #shared_elements_123 = 10
  29. ## Calculate the sizes of the individual and overlapping sets
  30. #set1_only = set1_size - shared_elements_12 - shared_elements_13 - shared_elements_123
  31. #set2_only = set2_size - shared_elements_12 - shared_elements_23 - shared_elements_123
  32. #set3_only = set3_size - shared_elements_13 - shared_elements_23 - shared_elements_123
  33. # Create the Venn diagram
  34. venn3(subsets=(set1_only, set2_only, shared_elements_12, set3_only, shared_elements_13, shared_elements_23, shared_elements_123), set_labels=('NHDF LT', 'HEK293 LT+sT', 'PFSK-1 LT+sT'))
  35. #venn3(subsets=(set1_size, set2_size, set1_set2_size, set3_size, set1_set3_size, set2_set3_size, set1_set2_set3_size), set_labels=('NHDF', 'HEK293', 'PFSK-1'))
  36. # Set the title and labels
  37. plt.title('', fontsize=16) #Venn Diagram of Three Datasets
  38. plt.xlabel('Samples')
  39. plt.ylabel('Count')
  40. # Show the Venn diagram
  41. #plt.show()
  42. plt.savefig('Venn_Diagram_NHDF_vs_HEK293_vs_PFSK-1.png', dpi=300, bbox_inches='tight')
  43. #peaks_K331A.txt peaks_NHDF.txt Total Name
  44. # X 1818 peaks_NHDF.txt
  45. #X 261 peaks_K331A.txt
  46. #X X 120 peaks_K331A.txt|peaks_NHDF.txt
  47. import matplotlib.pyplot as plt
  48. from matplotlib_venn import venn2
  49. # Define the sizes of the datasets
  50. set1_size = 1938
  51. set2_size = 381
  52. shared_elements = 120
  53. # Calculate the sizes of the individual and overlapping sets
  54. set1_only = set1_size - shared_elements
  55. set2_only = set2_size - shared_elements
  56. # Create the Venn diagram
  57. venn2(subsets=(set1_only, set2_only, shared_elements), set_labels=('NHDF LT', 'NHDF LT K331A'))
  58. # Set the title and labels
  59. plt.title('') #NHDF LT vs NHDF K331A
  60. plt.xlabel('Number of Elements')
  61. plt.ylabel('')
  62. # Display the Venn diagram
  63. #plt.show()
  64. plt.savefig('Venn_Diagram_NHDF-LT_vs_NHDF-LT-K331A.png', dpi=300, bbox_inches='tight')
  65. ## under directory "results_ChIPseq_NHDF_LT_K331A_PFSK-1_HEK293_hg38/homer"
  66. #grep "NHDF_K331A_DonorI/peaks.txt" peaks_K331A_LT.txt | wc -l # 224-186=38
  67. #grep "NHDF_K331A_DonorII/peaks.txt" peaks_K331A_LT.txt | wc -l # 343-186=157
  68. #grep "NHDF_K331A_DonorI/peaks.txt|NHDF_K331A_DonorII/peaks.txt" peaks_K331A_LT.txt | wc -l #186
  69. ##38+157+186=381
  70. import matplotlib.pyplot as plt
  71. from matplotlib_venn import venn2
  72. venn2(subsets=(38, 157, 186), set_labels=('Donor I', 'Donor II'))
  73. plt.title('Peak Consistency Between NHDF LT K331A Donors (Total 381 peaks)')
  74. plt.xlabel('Number of Elements')
  75. plt.ylabel('')
  76. plt.savefig('Venn_Diagram_Peak_Consistency_Between_NHDF-LT-K331A_Donors.png', dpi=300, bbox_inches='tight')
  77. #grep "NHDF_LT_DonorI/peaks.txt" peaks_NHDF_LT.txt | wc -l # 1440-969=471
  78. #grep "NHDF_LT_DonorII/peaks.txt" peaks_NHDF_LT.txt | wc -l # 1467-969=498
  79. #grep "NHDF_LT_DonorI/peaks.txt|NHDF_LT_DonorII/peaks.txt" peaks_NHDF_LT.txt | wc -l #969
  80. ##471+498+969=1938
  81. import matplotlib.pyplot as plt
  82. from matplotlib_venn import venn2
  83. venn2(subsets=(471, 498, 969), set_labels=('Donor I', 'Donor II'))
  84. plt.title('Peak Consistency Between NHDF LT Donors (Total 1938 peaks)')
  85. plt.xlabel('Number of Elements')
  86. plt.ylabel('')
  87. plt.savefig('Venn_Diagram_Peak_Consistency_Between_NHDF-LT_Donors.png', dpi=300, bbox_inches='tight')
  88. #grep "PFSK-1B_LT+sT_r1/peaks.txt" peaks_PFSK-1_LT+sT.txt | wc -l # 4814-2927=1887
  89. #grep "PFSK-1B_LT+sT_r2/peaks.txt" peaks_PFSK-1_LT+sT.txt | wc -l # 6108-2927=3181
  90. #grep "PFSK-1B_LT+sT_r1/peaks.txt|PFSK-1B_LT+sT_r2/peaks.txt" peaks_PFSK-1_LT+sT.txt | wc -l #2927
  91. ##1887+3181+2927=7995
  92. import matplotlib.pyplot as plt
  93. from matplotlib_venn import venn2
  94. venn2(subsets=(1887, 3181, 2927), set_labels=('Replicate 1', 'Replicate 2'))
  95. plt.title('Peak Consistency Between PFSK-1 LT+sT Replicates (Total 7995 peaks)')
  96. plt.xlabel('Number of Elements')
  97. plt.ylabel('')
  98. plt.savefig('Venn_Diagram_Peak_Consistency_Between_PFSK-1-LT+sT_Replicates.png', dpi=300, bbox_inches='tight')
  99. #grep "HEK293_LT+sT_r2/peaks.txt" peaks_HEK293_LT+sT.txt | wc -l # 1896-580=1316
  100. #grep "HEK293_LT+sT_r3/peaks.txt" peaks_HEK293_LT+sT.txt | wc -l # 903-580=323
  101. #grep "HEK293_LT+sT_r2/peaks.txt|HEK293_LT+sT_r3/peaks.txt" peaks_HEK293_LT+sT.txt | wc -l #580
  102. ##1316+323+580=2219
  103. import matplotlib.pyplot as plt
  104. from matplotlib_venn import venn2
  105. venn2(subsets=(1316, 323, 580), set_labels=('Replicate 1', 'Replicate 2'))
  106. plt.title('Peak Consistency Between HEK293 LT+sT Replicates (Total 2219 peaks)')
  107. plt.xlabel('Number of Elements')
  108. plt.ylabel('')
  109. plt.savefig('Venn_Diagram_Peak_Consistency_Between_HEK293-LT+sT_Replicates.png', dpi=300, bbox_inches='tight')
  110. # Draw Venn Diagram using Set rather than Set Size
  111. ##38+186+157=381
  112. #import matplotlib.pyplot as plt
  113. #from matplotlib_venn import venn2
  114. #
  115. #set1 = set(range(1, 225))
  116. #set2 = set(range(39, 382))
  117. #
  118. #venn2([set1, set2], set_labels=('Replicate 1', 'Replicate 2'), set_colors=('skyblue', 'lightgreen'))
  119. #plt.title('Peak Consistency Between NHDF K331A Replicates (total 381 peaks)', fontsize=16)
  120. #plt.xticks(fontsize=12)
  121. #plt.yticks(fontsize=12)
  122. #
  123. ##plt.show() # Display the Venn diagram
  124. #plt.savefig('Venn_Diagram_Peak_Consistency_Between_NHDF_K331A_Replicates.png') # Save the Venn diagram as an image file

like unlike

点赞本文的读者

还没有人对此文章表态


本文有评论

没有评论

看文章,发评论,不要沉默


© 2023 XGenes.com Impressum