Flatten works
This commit is contained in:
parent
1c24b1edc5
commit
8cffc3062b
3 changed files with 86 additions and 32 deletions
|
|
@ -19,9 +19,11 @@ import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import javax.xml.stream.XMLStreamException;
|
import javax.xml.stream.XMLStreamException;
|
||||||
|
|
||||||
|
import org.sbml.jsbml.Model;
|
||||||
import org.sbml.jsbml.SBMLDocument;
|
import org.sbml.jsbml.SBMLDocument;
|
||||||
import org.sbml.jsbml.SBMLException;
|
import org.sbml.jsbml.SBMLException;
|
||||||
import org.sbml.jsbml.SBMLWriter;
|
import org.sbml.jsbml.SBMLWriter;
|
||||||
|
|
@ -432,20 +434,71 @@ public class Converter {
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
inputSBMLDoc = SBMLutilities.readSBML(fullInputFileName, null, null);
|
|
||||||
/*
|
/*
|
||||||
File path = new File(fullInputFileName);
|
org.sbml.libsbml.SBMLReader reader = new org.sbml.libsbml.SBMLReader();
|
||||||
BioObservable p = null;
|
org.sbml.libsbml.SBMLDocument document = reader.readSBML(fullInputFileName);
|
||||||
BioModel bioModel = BioModel.createBioModel(path.getParent(), p);
|
document.setPackageRequired("comp", true);
|
||||||
bioModel.load(fullInputFileName);
|
org.sbml.libsbml.CompModelPlugin sbmlCompModel = (org.sbml.libsbml.CompModelPlugin) document.getModel().getPlugin("comp");
|
||||||
|
long numSubModels = sbmlCompModel.getNumSubmodels();
|
||||||
|
System.err.println(numSubModels);
|
||||||
|
*/
|
||||||
|
|
||||||
|
inputSBMLDoc = SBMLutilities.readSBML(fullInputFileName, null, null);
|
||||||
|
//SBML2PRISM.convertSBML2PRISM(inputSBMLDoc, fullInputFileName, PrismUnbound);
|
||||||
|
|
||||||
|
File path = new File(fullInputFileName);
|
||||||
|
BioModel bioModel = new BioModel(path.getParent());
|
||||||
|
bioModel.load(fullInputFileName);
|
||||||
|
bioModel.createCompPlugin();
|
||||||
|
System.err.println(bioModel.getListOfSubmodels());
|
||||||
|
|
||||||
|
if(bioModel.getListOfSubmodels().isEmpty())
|
||||||
|
{
|
||||||
|
SBML2PRISM.convertSBML2PRISM(inputSBMLDoc, fullInputFileName, PrismUnbound);
|
||||||
|
}else {
|
||||||
|
if (bioModel.flattenModel(true) != null) {
|
||||||
|
SBMLDocument sbml = bioModel.flattenModel(true);
|
||||||
|
SBML2PRISM.convertSBML2PRISM(sbml, fullInputFileName, PrismUnbound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (bioModel.flattenModel(true) != null) {
|
if (bioModel.flattenModel(true) != null) {
|
||||||
SBMLDocument sbml = bioModel.flattenModel(true);
|
SBMLDocument sbml = bioModel.flattenModel(true);
|
||||||
|
//SBMLDocument sbml = bioModel.getSBMLDocument();
|
||||||
|
//System.err.println(inputSBMLDoc.equals(inputSBMLDoc));
|
||||||
|
//System.err.println(sbml.equals(sbml));
|
||||||
|
//System.err.println(sbml.equals(sbml));
|
||||||
SBML2PRISM.convertSBML2PRISM(sbml, fullInputFileName, PrismUnbound);
|
SBML2PRISM.convertSBML2PRISM(sbml, fullInputFileName, PrismUnbound);
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SBML2PRISM.convertSBML2PRISM(inputSBMLDoc, fullInputFileName, PrismUnbound);
|
|
||||||
|
/*
|
||||||
|
File path = new File(fullInputFileName);
|
||||||
|
// BioObservable p = null;
|
||||||
|
// BioModel bioModel = BioModel.createBioModel(path.getParent(), p);
|
||||||
|
BioModel bioModel = new BioModel(path.getParent());
|
||||||
|
bioModel.load(fullInputFileName);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (bioModel.flattenModel(true) != null) {
|
||||||
|
//SBMLDocument sbml = bioModel.flattenModel(true);
|
||||||
|
SBMLDocument sbml = bioModel.getSBMLDocument();
|
||||||
|
//System.err.println(inputSBMLDoc.equals(inputSBMLDoc));
|
||||||
|
//System.err.println(sbml.equals(sbml));
|
||||||
|
//System.err.println(sbml.equals(sbml));
|
||||||
|
//SBML2PRISM.convertSBML2PRISM(sbml, fullInputFileName, PrismUnbound);
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (XMLStreamException e)
|
catch (XMLStreamException e)
|
||||||
|
|
@ -574,9 +627,9 @@ public class Converter {
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
ModuleDefinition topModuleDef = sbolDoc.getModuleDefinition(URI.create(topLevelURIStr));
|
ModuleDefinition topModuleDef = sbolDoc.getModuleDefinition(URI.create(topLevelURIStr));
|
||||||
HashMap<String,BioModel> models = SBOL2SBML.generateModel(outputDir, topModuleDef, sbolDoc, CelloModel);
|
HashMap<String,BioModel> models = SBOL2SBML.generateModel(outputDir, topModuleDef, sbolDoc, CelloModel);
|
||||||
SBMLutilities.exportSBMLModels(models, outputDir, outputFileName, noOutput, sbmlOut, singleSBMLOutput);
|
SBMLutilities.exportSBMLModels(models, outputDir, outputFileName, noOutput, sbmlOut, singleSBMLOutput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -607,7 +660,7 @@ public class Converter {
|
||||||
topModel.getModel().setId(topModelId);
|
topModel.getModel().setId(topModelId);
|
||||||
SBMLWriter writer = new SBMLWriter();
|
SBMLWriter writer = new SBMLWriter();
|
||||||
try {
|
try {
|
||||||
//SBMLutilities.removeUnusedNamespaces(sbml);
|
//SBMLutilities.removeUnusedNamespaces(sbml);
|
||||||
writer.writeSBMLToFile(topModel, outputDir + File.separator + topModelId + ".xml");
|
writer.writeSBMLToFile(topModel, outputDir + File.separator + topModelId + ".xml");
|
||||||
}
|
}
|
||||||
catch (SBMLException e) {
|
catch (SBMLException e) {
|
||||||
|
|
|
||||||
|
|
@ -6399,7 +6399,7 @@ public class BioModel extends CoreObservable{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<String> getListOfSubmodels() throws XMLStreamException, IOException, BioSimException {
|
public ArrayList<String> getListOfSubmodels() throws XMLStreamException, IOException, BioSimException { // Changed private to public (Lukas)
|
||||||
ArrayList<String> comps = new ArrayList<String>();
|
ArrayList<String> comps = new ArrayList<String>();
|
||||||
|
|
||||||
if (this.getGridEnabledFromFile(filename.replace(".gcm",".xml"))) {
|
if (this.getGridEnabledFromFile(filename.replace(".gcm",".xml"))) {
|
||||||
|
|
|
||||||
|
|
@ -1968,7 +1968,8 @@ public class SBMLutilities extends CoreObservable
|
||||||
{
|
{
|
||||||
String leftStr = convertMath2PrismProperty(math.getLeftChild());
|
String leftStr = convertMath2PrismProperty(math.getLeftChild());
|
||||||
String rightStr = convertMath2PrismProperty(math.getRightChild());
|
String rightStr = convertMath2PrismProperty(math.getRightChild());
|
||||||
return "(" + leftStr + " ^ " + rightStr + ")";
|
//return "(" + leftStr + " ^ " + rightStr + ")";
|
||||||
|
return "pow(" + leftStr + " , " + rightStr + ")";
|
||||||
}
|
}
|
||||||
else if (math.getType() == ASTNode.Type.RATIONAL)
|
else if (math.getType() == ASTNode.Type.RATIONAL)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue