Methods for writing SBML to files and text strings.
This class of objects is defined by libSBML only and has no direct
equivalent in terms of SBML components. This class is not prescribed by
the SBML specifications, although it is used to implement features
defined in SBML.
The SBMLWriter class is the converse of SBMLReader, and provides the main interface for serializing SBML models into XML and writing the result to files and text strings. The methods for writing SBML all take an SBMLDocument object and a destination. They return a bool or integer value to indicate success or failure.
Support for writing compressed files
LibSBML provides support for writing (as well as reading) compressed SBML files. The process is transparent to the calling application—the application does not need to do anything deliberate to invoke the functionality. If a given SBML filename ends with an extension for the gzip, zip or bzip2 compression formats (respectively, ".gz"
, ".zip"
, or ".bz2"
), then the methods SBMLWriter::writeSBML() and SBMLReader::readSBML() will automatically compress and decompress the file while writing and reading it. If the filename has no such extension, it will be written and read uncompressed as normal.
The compression feature requires that the zlib (for gzip and zip formats) and/or bzip2 (for bzip2 format) be available on the system running libSBML, and that libSBML was configured with their support compiled-in. Please see the libSBML for more information about this. The methods SBMLWriter::hasZlib() and SBMLWriter::hasBzip2() can be used by an application to query at run-time whether support for the compression libraries is available in the present copy of libSBML.
Support for compression is not mandated by the SBML standard, but applications may find it helpful, particularly when large SBML models are being communicated across data links of limited bandwidth.
bool libsbmlcs.SBMLWriter.writeSBML |
( |
SBMLDocument |
d, |
|
|
string |
filename |
|
) |
| |
Writes the given SBML document to filename.
If the given filename ends with the suffix
".gz"
(for example,
"myfile.xml.gz"
), libSBML assumes the
caller wants the file to be written compressed in
gzip format.
Similarly, if the given filename ends with
".zip"
or
".bz2"
, libSBML assumes the caller wants the file to
be compressed in
zip or
bzip2 format (respectively).
Files whose names lack these suffixes will be written uncompressed.
Special considerations for the zip format: If the given filename
ends with
".zip"
, the file placed in the zip archive
will have the suffix
".xml"
or
".sbml"
. For example, the file in the zip archive
will be named
"test.xml"
if the given filename is
"test.xml.zip"
or
"test.zip"
.
Similarly, the filename in the archive will be
"test.sbml"
if the given filename is
"test.sbml.zip"
.
- Parameters
-
d | the SBML document to be written |
filename | the name or full pathname of the file where the SBML is to be written. |
- Returns
true
on success and false
if the filename could not be opened for writing.
- Note
- To write a gzip/zip file, libSBML needs to be configured and linked with
the zlib library at
compile time. It also needs to be linked with the bzip2 library to write files in bzip2 format. (Both
of these are the default configurations for libSBML.) Errors about
unreadable files will be logged and this method will return
false
if a compressed filename is given and libSBML was
not linked with the corresponding required library.
- See Also
- setProgramVersion(string version)
-
setProgramName(string name)
bool libsbmlcs.SBMLWriter.writeSBMLToFile |
( |
SBMLDocument |
d, |
|
|
string |
filename |
|
) |
| |
Writes the given SBML document to filename.
If the given filename ends with the suffix
".gz"
(for example,
"myfile.xml.gz"
), libSBML assumes the
caller wants the file to be written compressed in
gzip format.
Similarly, if the given filename ends with
".zip"
or
".bz2"
, libSBML assumes the caller wants the file to
be compressed in
zip or
bzip2 format (respectively).
Files whose names lack these suffixes will be written uncompressed.
Special considerations for the zip format: If the given filename
ends with
".zip"
, the file placed in the zip archive
will have the suffix
".xml"
or
".sbml"
. For example, the file in the zip archive
will be named
"test.xml"
if the given filename is
"test.xml.zip"
or
"test.zip"
.
Similarly, the filename in the archive will be
"test.sbml"
if the given filename is
"test.sbml.zip"
.
- Parameters
-
d | the SBML document to be written |
filename | the name or full pathname of the file where the SBML is to be written. |
- Returns
true
on success and false
if the filename could not be opened for writing.
- Note
- To write a gzip/zip file, libSBML needs to be configured and linked with
the zlib library at
compile time. It also needs to be linked with the bzip2 library to write files in bzip2 format. (Both
of these are the default configurations for libSBML.) Errors about
unreadable files will be logged and this method will return
false
if a compressed filename is given and libSBML was
not linked with the corresponding required library.
- See Also
- setProgramVersion(string version)
-
setProgramName(string name)