vasilisNt commited on
Commit
d37cbca
1 Parent(s): 4f20469

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -2
app.py CHANGED
@@ -11,6 +11,7 @@ LLR_FILE='ALL_hum_isoforms_ESM1b_LLR.zip'
11
 
12
  df=pd.read_csv('isoform_list.csv',index_col=0)
13
  uids=list(df.index.values)
 
14
 
15
  def load_LLR(uniprot_id):
16
  '''Loads the LLRs for a given uniprot id. Returns a 20xL dataframe
@@ -23,7 +24,7 @@ def load_LLR(uniprot_id):
23
  return pd.read_csv(data,index_col=0)
24
 
25
 
26
- def plot_interactive(uniprot_id):
27
  primaryLLR = load_LLR(uniprot_id)
28
 
29
  template='plotly_white'
@@ -46,6 +47,30 @@ def plot_interactive(uniprot_id):
46
  " (%{z:.2f})",
47
  ])+'<extra></extra>'
48
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  return fig
51
 
@@ -53,6 +78,8 @@ def plot_interactive(uniprot_id):
53
  selection = st.selectbox("uniprot_id:", df)
54
  uid=df[df.txt==selection].index.values[0]
55
 
56
- fig = plot_interactive(uid)
 
 
57
  fig.update_layout(width = 800, height = 600, autosize = False)
58
  st.plotly_chart(fig, use_container_width=True)
 
11
 
12
  df=pd.read_csv('isoform_list.csv',index_col=0)
13
  uids=list(df.index.values)
14
+ clinvar = pd.read_csv('clinvar.csv.gz')
15
 
16
  def load_LLR(uniprot_id):
17
  '''Loads the LLRs for a given uniprot id. Returns a 20xL dataframe
 
24
  return pd.read_csv(data,index_col=0)
25
 
26
 
27
+ def plot_interactive(uniprot_id, show_clinvar=False):
28
  primaryLLR = load_LLR(uniprot_id)
29
 
30
  template='plotly_white'
 
47
  " (%{z:.2f})",
48
  ])+'<extra></extra>'
49
  )
50
+ if show_clinvar:
51
+ iso_clinvar = clinvar[clinvar.LLR_file_id == uniprot_id]
52
+ hwt_x=[]
53
+ hwt_y=[]
54
+ cust=[]
55
+ for i in primaryLLR.columns:
56
+ for j in list(primaryLLR.index):
57
+ mut = i[0]+i[2:]+j
58
+ if mut in iso_clinvar.variant:
59
+ hwt_x+=[i]
60
+ hwt_y+=[j]
61
+ cust+=[primaryLLR.loc[j,i]]
62
+
63
+ fig.add_trace(go.Scatter(
64
+ x=hwt_x,
65
+ y=hwt_y,
66
+ customdata=cust,
67
+ mode='markers',
68
+ marker=dict(size=8),
69
+ hovertemplate="<br>".join([
70
+ "<b>%{x} %{y}</b>"+
71
+ " (%{customdata:.2f})",
72
+ ])+'<extra></extra>')
73
+ )
74
 
75
  return fig
76
 
 
78
  selection = st.selectbox("uniprot_id:", df)
79
  uid=df[df.txt==selection].index.values[0]
80
 
81
+ show_clinvar = st.checkbox('show clinvar annotations')
82
+
83
+ fig = plot_interactive(uid,show_clinvar=show_clinvar)
84
  fig.update_layout(width = 800, height = 600, autosize = False)
85
  st.plotly_chart(fig, use_container_width=True)