Skip to main content

This package connects large language models with bioinformatics workflows.

Project description

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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brad_chat-0.0.3.tar.gz (250.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brad_chat-0.0.3-py3-none-any.whl (261.3 kB view details)

Uploaded Python 3

File details

Details for the file brad_chat-0.0.3.tar.gz.

File metadata

  • Download URL: brad_chat-0.0.3.tar.gz
  • Upload date:
  • Size: 250.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.10

File hashes

Hashes for brad_chat-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6d4bb684bcfcfa1897d00c58e9b0fe835db8fe32831f0315c1aa5cbee90baa20
MD5 0b8a4bd071724f8ede707f1f72df2974
BLAKE2b-256 0570fb822a8216218d712555373d9c226de913d82442f731b626743a34633f27

See more details on using hashes here.

File details

Details for the file brad_chat-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: brad_chat-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 261.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.10

File hashes

Hashes for brad_chat-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7a7a3c7f009d7ecb193646707f011a21a37efcef976e814516cc5c7263ce80be
MD5 ca0f0bbe6d524093cae585d992adc1ab
BLAKE2b-256 72033b1acbf4508a31f600e24be2ce3df571193714a004b31157a2cb3ecd0f2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page