Do not use this module directly, use Bio::Network::IO:
my $io = Bio::Network::IO->new(-format => 'psi25', -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. This module parses version 2.5 of PSI MI.
The following databases provide their data as PSI MI XML:
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" whereas PSI MI from IntAct or MINT has the "xml" suffix.
Documentation for PSI XML can be found at http://www.psidev.info.
This module supports a subset of the fields described in PSI MI version 2.5. (http://www.psidev.info/index.php?q=node/60). The DATA IN THE NODE section below describes which fields are currently parsed into ProteinNet networks.
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.
The following are subclasses of interactor whose values are currently not accessible through the Node object.
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "protein".
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 NOT yet accessible through the Interaction object.
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "phosphorylation reaction".
Controlled vocabulary maintained by PSI MI http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=MI. Example: "two hybrid array".
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".
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.
email@example.com - General discussion http://bioperl.org/wiki/Mailing_lists - 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.
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:
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 : _addInteractor Purpose : Parses protein information into Bio::Seq::RichSeq objects Returns : Usage : Internally called by next_network() Arguments : None Notes : Interactors without organism data get their Bio::Species fields set to -1
Name : _addInteraction Purpose : Adds a new Interaction to a graph Usage : Do not call, called internally by next_network() Returns : Notes : All interactions are made of 2 nodes - if there are more or less than 2 then no Interaction object is created