/** @page libsbml-csharp-example-files Additional complete example programs The libSBML distribution comes with the following selection of complete example programs in the top-level file directory named examples/csharp. @section simple-programs Simple programs @li @ref echoSBML.cs "echoSBML.cs": Echos (and in the process, pretty prints) an SBML model. @li @ref readSBML.cs "readSBML.cs": A simple command-line program that reads an SBML file and prints some statistics about it. @li @ref printSBML.cs "printSBML.cs": Prints information about the top-level model in the given SBML file. @li @ref printRegisteredPackages.cs "printRegisteredPackages.cs": Prints the SBML Level 3 packages registered/installed in this copy of libSBML. @li @ref printSupported.cs "printSupported.cs": Prints the supported SBML Levels and Versions for this copy of libSBML. @section advanced-programs More advanced programs @li @ref addCVTerms.cs "addCVTerms.cs": Adds controlled vocabulary terms to a species in a model. @li @ref addCustomValidator.cs "addCustomValidator.cs": Example of creating a custom validator to be called during validation. @li @ref addModelHistory.cs "addModelHistory.cs": Adds a model history to a model. @li @ref addingEvidenceCodes_1.cs "addingEvidenceCodes_1.cs": Adds controlled vocabulary terms to a reaction in a model. @li @ref addingEvidenceCodes_2.cs "addingEvidenceCodes_2.cs": Adds evidence codes to a species in a model. @li @ref appendAnnotation.cs "appendAnnotation.cs": Adds annotation strings to a model and a species. @li @ref callExternalValidator.cs "callExternalValidator.cs": Example that shows how to call an external program for validation. @li @ref convertSBML.cs "convertSBML.cs": Example demonstrating how to convert SBML documents between SBML Levels. @li @ref createExampleSBML.cs "createExampleSBML.cs": Lengthy example of creating SBML models presented in the SBML specification. @li @ref getAllElementsWithNotes.cs "getAllElementsWithNotes.cs": Demonstrates how to use the element filter class to search the model for elements with specific attributes . @li @ref printAnnotation.cs "printAnnotation.cs": Prints the annotation strings for each element in a given model. @li @ref printMath.cs "printMath.cs": Prints the rule, reaction, and event formulas in a given SBML document. @li @ref printNotes.cs "printNotes.cs": Prints the notes strings for each element in a given model. @li @ref printRegisteredPackages.cs "printRegisteredPackages.cs": A command-line program that prints the package plug-ins that are registered with this copy of libSBML. @li @ref printUnits.cs "printUnits.cs": A command-line program that prints information about the units of measurement used in a given SBML file. @li @ref promoteParameters.cs "promoteParameters.cs": Promote all local parameters in the model to global parameters. @li @ref setIdFromNames.cs "setIdFromNames.cs": Program that renames all SIds that also have names specified. The new identifiers will be derived from the name, with all invalid characters removed. @li @ref stripPackage.cs "stripPackage.cs": Strips the given SBML Level 3 package from the given SBML file. @li @ref translateMath.cs "translateMath.cs": Translates infix formulas into MathML and vice-versa. @li @ref unsetAnnotation.cs "unsetAnnotation.cs": Unsets the annotation for each element in the given SBML file. @li @ref unsetNotes.cs "unsetNotes.cs": Unsets the notes for each element in the given SBML file. @li @ref validateSBML.cs "validateSBML.cs": Validates one or more SBML files. @section package-programs Programs using SBML Level 3 packages The following examples use specific libSBML plug-ins to support SBML Level 3 packages. The use of these packages requires your copy of libSBML to have been configured to enable the appropriate plug-in. The default installation of libSBML comes with the packages below already enabled, but beware that if you built libSBML from source code and disabled one or more of these packages, then their features will not be available. @subsection package-fbc-examples Package: Flux Balance Constraints The Flux Balance Constraints package has the nickname “fbc”. The libSBML classes that implement this package are marked with the symbol @htmlinclude pkg-marker-fbc.html@~ in the libSBML documentation. @li @ref fbc_example1.cs "fbc_example1.cs": Simple example of writing a model that uses the SBML Level 3 Flux Balance Constraints package. @li @ref convertCobraToFbc.cs "convertCobraToFbc.cs": Example of converting a COBRA-style SBML Level 2 model to SBML Level 3 using the Flux Balance Constraints package. @li @ref convertFbcToCobra.cs "convertFbcToCobra.cs": Example of converting an SBML Level 3 model using the Flux Balance Constraints package to a COBRA-style SBML Level 2 model. @subsection package-groups-examples Package: Groups The Groups package has the nickname “groups”. The libSBML classes that implement this package are marked with the symbol @htmlinclude pkg-marker-groups.html@~ in the libSBML documentation. @li @ref groups_example1.cs "groups_example1.cs": Simple example of writing a model that uses the SBML Level 3 Groups package. @subsection package-comp-examples Package: Hierarchical Model Composition The Hierarchical Model Composition package has the nickname “comp”. The libSBML classes that implement this package are marked with the symbol @htmlinclude pkg-marker-comp.html@~ in the libSBML documentation. @li @ref FlattenModel.cs "FlattenModel.cs": %Model flattening example. @li @ref SpecExample1.cs "SpecExample1.cs": Example #1 from the SBML Level 3 Hierarchical %Model Composition specification. @li @ref SpecExample2.cs "SpecExample2.cs": Example #2 from the SBML Level 3 Hierarchical %Model Composition specification. @li @ref SpecExample3.cs "SpecExample3.cs": Example #3 from the SBML Level 3 Hierarchical %Model Composition specification. @li @ref SpecExample4.cs "SpecExample4.cs": Example #4 from the SBML Level 3 Hierarchical %Model Composition specification. @subsection package-layout-examples Package: Layout The Layout package has the nickname “layout”. The libSBML classes that implement this package are marked with the symbol @htmlinclude pkg-marker-layout.html@~ in the libSBML documentation. @li @ref example1-L3.cs "example1-L3.cs": A version of example1.cs for SBML Level 3. @subsection package-qual-examples Package: Qualitative Models The Qualitative Models package has the nickname “layout”. The libSBML classes that implement this package are marked with the symbol @htmlinclude pkg-marker-qual.html@~ in the libSBML documentation. @li @ref qual_example1.cs "qual_example1.cs": An example of creating a model using SBML Level 3 Qualitative Models.
@example addCVTerms.cs Adds controlled vocabulary terms to a species in a model. @example addCustomValidator.cs Example of creating a custom validator to be called during validation. @example addModelHistory.cs Adds a model history to a model. @example addingEvidenceCodes_1.cs Adds controlled vocabulary terms to a reaction in a model. @example addingEvidenceCodes_2.cs Adds evidence codes to a species in a model. @example appendAnnotation.cs Adds annotation strings to a model and a species. @example callExternalValidator.cs Example that shows how to call an external program for validation. @example convertSBML.cs Example demonstrating how to convert SBML documents between SBML Levels. @example createExampleSBML.cs Lengthy example of creating SBML models presented in the SBML specification. @example echoSBML.cs Echos (and in the process, pretty prints) an SBML model. @example getAllElementsWithNotes.cs Demonstrates how to use the element filter class to search the model for elements with specific attributes . @example printAnnotation.cs Prints the annotation strings for each element in a given model. @example printMath.cs Prints the rule, reaction, and event formulas in a given SBML document. @example printNotes.cs Prints the notes strings for each element in a given model. @example printRegisteredPackages.cs Prints the SBML Level 3 packages registered/installed in this copy of libSBML. @example printSBML.cs Prints information about the top-level model in the given SBML file. @example printSupported.cs Prints the supported SBML Levels and Versions for this copy of libSBML. @example printUnits.cs A command-line program that prints information about the units of measurement used in a given SBML file. @example readSBML.cs A simple command-line program that reads an SBML file and prints some statistics about it. @example setIdFromNames.cs Program that renames all SIds that also have names specified. The new identifiers will be derived from the name, with all invalid characters removed. @example stripPackage.cs Strips the given SBML Level 3 package from the given SBML file. @example translateMath.cs Translates infix formulas into MathML and vice-versa. @example unsetAnnotation.cs Unsets the annotation for each element in the given SBML file. @example unsetNotes.cs Unsets the notes for each element in the given SBML file. @example validateSBML.cs Validates one or more SBML files. @example FlattenModel.cs Model flattening example. @example SpecExample1.cs Example #1 from the SBML Level 3 Hierarchical Model Composition specification. @example SpecExample2.cs Example #2 from the SBML Level 3 Hierarchical Model Composition specification. @example SpecExample3.cs Example #3 from the SBML Level 3 Hierarchical Model Composition specification. @example SpecExample4.cs Example #4 from the SBML Level 3 Hierarchical Model Composition specification. @example fbc_example1.cs Simple example of writing a model that uses the SBML Level 3 Flux Balance Constraints package. @example convertCobraToFbc.cs Example of converting a COBRA-style SBML Level 2 model to SBML Level 3 using the Flux Balance Constraints package. @example convertFbcToCobra.cs Example of converting an SBML Level 3 model using the Flux Balance Constraints package to a COBRA-style SBML Level 2 model. @example promoteParameters.cs Promote all local parameters in the model to global parameters. @example example1-L3.cs A version of example1.cs for SBML Level 3. @example qual_example1.cs An example of creating a model using SBML Level 3 Qualitative Models. */