[Bio] / RecoElemSBW / SbwFactory.hh Repository:
ViewVC logotype

View of /RecoElemSBW/SbwFactory.hh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (download) (as text) (annotate)
Mon Sep 22 20:12:04 2003 UTC (16 years, 2 months ago) by efrank
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +11 -1 lines
dumptoSbml
	give it a RecoId and it dumps SBML

SbmlFactory:
	put in int() for stoich conversions.  may not be right.

SbwFactory:
  	support writing SBML.
	put in int() for stoich conversions.  may not be right

#ifndef _SBWFACTORY_H
#define _SBWFACTORY_H
//***********************************************************************
// Reconstruction Readout Interface via SBW.
//
// Description:
//
//    Connects to SBW server to obtain RecoElem hierarchy & reactions.
//
//
// Author List:
//    Ed Frank, efrank@mcs.anl.gov
//
// History:
//    07 Juoy 03  efrank, hwang        First Version
// 
// 
//***********************************************************************

#include <string>
#include <vector>
#include <string>

#include "SBW.h"      //should be replaceable with fwd declare but dosn't work?
#include "sbml/SBMLReader.h"
#include "sbml/SBMLTypes.h"

using namespace SystemsBiologyWorkbench;

class RecoElem;
class Reaction;

class SbwFactory {
public:
  SbwFactory( );
  virtual ~SbwFactory() {}

  // This actually reads the whole tree starting at the specified location.

  RecoElem*        getRecoElemById( unsigned int procId);
  RecoElem*        getRecoElemFromSbmlFile( const char* filename );
  RecoElem*        getRecoElemFromSbmlFile( const std::string& filename );

  void             writeSbmlFile( RecoElem& re, const char* filename);
  void             buildSbmlModelFromRecoElem( Model_t* d, RecoElem& re);

private:
  RecoElem*        sbwToRecoElem( DataBlockReader& r );
  void             unpackRx( DataBlockReader& rIn, vector<Reaction>& rxns );

  RecoElem*        SBMLtoRecoElem(Model_t* m); 
  void             inreaction(Model_t* theModel, Reaction_t* r, vector<Reaction>& rxns);
  void             getReactionModifier(Reaction_t* r,
				       vector<string>& enzymeList );
  void             buildSpeciesMap( map<string, Species_t*>& specesMap,
				    set<string>& names );
  void             addInOuts( const vector<string>&    names,
			      const vector<int>&       stoich,
			      Model_t*                 model,
			      map<string, Species_t*>& speciesMap,
			      SpeciesReference_t* (*createFn)(Model_t*) );
  void             addModifiers( const vector<string>&    names,
				 Model_t*                 model,
				 map<string, Species_t*>& speciesMap);
};

#endif /*  _BSSFACTORY_H */

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3