biosimulators / Biosimulators_COPASI

COPASI biochemical network simulation program via BioSimulators-compliant command-line interface and Docker container
https://docs.biosimulators.org/Biosimulators_COPASI
MIT License
2 stars 3 forks source link

Handling `listOfOutputs` for version >= 4.28.226 #34

Closed gmarupilla closed 3 years ago

gmarupilla commented 3 years ago
<listOfOutputs>
    <plot2D id="plot_1_task1" name="f3a">
      <listOfCurves>
        <curve id="p1_curve_1_task1" name="[BE]" logX="false" logY="false" xDataReference="time_task1" yDataReference="BE_1_task1"/>
      </listOfCurves>
    </plot2D>
    <report id="simulation_1" name="simulation 1">
      <listOfDataSets>
        <dataSet id="time" label="time" dataReference="time"/>
        <dataSet id="FeDuo" label="FeDuo" dataReference="FeDuo"/>
      </listOfDataSets>
    </report>
</listOfOutputs>

Latest COPASI version by default generates TSV file as result along with some additional metadata which is not useful for visualisation purposes. From the above SED-ML, the user can able to define plot2D, plot3D or DataSet block. In older versions <4.28.226, if there is no dataset block, COPASI lib throws error/fails if SED-ML doesn't have dataset definition so that we can create a default one. But in versions >= 4.28.226, the COPASI lib doesn't notify/fail if there is no DataSet definition, rather it creates a TSV on its own (along with metadata).

How should we handle it? Should the user take care of it to provide a correct SED-ML? Or do we need to handle it in simulator code?

PFA zip archive, which contains a sample OMEX used to test the scenario, and old.csv and new.csv generated by the old and new version of COPASI respectively.

To reproduce the CSV files pull the latest and 4.27.214 docker images and run locally with the attached OMEX archive. Refer this.

@moraru @jonrkarr @bilalshaikh42 Thoughts?

Archive.zip

gmarupilla commented 3 years ago

Working with report tag in SED-ML