{"id":13994263,"url":"https://github.com/betsee/betse","last_synced_at":"2025-10-21T20:48:41.485Z","repository":{"id":50482158,"uuid":"496086856","full_name":"betsee/betse","owner":"betsee","description":"Bio Electric Tissue Simulation Engine: Mark I","archived":false,"fork":false,"pushed_at":"2023-11-07T03:33:21.000Z","size":12022,"stargazers_count":61,"open_issues_count":0,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-07-18T23:39:05.696Z","etag":null,"topics":["bioelectric","biology","multiphysics-modeling","multiphysics-simulation","python","science-research","simulator"],"latest_commit_sha":null,"homepage":"https://calculion.streamlit.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/betsee.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-05-25T04:53:14.000Z","updated_at":"2024-07-14T03:51:26.000Z","dependencies_parsed_at":"2024-01-16T00:19:52.091Z","dependency_job_id":"4655a6a4-cc83-43bc-b20b-14e838a5e3bd","html_url":"https://github.com/betsee/betse","commit_stats":{"total_commits":1922,"total_committers":3,"mean_commits":640.6666666666666,"dds":0.5114464099895941,"last_synced_commit":"5da9c54c1572f1eab843b459c209c9e7a2faa332"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betsee%2Fbetse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betsee%2Fbetse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betsee%2Fbetse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betsee%2Fbetse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/betsee","download_url":"https://codeload.github.com/betsee/betse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":214675185,"owners_count":15768122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioelectric","biology","multiphysics-modeling","multiphysics-simulation","python","science-research","simulator"],"created_at":"2024-08-09T14:02:47.651Z","updated_at":"2025-10-21T20:48:36.467Z","avatar_url":"https://github.com/betsee.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":".. # ------------------( DIRECTIVES                          )------------------\n.. # Fallback language applied to all code blocks failing to specify an\n.. # explicit language. Since the majority of all code blocks in this document\n.. # are Bash one-liners intended to be run interactively, this is \"console\".\n.. # For a list of all supported languages, see also:\n.. #     http://build-me-the-docs-please.readthedocs.org/en/latest/Using_Sphinx/ShowingCodeExamplesInSphinx.html#pygments-lexers\n\n.. # FIXME: Sadly, this appears to be unsupported by some ReST parsers and is\n.. # thus disabled until more widely supported. *collective shrug*\n.. # highlight:: console\n\n.. # ------------------( SYNOPSIS                            )------------------\n\n=====\nBETSE\n=====\n\n**BETSE** (**B**\\ io\\ **E**\\ lectric **T**\\ issue **S**\\ imulation **E**\\\nngine) is an open-source cross-platform `discrete exterior calculus`_ simulator\nfor 2D computational multiphysics problems in the life sciences – including\nelectrodiffusion_, electro-osmosis_, galvanotaxis_, `voltage-gated ion\nchannels`_, `gene regulatory networks`_, and `biochemical reaction networks`_\n(e.g., metabolism).\n\nBETSE is `portably implemented \u003ccodebase_\u003e`__ in pure `Python 3`_,\n`continuously stress-tested \u003ctesting_\u003e`__ via `GitHub Actions`_ **×** tox_ **×**\npytest_ **×** Codecov_, and `permissively distributed \u003clicense_\u003e`__ under the\n`BSD 2-clause license`_.\n\n.. # ------------------( TABLE OF CONTENTS                   )------------------\n.. # Blank line. By default, Docutils appears to only separate the subsequent\n.. # table of contents heading from the prior paragraph by less than a single\n.. # blank line, hampering this table's readability and aesthetic comeliness.\n\n|\n\n.. # Table of contents, excluding the above document heading. While the\n.. # official reStructuredText documentation suggests that a language-specific\n.. # heading will automatically prepend this table, this does *NOT* appear to\n.. # be the case. Instead, this heading must be explicitly declared.\n\n.. contents:: **Contents**\n   :local:\n\n.. # ------------------( DESCRIPTION                         )------------------\n\nInstallation\n============\n\nBETSE is universally installable with either:\n\n- [\\ *Recommended*\\ ] pip_, the standard Python package manager:\n\n  .. code-block:: console\n\n     pip install betse\n\n- Anaconda_, a third-party Python package manager:\n\n  .. code-block:: console\n\n     conda config --add channels conda-forge\n     conda install betse\n\nSee our `installation instructions \u003cinstall_\u003e`__ for details, including best\npractices for `Linux \u003cinstall Linux\u003e`__, `macOS \u003cinstall macOS\u003e`__, and\n`Windows usage \u003cinstall Windows\u003e`__, `Git-based development \u003cinstall\ndevelopers_\u003e`__, and `Docker-based containerization \u003cinstall Docker_\u003e`__.\n\nUsage\n=====\n\nBETSE installs the ``betse`` command, a low-level command line interface (CLI)\nideal for advanced users.\n\nBETSEE_ installs the ``betsee`` command, a high-level graphical user interface\n(GUI) ideal for *all* users – regardless of prior experience or familiarity\nwith the command line.\n\nSubcommands\n-----------\n\nThe ``betse`` command accepts numerous **subcommands** (i.e., passed arguments\nindicating actions to be performed).\n\nTry\n~~~\n\nThe ``try`` subcommand creates a default simulation in the current directory\nand runs all requisite and optional phases of this simulation:\n\n.. code-block:: console\n\n   betse -v try\n\nThis subcommand is typically run as an initial `smoke test`_ verifying that\nBETSE was installed properly and operates as advertised. Specifically, this\nsubcommand:\n\n- Enables verbosity with the ``-v`` option, simplifying issue reporting in the\n  event of an unexpected error.\n- Creates a ``sample_sim/`` subdirectory in the current directory, providing\n  the default simulation for this release of BETSE. This includes *all*\n  configuration files and resources referenced by these files.\n- Runs all simulation phases (e.g., seed, initialization) of this simulation.\n\nWhen finished, you may safely either:\n\n+ Remove this subdirectory.\n+ Rename this subdirectory (e.g., to ``my_sim/``) to serve as a basis for\n  subsequent simulations.\n+ Preserve this subdirectory as is.\n\nSeed, Init, and Sim\n~~~~~~~~~~~~~~~~~~~\n\nThe ``seed``, ``init``, and ``sim`` subcommands run only the seed,\ninitialization, and simulation phases (respectively) for the passed simulation.\nWhile the higher-level ``try`` subcommand conveniently runs *all* simulation\nphases, it's often preferable to run only a single phase – particularly when\nexperimenting with computationally expensive simulations.\n\nA typical CLI-based workflow calls these subcommands in order:\n\n#. Create a default simulation configuration in a new ``my_sim/`` subdirectory\n   of the current directory.\n\n   .. code-block:: console\n\n      betse config my_sim/sim_config.yml\n\n#. [\\ *Optional*\\ ] Edit the new ``my_sim/sim_config.yml`` file with `your\n   favourite text editor \u003cAtom_\u003e`__.\n#. Seed (i.e., create) a pseudo-random cell cluster from this configuration.\n\n   .. code-block:: console\n\n      betse seed my_sim/sim_config.yml\n\n#. [\\ *Optional*\\ ] Export all enabled plots, animations, and comma-separated\n   value (CSV) files from this seed.\n\n   .. code-block:: console\n\n      betse plot seed my_sim/sim_config.yml\n\n#. Initialize (i.e., calculate steady-state concentrations for) this seeded\n   cluster.\n\n   .. code-block:: console\n\n      betse init my_sim/sim_config.yml\n\n#. [\\ *Optional*\\ ] Export all enabled plots, animations, and comma-separated\n   value (CSV) files from this initialization.\n\n   .. code-block:: console\n\n      betse plot init my_sim/sim_config.yml\n\n#. Simulate this initialized cluster.\n\n   .. code-block:: console\n\n      betse sim my_sim/sim_config.yml\n\n#. [\\ *Optional*\\ ] Export all enabled plots, animations, and comma-separated\n   value (CSV) files from this simulation.\n\n   .. code-block:: console\n\n      betse plot sim my_sim/sim_config.yml\n\nOptions\n-------\n\nBETSE provides a variety of command-line options and subcommands in addition to\nthose synopsized above. The standalone ``betse`` and ``betse --help`` commands\ndescribe these options and subcommands as follows:\n\n.. code-block:: console\n\n   usage: betse [-h] [-v] [-V] [--log-file LOG_FILENAME]\n                [--log-level {all,debug,info,warning,error,critical,none}]\n                [--profile-type {none,call,size}]\n                [--profile-file PROFILE_FILENAME]\n                [--matplotlib-backend MATPLOTLIB_BACKEND_NAME] [--headless]\n                {config,seed,init,sim,sim-grn,plot,info,try} ...\n   \n   The BioElectric Tissue Simulation Engine (BETSE) is a discrete exterior\n   calculus simulator for 2D computational multiphysics problems in the life\n   sciences -- including (electro)diffusion, (electro)osmosis, galvanotaxis,\n   voltage-gated ion channels, gene regulatory networks, and biochemical reaction\n   networks.\n   \n   optional arguments:\n     -h, --help            show this help message and exit\n     -v, --verbose         print and log all messages verbosely\n     -V, --version         print program version and exit\n     --log-file LOG_FILENAME\n                           file to log to (defaults to\n                           minimum level of messages to log to \"--log-file\"\n                           (defaults to \"info\") [overridden by \"--verbose\"]\n     --profile-type {none,call,size}\n                           type of profiling to perform (defaults to \"none\"):\n                           * \"none\", disabling profiling\n                           * \"call\", profiling callables (functions, methods)\n                           * \"size\", profiling object sizes (requires \"pympler\")\n     --profile-file PROFILE_FILENAME\n                           file to profile to unless \"--profile-type=none\"\n                           (defaults to \"/home/leycec/.betse/betse.prof\")\n     --matplotlib-backend MATPLOTLIB_BACKEND_NAME\n                           name of matplotlib backend to use (see: \"betse info\")\n     --headless            enable headless mode (display no plots or animations)\n                           [forces \"--matplotlib-backend=agg\"]\n   \n   subcommands:\n   Exactly one of the following subcommands must be passed:\n   \n     {config,seed,init,sim,sim-grn,plot,info,try}\n       config              create a default config file for BETSE simulations\n       seed                seed a new cell cluster for a config file\n       init                initialize a seeded cell cluster for a config file\n       sim                 simulate an initialized cell cluster for a config file\n       sim-grn             simulate a gene regulatory network for a config file\n       plot                plot an initialized or simulated simulation\n       info                print metadata synopsizing BETSE and current system\n       try                 create, init, simulate, and plot a sample simulation\n   \n   subcommand help:\n   \n   For help with a specific subcommand, pass the \"-h\" or \"--help\" option to that\n   subcommand. For example, for help with the \"config\" subcommand, run:\n   \n       betse config --help\n\nDocumentation\n-------------\n\nBETSE also provides external documentation optimized for offline reading –\ncomplete with explanatory examples, sample plots, and ample screenshots:\n\n- Official `BETSE 1.0 documentation`_. (\\ *PDF format; 75 pages.*\\ )\n- Official `BETSE 0.4 documentation`_. (\\ *PDF format; 72 pages.*\\ )\n- Official `BETSE 0.3 documentation`_. (\\ *PDF format; 77 pages.*\\ )\n\nTutorials\n---------\n\nBETSE provides a range of `hands-on tutorial materials \u003ctutorial user_\u003e`__,\nincluding simulation files to run key published simulations, as well as a\n`Developer's Tutorial \u003ctutorial dev_\u003e`__ demonstrating how to load and work\nwith BETSE modules, methods, and simulations in external code projects:\n\n- Official `BETSE Tutorial Simulation Packages \u003ctutorial user_\u003e`__. (\\ *YAML\n  format.*\\ )\n- Official `BETSE Developer's Tutorial \u003ctutorial dev_\u003e`__. (\\ *Jupyter\n  Notebook format.*\\ )\n\nScience\n============\n\nBETSE simulates biorealistic electrochemical phenomena in `gap junction`_\\\n-networked 2D cellular collectives. To predict `bioelectric patterns\n\u003cbioelectricity_\u003e`__ and their spatio-temporal dynamics, BETSE:\n\n- Models `ion channel`_ and `gap junction`_ activity.\n- Tracks changes in ion concentration and net ionic charge.\n- Calculates endogenous voltages and currents.\n- Accepts simulation parameters, variables, and options as human-readable,\n  well-commented configuration files in YAML_ format.\n- Exports simulation results to a variety of output formats, including:\n\n  - Publication-quality:\n\n    - Plots, charts, and animations driven by Matplotlib_, the industry\n      standard for open-source plot visualization.\n    - `Directed graphs`_ (i.e., networks) driven by Graphviz_, the industry\n      standard for open-source graph visualization.\n\n  - Internet-friendly compressed video driven by any of various popular\n    open-source video encoders, including FFmpeg_, Libav_, and MEncoder_.\n  - Post-processable tabular data (e.g., `comma-separated values (CSV)\n    \u003ccomma-separated values_\u003e`__).\n\n- Imports bitmask images defining the shapes of:\n\n  - Cell clusters.\n  - Cell cluster regions localizing `ion channel`_ activity, typically\n    signifying disparate types of adjacent tissue.\n\nTo assemble simple concepts into complex simulations, BETSE supplies a richly\nconfigurable, highly scalable biological toolset consisting of:\n\nIons\n----\n\nSimulations may enable arbitrary combinations of the principal ions implicated\nin bioelectrical signaling – including:\n\n- Sodium_ (*Na*\\ :sup:`+`).\n- Potassium_ (*K*\\ :sup:`+`).\n- Chloride_ (*Cl*\\ :sup:`-`).\n- Calcium_ (*Ca*\\ :sup:`2+`).\n- Hydrogen_ (*H*\\ :sup:`+`).\n- `Anionic proteins`_ (*P*\\ :sup:`-`).\n- Bicarbonate_ (*HCO*\\ :sup:`-`\\ :sub:`3`).\n\nIon Channels\n------------\n\nIndividual cells in simulations may enable arbitrary combinations of\n`voltage-gated ion channels`_, each implementing the `Hodgkin-Huxley (HH)\nformalism`_ with experimentally-derived parameters sourced from reputable\n`knowledge-based systems`_ (e.g., Channelpedia_). Explicitly supported channel\ntypes include:\n\n- HCN1_, HCN2_, and HCN4_.\n- `L-type Ca`_, `T-type Ca`_, and |P/Q-type Ca|_.\n- Kir2.1_.\n- Kv1.1_, Kv1.2_, Kv1.5_. Kv3.3_, and Kv3.4_.\n- Nav1.2_, Nav1.3_, and Nav1.6_.\n- `Leak \u003cleak channels_\u003e`__ and `ligand-gated channels`_, including:\n\n  - |Calcium-gated K+ channels|_.\n\nCustom ion channels parametrized by user-selected constants may be trivially\ndefined in the same manner (e.g., via a YAML_\\ -formatted configuration file).\n\nIon Pumps and Exchangers\n------------------------\n\nFor fine-grained control over cell dynamics, notable ion pumps and exchangers\nmay also be selectively enabled – including:\n\n- |Ca2+-ATPase|_.\n- |H+/K+-ATPase|_.\n- |Na+/K+-ATPase|_.\n- V-ATPase_.\n\nCustom ion pumps and exchangers parametrized by user-selected constants may be\ntrivially defined in the same manner (e.g., via a YAML_\\ -formatted\nconfiguration file).\n\nExtracellular Space\n-------------------\n\nCells form interconnected intracellular networks via voltage-sensitive `gap\njunction connections \u003cgap junction_\u003e`__ embedded within an `extracellular\nenvironment`_, maintained by `tight junctions`_ at the cell cluster periphery.\nSimulation of this environment enables exploration of `local field\npotentials`_, `transepithelial potential`_, and `ephaptic coupling`_ between\ncells.\n\nBiological Networks\n-------------------\n\nSimulation of `gene regulatory \u003cgene regulatory networks_\u003e`__ and `biochemical\nreaction networks`_ at both the cellular and mitochondrial level supports deep\nspatial analysis of otherwise intractable biological processes. Metabolism,\ndisease, aging, and other `genetic \u003cgenetics_\u003e`__ and `epigenetic\n\u003cepigenetics_\u003e`__ phenomena commonly associated with quasi-`Big Data`_ are all\nvalid targets for exhaustive study with BETSE.\n\nTo integrate these potent control systems with bioelectrical signaling, the\n`activity \u003cenzyme activity_\u003e`__-modulated interaction between `gene products`_\nand similar biochemicals is fully integrated with `ion channels \u003cion\nchannel_\u003e`__, `ion pumps`_, and `gap junctions`_.\n\nValidation\n----------\n\nBETSE is peer-reviewed software receiving continual evidence-based scrutiny.\nSimulation output is reproducibly synchronized with experimental observations on\n`membrane permeability`_, `resting potential`_, ion concentration, and similar\nreal-world biophysical quantities. Predictable outcomes have been demonstrated\nfor such well-known cases as:\n\n-  `Transmembrane voltage changes \u003ctransmembrane voltage_\u003e`__ on perturbations\n   to single cell membrane states and environmental ion concentrations.\n-  `Transepithelial potential differences (TEPD) \u003ctransepithelial\n   potential_\u003e`__.\n-  Bioelectrical signals at large-scale cellular wound sites.\n\nCitation\n========\n\nBETSE is formally described in our `introductory paper \u003c2016 article_\u003e`__.\nThird-party papers, theses, and other texts leveraging BETSE should ideally\ncite the following:\n\n    `Alexis Pietak`_ and `Michael Levin`_, 2016. |2016 article name|_\n    |2016 article supplement|_ [#supplement]_ |2016 journal name|_ *4*\\ (55).\n    :sup:`https://doi.org/10.3389/fbioe.2016.00055`\n\nSubsequent papers expanding the BETSE architecture with additional theory,\nexperimental results, and comparative metrics include:\n\n    * `Alexis Pietak`_ and `Michael Levin`_, 2017. |2017 article name|_\n      |2017 article supplement|_ [#supplement]_ |2017 journal name|_ *14*\\ (134),\n      p.20170425. :sup:`https://doi.org/10.1098/rsif.2017.0425`\n    * Vaibhav P. Pai, `Alexis Pietak`_, Valerie Willocq, Bin Ye, Nian-Qing Shi,\n      and `Michael Levin`_, 2018. |2018 hcn2 article name|_ |2018 hcn2 article\n      supplement|_ [#supplement]_ |2018 hcn2 journal name|_ *9*\\ (1), p.998.\n      :sup:`https://doi.org/10.1038/s41467-018-03334-5`\n    * Javier Cervera, `Alexis Pietak`_, `Michael Levin`_, and Salvador Mafe,\n      2018. |2018 coupling article name|_ |2018 coupling journal name|_ *128*,\n      pp.45—61. :sup:`https://doi.org/10.1016/j.bioelechem.2018.04.013`\n    * `Alexis Pietak`_ and `Michael Levin`_, 2018. |2018 review article name|_\n      |2018 review journal name|_\n      :sup:`https://doi.org/10.1016/j.pbiomolbio.2018.03.008`\n    * `Alexis Pietak`_, Johanna Bischof, Joshua LaPalme, Junji Morokuma, and\n      `Michael Levin`_, 2019. |2019 article name|_ |2019 journal name|_\n      :sup:`https://doi.org/10.1371/journal.pcbi.1006904`\n\n.. # FIXME: Add an image thumbnail for the first article above displaying the\n.. # cover image selected by the prior journal for that edition's cover article.\n\n.. # Note that, for unknown reasons, this footnote *MUST* be refenced above and\n.. # defined here rather than in the supplement replacements defined below.\n\n.. [#supplement]\n   This article's supplement extends the cursory theory presented by this\n   article with a rigorous treatment of the mathematics, formalisms, and\n   abstractions required to fully reproduce this work. If theoretical questions\n   remain after completing the main article, please consult this supplement.\n\nContact\n=======\n\nTo contact `Dr. Pietak`_, the principal developer of the BETSE codebase and\nfirst or second author of all above papers, cordially direct correspondence to\nthe personal e-mail account of `Dr. Pietak`_: [#e-mail]_\n\n* *Username:* **alexis** ``{dot}`` **pietak**\n* *Hostname:* **gmail** ``{dot}`` **com**\n\nTo report a software issue (e.g., bug, crash, or other unexpected behaviour)\n*or* request a new feature in BETSE, consider `submitting a new issue \u003cissue\nsubmission_\u003e`__ to our `issue tracker`_. Thanks in advance; it's only through\ngenerous user contributions that your user experience can continue to improve.\n\n.. [#e-mail]\n   To protect Dr. Pietak's e-mail address against `automated harvesting \u003ce-mail\n   harvesting_\u003e`__, this address has been intentionally obfuscated. Reconstruct\n   the original address by:\n\n   * Replacing the ``{dot}`` substring with the ``.`` charecter.\n   * Concatenating the username and hostname strings with the ``@`` character.\n\nAuthors\n=======\n\nBETSE comes courtesy a dedicated community of `authors \u003cauthor list_\u003e`__ and\ncontributors_ – without whom this project would be computationally impoverished,\nbiologically misaligned, and simply unusable.\n\n**Thanks, all.**\n\nFunding\n=======\n\nBETSE is currently independently financed as a volunteer open-source project.\nPrior grant funding sources include (in chronological order):\n\n#. For the five-year period spanning 2015—2019, BETSE was graciously associated\n   with the `Paul Allen Discovery Center`_ at `Tufts University`_ and supported\n   by a `Paul Allen Discovery Center award`_ from the `Paul G. Allen Frontiers\n   Group`_.\n\nLicense\n=======\n\nBETSE is open-source software `released \u003clicense_\u003e`__ under the permissive `BSD\n2-clause license`_.\n\nThe logo prominently displayed on this `project page \u003cproject_\u003e`__ is a flat\n`Noun Project`_ icon entitled `\"Cow,\" \u003cCows collection_\u003e`__ `kindly released\n\u003cNoun Project license_\u003e`__ under the permissive `BSD-compatible \u003clicense\ncompatibility_\u003e`__ `CC BY 3.0 license`_ by `Maxim Kulikov`_.\n\nSee Also\n========\n\nFor prospective users:\n\n-  `Installation \u003cinstall_\u003e`__, detailing BETSE's installation with exhaustive\n   platform-specific instructions.\n\nFor prospective contributors:\n\n-  `Development \u003cdoc/md/DEVELOP.md\u003e`__, detailing development of the BETSE\n   codebase – philosophy, workflow, and otherwise.\n-  `Testing \u003cdoc/md/TEST.md\u003e`__, detailing testing of the BETSE codebase –\n   `continuous integration`_, manual testing, and otherwise.\n-  `Freezing \u003cdoc/md/FREEZE.md\u003e`__, detailing conversion of the BETSE codebase\n   into redistributable platform-specific executable binaries.\n\n.. # ------------------( LINKS ~ betse                      )------------------\n.. _codebase:\n   https://gitlab.com/betse/betse/tree/master\n.. _conda package:\n   https://anaconda.org/conda-forge/betse\n.. _contributors:\n   https://gitlab.com/betse/betse/graphs/master\n.. _issue submission:\n   https://gitlab.com/betse/betse/issues/new?issue%5Bassignee_id%5D=\u0026issue%5Bmilestone_id%5D=\n.. _issue tracker:\n   https://gitlab.com/betse/betse/issues\n.. _project:\n   https://gitlab.com/betse/betse\n.. _tarballs:\n   https://gitlab.com/betse/betse/tags\n\n.. # ------------------( LINKS ~ betse : ci                 )------------------\n.. _Appveyor:\n   https://ci.appveyor.com/project/betse/betse/branch/master\n.. _testing:\n   https://gitlab.com/betse/betse/pipelines\n\n.. # ------------------( LINKS ~ betse : docs               )------------------\n.. _BETSE 1.0 documentation:\n   https://www.dropbox.com/s/3rsbrjq2ljal8dl/BETSE_Documentation_April10th2019.pdf?dl=0\n.. _BETSE 0.4 documentation:\n   https://www.dropbox.com/s/n8qfms2oks9cvv2/BETSE04_Documentation_Dec1st2016.pdf?dl=0\n.. _BETSE 0.3 documentation:\n   https://www.dropbox.com/s/fsxhjpipbiog0ru/BETSE_Documentation_Nov1st2015.pdf?dl=0\n\n.. # ------------------( LINKS ~ betse : local              )------------------\n.. _author list:\n   doc/md/AUTHORS.md\n.. _license:\n   LICENSE\n\n.. # ------------------( LINKS ~ betse : local : install    )------------------\n.. _install:\n   doc/rst/INSTALL.rst\n.. _install developers:\n   doc/rst/INSTALL.rst#developers\n.. _install Docker:\n   doc/rst/INSTALL.rst#docker\n.. _install Linux:\n   doc/rst/INSTALL.rst#linux\n.. _install macOS:\n   doc/rst/INSTALL.rst#macos\n.. _install Windows:\n   doc/rst/INSTALL.rst#windows\n\n.. # ------------------( LINKS ~ betse : local : tutorial   )------------------\n.. _tutorial dev:\n   doc/md/DEV_DEMO.md\n.. _tutorial user:\n   doc/md/TUTORIALS.md\n\n.. # ------------------( LINKS ~ betsee                     )------------------\n.. _BETSEE:\n   https://gitlab.com/betse/betsee\n.. _BETSEE codebase:\n   https://gitlab.com/betse/betsee/tree/master\n\n.. # ------------------( LINKS ~ academia                   )------------------\n.. _Michael Levin:\n.. _Levin, Michael:\n   https://ase.tufts.edu/biology/labs/levin\n.. _Channelpedia:\n   http://channelpedia.epfl.ch\n.. _Paul Allen Discovery Center:\n   http://www.alleninstitute.org/what-we-do/frontiers-group/discovery-centers/allen-discovery-center-tufts-university\n.. _Paul Allen Discovery Center award:\n   https://www.alleninstitute.org/what-we-do/frontiers-group/news-press/press-resources/press-releases/paul-g-allen-frontiers-group-announces-allen-discovery-center-tufts-university\n.. _Paul G. Allen Frontiers Group:\n   https://www.alleninstitute.org/what-we-do/frontiers-group\n.. _Tufts University:\n   https://www.tufts.edu\n\n.. # ------------------( LINKS ~ academia : ally            )------------------\n.. _Alexis Pietak:\n.. _Pietak, Alexis:\n.. _Dr. Pietak:\n   https://www.researchgate.net/profile/Alexis_Pietak\n.. _Organic Mechanics:\n   https://www.omecha.org\n.. _Organic Mechanics Contact:\n   https://www.omecha.org/contact\n\n.. # ------------------( LINKS ~ paper : 2016               )------------------\n.. _2016 article:\n   http://journal.frontiersin.org/article/10.3389/fbioe.2016.00055/abstract\n\n.. |2016 article name| replace::\n   **Exploring instructive physiological signaling with the bioelectric tissue\n   simulation engine (BETSE).**\n.. _2016 article name:\n   http://journal.frontiersin.org/article/10.3389/fbioe.2016.00055/abstract\n\n.. |2016 article supplement| replace::\n   **(**\\ Supplement\\ **).**\n.. _2016 article supplement:\n   https://www.frontiersin.org/articles/file/downloadfile/203679_supplementary-materials_datasheets_1_pdf/octet-stream/Data%20Sheet%201.PDF/1/203679\n\n.. |2016 journal name| replace::\n   *Frontiers in Bioengineering and Biotechnology,*\n.. _2016 journal name:\n   http://journal.frontiersin.org/journal/bioengineering-and-biotechnology\n\n.. # ------------------( LINKS ~ paper ~ 2017               )------------------\n.. |2017 article name| replace::\n   **Bioelectric gene and reaction networks: computational modelling of genetic, biochemical and bioelectrical dynamics in pattern regulation.**\n.. _2017 article name:\n   http://rsif.royalsocietypublishing.org/content/14/134/20170425\n\n.. |2017 article supplement| replace::\n   **(**\\ Supplement\\ **).**\n.. _2017 article supplement:\n   https://figshare.com/collections/Supplementary_material_from_Bioelectric_gene_and_reaction_networks_computational_modelling_of_genetic_biochemical_and_bioelectrical_dynamics_in_pattern_regulation_/3878404\n\n.. |2017 journal name| replace::\n   *Journal of The Royal Society Interface,*\n.. _2017 journal name:\n   http://rsif.royalsocietypublishing.org\n\n.. # ------------------( LINKS ~ paper ~ 2018 : hcn2        )------------------\n.. |2018 hcn2 article name| replace::\n   **HCN2 rescues brain defects by enforcing endogenous voltage pre-patterns.**\n.. _2018 hcn2 article name:\n   https://www.nature.com/articles/s41467-018-03334-5\n\n.. |2018 hcn2 article supplement| replace::\n   **(**\\ Supplement\\ **).**\n.. _2018 hcn2 article supplement:\n   https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-018-03334-5/MediaObjects/41467_2018_3334_MOESM1_ESM.pdf\n\n.. |2018 hcn2 journal name| replace::\n   *Nature Communications.*\n.. _2018 hcn2 journal name:\n   https://www.nature.com\n\n.. # ------------------( LINKS ~ paper ~ 2018 : coupling    )------------------\n.. |2018 coupling article name| replace::\n   **Bioelectrical coupling in multicellular domains regulated by gap junctions: A conceptual approach.**\n.. _2018 coupling article name:\n   https://www.sciencedirect.com/science/article/pii/S156753941830063X?via%3Dihub\n\n.. |2018 coupling journal name| replace::\n   *Bioelectrochemistry.*\n.. _2018 coupling journal name:\n   https://www.sciencedirect.com/journal/bioelectrochemistry\n\n.. # ------------------( LINKS ~ paper ~ 2018 : review      )------------------\n.. |2018 review article name| replace::\n   **Bioelectrical control of positional information in development and regeneration: A review of conceptual and computational advances.**\n.. _2018 review article name:\n   https://www.sciencedirect.com/science/article/pii/S0079610718300415\n\n.. |2018 review journal name| replace::\n   *Progress in Biophysics and Molecular Biology.*\n.. _2018 review journal name:\n   https://www.sciencedirect.com/journal/progress-in-biophysics-and-molecular-biology\n\n.. # ------------------( LINKS ~ paper ~ 2019               )------------------\n.. |2019 article name| replace::\n   **Neural control of body-plan axis in regenerating planaria.**\n.. _2019 article name:\n   https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006904\n\n.. |2019 journal name| replace::\n   *PLOS Computational Biology.*\n.. _2019 journal name:\n   https://journals.plos.org/ploscompbiol\n\n.. # ------------------( LINKS ~ science                    )------------------\n.. _bioelectricity:\n   https://en.wikipedia.org/wiki/Bioelectromagnetics\n.. _biochemical reaction networks:\n   http://www.nature.com/subjects/biochemical-reaction-networks\n.. _discrete exterior calculus:\n   https://en.wikipedia.org/wiki/Discrete_exterior_calculus\n.. _electrodiffusion:\n   https://en.wikipedia.org/wiki/Nernst%E2%80%93Planck_equation\n.. _electro-osmosis:\n   https://en.wikipedia.org/wiki/Electro-osmosis\n.. _enzyme activity:\n   https://en.wikipedia.org/wiki/Enzyme_assay\n.. _ephaptic coupling:\n   https://en.wikipedia.org/wiki/Ephaptic_coupling\n.. _epigenetics:\n   https://en.wikipedia.org/wiki/Epigenetics\n.. _extracellular environment:\n   https://en.wikipedia.org/wiki/Extracellular\n.. _finite volume:\n   https://en.wikipedia.org/wiki/Finite_volume_method\n.. _galvanotaxis:\n   https://en.wiktionary.org/wiki/galvanotaxis\n.. _gap junction:\n.. _gap junctions:\n   https://en.wikipedia.org/wiki/Gap_junction\n.. _gene products:\n   https://en.wikipedia.org/wiki/Gene_product\n.. _gene regulatory networks:\n   https://en.wikipedia.org/wiki/Gene_regulatory_network\n.. _genetics:\n   https://en.wikipedia.org/wiki/Genetics\n.. _genetic algorithms:\n   https://en.wikipedia.org/wiki/Genetic_algorithm\n.. _Hodgkin-Huxley (HH) formalism:\n   https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model\n.. _local field potentials:\n   https://en.wikipedia.org/wiki/Local_field_potential\n.. _membrane permeability:\n   https://en.wikipedia.org/wiki/Cell_membrane\n.. _resting potential:\n   https://en.wikipedia.org/wiki/Resting_potential\n.. _tight junctions:\n   https://en.wikipedia.org/wiki/Tight_junction\n.. _transmembrane voltage:\n   https://en.wikipedia.org/wiki/Membrane_potential\n.. _transepithelial potential:\n   https://en.wikipedia.org/wiki/Transepithelial_potential_difference\n\n.. # ------------------( LINKS ~ science : ions             )------------------\n.. _anionic proteins:\n   https://en.wikipedia.org/wiki/Ion#anion\n.. _bicarbonate: https://en.wikipedia.org/wiki/Bicarbonate\n.. _calcium:     https://en.wikipedia.org/wiki/Calcium_in_biology\n.. _chloride:    https://en.wikipedia.org/wiki/Chloride\n.. _hydrogen:    https://en.wikipedia.org/wiki/Hydron_(chemistry)\n.. _sodium:      https://en.wikipedia.org/wiki/Sodium_in_biology\n.. _potassium:   https://en.wikipedia.org/wiki/Potassium_in_biology\n\n.. # ------------------( LINKS ~ science : channels         )------------------\n.. _ion channel:\n   https://en.wikipedia.org/wiki/Ion_channel\n.. _leak channels:\n   https://en.wikipedia.org/wiki/Leak_channel\n.. _ligand-gated channels:\n   https://en.wikipedia.org/wiki/Ligand-gated_ion_channel\n.. _voltage-gated ion channels:\n   https://en.wikipedia.org/wiki/Voltage-gated_ion_channel\n\n.. |calcium-gated K+ channels| replace::\n   Calcium-gated K\\ :sup:`+` channels\n.. _calcium-gated K+ channels:\n   https://en.wikipedia.org/wiki/Calcium-activated_potassium_channel\n\n.. # ------------------( LINKS ~ science : channels : type  )------------------\n.. _HCN1:   http://channelpedia.epfl.ch/ionchannels/61\n.. _HCN2:   http://channelpedia.epfl.ch/ionchannels/62\n.. _HCN4:   http://channelpedia.epfl.ch/ionchannels/64\n.. _Kir2.1: http://channelpedia.epfl.ch/ionchannels/42\n.. _Kv1.1:  http://channelpedia.epfl.ch/ionchannels/1\n.. _Kv1.2:  http://channelpedia.epfl.ch/ionchannels/2\n.. _Kv1.5:  http://channelpedia.epfl.ch/ionchannels/5\n.. _Kv3.3:  http://channelpedia.epfl.ch/ionchannels/13\n.. _Kv3.4:  http://channelpedia.epfl.ch/ionchannels/14\n.. _Nav1.2: http://channelpedia.epfl.ch/ionchannels/121\n.. _Nav1.3: http://channelpedia.epfl.ch/ionchannels/122\n.. _Nav1.6: http://channelpedia.epfl.ch/ionchannels/125\n.. _L-type Ca:   http://channelpedia.epfl.ch/ionchannels/212\n.. _T-type Ca:   https://en.wikipedia.org/wiki/T-type_calcium_channel\n\n.. |P/Q-type Ca| replace:: :sup:`P`\\ /\\ :sub:`Q`-type Ca\n.. _P/Q-type Ca:\n   http://channelpedia.epfl.ch/ionchannels/78\n\n.. # ------------------( LINKS ~ science : pumps : type     )------------------\n.. _ion pumps:\n   https://en.wikipedia.org/wiki/Active_transport\n\n.. # ------------------( LINKS ~ science : pumps : type     )------------------\n.. _V-ATPase: https://en.wikipedia.org/wiki/V-ATPase\n\n.. |Ca2+-ATPase| replace:: Ca\\ :sup:`2+`-ATPase\n.. _Ca2+-ATPase: https://en.wikipedia.org/wiki/Calcium_ATPase\n\n.. |H+/K+-ATPase| replace:: H\\ :sup:`+`/K\\ :sup:`+`-ATPase\n.. _H+/K+-ATPase: https://en.wikipedia.org/wiki/Hydrogen_potassium_ATPase\n\n.. |Na+/K+-ATPase| replace:: Na\\ :sup:`+`/K\\ :sup:`+`-ATPase\n.. _Na+/K+-ATPase: https://en.wikipedia.org/wiki/Na%2B/K%2B-ATPase\n\n.. # ------------------( LINKS ~ science : computer         )------------------\n.. _Big Data:\n   https://en.wikipedia.org/wiki/Big_data\n.. _comma-separated values:\n   https://en.wikipedia.org/wiki/Comma-separated_values\n.. _continuous integration:\n   https://en.wikipedia.org/wiki/Continuous_integration\n.. _directed graphs:\n   https://en.wikipedia.org/wiki/Directed_graph\n.. _e-mail harvesting:\n   https://en.wikipedia.org/wiki/Email_address_harvesting\n.. _genenic algorithms:\n   https://en.wikipedia.org/wiki/Genetic_algorithm\n.. _knowledge-based systems:\n   https://en.wikipedia.org/wiki/Knowledge-based_systems\n.. _smoke test:\n   https://en.wikipedia.org/wiki/Smoke_testing_(software)\n\n.. # ------------------( LINKS ~ os : linux                 )------------------\n.. _APT:\n   https://en.wikipedia.org/wiki/Advanced_Packaging_Tool\n.. _POSIX:\n   https://en.wikipedia.org/wiki/POSIX\n.. _Ubuntu:\n.. _Ubuntu Linux:\n   https://www.ubuntu.com\n.. _Ubuntu Linux 16.04 (Xenial Xerus):\n   http://releases.ubuntu.com/16.04\n\n.. # ------------------( LINKS ~ os : macos                 )------------------\n.. _Homebrew:\n   http://brew.sh\n.. _MacPorts:\n   https://www.macports.org\n\n.. # ------------------( LINKS ~ os : windows               )------------------\n.. _WSL:\n   https://msdn.microsoft.com/en-us/commandline/wsl/install-win10\n\n.. # ------------------( LINKS ~ soft                       )------------------\n.. _Atom:\n   https://atom.io\n.. _FFmpeg:\n   https://ffmpeg.org\n.. _Git:\n   https://git-scm.com/downloads\n.. _Graphviz:\n   http://www.graphviz.org\n.. _Libav:\n   https://libav.org\n.. _MEncoder:\n   https://en.wikipedia.org/wiki/MEncoder\n.. _VirtualBox:\n   https://www.virtualbox.org\n.. _YAML:\n   http://yaml.org\n\n.. # ------------------( LINKS ~ soft : github              )------------------\n.. _GitHub Actions:\n   https://github.com/features/actions\n\n.. # ------------------( LINKS ~ soft : icon                )------------------\n.. _Cows collection:\n   https://thenounproject.com/maxim221/collection/cows\n.. _Maxim Kulikov:\n   https://thenounproject.com/maxim221\n.. _Noun Project:\n   https://thenounproject.com\n.. _Noun Project license:\n   https://thenounproject.com/legal\n\n.. # ------------------( LINKS ~ soft : license             )------------------\n.. _license compatibility:\n   https://en.wikipedia.org/wiki/License_compatibility#Compatibility_of_FOSS_licenses\n.. _BSD 2-clause license:\n   https://opensource.org/licenses/BSD-2-Clause\n.. _CC BY 3.0 license:\n   https://creativecommons.org/licenses/by/3.0\n\n.. # ------------------( LINKS ~ soft : py                  )------------------\n.. _dill:\n   https://pypi.python.org/pypi/dill\n.. _imageio:\n   https://imageio.github.io\n.. _Matplotlib:\n   http://matplotlib.org\n.. _NumPy:\n   http://www.numpy.org\n.. _PyPI:\n   https://pypi.python.org\n.. _Python:\n.. _Python 3:\n   https://www.python.org\n.. _pip:\n   https://pip.pypa.io\n.. _SciPy:\n   http://www.scipy.org\n\n.. # ------------------( LINKS ~ soft : py : conda          )------------------\n.. _Anaconda:\n   https://www.anaconda.com/download\n.. _Anaconda packages:\n   https://anaconda.org\n.. _conda-forge:\n   https://conda-forge.org\n\n.. # ------------------( LINKS ~ soft : py : package : test )------------------\n.. _Codecov:\n   https://about.codecov.io\n.. _pytest:\n   https://docs.pytest.org\n.. _tox:\n   https://tox.readthedocs.io\n\n.. # ------------------( LINKS ~ soft : py : package : pys2 )------------------\n.. _PySide2:\n   https://wiki.qt.io/PySide2\n.. _PySide2 5.6:\n   https://code.qt.io/cgit/pyside/pyside.git/log/?h=5.6\n.. _PySide2 installation:\n   https://wiki.qt.io/PySide2_GettingStarted\n.. _PySide2 PPA:\n   https://launchpad.net/~thopiekar/+archive/ubuntu/pyside-git\n.. _Qt:\n   https://www.qt.io\n.. _Qt 5.6:\n   https://wiki.qt.io/Qt_5.6_Release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetsee%2Fbetse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbetsee%2Fbetse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetsee%2Fbetse/lists"}