Systems virology: host-directed approaches to viral pathogenesis and drug targeting

Article summary Systems virology can identify gene expression signatures that are predictive of viral pathogenesis and vaccine efficacy, insights into how viruses disrupt cellular metabolism, and the mapping of virus–host interactomes. In these recent years, the field has progressed from genomics-based approaches to measurements of proteins and metabolites, and has also embraced the analysis of […]

My lab webpage is finally up and running!

I have spent my last week building my lab webpage, so that people can better understand what our lab is doing. The webpage is built with Zyro, and hosted at If interested to work with us, please do not hesitate to contact us! 🙂

How to use GSEApy for pathway enrichment analysis

We have used volcano plots, identified the differentially expressed genes (DEGs) and plotted in clustergrams to show the relative expression of these DEGs. The next logical step now will be to query the function of these DEGs. There are a myraid of web tools, such as Database for Annotation, Visualization and Integrated Discovery (DAVID), Ingenuity […]

Systems vaccinology publications compiled

This year, I was very interested in systems vaccinology, and have placed a lot of my efforts summarising various systems vaccinology papers which I found interesting. However, the current layout of my blog didn’t allow presentation of all these publications in a format that users can quickly access to them. I have thus compiled them […]

Python workflow for omics data analysis

Bioinformatic Python codes for volcano plot, DEG and heatmap analysis Thank you all for the great interest in my blog. For the year end, I have decided to compile the blog posts that I have made for this year so we can revise what we have learnt before starting the next year with new content. […]

Using Seaborn library to plot clustergrams

Unsupervised hierachical clustering can also allow direct visualisation of clusters without the need for dimensionality reduction. The full article can be found here. There are two common strategies to for data normalisation. One way is to plot the heatmap or clustergram based on log2 fold-change instead of absolute abundance. The comparisons can be performed against […]

Identifying differentially expressed genes with ipywidgets

Gene expression (or transcriptomics) profiling is the most common type of omics data. The identification of differentially expressed genes (DEGs) from transcriptomics data is critical to understanding the molecular driving forces or identifying the molecular biomarkers behind biological phenotypes. The full article on DEGs is fully summarised here. Since we need to find out the […]

Plotting volcano plots with Plotly

As mentioned previously, I have highlighted why volcano plots are so important in omics research. A full article summarising the main points and rationale are as described here. In this entry, we will explore how we can use Plotly to build volcano plots! We will analyse a transcriptomics dataset published by Zak et al., PNAS, 2012. […]

Building interactive dashboards with Streamlit (II) – Plotting pairplots and scatterplots for numeric variables

In my previous blog entry, I covered the basics of using Streamlit to inspect basic attributes of the dataframe, including numeric and categorical variables. In this blog entry, we will cover how we can use data visualisation tools in Streamlit for data dashboarding. The advantage of using Streamlit is that we can use Python graph […]

So you think you have finished analysing your data? Think again…

It’s a great sense of achievement to know that you have finished analysing your dataset. However, it is almost always a good habit to check through your data analysis and at times, even re-analyse the data in a different way to understand the data better and make the data analysis more outstanding. In this blog […]


Something went wrong. Please refresh the page and/or try again.

Follow My Blog

Get new content delivered directly to your inbox.