
Bio::Network::IO::psi

Do not use this module directly, use Bio::Network::IO:
my $io = Bio::Network::IO->new(-format => 'psi',
-file => 'data.xml');
my $network = $io->next_network;

PSI MI (Protein Standards Initiative Molecular Interaction) XML is a format to describe protein-protein interactions and interaction networks.
The following databases provide their data as PSI MI XML:
BIND http://www.bind.ca DIP http://dip.doe-mbi.ucla.edu/ HPRD http://www.hprd.org IntAct http://www.ebi.ac.uk/intact MINT http://cbm.bio.uniroma2.it/mint/
Each of these databases will call PSI format by some different name. For example, PSI MI from DIP comes in files with the suffix "mif".
Documentation for PSI XML can be found at http://psidev.sourceforge.net.
This module supports PSI MI version 2.5, described at http://psidev.sourceforge.net/mi/rel25/.
See the Bio::Network::IO::psi_xml page in the Bioperl Wiki (http://bioperl.open-bio.org/wiki/Bio::Network::IO::psi_xml) for notes on PSI XML from various databases.
When using this parser recall that some PSI MI fields, or classes, are populated by values taken from an ontology created for the PSI MI format. This ontology is an OBO ontology and can be browsed at http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI.

The naming system is analagous to the SeqIO system, although usually next_network() will be called only once per file.

The Node (protein or protein complex) is roughly equivalent to the PSI MI interactor (entrySet/entry/interactorList/interactor). The following are subclasses of interactor whose values are accessible through the Node object.
Annotation::SimpleValue
Annotation::SimpleValue
Annotation::SimpleValue
Sequence object
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "protein".
OntologyTerm
Annotation::DBLink
Annotation::DBLink
Annotation::DBLink
Bio::Species object
Bio::Species object
Bio::Species object
Annotation::OntologyTerm
Annotation::OntologyTerm
Annotation::OntologyTerm

The Interaction object is roughly equivalent to the PSI MI interaction (entrySet/entry/interactionList/interaction) and experimentDescription (entrySet/entry/experimentList/experimentDescription). The following are subclasses of interaction and experimentDescription whose values are accessible through the Interaction object.
Annotation::DBLink
Annotation::DBLink
Bio::Species object
Bio::Species object
Bio::Species object
Annotation::SimpleValue
Annotation::SimpleValue
Annotation::SimpleValue
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "phosphorylation reaction".
OntologyTerm
Annotation::SimpleValue
Annotation::SimpleValue
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "two hybrid array".
Annotation::OntologyTerm
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. The featureType includes data on post-translational modification. Example: "phospho-histidine".
Annotation::OntologyTerm

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
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:
http://bugzilla.open-bio.org/

Richard Adams richard.adams@ed.ac.uk Brian Osborne bosborne at alum.mit.edu
Name : next_network Purpose : Constructs a protein interaction graph from PSI XML data Usage : my $net = $io->next_network() Arguments : Returns : A Bio::Network::ProteinNet object
Name : _proteinInteractor Purpose : Parses protein information into Bio::Seq::RichSeq objects Returns : Usage : Internally called by next_network() Arguments : None
Name : _addInteraction Purpose : Adds a new Interaction to a graph Usage : Do not call, called internally by next_network() Returns :