Skip to main content

BRAD: Bioinformatics Digital Assistant

Please see the projects main page available here!

Architecture

brad-dl-vision

Installation

Brad can be installed directly from pip:

pip install -U BRAD-Chat


Web Server deployment

BRAD can be deployed as a web server to interact and experiment with its functionalities.

The BRAD web server is written with react.js for the frontend and flask backend.

The recommended method is to use docker.

Docker instructions

=======

BRAD-Examples

  • GUI Tutorial
    A simple tutorial for how to use BRAD's Graphical User Interface.

  • Hello World
    A simple "Hello, World!" example to help you understand the basics of using the BRAD chatbot.

  • Search and Retrieval-Augmented Generation (RAG)
    Demonstrates how to use BRAD to scrape online data and integrate it into a Retrieval-Augmented Generation pipeline.

  • Using the Scanpy Package with BRAD
    Explores how BRAD can streamline workflows involving Scanpy, including preprocessing and visualization of single-cell data.

  • Biomarker Selection Pipeline
    Illustrates how BRAD can assist in selecting biomarkers from datasets using machine learning and bioinformatics tools.

Development

Docker

The Docker build can be used to deploy brad without having to install packages manually. after installing either docker desktop or docker engine docker intsallation, you can follow one of the following commands to install and run BRAD

  1. Use with docker compose:
cd deployment
docker compose up -d
  1. OR with just docker
docker run -e OPENAI_API_KEY=your_open_ai_key -e  PYDANTIC_SKIP_VALIDATING_CORE_SCHEMAS='True' -p 5001:5000 -p 3000:3000  brad:full_frontend
  1. To build the dockerfile yourself:
docker build -t brad:local .

Then proceed to http://localhost:3000 to view the frontend

Development Environment

To contribute or make your own modifications to BRAD, A separate development environment needs to be set up. Follow the instructions below to set up your environment

Download the BRAD repository

git clone https://github.com/Jpickard1/BRAD.git
cd BRAD

Update ./BRAD/config/config.json to your preference ( specifically update the log_path key to point somewhere on your local system )

Make sure python is installed and then install the requirements

Our recommendation is to use conda and setup a separate conda environment to ensure package discrepencies

pip install -r requirements_frozen.txt

Install node=v20.18.0 and npm=10.8.2 from the (website)[https://nodejs.org/en/download/package-manager] or by using nvm

Our recommendation is to use nvm

https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.nvm/nvm.sh \
nvm install 20.18.0 \
nvm use 20.18.0

# install the necessary packages
npm install --prefix ./brad-chat

Start BRAD backend with

PYDANTIC_SKIP_VALIDATING_CORE_SCHEMAS=True OPENAI_API_KEY=<your_open_api_key> flask --app app run --host=0.0.0.0 --port=5000

Start BRAD frontend with

cd brad-chat
npm start

This will start BRAD Backend at - http://localhost:3000
And the BRAD frontend at - http://localhost:5000



Documentation

To build the projects documentation in the ReadTheDocs html formatting, in the docs/ directory, run the command make html. This will populate the docs/build/html directory with the webpages. The docs/build/ directory is excluded from git but will automatically be built when pushing to main.

During the build, the tutorials/ directory is automatically pulled in to the source by copying all jupyter notebooks. These are included in the user guide section of the documentation.

To remove the documentation from docs/build/ run make clean from the same directory where you built it.


Cite Us

@article{pickard2024bioinformatics,
  title={Language Model Powered Digital Biology},
  author={Pickard, Joshua and Choi, Marc Andrew and Oliven, Natalie and
          Stansbury, Cooper and Cwycyshyn, Jillian and Galioto, Nicholas
          and Gorodetsky, Alex and Velasquez, Alvaro and Rajapakse, Indika},
  journal={arXiv preprint arXiv:2409.02864},
  url={https://arxiv.org/abs/2409.02864},
  year={2024}
}

Metadata

Release files for BRAD-Chat 0.0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for BRAD-Chat 0.0.4.1
File Size Uploaded
brad_chat-0.0.4.1.tar.gz 250.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BRAD-Chat 0.0.4.1
File Interpreter ABI Platform
brad_chat-0.0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 512.1 kB

Release files / brad_chat-0.0.4.1.tar.gz

Download URL brad_chat-0.0.4.1.tar.gz
Size 250.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e8946d955983aefd3359b0f9b38dbf258c24653b516239d7142e9f2385eb0728
BLAKE2b-256 checksum
How to use checksums
7f66da8957e55eec404e9a8c1b44091d87cde5faa15effe2d948969438d485fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.10

Release files / brad_chat-0.0.4.1-py3-none-any.whl

Download URL brad_chat-0.0.4.1-py3-none-any.whl
Size 261.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a881d6dd2ea811033a7e476d7753a0c84ef0feffb11356a13e1809e6d852544f
BLAKE2b-256 checksum
How to use checksums
7f1b3e07d033a395b275b24ec71f4d25ebed169e8de3591ee7c848f2b8cc2e79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.0.4.1 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page