Bio::Structure Residue
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Summary
Bio::Structure::Residue - Bioperl structure Object, describes a Residue
Package variables
No package variables defined.
Included modules
Bio::Root::Root
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 usefull untill I get symbolic references to do what I want
 Returns : 
 Args    :
add_atom()codeprevnextTop
 Title   : add_atom
 Usage   : 
 Function:  nothing usefull 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
}
_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'};
}
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://bio.perl.org/MailList.html - About the mailing lists
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 email
or the web:
  bioperl-bugs@bio.perl.org
  http://bio.perl.org/bioperl-bugs/
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 _