Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Separate gene expression levels for sorted tissues
- gene1_expression = [data[tissue][0] for tissue in sorted_tissues]
- transcript1_expression = [data[tissue][1] for tissue in sorted_tissues]
- gene2_expression = [data[tissue][2] for tissue in sorted_tissues]
- # Create horizontal bar plot with side-by-side bars as described
- fig = go.Figure()
- fig.add_trace(go.Bar(y=sorted_tissues,x=[-(gene1_expression[index]) for index in range(len(transcript1_expression))],
- marker_color='#d6f0fa',name='THRA (others)', orientation='h', offset=-0.45))
- fig.add_trace(go.Bar(y=sorted_tissues, x=[-val for val in transcript1_expression],
- marker_color='#b5e3f5', name='THRA (TRα2)', orientation='h', offset=-0.45))
- fig.add_trace(go.Bar(y=sorted_tissues, x=gene2_expression,
- marker_color='#e6f1d3', name='NR1D1 (Rev-erbα)', orientation='h', offset=-0.45))
- fig.add_trace(go.Scatter(y=sorted_tissues, x=[-val-10 for val in gene1_expression],textposition="middle left",
- text=[f'{gene1_expression[index] * 100 / (gene1_expression[index] + gene2_expression[index]):.0f}%'
- for index in range(len(gene1_expression))], mode='text', showlegend=False,))
- fig.add_trace(go.Scatter(y=sorted_tissues, x=[val+10 for val in gene2_expression],textposition="middle right",
- text=[f'{gene2_expression[index] * 100 / (gene1_expression[index] + gene2_expression[index]):.0f}%'
- for index in range(len(gene1_expression))], mode='text', showlegend=False))
- fig.update_layout(
- plot_bgcolor='rgba(0,0,0,0)',
- font_family="Times New Roman",
- xaxis_title='TPM (mean)',
- barmode='group', # Side-by-side bars
- bargap=0.1, # Gap between bars
- xaxis=dict(range=[-200, 350]),
- height=440, width=960,
- legend=dict(x=0.81, y=1, bgcolor='rgba(0,0,0,0)')
- )
- fig.update_xaxes(showline=False, linewidth=1, linecolor='#cad3d6',showgrid=True,gridcolor='#cad3d6')
- # Add lines between texts and bars
- for i, tissue in enumerate(sorted_tissues):
- 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))
- 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))
- width = 700
- fig.write_image('./Tasks/Expression/figure.jpg',scale=3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement