# Freqgen
<p align =”center”> <img src=’https://raw.githubusercontent.com/Lab41/freqgen/master/logo/Freqgen2-01_icon_only.png’ height=”150”> </p>
[](https://travis-ci.org/Lab41/freqgen) [](https://freqgen.readthedocs.io/en/latest/?badge=latest) [](https://www.codefactor.io/repository/github/lab41/freqgen)
Freqgen is a tool to generate coding DNA sequences with specified amino acid usage frequencies or sequence, GC content, codon usage bias, and/or k-mer usage bias. To accomplish this, Freqgen uses genetic algorithms to efficiently search the solution space of possible DNA sequences to find ones that most closely match the desired parameters.
## Features
CLI and Python API
Can simultaneously match multiple DNA statistics
Built-in visualization utility
Supports several fitness metrics (and you can bring your own!)
## Installation
Simply run:
$ pip install freqgen
Or, to get the latest (but not necessarily stable) development version:
$ pip install git+https://github.com/Lab41/freqgen.git
## Five-second CLI tutorial
The basic flow of Freqgen can be summarized in three steps:
1. Generate a new amino acid sequence based on the amino acid usage profile of reference sequences. If you already have a specific amino acid sequence in mind (i.e. for synthetic biology uses), skip this step:
$ freqgen aa reference_sequences.fna -o new_sequence.faa -l LENGTH
2. Create a YAML file containing k-mer frequencies for the amino acid sequence’s DNA to have:
$ freqgen featurize reference_sequences.fna -k INT -o reference_freqs.yaml
Generate the DNA sequence coding for the amino acid sequence:
$ freqgen -t reference_freqs.yaml -s new_sequence.faa -v -o optimized.fna
Visualize the results of the optimization (optional):
$ freqgen visualize –target reference_freqs.yaml –optimized optimized.fna
## Documentation
Read the full docs over at [freqgen.readthedocs.io](http://freqgen.readthedocs.io).
## Citation
To be determined!
Release files for freqgen 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freqgen-0.1.0.tar.gz | 17.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freqgen-0.1.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 41.7 kB
Release files / freqgen-0.1.0.tar.gz
| Download URL | freqgen-0.1.0.tar.gz |
|---|---|
| Size | 17.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d495eff2fd91c5ef274e339640ab794930650a1c8e920acc23fc8cf865378d67
|
|
BLAKE2b-256 checksum How to use checksums |
61811306b2f17ee524b988cf007a446250765b311a5409d686d8f2326e95bb4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.0
|
Release files / freqgen-0.1.0-py2.py3-none-any.whl
| Download URL | freqgen-0.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 23.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
cfa069ee6e03ff10abbdd8f351fadbfbdc785d76dc56554fa2b7a946ddaf7574
|
|
BLAKE2b-256 checksum How to use checksums |
ebfd9810d4eb162cffd77dfa095c1ae285ba073d7cdc4579de31dce78767cf74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.0
|