Poly is a Go library and command line utility for engineering organisms.
-
Fast: Poly is fast and scalable.
-
Modern: Poly tackles issues that other libraries and utilities just don't. From general codon optimization and primer design to circular sequence hashing. All written in a language that was designed to be fast, scalable, and easy to develop in and maintain. Did we say it was fast?
-
Reproducible: Poly is well tested and designed to be used in industrial, academic, and hobbyist settings. No more copy and pasting strings into random websites to process the data you need.
-
Ambitious: Poly's goal is to be the most complete, open, and well used collection of computational synthetic biology tools ever assembled. If you like our dream and want to support us please star this repo, request a feature, or open a pull request.
This assumes you already have a working Go environment, if not please see this page first.
git clone https://github.com/TimothyStiles/poly.git && cd poly && go build && go install
This assumes you already have a working Go environment, if not please see this page first.
go get
will always pull the latest released version from the prime branch.
go get github.com/TimothyStiles/poly
Poly ships many binaries for many different operating systems and package managers thanks to the wonderful work of the go releaser team. You can check out our releases page on github or install via package manager for your OS with the instructions below.
brew install timothystiles/poly/poly
Download the .deb or .rpm from the releases page and install with dpkg -i
and rpm -i
respectively.
Converting a .gbk to .json using pipes.
cat bsub.gbk | poly c -i gbk -o json > bsub.json
Here's how you can non-destructively copy and convert every genbank and gff file into JSON files. The -o flag defaults to json and can also be used to specify gff as output.
poly c -o json *.gbk *.gb *.gff
Here's how you'd read in a file from its path:
bsubAnnotatedSequence := ReadGbk("data/bsub.gbk")
If you want to see a ton of great examples of what poly can do you should check out our docs site.
You can also learn more about poly or a sub command like convert
using the -h flag which will provide more documentation.
Poly has adopted a Code of Conduct. Please read the full text so you can understand what we're all about and please remember to be excellent to each other!
Poly also has a contributor's guide. Please read through it before you start hacking away and pushing contributions to this fine codebase.
-
Copyright (c) 2020 Timothy Stiles