Skip to main content
Design your first PCR primers in 5 minutes.

Step 1: Prepare Your Sequence

Save your target sequence as my_gene.fasta:
>My_Target_Gene
ATGAGTAAAGGAGAAGAACTTTTCACTGGAGTTGTCCCAATTCTTGTTGAATTAGATGGT
GATGTTAATGGGCACAAATTTTCTGTCAGTGGAGAGGGTGAAGGTGATGCAACATACGGA
AAACTTACCCTTAAATTTATTTGCACTACTGGAAAACTACCTGTTCCATGGCCAACACTT
GTCACTACTTTCTCTTATGGTGTTCAATGCTTTTCCCGTTATCCGGATCATATGAAACGG
CATGACTTTTTCAAGAGTGCCATGCCCGAAGGTTATGTACAGGAACGCACTATATCTTTC
AAAGATGACGGGAACTACAAGACGCGTGCTGAAGTCAAGTTTGAAGGTGATACCCTTGTT
AATCGTATCGAGTTAAAAGGTATTGATTTTAAAGAAGATGGAAACATTCTCGGACACAAA
CTCGAGTACAACTATAACTCACACAATGTATACATCACGGCAGACAAACAAAAGAATGGA
ATCAAAGCTAACTTCAAAATTCGCCACAACATTGAAGATGGATCCGTTCAACTAGCAGAC
CATTATCAACAAAATACTCCAATTGGCGATGGCCCTGTCCTTTTACCAGACAACCATTAC

Step 2: Create Configuration

Create pcr_config.yaml:
workflow: pcr

input:
  sequence_path: "my_gene.fasta"

parameters:
  primer_size: {min: 18, opt: 20, max: 24}
  tm: {min: 58.0, opt: 60.0, max: 62.0}
  product_size_range: [[200, 400]]

output:
  directory: "output_pcr"

Step 3: Run Primer Design

primerlab run pcr --config pcr_config.yaml
Expected output:
🧬 PrimerLab v0.3.5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1/5] Loading sequence...
[2/5] Designing primers...
[3/5] Running QC...
[4/5] Scoring primers...
[5/5] Generating report...

✅ Design complete!
   Primers: 5 pairs
   Best score: 95.2
   Output: output_pcr/

Step 4: View Results

Check the report

cat output_pcr/report.md

View primer details

cat output_pcr/result.json | jq '.primers[0]'
Example output:
{
  "forward": {
    "sequence": "ATGAGTAAAGGAGAAGAACT",
    "tm": 58.5,
    "gc": 40.0,
    "length": 20
  },
  "reverse": {
    "sequence": "GCCGTGATGTATACATTGTG",
    "tm": 59.2,
    "gc": 45.0,
    "length": 20
  },
  "amplicon_size": 320,
  "score": 95.2
}

Step 5: Validate (Optional)

Run in-silico PCR to validate:
primerlab insilico \
  -f "ATGAGTAAAGGAGAAGAACT" \
  -r "GCCGTGATGTATACATTGTG" \
  -t my_gene.fasta

Next Steps


Troubleshooting

IssueSolution
No primers foundRelax Tm or product size range
File not foundCheck file path
Invalid sequenceEnsure FASTA format
See Troubleshooting for more.