summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-bionetgen.spec398
-rw-r--r--sources1
3 files changed, 400 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f27fb2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/bionetgen-0.8.0.tar.gz
diff --git a/python-bionetgen.spec b/python-bionetgen.spec
new file mode 100644
index 0000000..46197f0
--- /dev/null
+++ b/python-bionetgen.spec
@@ -0,0 +1,398 @@
+%global _empty_manifest_terminate_build 0
+Name: python-bionetgen
+Version: 0.8.0
+Release: 1
+Summary: A simple CLI and library for BioNetGen modelling language
+License: unlicensed
+URL: https://github.com/RuleWorld/PyBioNetGen
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/1e/32dd08837b4a182b364a9d961d7a36dbd953eb68f98600c3b93fe8d1b9ca/bionetgen-0.8.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-cement
+Requires: python3-nbopen
+Requires: python3-numpy
+Requires: python3-pyyaml
+Requires: python3-colorlog
+Requires: python3-xmltodict
+Requires: python3-seaborn
+Requires: python3-libroadrunner
+Requires: python3-sympy
+Requires: python3-lxml
+Requires: python3-networkx
+Requires: python3-libsbml
+Requires: python3-pylru
+Requires: python3-pyparsing
+
+%description
+# A simple CLI for BioNetGen
+
+[![BNG CLI build status](https://github.com/RuleWorld/PyBioNetGen/workflows/bng-cli-tests/badge.svg)](https://github.com/RuleWorld/PyBioNetGen/actions)
+[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/RuleWorld/PyBioNetGen)
+
+This is a simple CLI and a library for [BioNetGen modelling language](http://bionetgen.org/). PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of models written in [Systems Biology Markup Language (SBML)](https://synonym.caltech.edu/) into BioNetGen language (BNGL) format.
+
+Please see the [documentation](https://pybionetgen.readthedocs.io/en/latest/) to learn how to use PyBioNetGen.
+
+## Installation
+
+You will need both python (3.7 and above) and perl installed. Once both are available you can use the following pip command to install the package
+
+```
+$ pip install bionetgen
+```
+
+### Features
+
+PyBioNetGen comes with a command line interface (CLI), based on [cement framework](https://builtoncement.com/), as well as a functional library that can be imported. The CLI can be used to run BNGL models, generate Jupyter notebooks and do rudimentary plotting.
+
+The library side provides a simple BNGL model runner as well as a model object that can be manipulated and used to get libRoadRunner simulators for the model.
+
+PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of SBML models into BNGL format. Atomizer can also be used to automatically try to infer the internal structure of SBML species during the conversion, see [here](https://pybionetgen.readthedocs.io/en/latest/atomizer.html) for more information. Please note that this version of Atomizer is the main supported version and the version distributed with BioNetGen will eventually be deprecated.
+
+The model object requires a system call to BioNetGen so the initialization can be relatively costly, in case you would like to use it for parallel applications, use the [libRoadRunner](http://libroadrunner.org/) simulator instead, unless you are doing NFSim simulations.
+
+### Usage
+
+Sample CLI usage
+
+```
+$ bionetgen -h # help on every subcommand
+$ bionetgen run -h # help on run subcommand
+$ bionetgen run -i mymodel.bngl -o output_folder # this runs the model in output_folder
+```
+
+Sample library usage
+
+```
+import bionetgen
+
+ret = bionetgen.run("/path/to/mymodel.bngl", out="/path/to/output/folder")
+# out keyword is optional, if not given,
+# generated files will be deleted after running
+res = ret.results['mymodel']
+# res will be a numpy record array of your gdat results
+
+model = bionetgen.bngmodel("/path/to/mymodel.bngl")
+# model will be a python object that contains all model information
+print(model.parameters) # this will print only the parameter block in BNGL format
+print(model) # this will print the entire BNGL
+model.parameters.k = 1 # setting parameter k to 1
+with open("new_model.bngl", "w") as f:
+ f.write(str(model)) # writes the changed model to new_model file
+
+# this will give you a libRoadRunner instance of the model
+librr_sim = model.setup_simulator()
+```
+
+You can find more tutorials [here](https://pybionetgen.readthedocs.io/en/latest/tutorials.html).
+
+### Environment Setup
+
+The following demonstrates setting up and working with a development environment:
+
+```
+### create a virtualenv for development
+
+$ make virtualenv
+
+$ source env/bin/activate
+
+
+### run bionetgen cli application
+
+$ bionetgen --help
+
+
+### run pytest / coverage
+
+$ make test
+```
+
+### Docker
+
+Included is a basic `Dockerfile` for building and distributing `BioNetGen CLI`,
+and can be built with the included `make` helper:
+
+```
+$ make docker
+
+$ docker run -it bionetgen --help
+```
+
+### Publishing to PyPI
+
+You can use `make dist` command to make the distribution and push to PyPI with
+
+```
+python -m twine upload dist/*
+```
+
+You'll need to have a PyPI API token created, see [here](https://packaging.python.org/tutorials/packaging-projects/) for more information.
+
+
+%package -n python3-bionetgen
+Summary: A simple CLI and library for BioNetGen modelling language
+Provides: python-bionetgen
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-bionetgen
+# A simple CLI for BioNetGen
+
+[![BNG CLI build status](https://github.com/RuleWorld/PyBioNetGen/workflows/bng-cli-tests/badge.svg)](https://github.com/RuleWorld/PyBioNetGen/actions)
+[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/RuleWorld/PyBioNetGen)
+
+This is a simple CLI and a library for [BioNetGen modelling language](http://bionetgen.org/). PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of models written in [Systems Biology Markup Language (SBML)](https://synonym.caltech.edu/) into BioNetGen language (BNGL) format.
+
+Please see the [documentation](https://pybionetgen.readthedocs.io/en/latest/) to learn how to use PyBioNetGen.
+
+## Installation
+
+You will need both python (3.7 and above) and perl installed. Once both are available you can use the following pip command to install the package
+
+```
+$ pip install bionetgen
+```
+
+### Features
+
+PyBioNetGen comes with a command line interface (CLI), based on [cement framework](https://builtoncement.com/), as well as a functional library that can be imported. The CLI can be used to run BNGL models, generate Jupyter notebooks and do rudimentary plotting.
+
+The library side provides a simple BNGL model runner as well as a model object that can be manipulated and used to get libRoadRunner simulators for the model.
+
+PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of SBML models into BNGL format. Atomizer can also be used to automatically try to infer the internal structure of SBML species during the conversion, see [here](https://pybionetgen.readthedocs.io/en/latest/atomizer.html) for more information. Please note that this version of Atomizer is the main supported version and the version distributed with BioNetGen will eventually be deprecated.
+
+The model object requires a system call to BioNetGen so the initialization can be relatively costly, in case you would like to use it for parallel applications, use the [libRoadRunner](http://libroadrunner.org/) simulator instead, unless you are doing NFSim simulations.
+
+### Usage
+
+Sample CLI usage
+
+```
+$ bionetgen -h # help on every subcommand
+$ bionetgen run -h # help on run subcommand
+$ bionetgen run -i mymodel.bngl -o output_folder # this runs the model in output_folder
+```
+
+Sample library usage
+
+```
+import bionetgen
+
+ret = bionetgen.run("/path/to/mymodel.bngl", out="/path/to/output/folder")
+# out keyword is optional, if not given,
+# generated files will be deleted after running
+res = ret.results['mymodel']
+# res will be a numpy record array of your gdat results
+
+model = bionetgen.bngmodel("/path/to/mymodel.bngl")
+# model will be a python object that contains all model information
+print(model.parameters) # this will print only the parameter block in BNGL format
+print(model) # this will print the entire BNGL
+model.parameters.k = 1 # setting parameter k to 1
+with open("new_model.bngl", "w") as f:
+ f.write(str(model)) # writes the changed model to new_model file
+
+# this will give you a libRoadRunner instance of the model
+librr_sim = model.setup_simulator()
+```
+
+You can find more tutorials [here](https://pybionetgen.readthedocs.io/en/latest/tutorials.html).
+
+### Environment Setup
+
+The following demonstrates setting up and working with a development environment:
+
+```
+### create a virtualenv for development
+
+$ make virtualenv
+
+$ source env/bin/activate
+
+
+### run bionetgen cli application
+
+$ bionetgen --help
+
+
+### run pytest / coverage
+
+$ make test
+```
+
+### Docker
+
+Included is a basic `Dockerfile` for building and distributing `BioNetGen CLI`,
+and can be built with the included `make` helper:
+
+```
+$ make docker
+
+$ docker run -it bionetgen --help
+```
+
+### Publishing to PyPI
+
+You can use `make dist` command to make the distribution and push to PyPI with
+
+```
+python -m twine upload dist/*
+```
+
+You'll need to have a PyPI API token created, see [here](https://packaging.python.org/tutorials/packaging-projects/) for more information.
+
+
+%package help
+Summary: Development documents and examples for bionetgen
+Provides: python3-bionetgen-doc
+%description help
+# A simple CLI for BioNetGen
+
+[![BNG CLI build status](https://github.com/RuleWorld/PyBioNetGen/workflows/bng-cli-tests/badge.svg)](https://github.com/RuleWorld/PyBioNetGen/actions)
+[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/RuleWorld/PyBioNetGen)
+
+This is a simple CLI and a library for [BioNetGen modelling language](http://bionetgen.org/). PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of models written in [Systems Biology Markup Language (SBML)](https://synonym.caltech.edu/) into BioNetGen language (BNGL) format.
+
+Please see the [documentation](https://pybionetgen.readthedocs.io/en/latest/) to learn how to use PyBioNetGen.
+
+## Installation
+
+You will need both python (3.7 and above) and perl installed. Once both are available you can use the following pip command to install the package
+
+```
+$ pip install bionetgen
+```
+
+### Features
+
+PyBioNetGen comes with a command line interface (CLI), based on [cement framework](https://builtoncement.com/), as well as a functional library that can be imported. The CLI can be used to run BNGL models, generate Jupyter notebooks and do rudimentary plotting.
+
+The library side provides a simple BNGL model runner as well as a model object that can be manipulated and used to get libRoadRunner simulators for the model.
+
+PyBioNetGen also includes a heavily updated version of [Atomizer](https://github.com/RuleWorld/atomizer) which allows for conversion of SBML models into BNGL format. Atomizer can also be used to automatically try to infer the internal structure of SBML species during the conversion, see [here](https://pybionetgen.readthedocs.io/en/latest/atomizer.html) for more information. Please note that this version of Atomizer is the main supported version and the version distributed with BioNetGen will eventually be deprecated.
+
+The model object requires a system call to BioNetGen so the initialization can be relatively costly, in case you would like to use it for parallel applications, use the [libRoadRunner](http://libroadrunner.org/) simulator instead, unless you are doing NFSim simulations.
+
+### Usage
+
+Sample CLI usage
+
+```
+$ bionetgen -h # help on every subcommand
+$ bionetgen run -h # help on run subcommand
+$ bionetgen run -i mymodel.bngl -o output_folder # this runs the model in output_folder
+```
+
+Sample library usage
+
+```
+import bionetgen
+
+ret = bionetgen.run("/path/to/mymodel.bngl", out="/path/to/output/folder")
+# out keyword is optional, if not given,
+# generated files will be deleted after running
+res = ret.results['mymodel']
+# res will be a numpy record array of your gdat results
+
+model = bionetgen.bngmodel("/path/to/mymodel.bngl")
+# model will be a python object that contains all model information
+print(model.parameters) # this will print only the parameter block in BNGL format
+print(model) # this will print the entire BNGL
+model.parameters.k = 1 # setting parameter k to 1
+with open("new_model.bngl", "w") as f:
+ f.write(str(model)) # writes the changed model to new_model file
+
+# this will give you a libRoadRunner instance of the model
+librr_sim = model.setup_simulator()
+```
+
+You can find more tutorials [here](https://pybionetgen.readthedocs.io/en/latest/tutorials.html).
+
+### Environment Setup
+
+The following demonstrates setting up and working with a development environment:
+
+```
+### create a virtualenv for development
+
+$ make virtualenv
+
+$ source env/bin/activate
+
+
+### run bionetgen cli application
+
+$ bionetgen --help
+
+
+### run pytest / coverage
+
+$ make test
+```
+
+### Docker
+
+Included is a basic `Dockerfile` for building and distributing `BioNetGen CLI`,
+and can be built with the included `make` helper:
+
+```
+$ make docker
+
+$ docker run -it bionetgen --help
+```
+
+### Publishing to PyPI
+
+You can use `make dist` command to make the distribution and push to PyPI with
+
+```
+python -m twine upload dist/*
+```
+
+You'll need to have a PyPI API token created, see [here](https://packaging.python.org/tutorials/packaging-projects/) for more information.
+
+
+%prep
+%autosetup -n bionetgen-0.8.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-bionetgen -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3549e72
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d64785c37813d482c42fb25d306528ee bionetgen-0.8.0.tar.gz