The basic structure looks like this:
For advanced use cases, pair Primer3 v0.4.0 with scripts (Perl, Python, or R) to parse output and iterate over multiple sequences. The input format described here remains compatible with later versions (v2.x, v3.x), making it a timeless skill for bioinformaticians.
SEQUENCE=AGCTAGCTACGATCGATTCGATCGATCGATCGATCG Specify where primers can bind. Coordinates are 1-based. primer3 input -version 0.4.0-
PRIMER_MIN_GC=20.0 PRIMER_MAX_GC=80.0 PRIMER_GC_CLAMP=1 # At least 1 G or C in the last 5 bases PRIMER_MAX_POLY_X=4 # Max run of single base (e.g., AAAA) A major improvement in the v0.4.x lineage is the enhanced mispriming library handling.
PRIMER_INTERNAL_OPT_SIZE=20 PRIMER_INTERNAL_MIN_SIZE=18 PRIMER_INTERNAL_MAX_SIZE=30 PRIMER_INTERNAL_OPT_TM=65.0 # Probe Tm should be 5-8°C higher than primers PRIMER_INTERNAL_MIN_TM=63.0 PRIMER_INTERNAL_MAX_TM=68.0 Here is a real-world input for amplifying a 200 bp region from a bacterial 16S rRNA gene: The basic structure looks like this: For advanced
primer3_core < input.txt > output.txt For debugging, use the --strict_tags flag to catch misspelled parameter names:
PRIMER_PICK_LEFT_INPUT=200 PRIMER_PICK_RIGHT_INPUT=400 PRIMER_PRODUCT_SIZE_RANGE=150-250 Version 0.4.0 respects standard thermodynamic calculations (nearest-neighbor). Coordinates are 1-based
PRIMER_SEQUENCE_ID=E.coli_16S_region SEQUENCE=GTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCCCGGGCTCAACCTGGGAACTGCATCTGATACTGGCAAGCTTGAGTCTCGTAGAGGGGGGTAGAATTCCAGGTGTAGCGGTGAAATGCGTAGAGATCTGGAGGAATACCGGTGGCGAAGGCGGCCCCCTGGACGAAGACTGACGCTCAGGTGCGAAAGCGTGGGGAGCAAACAGG PRIMER_TASK=pick_detection_primers PRIMER_PICK_LEFT_INPUT=100 PRIMER_PICK_RIGHT_INPUT=350 PRIMER_PRODUCT_SIZE_RANGE=180-220 PRIMER_OPT_SIZE=20 PRIMER_MIN_SIZE=18 PRIMER_MAX_SIZE=25 PRIMER_OPT_TM=60.0 PRIMER_MIN_TM=58.0 PRIMER_MAX_TM=62.0 PRIMER_MAX_DIFF_TM=2.0 PRIMER_MIN_GC=40.0 PRIMER_MAX_GC=60.0 PRIMER_GC_CLAMP=1 PRIMER_MAX_POLY_X=4 PRIMER_MAX_HAIRPIN_TH=47.0 PRIMER_SELF_ANY_TH=45.0 PRIMER_SELF_END_TH=45.0