Required packages: streamlit, pandas, numpy
To run the code:
git clone --branch master [email protected]:Xiyuan0315/PPIs-visualization.git
cd PPIs-visualization/Bin
streamlit run app.py
The project aims to develop a high performance website for visualizing and filtering annonated PPIS from Baker’s lab on user’s demand.
- Preprocessing the table data with re and pandas to format the text, downcast datatype and work with missing data(replace ‘na’ to np.NaN to make datatype consistent)
- Display 1505 pairs of yeast PPIs in the body part, and add dynamic filters on it. Notably that we take different actions on continous data and discrete: double end slider for continous data and regex reseaching/multi-selection for discrete data.
- Add global searching funcion in sidebar to search on all annotation columns.
- Provide two mode for multi-keywords with check box: intersection or union
- Implement multi-pages for different function(filter, find homologous genes, explore protein location and get genes in given pathways)
- path management: setup.py
- variable passing to seperate pages: serialize filtered data as pickle and load again in next page
- Make two different filter space works together without duplicated computing: use cache decorater that re-defined in streamlit