package componentlibrary; import java.util.TreeMap; import tools.CellMLLoader; import tools.CellMLReader; import tools.CellMLWriter; import cellml_api.CellMLComponent; import cellml_api.CellMLElement; import cellml_api.Model; import cellml_api.Units; import cellml_api.UnitsIterator; import cellml_api.UnitsSet; /* Generates a compact library from the single components and units * for reuse. * This is the file which is ultimately imported. */ public class LibraryGenerator { //private static final String LIBRARY_FILE="C:/Users/mkoenig/Desktop/CellML/models/MetabolicLibraryCellML/MetabolicComponentLibrary-v0.1.cellml"; private static final String LIBRARY_FILE="MetabolicComponentLibrary-v0.1.cellml"; /* Collects all units and basic components in one CellML file. */ public static void generateCompactLibraryFile(TreeMap rccMap){ CellMLLoader cLoader = new CellMLLoader(); Model lib_model = CellMLReader.createModel(cLoader.getCellMLBootstrap(), "1.1"); lib_model.setName("MetabolicComponentLibrary" ); // Get the kinetics components (library components & respective units) for (String key: rccMap.keySet()){ RCellMLComponent rcc = rccMap.get(key); Model model = rcc.getModel(); // Copy the units UnitsSet unitsSet = model.getAllUnits(); UnitsIterator iter = unitsSet.iterateUnits(); for (int i=0; i cMap = RComponentImporter.readComponentsFromCSV(); TreeMap rccMap = RCellMLComponent.generateRCellMLComponents(cMap); LibraryGenerator.generateCompactLibraryFile(rccMap); } }