Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Bio::Matrix::PSM::PsmIUser Contributed Perl DocumentaBio::Matrix::PSM::PsmI(3)

       Bio::Matrix::PSM::PsmI -	abstract interface to handler of site

	 use Bio::Matrix::PSM::IO;

	 # To get a Psm	object from a file use the Psm parser:
	 my $psmIO =  Bio::Matrix::PSM::IO->new(-format=>'meme', -file=>$file);

	 # Now go through all entities in the file with	next_psm, which
	 # returns a Psm object	see Bio::Matrix::PSM::IO for detailed
	 # documentation (matrix predictions or	matrix sequence	matches	or
	 # both):

	 while (my $psm=$psmIO->next_psm) {
	  my %psm_header=$psm->header;
	  my $ic=$psm_header{IC};
	  my $sites=$psm_header{sites};
	  my $width=$psm_header{width};
	  my $score=$psm_header{e_val};
	  my $IUPAC=$psm->IUPAC;
	  my $instances=$psm->instances;
	  foreach my $instance (@{$instances}) {
	    my $id=$instance->primary_id;
	    #Do	something with the id

	 # or create from memmory:
	 my $psm= Bio::Matrix::PSM::Psm->new( -pA=>\@pA,-pC=>\@pC,-pG=>\@pG,-pT=>\@pT,
					     -instances=>$instances, -e_val=>$e_val,
					     -IC=>$ic, -width=>$width, -sites=>$sites)

	 # where pA through pG are the respective frequencies of the matrix (see also
	 # Bio::Matrix::PSM::SiteMatrix), and everything else is self-explenatory,
	 # except for
	 #-instances (reference	to an array of Bio::Matrix::PSM::InstanceSite objects)
	 # which is documented below.

       Supposed	to handle a combination	of site	matrices and/or	their
       corresponding sequence matches (instances). This	object inherits	from
       Bio::Matrix::PSM::SiteMatrix, so	you can	use the	respective methods. It
       may hold	also an	array of Bio::Matrix::PSM::InstanceSite	object,	but
       you will	have to	retrieve these through
       Bio::Matrix::PSM::Psm->instances	method (see below). To some extent
       this is an expanded SiteMatrix object, holding data from	analysis that
       also deal with sequence matches of a particular matrix.

       This design is a	bit of a compromise, so	it might be a temporary
       solution	I am mixing PSM	with PSM sequence matches Though they are very
       closely related,	I am not satisfied by the way this is implemented
       here.  Heikki suggested different objects when one has something	like
       meme But	does this mean we have to write	a different objects for	mast,
       meme, transfac, theiresias, etc.?  To me	the best way is	to return
       SiteMatrix object + arrray of InstanceSite objects and then mast	will
       return undef for	SiteMatrix and transfac	will return undef for
       InstanceSite. Probably I	cannot see some	other design issues that might
       arise from such approach, but it	seems more straightforward.  Hilmar
       does not	like this because it is	an exception from the general BioPerl
       rules Should I leave this as an option?	Also the header	rightfully
       belongs the driver object, and could be retrieved as hashes.  I do not
       think it	can be done any	other way, unless we want to create even one
       more object with	very unclear content.

       Bio::Matrix::PSM::SiteMatrix, Bio::Matrix::PSM::IO::meme,
       Bio::Matrix::PSM::IO::transfac, Bio::Matrix::PSM::InstanceSite

   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.			- General discussion	- About	the mailing lists

       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

AUTHOR - Stefan	Kirov

       This software is	provided "as is" without warranty of any kind.

	Title	: new
	Usage	: my $psm= Bio::Matrix::PSM::Psm->new( -pA=>\@pA,-pC=>\@pC,-pG=>\@pG,
						      -IC=>$ic,	-width=>$width,
	Function: Creates a new	Bio::Matrix::PSM::Psm object
	Throws	:
	Example	:
	Returns	:  Bio::Matrix::PSM::Psm object
	Args	:  hash

	Title	: instances
	Usage	:   my @instances=@{$psm->instances};
	Function: Gets/sets the	instances (Bio::Matrix::PSM::InstanceSite objects)
		   associated with the Psm object
	Throws	:
	Example	:
	Returns	:  array reference (Bio::Matrix::PSM::InstanceSite objects)
	Args	:  array reference (Bio::Matrix::PSM::InstanceSite objects)

	Title	:  matrix
	Usage	:  my $matrix=$psm->matrix;
	Function:  Gets/sets the SiteMatrix related information
	Throws	:
	Example	:
	Returns	:  Bio::Matrix::PSM::SiteMatrix	objects
	Args	:  Bio::Matrix::PSM::SiteMatrix	objects

	Title	: header
	Usage	:  my %header=$psm->header;
		   my $ic=$psm->header('IC');
	Function: Gets the general information,	common for most	files, dealing
		  with PSM such	as information content (IC), score (e-value,
		  etc.), number	of sites (sites) and width. This list may
		  expand. The current list should be in
		  @Bio::Matrix::PSM::Psm::HEADER. Returns undef	if an argument
		  is supplied that is not in @Bio::Matrix::PSM::meme::HEADER.
	Throws	:
	Example	:
	Returns	:  hash	or string
	Args	:  string (IC, e_val...)

perl v5.32.0			  2019-12-07	     Bio::Matrix::PSM::PsmI(3)


Want to link to this manual page? Use this URL:

home | help