The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

PrimerMap - generates a primer sequence graphical map

SYNOPSIS

 use PrimerMap;
 use Data::Dumper;
 
 my $start  = "12,24,28,32,824,888,902";
 my $end    = "40,59,48,50,801,848,880";
 my $output = "myGene.png";
 
 # can also collect primer coordinates from a text file 
 # my $inFile = "primermap_file.txt";
 # $tmp->read_file($inFile);
 
 my $tmp = PrimerMap->new();
 $tmp->load_map(
    primer_start => $start,
    primer_end   => $end,
    seq_length   => "1200",
    gene_name    => "myGene",
    out_file     => $output || "output.png"
 );

 # take a look at the object 
 print Dumper($tmp);

 # print the primer map
 $tmp->primer_map();
 print "\n\n";

 # getters and setters can be used as follows:
 my $set_start = $tmp->set_start("22,24,2226");
 print $set_start. "\n\n";

 my $get_start = $tmp->get_start();
 print $get_start. "\n\n";

 my $set_end = $tmp->set_end("52,64,2202");
 print $set_end. "\n\n";

 my $get_end = $tmp->get_end();
 print $get_end. "\n\n";

 my $set_length = $tmp->set_length(2500);
 print $set_length. "\n\n";

 my $get_length = $tmp->get_length();
 print $get_length. "\n\n";

 my $set_id = $tmp->set_ID("myNewGeneName");
 print $set_id. "\n\n";

 my $get_id = $tmp->get_ID();
 print $get_id. "\n\n";

 my $set_file = $tmp->set_outfile("myOutPutFile.png");
 print $set_file. "\n\n";

 my $get_file = $tmp->get_outfile();
 print $get_file. "\n\n";

 # see the newly set object
 print Dumper($tmp);

 # see the newly set primer map
 $tmp->primer_map();
 print "\n\n";

DESCRIPTION

This object extends the Bio::SeqFeature::Generic class to provide an object for Bio::Graphics. Uses primer starting and ending coordinates (base pairs) to generate a primer map relative to a base sequence.

FEEDBACK

damienoh@gwu.edu

Mailing Lists

User feedback is an integral part of the evolution of this module. Send your comments and suggestions preferably to one of the mailing lists. Your participation is much appreciated.

Support

Please direct usage questions or support issues to: <damienoh@gwu.edu> Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the GitHub bug tracking system to help keep track of the bugs and their resolution. Bug reports can be submitted via the GitHub page:

 https://github.com/dohalloran/Bio-SeqFeature-Generic-Ext-PrimerMap/issues
  

AUTHORS - Damien OHalloran

Email: damienoh@gwu.edu

APPENDIX

The rest of the documentation details each of the object methods.

read_file()

 Title   : read_file()
 Usage   : my $tmp->read_file($inFile);
 Function: get data for $self hash from a file
 Returns : Populates the $self->{start} and $self->{end} properties
 Args    : $filename, a texfile that contains input data of primer 
 starting and ending features as base pairs e.g.: 
 12,24,28,32,824,888,902
 40,59,48,50,801,848,880
 note: the starting positions is the first line

load_map()

 Title   : load_map()
 Usage   : my $tmp->load_map(
            primer_start => $start, #don't include if loading file
            primer_end   => $end, #don't include if loading file
            seq_length   => "1200",
            gene_name    => "myGene",
            out_file     => $output || "output.png"
            );
 Function: Populates the user data into $self hash
 Returns : nothing returned
 Args    : 
 -primer_start, a csv string of starting base pairs for primers
 -primer_end, a csv string of final base pairs for primers
 -seq_length, the length in base pairs of the gene sequence
 -gene_name, the ID to give to the gene (optional)
 -out_file, name of the resulting graphical output file (optional)

get_start()

 Title   : get_start()
 Usage   : my $get_start = $tmp->get_start();
 Function: Retrieves the primer starting features
 Returns : A string containing primer start features
 Args    : none

set_start()

 Title   : set_start()
 Usage   : my $set_start = $tmp->set_start("22,24,2226");
 Function: Populates the $self->{start} property
 Returns : $self->{start}
 Args    : a csv string of starting base pairs for primers

get_end()

 Title   : get_end()
 Usage   : my $get_end = $tmp->get_end();
 Function: Retrieves the primer ending features
 Returns : A string containing primer end features
 Args    : none

set_end()

 Title   : set_end()
 Usage   : my $set_end = $tmp->set_end("52,64,2202");
 Function: Populates the $self->{end} property
 Returns : $self->{end}
 Args    : a csv string of ending base pairs for primers

get_ID()

 Title   : get_ID()
 Usage   : my $get_ID = $tmp->get_ID();
 Function: Retrieves the gene name
 Returns : A string containing gene name 
 Args    : none

set_ID()

 Title   : set_ID()
 Usage   : my $set_id = $tmp->set_ID("myNewGeneName");
 Function: Populates the $self->{seq_id} property
 Returns : $self->{seq_id}
 Args    : the ID to give to the gene

get_outfile()

 Title   : get_outfile()
 Usage   : my $get_outfile = $tmp->get_outfile();
 Function: Retrieves the output filename
 Returns : A string containing filename
 Args    : none

set_outfile()

 Title   : set_outfile()
 Usage   : my $set_output = $tmp->set_outfile("myOutPutFile.txt");
 Function: Populates the $self->{out_file} property
 Returns : $self->{out_file}
 Args    : name of the resulting graphical output file

get_length()

 Title   : get_length()
 Usage   : my $get_length = $tmp->get_length();
 Function: Retrieves the sequence length in base pairs
 Returns : Gene length
 Args    : none

set_length()

 Title   : set_length()
 Usage   : my $set_length = $tmp->set_length(2500);
 Function: Populates the $self->{seq_len} property
 Returns : $self->{seq_len}
 Args    : length of gene

primer_map()

 Title   : primer_map()
 Usage   : my $tmp->primer_map();
 Function: Populate the panels for Bio::Graphics::Panel and Bio::SeqFeature::Generic
 Returns : A graphical files containing primer sequence map
 Args    : all collected from the Bio::SeqFeature::Generic constructor

LICENSE AND COPYRIGHT

 Copyright (C) 2016 Damien M. O'Halloran
 GNU GENERAL PUBLIC LICENSE
 Version 2, June 1991