Bio::Structure Residue
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvs
Summary
Bio::Structure::Residue - Bioperl structure Object, describes a Residue
Package variables
No package variables defined.
Included modules
Bio::Structure::Atom
Bio::Structure::Chain
Inherit
Bio::Root::Root
Synopsis
  #add synopsis here
Description
This object stores a Bio::Structure::Residue
Methods
newDescriptionCode
atomDescriptionCode
add_atomDescriptionCode
chainDescriptionCode
idDescriptionCode
DESTROYDescriptionCode
_remove_atomsDescriptionCode
_remove_chainDescriptionCode
_grandparentDescriptionCode
Methods description
new()code    nextTop
 Title   : new()
Usage : $residue = Bio::Structure::Residue->new(
-id => 'human_id',
);
Function: Returns a new Bio::Structure::Residue object from basic constructors. Probably most called from Bio::Structure::IO. Returns : a new Bio::Structure::Residue object
atom()codeprevnextTop
 Title   : atom 
Usage :
Function: nothing useful untill I get symbolic references to do what I want
Returns :
Args :
add_atom()codeprevnextTop
 Title   : add_atom
Usage :
Function: nothing useful untill I get symbolic references to do what I want
Returns :
Args :
chain()codeprevnextTop
 Title   : chain
Usage : $chain = $residue->chain($chain)
Function: Sets the Chain this Residue belongs to
Returns : Returns the Chain this Residue belongs to
Args : reference to a Chain
id()codeprevnextTop
 Title   : id
Usage : $residue->id("TRP-35")
Function: Gets/sets the ID for this residue
Returns : the ID
Args : the ID
DESTROY()codeprevnextTop
 Title   : DESTROY
Usage :
Function: destructor ( get rid of circular references )
Returns :
Args :
_remove_atoms()codeprevnextTop
 Title   : _remove_atoms
Usage :
Function: Removes the atoms attached to a Residue. Tells the atoms they
don't belong to this Residue any more
Returns :
Args :
_remove_chain()codeprevnextTop
 Title   : _remove_chain
Usage :
Function: Removes the Chain this Residue is atttached to.
Returns :
Args :
_grandparent()codeprevnextTop
 Title   : _grandparent
Usage :
Function: get/set a symbolic reference to our grandparent
Returns :
Args :
Methods code
newdescriptionprevnextTop
sub new {
    my ($class, @args) = @_;
    my $self = $class->SUPER::new(@args);

    my($id, $atom ) =
        $self->_rearrange([qw(
			      ID
			      ATOM
                              )],
                          @args);

    $id      && $self->id($id);

    $self->{'atom'} = [];

    # the 'smallest' (and only) item that can be added to a residue is an atom 
$atom && $self->throw("add atoms via an Entry object entry->add_atom(residue,atom)\n"); return $self;
}
atomdescriptionprevnextTop
sub atom {
	my ($self,$value) = @_;

	$self->throw("no code down here, go see an Entry object nearby\n");
}
add_atomdescriptionprevnextTop
sub add_atom {
	my($self,$value) = @_;

	$self->throw("nothing here, use a method on an Entry object\n");
}
chaindescriptionprevnextTop
sub chain {
	my($self, $value) = @_;

	$self->throw("use an Entry based method please\n");
}
iddescriptionprevnextTop
sub id {
        my ($self, $value) = @_;;
        if (defined $value) {
	        $self->{'id'} = $value;
        }
        return $self->{'id'};
}
DESTROYdescriptionprevnextTop
sub DESTROY {
	my $self = shift;

	# no specific destruction for now
} #
# from here on only private methods
#
}
_remove_atomsdescriptionprevnextTop
sub _remove_atoms {
	my ($self) = shift;

	$self->throw("no code here\n");
}
_remove_chaindescriptionprevnextTop
sub _remove_chain {
	my ($self) = shift;

	$self->{'chain'} = undef;
}
_grandparentdescriptionprevnextTop
sub _grandparent {
	my($self,$symref) = @_;

	if (ref($symref)) {
		$self->throw("Thou shall only pass strings in here, no references $symref\n");
	}
	if (defined $symref) {
		$self->{'grandparent'} = $symref;
	}
	return $self->{'grandparent'};
}

1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
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.
  bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support Top
Please direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
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 BugsTop
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:
  https://redmine.open-bio.org/projects/bioperl/
AUTHOR - Kris BoulezTop
Email kris.boulez@algonomics.com
APPENDIXTop
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _