Using nxviz to create alluring and informative circos plots

Protein interaction network visualized using nxviz. Image by author.

Humans are great at interpreting graphic displays of data. We can identify patterns in visual displays quickly and easily as compared to tabular displays. There are many reasons for this, e.g., about 30% of the cortex contains neurons dedicated to visual processing. This is why data visualization is extremely important for both understanding and communicating information. In a previous post, I described how NetworkX can be used to build informative and attractive graphic displays of protein network data. Here, I will show how the same data can be displayed as a Circos-style, chord diagram using nxviz.

Chord diagrams are circular…

From data to beautiful graphs with NetworkX

Minimum spanning tree for protein network containing TPH1 and SERT proteins. Image by Author

Protein interaction data is incredibly important. It describes the interplay between the biomolecules encoded by genes. It allows us to understand the complexities of cellular function and even predict potential therapeutics. There are many databases that contain protein interaction data, but STRING is one of the best. It contains 3,123,056,667 total interactions at the moment of this writing. These interactions involve over 20,000,000 proteins in over 5,000 organisms, combining to form. …

How I used Dash to make the chart I wanted to see

News about COVID-19 spikes and surges are all over the internet and data is readily available. The CDC, USAFacts, Worldometer, and others all have great data visualizations, but sometimes they don’t have exactly what you are looking for. I wanted to see a line graph of COVID-19 cases for each state, so I made it myself using Dash. In this article, I’ll walk through the process of building and deploying a Dash app and you can check out my app here.

Choose individual states to add their data to the chart


Dash is an easy-to-use web application framework. It allows you to write simple programs in Python that generate beautiful…

Creating music from protein sequences generated by an RNN

Image created by author with NN SVG

In two previous articles, I demonstrated how to convert proteins into music. The first article explained how the molecular vibrations of individual amino acids, the molecules that make up proteins, can be turned into musical notes. The second article introduced harmony and rhythm; the amino acid neighbors in the protein structure can be played together to produce chords and the secondary structure classification of an amino acid can determine its note length. …

Proteins can be turned into music by converting their molecular vibrations into sound waves. I have presented a simple Python implementation that takes a sequence of amino acids and produces a melody, but music can be more than just melody. The paper which inspired this research presented a method of protein sonification that produces rhythmic, melodic music. This article shows how to extend that method to include harmonies.

Melody and Harmony

The combination of sound waves at different frequencies produces harmonies.

A simple definition of melody is a succession of notes that are perceived as one musical line. Examples of melodies were produced in the first part of this series

Sonification is the conversion of information into non-speech audio. The classic example is the Geiger counter, which produces a clicking sound whose rate indicates the level of ionizing radiation present. This technique can be applied to pretty much any type of information and a fascinating application was presented in a paper published in June of 2019. It describes a method to convert proteins into music. This conversion is not purely for the sake of art, though. The music is fed into an RNN which can be used to generate new musical sequences. If proteins of a specific quality are sonified…

How to build a support vector machine using the Pegasos algorithm for stochastic gradient descent.

All of the code can be found here:

1 What are SVMs?

SVMs date back to the early 1960s when Vladimir Vapnik introduced the Generalized Portrait Algorithm (GPA) while working on pattern recognition [1,2]. Over the ensuing years kernels, large margin hyperplanes, and slack variables were developed and some site 1979 as the birth of SVMs with Vapnik’s paper on statistical learning [3]. But what exactly is an SVM?

Formally, an SVM consists of a maximally separating hyperplane that can be used to classify data. While SVMs can…

Ford Combs

PhD Student in Bioinformatics and Computational Biology | Machine Learning and Artificial Intelligence Enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store