Skip to content

Simple visualisation tool for sequences' similarity in bioinformatics

License

Notifications You must be signed in to change notification settings

kn-bibs/dotplot

Repository files navigation

Dotplot

Build Status Code Climate Coverage Status

Idea

Dotplot is a plot used mainly in biology for graphical visualisations of sequences' similarity. Read more on Wikipedia.

Why to create a new package?

There are many programs that attempt to create dotplots already. Unfortunately most of these programs was created long time ago and written in old versions of Java. This Python3 package will allow new generations of bioinformaticians to generate dotplots much easier.

Installation & usage

Instalation with pip

The easiest way to install this package with all dependencis is to use pip:

pip install dotplot

Manual installation

git clone https://github.com/kn-bibs/dotplot

To use graphical user interface, you will need to have pyqt5 installed, e.g. with:

sudo apt-get install python3-pyqt5

To use matplotlib for drawing, you need to have it installed, e.g. with:

sudo pip3 install matplotlib

Note: If you have chosen manual installation, use python3 dotplot command to run the program (while in the dotplot directory) instead of sole dotplot.

Basic usage

dotplot --fasta 1.fa 2.fa

To use graphical user interface, type:

dotplot --fasta 1.fa 2.fa --gui

You can also fetch sequences from various sources (at once):

dotplot --gui --ncbi NP_001009852 --uniprot P03086

Advanced options

You can set window size to be used in plot creation:

dotplot --fasta 1.fa 2.fa --gui --window_size 2

Furthermore, you can combine it with stringency:

dotplot --fasta 1.fa 2.fa --gui --window_size 2 --stringency 2

And you can use a similarity matrix to compare aminoacids:

dotplot --fasta 1.fa 2.fa --gui --window_size 2 --stringency 2 --matrix PAM120

Getting help

To access list of available options run command above with added option -h.

What will it do?

In the future our application will be able to read a wide range of input formats, and users will be able to parametrize alignment process and output format to their liking.

Dependencies & development

We are writing in Python3 and strict on code styling, with pep8 and pylint validation. We require all code merging to master to have at least 7,5 pylint score. To check this, at first install pytlint with pip3 and then, run the following command: python3 -m pylint dotplot.py, where in place of dotplot.py use any name of the module to be tested.