Make A Dotplot From Blast Alignment
2
4
Entering edit mode
11.1 years ago
mogrob.sanit ▴ 60

Hi all,

I am a complete beginner with blast. I used the NCBI online service for aligning two sequences, and got a nice dotplot representation. Now I am running blast on my pc, and I would like to obtain such dot plot from the blast alignment output. I searched for a way to do that, but I did not found anything that made the work, so I do not know wether what I am trying to do makes sense or not. Can you give me a hint?

blast alignment • 15k views
ADD COMMENT
1
Entering edit mode
ADD REPLY
0
Entering edit mode

I have already tried the solutions descripted there, but I did not find anything that suits my need. I tought that it existed a standard way to do that.

ADD REPLY
0
Entering edit mode

What's special with your need ? As you mentioned it means that you want some thing to create a dot plot for your sequences !! Please try EMBOSS package. You can download it on local machine and can use it. It has several utilities which may suits your purpose.

ADD REPLY
0
Entering edit mode

I think you need to be more specific, and I doubt you tried all the options mentioned there. Most likely you didn't try hard enough. Now I have added the follwing link to the other question: http://emboss.sourceforge.net/apps/cvs/emboss/apps/alignment_dot_plots_group.html

ADD REPLY
0
Entering edit mode

Closing as duplicate of Is there any stand alone dot plot program? which is old but quite exhaustive and has been updated now.

ADD REPLY
1
Entering edit mode

Re-opened, because there is one tiny difference not covered in the old post: you want to use the blast output as the only source of input. However, it is questionable if that requested feature which makes the difference is justified, because normally dotplots do not require an alignment but are plotted directly from the two sequences. So, there is a difference but from a more informed perspective it doesn't make much sense to maintain it.

BLAST does local alignment and its output does not contain the full query and subject sequence, but the regions for each HSP. Therefore, strictly speaking, it is only possible to make a dotplot of the aligned regions and not of the full protein sequences with the blast output alone. To make a global dotplot of two aligned sequences, we need the query FASTA file and the database.

It should be easy to write a BioPerl script that extracts the full sequence pairs from query and database and runs a dotplot program to create a dotplot for each alignment. there are BioPerl-Run wrappers for the EMBOSS tools. I think it is best to write a little script. (http://search.cpan.org/~cjfields/BioPerl-Run-1.006900/lib/Bio/Tools/Run/EMBOSSApplication.pm)

ADD REPLY
0
Entering edit mode

Dear Pierre,

I am Sara, I also so beginner and this is my first semester in Bioinformatics, could you please tell me how you got a nice dot plot representation for two sequences? Thank you much

ADD REPLY
0
Entering edit mode

how you got a nice dot plot representation for two sequences

I used the command line described in my answer.

ADD REPLY
4
Entering edit mode
11.1 years ago

I quickly wrote a XSLT stylesheet to transform the XML ouput of blast to a very basic dotplot:(SVG+HTML) : https://github.com/lindenb/xslt-sandbox/blob/master/stylesheets/bio/ncbi/blast2dotplot.xsl

Usage:

xsltproc --novalid  blast2dotplot.xsl   blastn.xml  > dotplot.html
ADD COMMENT
2
Entering edit mode

This is exactly what I was looking for. I think that, despite very basic, it is a very useful piece of code (at least for understanding how that kind of things work). Thank you!

ADD REPLY
0
Entering edit mode
11 months ago
shelkmike ★ 1.4k

I've made a tool for this purpose, see https://github.com/shelkmike/Dot_plot_like_in_BLAST

ADD COMMENT

Login before adding your answer.

Traffic: 1908 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6