Copyright (c) 2009-2012 Brant C. Faircloth. All rights reserved.
- See LICENSE.md for standard computer code.
- Sequence tags available from https://github.com/faircloth-lab/edittag/downloads are licensed under Creative Commons Attribution 3.0 United States License.
edittag is a software collection for designing sets of edit metric sequence tags, checking sequence tags for conformation to the edit metric, and integrating sequence tags to platform-specific sequencing adapters and PCR primers. edittag differs from other approaches:
- edittag generates arbitrary lengths of edit-metric sequence tags in reasonable time frames using multiprocessing
- edittag produces edit metric sequence tag sets conform to the edit distance selected
- edittag used primer3 to integrate sequence tags to PCR primers
We provide several large sets of edit metric sequence tags designed using edittag in the following formats:
- text - this file is in an appropriate format for check_levenshtien_distance.py
- csv
- sqlite database
You can find documentation here:
http://faircloth-lab.github.com/edittag/
Faircloth BC, Glenn TC. 2012. Not all sequence tags are created equal: Designing and validating sequence identification tags robust to indels. PLoS ONE 7(8): e42543. doi: 10.1371/journal.pone.0042543
- Python 2.7.x (should work on 2.6.x)
- numpy (tested with 1.5.1)
- py-levenshtein [optional - strongly recommended]
- mod-primer3 [optional - needed for amplicon tagging]
- nose [optional - for unittests]
- tar.gz
- repository
easy_install edittag
wget package.tar.gz
tar -xzf package.tar.gz
python setup.py install
git clone git://github.com/faircloth-lab/edittag.git edittag
wget http://pylevenshtein.googlecode.com/files/python-Levenshtein-0.10.1.tar.bz2
tar -xzvf python-Levenshtein-0.10.1.tar.bz2
python setup.py install
If you wish to design primers incorporating edit metric sequence tags, you need to first install a modified version of primer3::
git clone git://github.com/baddna/mod-primer3.git
cd mod-primer3/src
make
Ensure that you move the binaries from mod-primer3 to a location in your path (move at least primer3-long
and primer3_config
into identical directories in your path).
# Testing requires numpy and nose
import edittag
edittag.test()
# generate some tags
% design_edit_metric_tags.py --tag-length=6 --edit-distance=3 \
--no-polybase --gc --comp --min-and-greater --output tmp/tags.txt
# validate the 6 nucleotide, edit distance 3 tag set
% validate_edit_metric_tags.py
--input=tmp/tags.txt
--section='6nt ed3'
--verbose
# add those tags to a primer set
% add_tags_to_primers.py --left-primer=GTTATGCATGAACGTAATGCTC
--right-primer=CGCGCATGGTGGATTCACAATCC \
--input tmp/tags.txt --section='6nt ed3'
--sort=pair_hairpin_either,pair_penalty,cycles \
--remove-common --keep-database \
--output tmp/trnH_tagged_with_10_nt_ed_5_tags.csv