Spaces:
Sleeping
Sleeping
File size: 3,357 Bytes
f67eeb9 774bbad 29713c0 774bbad 9ce0bc5 3a0d682 9ce0bc5 8f33cca f67eeb9 b18f058 8f33cca 61ae154 8f33cca e6b3eda 3a0d682 9ce0bc5 77d0e61 1807dda 61ae154 29713c0 61ae154 29713c0 8f33cca 8059916 1c4595f bd90dd4 1c4595f bd90dd4 1c4595f bd90dd4 1c4595f 8059916 29713c0 12a4145 8059916 29713c0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
import datasets
import streamlit as st
from st_aggrid import AgGrid, GridOptionsBuilder
st.markdown("""
# CryptoCEN Top50 co-expressed partners
**CryptoCEN** is a co-expression network for *Cryptococcus neoformans* built on 1,524 RNA-seq runs across 34 studies.
A pair of genes are said to be co-expressed when their expression is correlated across different conditions and
is often a marker for genes to be involved in similar processes.
To Cite:
MJ O'Meara, JR Rapala, CB Nichols, C Alexandre, B Billmyre, JL Steenwyk, A Alspaugh,
TR O'Meara CryptoCEN: A Co-Expression Network for Cryptococcus neoformans reveals
novel proteins involved in DNA damage repair
* Code available at https://github.com/maomlab/CalCEN/tree/master/vignettes/CryptoCEN
* Full network and dataset: https://huggingface.co/datasets/maomlab/CryptoCEN
## Look up top-coexpressed partners:
Put in the ``CNAG_#####`` gene_id for a gene and expand the table to get the top 50 co-expressed genes.
``coexp_score`` ranges between ``[0-1]``, where ``1`` is the best and greater than ``0.85`` can be considered significant.
""")
top_coexp_hits = datasets.load_dataset(
path = "maomlab/CryptoCEN",
data_files = {"top_coexp_hits": "top_coexp_hits.tsv"})
top_coexp_hits = top_coexp_hits["top_coexp_hits"].to_pandas()
col1, col2 = st.columns(spec = [0.7, 0.3])
with col1:
gene_id = st.text_input(
label = "Gene ID",
value = "CNAG_04365",
max_chars = 10,
help = "CNAG Gene ID e.g. CNAG_04365")
top_coexp_hits = top_coexp_hits[
top_coexp_hits.gene_id_1 == gene_id]
top_coexp_hits = top_coexp_hits[[
'gene_id_1', 'gene_symbol_1', 'description_1',
'gene_id_2', 'gene_symbol_2', 'description_2',
'coexp_score', 'blastp_EValue']]
top_coexp_hits.reset_index()
with col2:
st.download_button(
label = "Download data as TSV",
data = top_coexp_hits.to_csv(sep ='\t').encode('utf-8'),
file_name = f"top_coexp_hits_{gene_id}.tsv",
mime = "text/csv")
grid_option_builder = GridOptionsBuilder()
grid_option_builder.configure_default_column(
filterable=False,
groupable=False,
editable=False,
wrapText=True,
autoHeight=True)
grid_option_builder.configure_column("gene_id_1", header_name="GeneID 1", pinned="left", width=250)
grid_option_builder.configure_column("gene_symbol_1", header_name="Gene 1", pinned="left", width=250)
grid_option_builder.configure_column("description_1", header_name="Description 1", width=500)
grid_option_builder.configure_column("gene_id_2", header_name="GeneID 2", pinned="left", width=250)
grid_option_builder.configure_column("gene_symbol_2", header_name="Gene 2", pinned="left", width=250)
grid_option_builder.configure_column("description_2", header_name="Description 2", width=500)
grid_option_builder.configure_column(
"coexp_score",
header_name="Coexp Score",
type=["numericColumn", "customNumericFormat"],
precision=3,
width=200)
grid_option_builder.configure_column(
"blast_EValue",
header_name="Blast E-value",
type=["numericColumn", "customNumericFormat"],
precision=3,
width=200)
grid_option_builder.configure_selection(selection_mode=False, use_checkbox=False)
AgGrid(
data = top_coexp_hits,
gridOptions = grid_option_builder.build(),
fit_columns_on_grid_load=True,
theme="streamlit")
|