NAME

Bio::Structure::Entry - Bioperl structure Object, describes the whole entry

SYNOPSIS

#add synopsis here

DESCRIPTION

This object stores a whole Bio::Structure entry. It can consist of one or more models (Bio::Structure::Model), which in turn consist of one or more chains (Bio::Structure::Chain). A chain is composed of residues (Bio::Structure::Residue) and a residue consists of atoms (Bio::Structure::Atom) If no specific model or chain is chosen, the first one is choosen.

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.

bioperl-l@bioperl.org             - General discussion
http://bio.perl.org/MailList.html - About the mailing lists

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 email or the web:

bioperl-bugs@bio.perl.org
http://bio.perl.org/bioperl-bugs/

AUTHOR - Kris Boulez

Email kris.boulez@algonomics.com

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new()

 Title   : new()
 Usage   : $struc = Bio::Structure::Entry->new( 
                                           -id  => 'structure_id',
                                           );

 Function: Returns a new Bio::Structure::Entry object from basic 
	constructors. Probably most called from Bio::Structure::IO.
 Returns : a new Bio::Structure::Model object

model()

Title   : model
Function: Connects a (or a list of) Model objects to a Bio::Structure::Entry.
	To add a Model (and keep the existing ones) use add_model()
	It returns a list of Model objects.
Returns : list of Bio::Structure::Model objects
Args    : One Model or a reference to an array of Model objects

add_model()

Title   : add_model
Usage   : $structure->add_model($model);
Function: Adds a (or a list of) Model objects to a Bio::Structure::Entry.
Returns : 
Args    : One Model or a reference to an array of Model objects

get_models()

Title   : get_models
Usage   : $structure->get_models($structure);
Function: general get method for models attached to an Entry
Returns : a list of models attached to this entry
Args    : an Entry

id()

Title   : id
Usage   : $entry->id("identity");
Function: Gets/sets the ID 
Returns : 
Args    : 

chain()

Title   : chain
Usage   : @chains  = $structure->chain($chain);
Function: Connects a (or a list of) Chain objects to a Bio::Structure::Entry.
Returns : list of Bio::Structure::Residue objects
Args    : One Residue or a reference to an array of Residue objects

add_chain()

Title   : add_chain
Usage   : @chains  = $structure->add_chain($add_chain);
Function: Adds a (or a list of) Chain objects to a Bio::Structure::Entry.
Returns : 
Args    : 

get_chains()

Title   : get_chains
Usage   : $entry->get_chains($model);
Function: general get method for chains attached to a Model
Returns : a list of chains attached to this model
Args    : a Model

residue()

Title   : residue
Usage   : @residues  = $structure->residue($residue);
Function: Connects a (or a list of) Residue objects to a Bio::Structure::Entry.
Returns : list of Bio::Structure::Residue objects
Args    : One Residue or a reference to an array of Residue objects

add_residue()

Title   : add_residue
Usage   : @residues  = $structure->add_residue($residue);
Function: Adds a (or a list of) Residue objects to a Bio::Structure::Entry.
Returns : list of Bio::Structure::Residue objects
Args    : One Residue or a reference to an array of Residue objects

get_residues()

Title   : get_residues
Usage   : $structure->get_residues($chain);
Function: general get method for residues attached to a Chain
Returns : a list of residues attached to this chain
Args    : a chain

add_atom()

Title   : add_atom
Usage   : @atoms  = $structure->add_atom($residue,$atom);
Function: Adds a (or a list of) Atom objects to a Bio::Structure::Residue.
Returns : list of Bio::Structure::Atom objects
Args    : a residue and an atom

get_atoms()

Title   : get_atoms
Usage   : $structure->get_atoms($residue);
Function: general get method for atoms attached to a Residue
Returns : a list of atoms attached to this residue
Args    : a residue

parent()

Title   : parent
Usage   : $structure->parent($residue);
Function: returns the parent of the argument
Returns : the parent of the argument
Args    : a Bio::Structure object

conect()

Title   : conect
Usage   : $structure->conect($source);
Function: get/set method for conect
Returns : a list of serial numbers for atoms connected to source
	(together with $entry->get_atom_by_serial($model, $serial) this should be OK for now)
Args    : the serial number for the source atom

get_all_conect_source()

Title   : get_all_conect_source
Usage   : @sources = $structure->get_all_conect_source;
Function: get all the sources for the conect records
Returns : a list of serial numbers for atoms connected to source
	(together with $entry->get_atom_by_serial($model, $serial) this should be OK for now)
Args    : 
Description : This is a bit of a kludge, but it's the best for now. Conect info might need
	to go in a sepearte object

master()

Title   : master
Usage   : $structure->master($source);
Function: get/set method for master
Returns : the master line
Args    : the master line for this entry

seqres()

 Title   : seqres
 Usage   : $seqobj = $structure->seqres("A");
 Function: gets a sequence object containing the sequence from the SEQRES record.
 	    if a chain-ID is given , the sequence for this chain is given, if none
	    is provided the first chain is choosen
 Returns : a Bio::PrimarySeq
 Args    : the chain-ID of the chain you want the sequence from

get_atom_by_serial()

Title   : get_atom_by_serial
Usage   : $structure->get_atom_by_serial($module, $serial);
Function: get the Atom for a  for get_atom_by_serial
Returns : the Atom object with this serial number in the model
Args    : Model on which to work, serial number for atom
	(if only a number is supplied, the first model is chosen)

annotation

Title   : annotation
Usage   : $obj->annotation($seq_obj)
Function:
Example :
Returns : value of annotation
Args    : newvalue (optional)

_remove_models()

Title   : _remove_models
Usage   : 
Function: Removes the models attached to an Entry. Tells the models they
	don't belong to this Entry any more
Returns : 
Args    : 

_create_default_model()

Title   : _create_default_model
Usage   : 
Function: Creates a default Model for this Entry. Typical situation
	in an X-ray structure where there is only one model
Returns : 
Args    : 

_create_default_chain()

Title   : _create_default_chain
Usage   : 
Function: Creates a default Chain for this Model. Typical situation
	in an X-ray structure where there is only one chain
Returns : 
Args    : 

_parent()

 Title   : _parent
 Usage   : This is an internal function only. It is used to have one 
 	place that keeps track of which object has which other object 
	as parent. Thus allowing the underlying modules (Atom, Residue,...)
	to have no knowledge about all this (and thus removing the possibility
	of reference cycles).
	This method hides the details of manipulating references to an anonymous
	hash.
 Function: To get/set an objects parent 
 Returns : a reference to the parent if it exist, undef otherwise. In the 
 	current implementation each node should have a parent (except Entry).
 Args    : 

_child()

 Title   : _child
 Usage   : This is an internal function only. It is used to have one 
 	place that keeps track of which object has which other object 
	as child. Thus allowing the underlying modules (Atom, Residue,...)
	to have no knowledge about all this (and thus removing the possibility
	to have no knowledge about all this (and thus removing the possibility
	of reference cycles).
	This method hides the details of manipulating references to an anonymous
	hash.
 Function: To get/set an object's child(ren) 
 Returns : a reference to an array of child(ren) if it exist, undef otherwise. 
 Args    : 

_remove_from_graph()

 Title   : _remove_from_graph
 Usage   : This is an internal function only. It is used to remove from
 	the parent/child graph. We only remove the links from object to
	his parent. Not the ones from object to its children.
 Function: To remove an object from the parent/child graph
 Returns : 
 Args    : the object to be orphaned