Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation updates from tech review #71

Merged
merged 4 commits into from
Oct 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions docs/source/desktop.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ BMDS Desktop is a graphical user interface to execute dose-response modeling on

BMDS Desktop is identical to [BMDS Online](https://bmdsonline.epa.gov), with a few additional features:

* Analyses (dose response analyses) and data storage is fully offline
* Analyses (dose response analyses) and data storage are fully offline
* Database files (projects) are single files containing all analyses
* Within a project, analyses can be labelled and organized

Follow the [installation](installation.md) guide to install the software. Make sure to create the [BMDS Desktop Manager](./installation.md#the-bmds-desktop-manager) shortcut. To start BMDS Desktop, double-click the shortcut and then enter option `1` to start the application:
Follow the [installation](installation.md) guide to install the software. Make sure to create the [BMDS Desktop Manager](./installation.md#create-the-bmds-desktop-manager-shortcut) shortcut. To start BMDS Desktop, double-click the shortcut and then enter option `1` to start the application:

```{figure} _static/img/bmds-desktop-manager.jpg
:alt: BMDS Desktop Manager
Expand All @@ -29,7 +29,7 @@ The BMDS Desktop Startup Interface is the gateway to create a BMDS project and s
```{figure} _static/img/desktop-startup.jpg
:alt: Screenshot of BMDS Desktop Startup

BMDS Desktop Startup Interface. On startup, you see a list existing projects that have been run with BMDS Desktop; you can create new projects from this screen as well. Navigate the interface using your keyboard or mouse.
BMDS Desktop Startup Interface. On startup, you see a list of existing projects that have been run with BMDS Desktop. You can create new projects from this screen as well. Navigate the interface using your keyboard or mouse.
```

Each project in BMDS Desktop contains all of that project's analyses stored in a single file. You can create a single project and store all of your analyses in a single file, or multiple projects - one project per chemical, for example.
Expand All @@ -43,7 +43,7 @@ BMDS Desktop Project Creation. Create a new project by specifying a path and a d
```

:::{important}
Creating a new project creates an accompanying database file at the path and filename specified if it does not already exist. Database files should have the `.db` extension. BMDS Desktop also creates other files with different extensions in that directory- `.db-shm` and `.db-wal`. **Do not delete those files -** they allow multiple users to work with the same project concurrently.
Creating a new project creates an accompanying database file at the path and filename specified if it does not already exist. Database files should have the `.db` extension. BMDS Desktop also creates other files with different extensions in that directory, such as `.db-shm` and `.db-wal`. **Do not delete those files -** they allow multiple users to work with the same project concurrently.
:::

You can also update a database's location, in the event that you moved the database to a new directory. Updating the database refreshes the path/location so BMDS Desktop can find it again; the updating process does not change the file's contents.
Expand All @@ -52,8 +52,7 @@ Deleting a project from the BMDS Desktop Startup Interface deletes its entry in

## BMDS Desktop Application

After at least one project has been created, press the "Start"
button to run the project. Starting a project will open a new BMDS Desktop tab in your default browser. For a new project, initial startup may take up to a minute for the browser tab to appear.
After at least one project has been created, select the "Start" button to run the project. Starting a project will open a new BMDS Desktop tab in your default browser. For a new project, initial startup may take up to a minute before the browser tab appears.

You can run only one BMDS Desktop project at a time.

Expand Down
12 changes: 6 additions & 6 deletions docs/source/development.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Development

Like layers of an onion, there are multiple BMDS products that can be developed, each of which require slightly different build steps and tooling. A description of each of the environments is described below.
BMDS consists of multiple products, each of which requires slightly different build steps and tooling. The following sections describe each of those environments.

## Building and testing `pybmds`

Expand All @@ -21,11 +21,11 @@ python -m pip install -U pip
python -m pip install -e ".[dev,docs]"
```

This will install the package and all dependencies, including building the C++ `bmdscore` shared object which will require a compiler and related dependencies installed and configured for your local setup.
This will install the package and all dependencies, including building the C++ `bmdscore` shared object, which will require a compiler and related dependencies to be installed and configured for your local setup.

:::{tip}

If you want to skip building `bmdscore` locally, you can set an environment variable `SKIP_BUILD=1` in your python environment; this will allow you to install the package but skip compilation of the shared object.
If you want to skip building `bmdscore` locally, you can set the environment variable `SKIP_BUILD=1` in your Python environment. Setting this variable will allow you to install the package but skip compilation of the shared object.

:::

Expand All @@ -39,9 +39,9 @@ py.test
py.test -k test_my_special_test_name
```

There is a built-in Makefile, ``make``, that runs many common utility methods for developing the application. You can run tests by running `make test`, run code formatting using `make format`, or build documentation using `make docs`. For more details or other built-in actions, view the `Makefile` (or the `make.bat` file for Windows).
There is a built-in Makefile, ``make``, that runs many common utility methods for developing the application. You can run tests by running `make test`, run code formatting using `make format`, or build documentation using `make docs`. For more details on other built-in actions, view the `Makefile` (or the `make.bat` file for Windows).

Github Actions are in place to execute whenever code a pull-request is submitted to check code formatting and successful tests. When code is merged into the `main` branch, a wheel artifact is created and stored on github. We use [cibuildwheel](https://cibuildwheel.pypa.io/en/stable/) to build wheel packages in Windows, Mac, and Linux using Github Actions.
Github Actions are in place to execute whenever a pull-request is submitted to check code formatting and successful tests. When code is merged into the `main` branch, a wheel artifact is created and stored on github. We use [cibuildwheel](https://cibuildwheel.pypa.io/en/stable/) to build wheel packages in Windows, macOS, and Linux using Github Actions.

## Build and testing in `bmdscore`

Expand All @@ -68,7 +68,7 @@ See [documentation](https://github.com/USEPA/BMDS-UI/blob/main/docs/development.

## Documentation

Documentation is generated using [Sphinx](https://www.sphinx-doc.org/). Narrative text is written in markdown; any examples of using `pybmds` are written in jupyter notebooks and are executing when building documentation; the returned notebook with any output (such as figures or output tables) are rendered directly in the documentation.
Documentation is generated using [Sphinx](https://www.sphinx-doc.org/). Narrative text is written in Markdown; any examples of using `pybmds` are written in jupyter notebooks and are executing when building documentation; the returned notebook with any output (such as figures or output tables) are rendered directly in the documentation.

To build documentation, there are a few different commands available in the `make` file:

Expand Down
10 changes: 6 additions & 4 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
<img src="_static/img/pybmds-identifier.png" width="210px">
</p>

The U.S. EPA [BMDS Online](https://bmdsonline.epa.gov) is a web application which allows users to execute the Benchmark Dose Modeling Software using a using a Graphical User Interface (GUI) on your web browser, no installation required. If you'd prefer to run the software on your computer, **BMDS Desktop** is the same application running locally. The Python package **bmds-ui** installs BMDS Desktop.
The U.S. EPA [BMDS Online](https://bmdsonline.epa.gov) is a web application that enables users to execute the Benchmark Dose Modeling Software using a Graphical User Interface (GUI) on your web browser, no installation required.

The Python package **pybmds** allows execution of dose-response models in a scripting environment. The package includes dose-response models for multiple types of dose-response data, including dichotomous, continuous, nested dichotomous, and cancer (including multitumor modeling). It is the underlying execution engine for BMDS Online and BMDS Desktop.
If you'd prefer to run the software on your computer, **BMDS Desktop** is the same application running locally. The Python package **bmds-ui** installs BMDS Desktop.

The Python package **pybmds** enables execution of dose-response models in a scripting environment. The package includes dose-response models for multiple types of dose-response data, including dichotomous, continuous, nested dichotomous, and cancer (including multitumor modeling). `pybmds` is the underlying execution engine for BMDS Online and BMDS Desktop.

**Highlights:**

* Dose response modeling for multiple dataset types (continuous, dichotomous, nested dichotomous, cancer, multitumor)
* Dose-response modeling for multiple dataset types (continuous, dichotomous, nested dichotomous, cancer, multitumor)
* Plotting and summary table capabilities
* Model recommendation logic
* Reporting in Microsoft Excel and Microsoft Word reports
Expand All @@ -28,7 +30,7 @@ pip install bmds-ui
The above command will not work until we are cleared for public release; please follow the detailed [installation guide](./installation.md). This message will be removed prior to official release.
:::

**If you are new to installing Python packages** and wish to use `pybmds` or BMDS Desktop for multiple projects, then please follow the detailed [installation guide](./installation.md). The installation guide makes it easy to configure your computer including adding a shortcut to start and update the application. It also describes possible issues and solutions that may arise during installation.
**If you are new to installing Python packages** and wish to BMDS Desktop or `pybmds`, then please follow the detailed [installation guide](./installation.md). The installation guide makes it easy to configure your computer, and describes possible issues and solutions that may arise during installation.


An example dose-response modeling session using `pybmds`:
Expand Down
Loading
Loading