Search in sources :

Example 1 with TimePoints

use of org.vcell.sbmlsim.api.common.TimePoints in project vcell by virtualcell.

the class VCellSbmlSimCLI method process_timepoints.

private void process_timepoints() throws Exception {
    Gson gson = new Gson();
    SimulationInfo simInfo = null;
    if (simhandle != null) {
        simInfo = new SimulationInfo(simhandle);
    } else {
        throw new CliException("simhandle (simulation handle) not specified");
    }
    if (outputfile == null) {
        throw new CliException("output file not specified");
    }
    TimePoints timePoints = simService.getTimePoints(simInfo);
    String timepointsJSON = gson.toJson(timePoints);
    FileUtils.write(outputfile, timepointsJSON);
}
Also used : TimePoints(org.vcell.sbmlsim.api.common.TimePoints) Gson(com.google.gson.Gson) SimulationInfo(org.vcell.sbmlsim.api.common.SimulationInfo)

Example 2 with TimePoints

use of org.vcell.sbmlsim.api.common.TimePoints in project vcell by virtualcell.

the class SimulationServiceImpl method getTimePoints.

@Override
public TimePoints getTimePoints(SimulationInfo simInfo) throws Exception {
    SimulationServiceContext simServiceContext = sims.get(simInfo.getLocalId());
    if (simServiceContext == null) {
        throw new Exception("simulation results not found");
    }
    try {
        DataSetControllerImpl datasetController = getDataSetController(simServiceContext);
        double[] timeArray = datasetController.getDataSetTimes(simServiceContext.vcDataIdentifier);
        TimePoints timePoints = new TimePoints();
        timePoints.setTimePoints(timeArray);
        return timePoints;
    } catch (Exception e) {
        e.printStackTrace();
        throw new Exception("failed to retrieve times for simulation: " + e.getMessage());
    }
}
Also used : TimePoints(org.vcell.sbmlsim.api.common.TimePoints) DataSetControllerImpl(cbit.vcell.simdata.DataSetControllerImpl) XMLStreamException(javax.xml.stream.XMLStreamException) SbmlException(org.vcell.sbml.SbmlException) SBMLException(org.sbml.jsbml.SBMLException) XmlParseException(cbit.vcell.xml.XmlParseException) SolverException(cbit.vcell.solver.SolverException) IOException(java.io.IOException) DataAccessException(org.vcell.util.DataAccessException)

Example 3 with TimePoints

use of org.vcell.sbmlsim.api.common.TimePoints in project vcell by virtualcell.

the class SimulationServiceImplTest method test.

@Test
public void test() throws URISyntaxException, Exception {
    SimulationServiceImpl simService = new SimulationServiceImpl();
    // TODO - Eliminate code duplication.
    URL sbmlFileUrl = SimulationServiceImplTest.class.getResource("../optoPlexin_PRG_rule_based.xml");
    File file = new File(sbmlFileUrl.toURI());
    VCMongoMessage.enabled = false;
    // TODO - Encapsulate this common setup stuff into VCellService initialization.
    // Then all VCell-based scripts can focus on the customization below.
    System.setProperty(PropertyLoader.installationRoot, new File("..").getAbsolutePath());
    ResourceUtil.setNativeLibraryDirectory();
    NativeLib.HDF5.load();
    file = new File("src/test/resources/org/vcell/sbmlsim/optoPlexin_PRG_rule_based.xml");
    Assert.assertTrue(file.exists());
    SBMLModel sbmlModel = new SBMLModel(file);
    SimulationSpec simSpec = new SimulationSpec();
    SimulationInfo simInfo = simService.computeModel(sbmlModel, simSpec);
    long timeMS = System.currentTimeMillis();
    while (simService.getStatus(simInfo).getSimState() != SimulationState.done && simService.getStatus(simInfo).getSimState() != SimulationState.failed) {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
        }
        long time2MS = System.currentTimeMillis();
        if (time2MS - timeMS > 10000) {
            fail("timed out after 10 seconds");
        }
    }
    List<VariableInfo> vars = simService.getVariableList(simInfo);
    Assert.assertNotNull(vars);
    // TODO - Assert more things.
    final TimePoints timePoints = simService.getTimePoints(simInfo);
    vars.stream().forEach(var -> {
        try {
            System.out.println(// 
            var.getVariableDisplayName() + "[0] = " + simService.getData(simInfo, var, 0));
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    });
}
Also used : TimePoints(org.vcell.sbmlsim.api.common.TimePoints) SBMLModel(org.vcell.sbmlsim.api.common.SBMLModel) VariableInfo(org.vcell.sbmlsim.api.common.VariableInfo) File(java.io.File) SimulationSpec(org.vcell.sbmlsim.api.common.SimulationSpec) URL(java.net.URL) URISyntaxException(java.net.URISyntaxException) SimulationInfo(org.vcell.sbmlsim.api.common.SimulationInfo) Test(org.junit.Test)

Example 4 with TimePoints

use of org.vcell.sbmlsim.api.common.TimePoints in project vcell by virtualcell.

the class VCellSimServiceTest method test.

@Test
public void test() throws URISyntaxException, Exception {
    VCellSimService simService = new VCellSimService();
    URL sbmlFileUrl = VCellSimServiceTest.class.getResource("../optoPlexin_PRG_rule_based.xml");
    File file = new File(sbmlFileUrl.toURI());
    Assert.assertTrue(file.exists());
    SBMLModel sbmlModel = new SBMLModel(file);
    SimulationSpec simSpec = new SimulationSpec();
    SimulationHandle simulationHandle = simService.submit(sbmlModel, simSpec);
    long timeMS = System.currentTimeMillis();
    while (simService.getStatus(simulationHandle).getSimState() != SimulationState.done && simService.getStatus(simulationHandle).getSimState() != SimulationState.failed) {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
        }
        long time2MS = System.currentTimeMillis();
        if (time2MS - timeMS > 10000) {
            fail("timed out after 10 seconds");
        }
    }
    VariableList vars = simService.getVariableList(simulationHandle);
    Assert.assertNotNull(vars);
    // TODO - Assert more things.
    final TimePoints timePoints = simService.getTimePoints(simulationHandle);
    Arrays.asList(vars.varInfos).stream().forEach(var -> {
        try {
            System.out.println(// 
            var.getVariableDisplayName() + "[0] = " + simService.getSimData(simulationHandle, var, 0));
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    });
}
Also used : TimePoints(org.vcell.sbmlsim.api.common.TimePoints) VariableList(org.vcell.sbmlsim.api.common.VariableList) SBMLModel(org.vcell.sbmlsim.api.common.SBMLModel) File(java.io.File) SimulationSpec(org.vcell.sbmlsim.api.common.SimulationSpec) URL(java.net.URL) URISyntaxException(java.net.URISyntaxException) Test(org.junit.Test)

Example 5 with TimePoints

use of org.vcell.sbmlsim.api.common.TimePoints in project vcell by virtualcell.

the class VCellSimService method getTimePoints.

public TimePoints getTimePoints(SimulationHandle simHandle) throws ExecutableException {
    Gson gson = new Gson();
    Executable exe = new Executable(new String[] { command().getAbsolutePath(), scriptArgDashes + "simhandle", Long.toString(simHandle.remoteId), "timepoints" });
    int[] expectedReturnCodes = new int[] { 0 };
    exe.start(expectedReturnCodes);
    TimePoints timePoints = gson.fromJson(exe.getStdoutString(), TimePoints.class);
    return timePoints;
}
Also used : TimePoints(org.vcell.sbmlsim.api.common.TimePoints) Gson(com.google.gson.Gson)

Aggregations

TimePoints (org.vcell.sbmlsim.api.common.TimePoints)5 Gson (com.google.gson.Gson)2 File (java.io.File)2 URISyntaxException (java.net.URISyntaxException)2 URL (java.net.URL)2 Test (org.junit.Test)2 SBMLModel (org.vcell.sbmlsim.api.common.SBMLModel)2 SimulationInfo (org.vcell.sbmlsim.api.common.SimulationInfo)2 SimulationSpec (org.vcell.sbmlsim.api.common.SimulationSpec)2 DataSetControllerImpl (cbit.vcell.simdata.DataSetControllerImpl)1 SolverException (cbit.vcell.solver.SolverException)1 XmlParseException (cbit.vcell.xml.XmlParseException)1 IOException (java.io.IOException)1 XMLStreamException (javax.xml.stream.XMLStreamException)1 SBMLException (org.sbml.jsbml.SBMLException)1 SbmlException (org.vcell.sbml.SbmlException)1 VariableInfo (org.vcell.sbmlsim.api.common.VariableInfo)1 VariableList (org.vcell.sbmlsim.api.common.VariableList)1 DataAccessException (org.vcell.util.DataAccessException)1