SYNOPSIS
use Bio::Tools::Run::Vista;
use Bio::Tools::Run::Alignment::Lagan;
use Bio::AlignIO;
my $sio = Bio::SeqIO->new(-file=>$ARGV[0],-format=>'genbank');
my @seq;
my $reference = $sio->next_seq;
push @seq, $reference;
while(my $seq = $sio->next_seq){
push @seq,$seq;
}
my @features = grep{$_->primary_tag eq 'CDS'} $reference->get_SeqFeatures;
my $lagan = Bio::Tools::Run::Alignment::Lagan->new;
my $aln = $lagan->mlagan(\@seq,'(fugu (mouse human))');
my $vis = Bio::Tools::Run::Vista->new('outfile'=>"outfile.pdf",
'title' => "My Vista Plot",
'annotation'=>\@features,
'annotation_format'=>'GFF',
'min_perc_id'=>75,
'min_length'=>100,
'plotmin' => 50,
'tickdist' => 2000,
'window'=>40,
'numwindows'=>4,
'start'=>50,
'end'=>1500,
'tickdist'=>100,
'bases'=>1000,
'java_param'=>"-Xmx128m",
'num_pages'=>1,
'color'=> {'EXON'=>'100 0 0',
'CNS'=>'0 0 100'},
'quiet'=>1);
my $referenceid= 'human';
$vis->run($aln,$referenceid);
#alternative one can choose pairwise alignments to plot
#where the second id in each pair is the reference sequence
$vis->run($aln,([mouse,human],[fugu,human],[mouse,fugu]));
DESCRIPTION
Pls see Vista documentation for plotfile optionsWrapper for Vista :
C. Mayor, M. Brudno, J. R. Schwartz, A. Poliakov, E. M. Rubin, K. A. Frazer, L. S. Pachter, I. Dubchak. VISTA: Visualizing global DNA sequence alignments of arbitrary length. Bioinformatics, 2000 Nov;16(11):1046-1047. Get it here: http://www-gsd.lbl.gov/vista/VISTAdownload2.html
On the command line, it is assumed that this can be executed:
java Vista plotfile
Some of the code was adapted from MLAGAN toolkit
M. Brudno, C.B. Do, G. Cooper, M.F. Kim, E. Davydov, NISC Sequencing Consortium, E.D. Green, A. Sidow and S. Batzoglou LAGAN and Multi-LAGAN: Efficient Tools for Large-Scale Multiple Alignment of Genomic DNA, Genome Research, in press
get lagan here:
FEEDBACK
Mailing Lists
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.
[email protected] - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support
Please direct usage questions or support issues to the mailing list:rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
http://redmine.open-bio.org/projects/bioperl/
AUTHOR
Shawn Hoon Email [email protected]APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _new
Title : new Usage : my $vis = Bio::Tools::Run::Vista->new('outfile'=>$out, 'title' => "My Vista Plot", 'annotation'=>\@features, 'annotation_format'=>'GFF', 'min_perc_id'=>75, 'min_length'=>100, 'plotmin' => 50, 'tickdist' => 2000, 'window'=>40, 'numwindows'=>4, 'start'=>50, 'end'=>1500, 'tickdist'=>100, 'bases'=>1000, 'color'=> {'EXON'=>'100 0 0', 'CNS'=>'0 0 100'}, 'quiet'=>1); Function: Construtor for Vista wrapper Args : outfile - location of the pdf generated annotation - either a file or and array ref of Bio::SeqFeatureI indicating the exons regmin -region min
java
Title : java Usage : $obj->java('/usr/opt/java130/bin/java'); Function: Get/set method for the location of java VM Args : File path (optional)
run
Title : run Usage : my @genes = $self->run($seq) Function: runs Vista Returns : A boolean 1 if no errors Args : Argument 1: Bio::Align::Align required Argument 2: a string or number, which is the sequence id of the reference sequence or the rank of the sequence in the alignment
_setinput
Title : _setinput Usage : Internal function, not to be called directly Function: writes input sequence to file and return the file name Example : Returns : string Args :
outfile
Title : outfile Usage : $obj->outfile Function : Get/Set method outfile Args :
min_perc_id
Title : min_perc_id Usage : $obj->min_perc_id Function : Get/Set method min_perc_id Args :
quiet
Title : quiet Usage : $obj->quiet Function : Get/Set method quiet Args :
verbose
Title : verbose Usage : $obj->verbose Function : Get/Set method verbose Args :
annotation_format
Title : annotation_format Usage : $obj->annotation_format Function : Get/Set method annotation_format Args :
region_file
Title : region_file Usage : $obj->region_file Function : Get/Set method region_file Args :
score_file
Title : score_file Usage : $obj->score_file Function : Get/Set method score_file Args :
alignment_file
Title : alignment_file Usage : $obj->alignment_file Function : Get/Set method alignment_file Args :
contigs_file
Title : contigs_file Usage : $obj->contigs_file Function : Get/Set method contigs_file Args :
diffs
Title : diffs Usage : $obj->diffs Function : Get/Set method diffs Args :
plotfile
Title : plotfile Usage : $obj->plotfile Function : Get/Set method plotfile Args :
min_length
Title : min_length Usage : $obj->min_length Function : Get/Set method min_length Args :
plotmin
Title : plotmin Usage : $obj->plotmin Function : Get/Set method plotmin Args :
annotation
Title : annotation Usage : $obj->annotation Function : Get/Set method annotation Args :
bases
Title : bases Usage : $obj->bases Function : Get/Set method bases Args :
tickdist
Title : tickdist Usage : $obj->tickdist Function : Get/Set method tickdist Args :
resolution
Title : resolution Usage : $obj->resolution Function : Get/Set method resolution Args :
title
Title : title Usage : $obj->title Function : Get/Set method title Args :
window
Title : window Usage : $obj->window Function : Get/Set method window Args :
numwindows
Title : numwindows Usage : $obj->numwindows Function : Get/Set method numwindows Args :
start
Title : start Usage : $obj->start Function : Get/Set method start Args :
end
Title : end Usage : $obj->end Function : Get/Set method end Args :
num_plot_lines
Title : num_plot_lines Usage : $obj->num_plot_lines Function : Get/Set method num_plot_lines Args :
legend
Title : legend Usage : $obj->legend Function : Get/Set method legend Args :
filename
Title : filename Usage : $obj->filename Function : Get/Set method filename Args :
axis_label
Title : axis_label Usage : $obj->axis_label Function : Get/Set method axis_label Args :
ticks_file
Title : ticks_file Usage : $obj->ticks_file Function : Get/Set method ticks_file Args :
color
Title : color Usage : $obj->color Function : Get/Set method color Args :
use_order
Title : use_order Usage : $obj->use_order Function : Get/Set method use_order Args :
gaps
Title : gaps Usage : $obj->gaps Function : Get/Set method gaps Args :
snps_file
Title : snps_file Usage : $obj->snps_file Function : Get/Set method snps_file Args :
repeats_file
Title : repeats_file Usage : $obj->repeats_file Function : Get/Set method repeats_file Args :
filter_repeats
Title : filter_repeats Usage : $obj->filter_repeats Function : Get/Set method filter_repeats Args :