/Plotly_BioVisualization

Plotly BioVisualization 🎯 Interactive Needle and Manhattan Plots & Alignment Viewer

Primary LanguagePythonMIT LicenseMIT

Plotly BioVisualization with Python

#️⃣ What is the purpose of this repo?

Tremendous advances in the field of biotechnology enable researchers and scientists to produce and obtain a diverse and huge amount of biological data. Therefore, there is a corresponding increase in the way of visualizing the biological data to represent information and science through art in a concise and meaningful way.

In this respect, Plotly has recently emerged and it can be used to create interactive charts and state-of-the-art graphs in a wide range of visualization applications including visualization of sequences, genomes, alignments, gene expressions.

So, I have wanted to learn how to use this library with Python, create some great charts and shared them.

#️⃣ How it looks like in general?

Plotly_BioVis_Gif

#️⃣ Requirements and Installation

  • Create a directory and download all files or clone the repository via Git using the following command:

    git clone https://github.com/furkanmtorun/Plotly_BioVisualization.git

  • Install the required packages if you do not already:

    pip install -r requirements.txt

  • Then, the turn to run it:

    python Plotly_BioVisualization.py

  • It's ready to use now! Open your web browser and go to:

    http://127.0.0.1:8050

If you did not install pip yet, please follow the instruction here.

In the development process, Python 3 has been used. The use of Python 2.x might cause compatibility issues.

#️⃣ How to create interactive graphs and charts?

  • #️⃣ Needle Plot

    • Purpose: It allows you to illustrate the mutations or other changes on the corresponding positions of amino acids within the protein sequence together with the protein domains.

    • Data structure: JSON / Dict = { x: [], y: [], domains: [], mutationGroups: [] }

      Needle Plot Data

    • Coding (just review the code, the comments are over there!):

      Needle Plot Code

    • How it looks like?: Needle Plot

  • #️⃣ Sequence/Alignment Viewer

    • Purpose: It allows you to visualize the genomics and transcriptomic sequence with several features such as coverage, gaps, consensus, and heatmap overview.

    • Data Structure: FASTA / Clustal Seq. Data

    • Coding (just review the code, the comments are over there!): Seq. Coding

    • How it looks like? Seq. Viewer

  • #️⃣ Manhattan Plot

    • Purpose: Manhattan Plot is a type of scatter plot and commonly used in genome-wide association studies (GWAS) to visualize display significant SNPs efficiently.

      The genome-wide significance threshold was set as 5e-8 and plotted with green line, and the most significant SNPs are colored in red.

    • Coding (just review the code, the comments are over there!): MP-Coding

    • How it looks like?

      MPlot

#️⃣ Sources & References

Thanks for all these resources!

#️⃣ Contributing & Feedback

I would be very happy to see any feedback and contributions on the repository.

I will keep continuing to append new interactive graphs and figures as much as I can.

Furkan Torun — furkanmtorun@gmail.com

Twitter: @furkanmtorun

Website: furkanmtorun.github.io

Academics: Google Scholar Profile