All Projects → barricklab → pLannotate

barricklab / pLannotate

Licence: GPL-3.0 license
Webserver and command line tool for annotating engineered plasmids

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to pLannotate

phpkoa
PHP异步编程: 基于 PHP 实(chao)现(xi) NODEJS web框架 KOA。
Stars: ✭ 52 (+62.5%)
Mutual labels:  webserver
WebListener
A simple, lightweight, PowerShell-based web server, designed for small, temporary projects.
Stars: ✭ 29 (-9.37%)
Mutual labels:  webserver
cordova-plugin-webserver
A webserver plugin for cordova
Stars: ✭ 101 (+215.63%)
Mutual labels:  webserver
Teapot
Teapot micro web framework for Pharo Smalltalk
Stars: ✭ 86 (+168.75%)
Mutual labels:  webserver
internetarchivebot
iabot.toolforge.org
Stars: ✭ 67 (+109.38%)
Mutual labels:  webserver
rust-web-boilerplate
An implementation of a simple web server using Rust
Stars: ✭ 36 (+12.5%)
Mutual labels:  webserver
Anti-DDOS-Script
Anti DDOS Protection that will stop DDOS from taking down your Linux Server
Stars: ✭ 51 (+59.38%)
Mutual labels:  webserver
ESPxWebFlMgr
Manage your ESP8266/ESP32 SPIFFS/LittleFS files with a simple web based interface
Stars: ✭ 33 (+3.13%)
Mutual labels:  webserver
Kitura-HelloWorld-iOS
A Hello World example of running Kitura on iOS
Stars: ✭ 55 (+71.88%)
Mutual labels:  webserver
irc-tts
Broadcast your IRC channel via a text-to-speech webserver
Stars: ✭ 14 (-56.25%)
Mutual labels:  webserver
bookish spork
Erlang library for testing http requests
Stars: ✭ 82 (+156.25%)
Mutual labels:  webserver
go-echo-server-sandbox
A scaffold of golang web server using labstack/echo
Stars: ✭ 12 (-62.5%)
Mutual labels:  webserver
MemoBoard
Flask and React based intranet app where you can create and share lists (e.g. shopping list, todo, ...)
Stars: ✭ 35 (+9.38%)
Mutual labels:  webserver
rpi-nginx
[DEPRECATED] NGINX on Raspberry Pi / ARM
Stars: ✭ 20 (-37.5%)
Mutual labels:  webserver
toh
TCP over HTTP. 隐藏网站的管理服务
Stars: ✭ 36 (+12.5%)
Mutual labels:  webserver
heartbeat
A service to keep a live heartbeat (ping) on multiple devices
Stars: ✭ 27 (-15.62%)
Mutual labels:  webserver
natural
Fastest Framework for NodeJS. Written in pure ES6+
Stars: ✭ 30 (-6.25%)
Mutual labels:  webserver
docker-apache-letsencrypt
This docker-image contains a simple Apache webserver and supports https-encryption by great Let's Encrypt certificates!
Stars: ✭ 65 (+103.13%)
Mutual labels:  webserver
simplewebserver
SimpleWebServer 是一款使用Java基于NIO编写的超轻量级开源Web Application Server
Stars: ✭ 67 (+109.38%)
Mutual labels:  webserver
django-boilerplate-3.6.1
Django served by Gunicorn running behind Nginx reverse proxy. Deploy to AWS Elastic Beanstalk with Fabric3!
Stars: ✭ 13 (-59.37%)
Mutual labels:  webserver

License: GPL v3 Python 3 DOI install with bioconda

pLannotate_logo

Online Annotation

pLannotate is web server for automatically annotating engineered plasmids.

Please visit http://plannotate.barricklab.org/

Local Installation

To use pLannotate as a local server or a command line tool, please follow the installation instructions below.

Quick install

The easiest way to install is via conda, or for faster installation, mamba:

conda create -n plannotate -c conda-forge -c bioconda plannotate

or

mamba create -n plannotate -c conda-forge -c bioconda plannotate

Then activate the plannotate conda environment (conda activate plannotate) and proceed with using pLannotate (see Using pLannotate locally below).

Installing from source

Installing from source also requires conda (or mamba), therefore the above method is recommended. If you still wish to install from source, download the compressed source code from the releases page. Uncompress the source code and move the directory to a location of your choice.

On the command line, navigate into the pLannotate folder.

Enter the following commands:

conda env create -f environment.yml
conda activate plannotate
python setup.py install

After installation, run the following command to download the database files:

plannotate setupdb

Using pLannotate locally

Local server (GUI)

After installation, launch pLannotate as a local web server with:

plannotate streamlit

pLannotate should launch in your default web browser, or you may simply navigate to http://localhost:8501 in your web browser.

Command Line Interface (batch mode)

To annotate FASTA or GenBank files and generate the interactive plasmid maps on the command line, follow the above instructions to install pLannotate.

We can check the options using the following command:

plannotate batch --help

Usage: plannotate batch [OPTIONS]

  Annotates engineered DNA sequences, primarily plasmids. Accepts a FASTA file
  and outputs a gbk file with annotations, as well as an optional interactive
  plasmid map as an HTLM file.

Options:
  -i, --input TEXT      location of a FASTA or GBK file; < 50,000 bases
  -o, --output TEXT     location of output folder. DEFAULT: current dir
  -f, --file_name TEXT  name of output file (do not add extension). DEFAULT:
                        input file name

  -s, --suffix TEXT     suffix appended to output files. Use '' for no suffix.
                        DEFAULT: '_pLann'

  -y, --yaml_file TEXT  path to YAML file for custom databases. DEFAULT:
                        builtin

  -l, --linear          enables linear DNA annotation
  -h, --html            creates an html plasmid map in specified path
  -c, --csv             creates a cvs file in specified path
  -d, --detailed        uses modified algorithm for a more-detailed search
                        with more false positives

  -x, --no_gbk          supresses GenBank output file
  --help                Show this message and exit.

Example usage:

plannotate batch -i ./plannotate/data/fastas/pUC19.fa --html --output ~/Desktop/ --file_name pLasmid

Custom databases can be added by supplying pLannotate a custom YAML file. To create the default YAML file, enter the following command:

plannotate yaml > plannotate_default.yaml

This configuration file can be edited to point to other external databases that you wish to use. When launching pLannotate, you can specify the path to your custom YAML file using the --yaml_file option.

Using within Python

You can also directly import pLannotate as a Python module:

from plannotate.annotate import annotate
from plannotate.bokeh_plot import get_bokeh
from plannotate.resources import get_seq_record
from bokeh.io import show

# for inline plotting in jupyter
from bokeh.resources import INLINE
import bokeh.io
bokeh.io.output_notebook(INLINE)

seq = "tgaccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttataggtctcaatccacgggtacgggtatggagaaacagtagagagttgcgataaaaagcgtcaggtagtatccgctaatcttatggataaaaatgctatggcatagcaaagtgtgacgccgtgcaaataatcaatgtggacttttctgccgtgattatagacacttttgttacgcgtttttgtcatggctttggtcccgctttgttacagaatgcttttaataagcggggttaccggtttggttagcgagaagagccagtaaaagacgcagtgacggcaatgtctgatgcaatatggacaattggtttcttgtaatcgttaatccgcaaataacgtaaaaacccgcttcggcgggtttttttatggggggagtttagggaaagagcatttgtcatttgtttatttttctaaatacattcaaatatgtatccgctcatgagacaataaccctgataaatgcttcaataatattgaaaaaggaagagtatgagtattcaacatttccgtgtcgcccttattcccttttttgcgg"

# get pandas df of annotations
hits = annotate(seq, is_detailed = True, linear= True)

# get biopython SeqRecord object
seq_record = get_seq_record(hits, seq)

# show plot
show(get_bokeh(hits, linear=True))

This syntax will likely change in the future to be more user-friendly.

About

pLannotate is currently developed by Matt McGuffie at the Barrick lab, University of Texas at Austin, Austin, Texas.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].