Advertisement
Guest User

Untitled

a guest
Apr 24th, 2023
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1.  
  2. # Separate gene expression levels for sorted tissues
  3. gene1_expression = [data[tissue][0] for tissue in sorted_tissues]
  4. transcript1_expression = [data[tissue][1] for tissue in sorted_tissues]
  5. gene2_expression = [data[tissue][2] for tissue in sorted_tissues]
  6.  
  7. # Create horizontal bar plot with side-by-side bars as described
  8. fig = go.Figure()
  9.  
  10. fig.add_trace(go.Bar(y=sorted_tissues,x=[-(gene1_expression[index]) for index in range(len(transcript1_expression))],
  11. marker_color='#d6f0fa',name='THRA (others)', orientation='h', offset=-0.45))
  12. fig.add_trace(go.Bar(y=sorted_tissues, x=[-val for val in transcript1_expression],
  13. marker_color='#b5e3f5', name='THRA (TRα2)', orientation='h', offset=-0.45))
  14. fig.add_trace(go.Bar(y=sorted_tissues, x=gene2_expression,
  15. marker_color='#e6f1d3', name='NR1D1 (Rev-erbα)', orientation='h', offset=-0.45))
  16.  
  17. fig.add_trace(go.Scatter(y=sorted_tissues, x=[-val-10 for val in gene1_expression],textposition="middle left",
  18. text=[f'{gene1_expression[index] * 100 / (gene1_expression[index] + gene2_expression[index]):.0f}%'
  19. for index in range(len(gene1_expression))], mode='text', showlegend=False,))
  20. fig.add_trace(go.Scatter(y=sorted_tissues, x=[val+10 for val in gene2_expression],textposition="middle right",
  21. text=[f'{gene2_expression[index] * 100 / (gene1_expression[index] + gene2_expression[index]):.0f}%'
  22. for index in range(len(gene1_expression))], mode='text', showlegend=False))
  23.  
  24.  
  25. fig.update_layout(
  26. plot_bgcolor='rgba(0,0,0,0)',
  27. font_family="Times New Roman",
  28. xaxis_title='TPM (mean)',
  29. barmode='group', # Side-by-side bars
  30. bargap=0.1, # Gap between bars
  31. xaxis=dict(range=[-200, 350]),
  32. height=440, width=960,
  33. legend=dict(x=0.81, y=1, bgcolor='rgba(0,0,0,0)')
  34. )
  35. fig.update_xaxes(showline=False, linewidth=1, linecolor='#cad3d6',showgrid=True,gridcolor='#cad3d6')
  36. # Add lines between texts and bars
  37. for i, tissue in enumerate(sorted_tissues):
  38. fig.add_shape(type='line', x0=-gene1_expression[i], x1=-gene1_expression[i] - 10, y0=i, y1=i, yref='y', xref='x', line=dict(color='black', width=1))
  39. fig.add_shape(type='line', x0=gene2_expression[i], x1=gene2_expression[i] + 10, y0=i, y1=i, yref='y', xref='x', line=dict(color='black', width=1))
  40.  
  41.  
  42. width = 700
  43. fig.write_image('./Tasks/Expression/figure.jpg',scale=3)
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement