https://github.com/kvdomingo/primerdriver
PrimerDriver - Automated design of mutagenic PCR primers
https://github.com/kvdomingo/primerdriver
biopython cli command-line mutagenic-pcr-primers polymerase-chain-reaction primer-design python react site-directed-mutagenesis web-application
Last synced: 9 months ago
JSON representation
PrimerDriver - Automated design of mutagenic PCR primers
- Host: GitHub
- URL: https://github.com/kvdomingo/primerdriver
- Owner: kvdomingo
- License: gpl-3.0
- Created: 2020-01-30T08:44:53.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-11-08T17:36:18.000Z (about 1 year ago)
- Last Synced: 2025-03-31T16:58:42.231Z (9 months ago)
- Topics: biopython, cli, command-line, mutagenic-pcr-primers, polymerase-chain-reaction, primer-design, python, react, site-directed-mutagenesis, web-application
- Language: Python
- Homepage: https://primerdriver.kvd.studio
- Size: 6.34 MB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PrimerDriver: Automated design of mutagenic PCR primers




## Introduction
_PrimerDriver_ is a user-friendly bioinformatics platform specifically designed to generate primers for site-directed
mutagenesis experiments into workflows with an easy-to-use command-line interface. “Traversing” PrimerDriver lanes,
users can generate possible mutagenic primers upon input of a DNA sequence (`DNA`), design primers for an array of
species codon expression systems through direct mutation of the amino acid (`PRO`), characterize and report
user-designed primers (`CHAR`).
## Usage
### A. Running standalone
You can access and download the CLI from the
[releases page](https://github.com/kvdomingo/primerdriver/releases). Currently, we only have prebuilt binaries for
64-bit Windows and Linux. For other OS/architectures, see the section on Building from Source, under Developing Locally.
Run the program in a terminal using
```shell
primerdriver -h
```
This will run the help program. For first-time users, the program can be run in
interactive mode by passing the `-i` flag:
```shell
primerdriver -i
```
This will walk you through each option step-by-step.
Batch design can be performed by including
[`primerdriver`](primerdriver/__main__.py) as part of a shell script.
### B. Running as Python module
#### Prerequisites
- [Git](https://git-scm.com/downloads)
- [Mise](https://mise.jdx.dev)
#### Setup
1. Clone the repo to your local device and `cd` into it
```shell
git clone https://github.com/kvdomingo/primerdriver.git
cd primerdriver
```
2. Install dependencies:
```shell
mise install
```
Run the program as follows:
```shell
poetry run python -m primerdriver -h
```
### C. Running from Docker
Run as follows:
```shell
docker run -it --entrypoint python kvdomingo/primerdriver -m primerdriver -h
```
## Web application
For a more interactive experience, visit the
[web application](https://primerdriver.kvd.studio).
## Documentation
The documentation is available at https://primerdriver-docs.kvd.studio.
## Contributing
Open a PR or raise an
[issue](https://github.com/kvdomingo/primerdriver/issues).
You may also email Nomer or Kenneth, depending on the nature of the issue.
## Developing locally
### Prerequisites
- [Docker](https://www.docker.com/get-started)
- [Mise](https://mise.jdx.dev)
### Installing
A step by step series of examples that tell you how to get a
development environment running
1. Clone the repo.
2. Install prerequisites:
```shell
mise install
pip install -U pre-commit
pre-commit install
```
3. Install backend dependencies:
```shell
poetry install --no-root --with dev
```
4. Run the development servers:
```shell
task
```
Wait a few minutes for all the containers to start, then access the
local servers in your browser at:
- Web app: http://localhost:3000
- Docs: http://localhost:8000
### Building from source
Run the script:
```shell
# On a Linux machine, will build for Linux x64 only
# On a Windows machine, will build for Windows and Linux x64
task build
```
### Deployment
```shell
git add .
git commit -m "DESCRIPTIVE_COMMIT_MESSAGE"
git push origin your_feature_branch
```
where `your_feature_branch` should summarize the changes you are implementing following
the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
(e.g., `feat/xxxx`, `fix/yyyy`).
## Authors
- **Numeriano Amer "Nomer" E. Gutierrez** - Project Lead, Molecular
Biologist - [Email](mailto:ngutierrez@evc.pshs.edu.ph) | [GitHub](https://github.com/nomgutierrez)
- **Kenneth V. Domingo** - Technical
Lead - [Email](mailto:kvdomingo@alum.up.edu.ph) | [Website](https://kvd.studio) | [GitHub](https://github.com/kvdomingo)
- **Shebna Rose D. Fabilloren** - Technical Consultant - [Email](mailto:sdfabilloren@up.edu.ph)
- **Carlo M. Lapid** - Project Adviser - [Email](mailto:cmlapid@up.edu.ph)
## Versioning
This project complies with [SemVer](https://semver.org) for versioning. For
all available versions, see
[tags](https://github.com/kvdomingo/primerdriver/tags).
## License
This project is licensed under the [GPLv3 License](./LICENSE).