Working CLI.
Added Mac/Linux supported, latest BNG version downloading, working environment variable setup.
CI and everything working
The library now returns results and doesn't need an output folder
Now bundling Linux/Mac binaries with the package, removed translator binary from the bundle to keep package size within limits
Bugfixing useless line that crashes the CLI
Adding notebook subcommand for testing a Jupyter notebook, added a starter notebook
Adding Windows support
Adding a better notebook, windows support tests done
Notebook command now writes a new one in the folder that it was called from, added a template to also allow for -i to be used for the resulting notebook
Adding XML-API to the library. Currently it is essentially completely separate
some bugfixes to XML-API
Adding simulator interface
simulator bugfixes
better simulator setup, new defaults system and by default supress stdout
uptick to get BNG 2.5.2
uptick for changed xmltodict version to allow later pythons to install the library
adding rudimentary plotting for gdat/cdat files
major changes to how the command line is called, going full subcommand based structure
minor behavior change to plot subcommand --legend option
bugfix to previous change
added basic .scan file plotting to the plot subcommand
BNG2.pl stdout now pipes correctly to actual stdout and can be adjusted via configuraion files
Adding documentation, rewriting temporary folder and file handling to use TemporaryDirectory and Temporary file respectively so that these work correctly on Windows.
Fixing a bug that was caused by method renaming
Notebook subcommand now by default doesn't open the notebook using nbopen, an argument allows you to do so.
Reorganization of library functionality and library side now has access to configuration parsing from cement framework. Published on PyPI
Updating BioNetGen version to 2.6.0
Massive model object restructuring complete and XML parsing is separated from model object. Fixed XML parsing of certain features like constant species.
Various changes fixing issues #1 and #7. BNG2.pl output is immediately piped out stdout.
Updated BNGResult object to be user friendly, updated OrderedDict import to try collections library.
run
command can now run bngmodel objects directly, creates a temporary file to do so. Changing
a parameter value now correctly changes what's being written (expression vs value).
Small bugfix where XML parsing wasn't returning the parsed objects for pattern objects
Small bugfix where BNGResult object was incorrectly referring to "results" attribute. Updated required pandas version in requirements.txt to avoid incompatibility issues between numpy>=1.20 and older pandas versions.
Small bugfix to ensure the model file is opened with UTF-8 encoding which caused some issues on (some) windows machines. s
Removing numpy dependency from setup.py, action reading off of BNGL file.
Moving imports around, removing unnecessary ones to speed up CLI performance.
A couple bugfixes to plotting, running the CLI on a model can now generate a log file with the option -l/--log. Failing to run now raises a ValueError (will be changed with custom errors in the future). Added some input and output file checks to notebook subcommand.
Fixed a but where "0" species was being printed as "0()". Action block is now a list and not a dictionary which was disallowing multiple actions of the same type.
Changed bionetgen.run
behavior when called with a bngmodel
object. Now the model file is saved and if it exists, it's overwritten with a warning. Slightly better error reporting when the run
call fails.
Changed bionetgen.run
behavior again, how calling the method with an out
argument doesn't leave you in the output folder when it's done executing and it will return you back to the folder you started with. Bugfix where parsing a model without actions failed.
Bugfix where the libroadrunner simulator object was not handled correctly.
New info subcommand, major updates to test suite, some updates to error reporting.
Early development version of a new visualize subcommand that automatically runs a visualize action on a model and returns the resulting file. New require keyword that quits if the current version is not equal to or greater than the required one.
Minor bugfix for notebook template, numpy requirement removed for issue #11, fixes for issues #15, #16 and partially #21.
Action arguments are now dictionaries, actions like setModelName
that needs to be used before the model are now parsed correctly, a bug where using a new line with \
broke parsing is fixed, added observable pattern quantifier parsing and minor change to parsing to allow for observable quantifiers <
and <=
, sample_times
argument parsing fixes and more informative errors if it fails.
Added observable quantifier parsing. Fixes to actions
argument parsing.
Internal BNG version updated to 2.7.0, added visualization type all
to get all visualization types in one command.
Minor behavior change to visualize where, if output is specified the files won't copy back to the original folder.
Subcommand atomize is added allowing for translation and atomization of SBML models. A simple test case for flat and atomized translations is added. See bionetgen atomize -h
for more information.
Various updates and bugfixes for atomize subcommand
Bugfix to fixed species output where the $
appeared before overall pattern compartments, added __getitem__
and __setitem__
for the species block to allow for array indexing of seed species.
Default log level for atomizer is now WARNING
, by default atomizer probes web services now,
minor atomizer bugfixes
Component states in atomizer outputs are now lexically ordered. Minor bugfix for atomizer where a user inputted self-binding site would add two separate binding sites on the same molecule.
Fixed an atomizer bug where the export wasn't in UTF-8 encoding. Minor bugfix to CLI plotting where the BNGPlotter import was incorrect and added a CLI plotting test case.
Added parsing support for rule modifiers. Minor bugfix for atomizer.
Added a new subcommand called graphdiff that can calculate differences between two contactmap graphs generated by bionetgen. Minor bugfixes.
First working version of the union
mode for the graphdiff
subcommand
Bugfix for graphdiff
subcommand, matrix
mode
A new command line argument for graphdiff
, --colors
allows you to give a JSON file with keys g1
, g2
and intersect
, each of which are arrays of color hexcodes that determine the colors of the resulting graph.
Bugfix to graphdiff
command where not using a color file would break the command. New temporary versioning scheme where very minor fixes like this is added to the last number in the version. E.g. 0.6.1 -> 0.6.1.1 -> 0.6.1.2 etc. This will be continued until 1.0 release. Other small bugfixes and some changes to atomizer.
Updated underlying BioNetGen to version 2.7.1
Updated action parsing with a pyparsing grammar. Updated action block testing with new cases.
Updated a bug where the suppress
kwarg to the bionetgen.run
entrypoint wasn't waiting for the process to terminate before giving the returncode, resulting in runs that looks like they failed.
Added support for energy pattern
and population map
block after bionetgen 2.7.2 added XML export support for those blocks.
Added support for the Arrhenius
rate law after BioNetGen 2.8.0 added XML support for it. With this, all BioNetGen features
shuold be supported by both BNG-XML exporter from BioNetGen as well as in PyBNG.
Added an experimental parser for .net
files. Added simulator object that can use the writeCPYfile
action introduced in BioNetGen 2.8.2, compile the resulting C file and use a wrapper to call C code directly. The C code requires CVODE 2.6.0, which will also be temporarily distributed with the PyBNG package. GCC is required to compile the C code and the user must set the cvode_lib
and cvode_include
configuration options using the config file system which should be named .bionetgen.conf
and placed under the users home folder. The options should point to CVODE library folder and include folders respectively.
Added a set of custom exceptions and replaced most errors raised with custom exceptions for more descriptive errors. Added proper logging. Added a pattern reader and experimental canonicalization of pattern objects using PyNauty. This feature is not fully functional yet.
Fixed a bug where calling simulators with just the model string was failing.
BNGResult representation didn't have spaces between model names.
Defaults for regulatory visualization are changed. setup_simulator
now uses mkdtemp
to avoid issues with Windows temporary file system.
Bugfixes to various parts of cpy simulator code. cpy simulator now tries to identify independent parameters to pass to the c simulator and also returns the time points used for integration.
Behavior change, now most calls to BNG2.pl
won't result in verbose output, the default has changed to suppress output. The only call that retains the output is a command line call to the subcommand run
. Bugfix where the library run function didn't respect suppress option if timeout keyword was used. Bugfix to atomizer where atomization failed if the model only had syn/desyn rules.
Updated underlying BNG and NFsim versions, expanded documentation and preparing for a full release.
Updated underlying BNG and NFsim versions.
Fixed bug in reading DeleteMolecules
keyword when multiple molecules were deleted at once. Also, first installment of cleaning up constructor functions for model elements to allow programmatic model building (as opposed to just reading from BNGL file).