The bioperl-network or Bio::Network package parses and analyzes protein-protein interaction data provided by databases such as DIP, BIND, IntAct, HPRD, and MINT . It replaces the Bio::Graph* modules written by Nat Goodman and Richard Adams.
This package is based on Perl's Graph module and uses it to supply an underlying suite of graph algorithms. In theory any Graph method can be used to query or analyze a Bio::Network::ProteinNet object. The Bio::Network package is currently maintained by Brian Osborne.
The IO module is used to read a file and create a network. The formats that are currently supported are DIP and PSI MI 2.5. If you are parsing PSI MI read Module:Bio::Graph::IO::psi_xml first for notes on various databases and their PSI MI. You will read a file like this:
use Bio::Network::IO; my $io = Bio::Network::IO->new(-file => 'bovine.xml', -format => 'psi25' ); my $network = $io->next_network;
A node is one or more BioPerl sequence objects, a container for Bio::Seq or Bio::Seq::RichSeq object. Thus a node can represent a protein or a protein complex. The graph can contain any objects that implement Bio::AnnotatableI and Bio::IdentifiableI interfaces since these objects hold useful identifiers. This is relevant since the identity of nodes is determined by their identifiers.
The PSI MI files that can be downloaded from various interaction databases differ, some notes on these varieties of PSI MI can be found here.
The latest code
The latest code can be browsed and downloaded here:
You can download it by following the instructions on the Bioperl Git page, its name is bioperl-network.