Hucka BMC Res Notes (2017) 10:451 DOI 10.1186/s13104-017-2788-1 BMC Research Notes

RESEARCH NOTE Open Access SBMLPkgSpec: a LaTeX style fle for SBML package specifcation documents Michael Hucka*

Abstract Objective: The Markup Language (SBML) is a popular open format for storing and exchanging com- putational models in biology. The defnition of SBML is captured in formal specifcation documents. SBMLPkgSpec is a LaTeX document style intended to fll the need for a standard format for writing such specifcation documents. Results: Specifcation documents for SBML Level 3 extensions (known as packages in SBML) are made more uniform with the use of a standard template. SBMLPkgSpec is a LaTeX class that provides a document framework for SBML Level 3 package specifcations, to simplify the work of document authors while improving the overall quality of the family of SBML specifcations. Keywords: SBML, XML, Data formats, Software, Simulation, Systems biology, Computational biology

Introduction an existing framework provides a starting point and helps Te Systems Biology Markup Language (SBML) is an authors in several respects: XML-based (Extensible Markup Language) format that has become a community standard for the storage, com- •• It helps ensure that required information is not for- munication and interchange of models in systems biol- gotten from the document. ogy [1, 2]. Te format has evolved in a community-driven •• It saves writing time by providing well-tested com- fashion, with contributions from dozens of people world- mands for formatting elements that are commonly wide over more than a decade and a half. Te latest gen- used in SBML specifcation documents. eration of SBML is SBML Level 3, which is structured as •• It provides a cohesive look and feel for all SBML a self-sufcient core and optional SBML Level 3 packages specifcations. that can be used to extend the core’s syntax and seman- tics [3]. Te defnition of each SBML Level 3 package is For these reasons, SBMLPkgSpec was developed to pro- written in a formal specifcation document that is made vide a document framework for SBML package specifca- freely available [4, 5]. tion documents. SBML packages are produced and ratifed according to an explicit SBML development process (http://sbml.org/ Main text Documents/SBML_Development_Process). Tis process SBMLPkgSpec is a LaTeX document class [6] intended to also defnes the content that each specifcation document provide a common framework for writing SBML pack- should contain. However, it is challenging for prospective age specifcations, as well as provide a uniform look and specifcation creators to generate a clear and complete feel for the family of SBML specifcations. SBMLPkg- specifcation document from scratch. Te availability of Spec builds on a number of other commonly-available LaTeX document classes, and also defnes a number of new commands, so that users of SBMLPkgSpec can focus *Correspondence: [email protected] on the essential aspects of writing clear specifcation Department of Computing and Mathematical Sciences, California documents for SBML. Among the features provided by Institute of Technology, 1200 E. California Blvd., Pasadena, California 91125, USA SBMLPkgSpec are the following:

© The Author(s) 2017. This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/ publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated. Hucka BMC Res Notes (2017) 10:451 Page 2 of 4

•• Commands for defning the SBML package version, developed and tested with the TeX Live 2011 and 2016 release date, home web page, and author list, to be distributions on Mac OS X 10.6–10.11 system, and has printed on the document’s front page. been reported to work with TeX Live on Windows and •• Commands for defning SBML validation rules. A Ubuntu Linux. (For Ubuntu, make sure to install the convention developed for the SBML specifcation following packages: “texlive”, “ texlive-latex- documents is to defne validation and consistency extra”, “ texlive-humantities”, and “texlive- rules that must or should be satisfed by SBML fles fonts-extra”.) To use SBMLPkgSpec, you will need that conform to the specifcation; SBML package to inform your copy of LaTeX where to fnd the fle specifcations likewise defne their own validation sbmlpkgspec.cls and its accompanying subdirectory and consistency rules, and the commands in SBMLP- “logos”. Tis can be done in a variety of ways. Here are kgSpec provide the means for easily defning and for- two common approaches: matting them. •• Commands for formatting the names of common •• Per-document installation Tis is probably the sim- SBML object classes and XML primitive data types, plest approach, although it results in multiple cop- as well as for creating new package-specifc defni- ies of the fles. Download the SBMLPkgSpec release tions. Te commands for SBML object names auto- from the GitHub repository (https://github.com/ matically insert hyperlinks to the sections where they sbmlteam/sbmlpkgspec), copy the contents (spe- are defned from wherever they are referenced within cifcally, sbmlpkgspec.cls and the folder named a document. “logos”) to the folder where you keep the other fles •• Customized commands for cross-referencing sec- for the SBML Level 3 package specifcation you are tions, tables and fgures; these are designed to pro- authoring, and you are done. Te next time you run duce both item number and page references that are LaTeX in that folder, it will fnd the .cls fle in the automatically hyperlinked to the appropriate loca- current directory. tions in the fnished document. Tey also obey some •• “Central” installation In this approach, you install common typographical conventions (such as the use sbmlpkgspec.cls in a folder where you keep of LaTeX ties in the appropriate locations) to save other LaTeX class fles, and confgure your copy of authors the trouble of remembering to use them. LaTeX to fnd things there. Confguring a TeX system •• Commands for formatting SBML XML examples in a in this way on Unix-type systems (Linux, etc.) usually stylized fashion. requires setting the environment variable TEXIN- •• Automatic line numbering of every line in the speci- PUTS and possibly others. Please consult the docu- fcation document. Tis makes it easier to report mentation for your TeX installation to determine problems and errors in specifcation documents, and how to do this. to issue subsequent lists of errata. •• An option to print the word DRAFT on every page in Once SBMLPkgSpec is installed, users can write specif- large gray type. cation documents with the standard documentclass •• Commands for diferent kinds of document notes: command in LaTeX to declare the use of the class notices (with a hand pointer in the left margin), sbmlpkgspec, and write their document using what- warnings (with a red warning sign in the left margin), ever editing environment they prefer, including online and reader notes (formatted as yellow rectangular shared LaTeX editing environments. notes shown in the left margin when the document is formatted in draft mode). Documentation •• Other miscellaneous features, such as a number of SBMLPkgSpec comes with a complete user’s guide. Users predefned color names. of SBMLPkgSpec are strongly urged to read the guide; it explains everything needed to know to use the document class, and includes tips for how to make the most of it. To illustrate some of the features of SBMLPkgSpec, Fig. 1 shows an image of a page from the user’s guide. It Discussion illustrates the general look of the document and some of LaTeX [6] is a popular document production system in the commands it provides. science. In systems biology and the SBML-using commu- nity, it is so popular that some software tools have been Installation and confguration designed to produce LaTeX output directly [7, 8]. LaTeX Te use of SBMLPkgSpec should require only a recent provides tremendous power to authors, but it is also and relatively complete installation of LaTeX2e. It was relatively difcult to use. Defning new styles is specially Hucka BMC Res Notes (2017) 10:451 Page 3 of 4

Fig. 1 A sample page from the SBMLPkgSpec user’s guide, illustrating the look and feel of the document and some of its features Hucka BMC Res Notes (2017) 10:451 Page 4 of 4

difcult, and requires arcane knowledge and signifcant Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in pub- patience. By simplifying the requirements for produc- lished maps and institutional afliations. ing templated documents and providing a ready-to-use LaTeX style, SBMLPkgSpec can make it easier for SBML Received: 23 June 2017 Accepted: 31 August 2017 specifcation authors to use LaTeX to produce documents with a uniform format. Tis in turn permits authors of SBML specifcations to concentrate on the technical aspects of the work. References 1. Hucka X, Finney A, Sauro HM, Bolouri H, Doyle JC, Kitano H, Arkin AP, Limitations Bornstein BJ, Bray D, Cornish-Bowden A, Cuellar AA, Dronov S, Gilles ED, Ginkel M, Gor V, Goryanin II, Hedley WJ, Hodgman TC, Hofmeyr J-H, SBMLPkgSpec imports many other LaTeX classes when Hunter PJ, Juty NS, Kasberger JL, Kremling A, Kummer U, Le Novère N, it is used with LaTeX. Tese additional classes must be Loew LM, Lucio D, Mendes P, Minch E, Mjolsness ED, Nakayama Y, Nelson installed on the user’s computer for SBMLPkgSpec to MR, Nielsen PF, Sakurada T, Schaf JC, Shapiro BE, Shimizu TS, Spence HD, Stelling J, Takahashi K, Tomita M, Wagner JM, Wang J. The systems biology work. Te classes are present in many full-featured TeX markup language (SBML): a medium for representation and exchange distributions such as the TeX Live 2011 and 2016 distri- of biochemical network models. Bioinformatics. 2003;19(4):524–31. butions, but if they are not, the user will need to fnd and doi:10.1093/bioinformatics/btg015. 2. Waltemath D, Bergmann FT, Chaouiya , Czauderna T, Gleeson P, Goble install them separately. Te relevant software packages C, Golebiewski M, Hucka M, Juty N, Krebs O, Le Novère N, Mi H, Moraru for Ubuntu Linux are noted above. II, Myers CJ, Nickerson D, Olivier BG, Rodriguez N, Schreiber F, Smith L, Zhang F, Bonnet E. Meeting report from the fourth meeting of the com- putational modeling in biology network (COMBINE). Stand Genom Sci. Abbreviations 2014;9(3):1285–301. doi:10.4056/sigs.5279417. SBML: Systems Biology Markup Language; XML: Extensible Markup Language. 3. Hucka M, Bergmann FT, Hoops S, Keating SM, Sahle S, Schaf JC, Smith LP, Wilkinson DJ. The Systems Biology Markup Language (SBML): language Acknowledgements specifcation for Level 3 Version 1 Core. J Integr Bioinform. 2015;12(2):266. I thank Maciej Swat (from the EMBL European Bioinformatics Institute) for doi:10.2390/biecoll-jib-2015-266. reporting problems with earlier versions of SBMLPkgSpec. I also thank all users 4. Schreiber F, Bader GD, Golebiewski M, Hucka M, Kormeier B, Le Novère for their informal feedback and suggestions. Finally, I thank the anonymous N, Myers C, Nickerson D, Sommer B, Waltemath D, Weise S. Specifca- manuscript reviewer for their genuinely useful feedback about how to tions of standards in systems and synthetic biology. J Integr Bioinform. improve this paper. 2015;12(2):258. doi:10.2390/biecoll-jib-2015-258. 5. Schreiber F, Bader GD, Gleeson P, Golebiewski M, Hucka M, Le Novère N, Competing interests Myers C, Nickerson D, Summer B, Waltemath D. Specifcations of stand- The author declares that he has no competing interests. ards in systems and synthetic biology: status and developments in 2016. J Integr Bioinform. 2016;13(3):289. Availability of data and materials 6. Lamport L. LaTeX: a document preparation system. Reading: Addison- SBMLPkgSpec is available in two diferent forms: as a compressed archive of Wesley; 1994. LaTeX source code and documentation fles, and as a public repository that 7. Dräger A, Planatscher H, Wouamba DM, Schröder A, Hucka M, Endler L, Golebiewski M, Müller W, Zell A. SBML2LATEX: conversion of SBML can be cloned using ordinary git commands. Both forms are freely available under the terms of the LGPL 2.1 license from the project repository hosted on fles into human-readable reports. Bioinformatics. 2009;25(11):1455–6. GitHub at https://github.com/sbmlteam/sbmlpkgspec. doi:10.1093/Bioinformatics/Btp170. 8. Shen SY, Bergmann F, Sauro HM. SBML2TikZ: supporting the SBML render Consent for publication extension in LaTeX. Bioinformatics. 2010;26(21):2794–5. doi:10.1093/ Not applicable. bioinformatics/btq512.

Ethics approval and consent to participate Not applicable.

Funding SBMLPkgSpec has been developed thanks to funding from the National Institute of General Medical Sciences under grant R01 GM070923 (Principal Investigator: Michael Hucka). Submit your next manuscript to BioMed Central and we will help you at every step: • We accept pre-submission inquiries • Our selector tool helps you to find the most relevant journal • We provide round the clock customer support • Convenient online submission • Thorough peer review • Inclusion in PubMed and all major indexing services • Maximum visibility for your research

Submit your manuscript at www.biomedcentral.com/submit