Author image Christopher Fields
and 1 contributors


Bio::Network::IO - Class for reading and writing biological network data.


This is a modules for reading and writing protein-protein interaction and creating networks from this data.

  # Read protein interaction data in some format
  my $io = Bio::Network::IO->new(-file => 'bovine.xml',
                                 -format => 'psi25' );
  my $network = $io->next_network;


This class is analagous to the SeqIO and AlignIO classes. To read in a file of a particular format, file and format are given as key/value pairs as arguments. The Bio::Network::IO checks that the appropriate module is available and loads it.

At present only the DIP tab-delimited format and PSI XML format are supported.


The main methods are:

$net = $io->next_network

The next_network method does not imply that multiple networks are contained in a file, this is to maintain a consistent nomenclature with Bioperl methods like $seqio->next_seq and $alnio->next_aln.




To read from PSI XML you will need the XML::Twig module, available from CPAN.


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.                  - General discussion  - 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.

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


Brian Osborne bosborne at Richard Adams


 Name       : new
 Usage      : $io = Bio::Network::IO->new(-file => 'myfile.xml', 
                                          -format => 'psi25');
 Returns    : A Bio::Network::IO stream initialised to the appropriate format.
 Args       : Named parameters: 
              -file      => $filename
              -format    => format
                                  -threshold => a confidence score for the interaction, optional
              -source    => optional database name (e.g. "intact")
              -verbose   => optional, set to 1 to get commentary


 Name       : next_network
 Usage      : $gr = $io->next_network
 Returns    : A Bio::Network::ProteinNet object.
 Args       : None


 Name       : write_network
 Usage      : $gr = $io->write_network($net).
 Args       : A Bio::Network::ProteinNet object.
 Returns    : None


 Name       : get or set a threshold
 Usage      : $io->threshold($val)
 Returns    : The threshold
 Args       : A number or none


 Name       : get or set verbosity
 Usage      : $io->verbose(1)
 Returns    : The verbosity setting
 Args       : 1 or none


 Title   : _load_format_module
 Usage   : INTERNAL Bio::Network::IO stuff
 Function: Loads up (like use) a module at run time on demand
 Returns :
 Args    :


 Title   : _initialize_io
 Usage   : *INTERNAL Bio::Network::IO stuff*
 Returns :
 Args    :


 Title   : _get_standard_name
 Usage   :
 Function: Returns some standard name for a database, uses global
 Returns :
 Args    :