primer3-org / primer3

Primer3 is a command line tool to select primers for polymerase chain reaction (PCR).
GNU General Public License v2.0
218 stars 62 forks source link

How to set the SEQUENCE_TARGET or SEQUENCE_EXCLUDED_REGION parameter? #47

Closed sen1019san closed 2 years ago

sen1019san commented 2 years ago

I am trying to design primers for a sequence that contains a target region in 200-700 bp position. Here shows a diagram: image

I have tried to set _SEQUENCETARGET=200,300 or _SEQUENCE_EXCLUDEDREGION=200,300 expecting PCR amplicon covers the target region. But primer3 (v2.5.0) only return primer pairs that overlap the target region. How can I change the parameters?

Here are the parameters options: primer3_test.txt

SEQUENCE_TARGET=200,300
PRIMER_TASK=generic
PRIMER_PICK_LEFT_PRIMER=1
PRIMER_PICK_RIGHT_PRIMER=1
PRIMER_NUM_RETURN=5
PRIMER_MAX_NS_ACCEPTED=0
PRIMER_PRODUCT_SIZE_RANGE=500-800
PRIMER_THERMODYNAMIC_PARAMETERS_PATH=/home/lhs/softwares/primer3-master/src/primer3_config/
PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT=1
PRIMER_THERMODYNAMIC_TEMPLATE_ALIGNMENT=1
PRIMER_MAX_SELF_ANY_TH=20.00
PRIMER_PAIR_MAX_COMPL_ANY_TH=20.00
PRIMER_MAX_SELF_END_TH=20.00
PRIMER_PAIR_MAX_COMPL_END_TH=20.00
PRIMER_MAX_HAIRPIN_TH=20.00
PRIMER_OUTSIDE_PENALTY=-1.0
PRIMER_EXPLAIN_FLAG=1
P3_FILE_FLAG=1
=
SEQUENCE_ID=test1
SEQUENCE_TEMPLATE=ACCCTATTTCCACCTATCCAAAATGGAGAAAGTTCATGTTGACTTAGACGCAGACAGCCCATTCGTCAAGTCACTGCAAAGATGCTTTCCACATTTTGAGATAGAAGCAACGCAGGTCACTGACAATGACCATGCTAATGCTAGGGCGTTTTCGCACCTAGCTACTAAGCTCATTGAGGGAGAAGTGGATACAGACCAGGTGATCCTGGATATCGGGAGCGCGCCTGTAAGGCACACGCATTCCAAACATAAGTACCACTGCATTTGCCCAATGAAGAGCGCAGAAGACCCTGACAGACTCTACCGCTACGCAGACAAGCTTAGAAAGAGTGATGTCACTGACAAATGTATTGCCTCTAAGGCCGCGGACCTGCTAACAGTAATGTCGACGCCTGACGCTGAGACACCCTCGTTATGCATGCACACTGACTCAACTTGCAGGTACCACGGCTCCGTGGCCGTATATCAGGATGTATATGCAGTGCATGCACCGACTTCCATTTACTACCAGGCGCTGAAAGGTGTACGAACTATCTATTGGATCGGGTTCGATACTACACCGTTCATGTATAAGAACATGGCAGGCGCCTACCCTACATACAACACTAATTGGGCCGATGAAAGTGTGTTGGAAGCCAGAAATATAGGGCTGGGTAGTTCAGACTTGCACGAAAAGAGTTTCGGAAAAGTATCCATTATGAGGAAGAAGAAATTACAACCCACCAATAAAGTAATATTTTCTGTGGGGTCAACTATTTATACTGAAGAGAGAATACTGTTACGCAGTTGGCATCTACCTAATGTTTTTCATCTAAAAGGTAAAACTAGCTTTACAGGCAGATGTAACACTATCGTCAGCTGCGAAGGTTACGTTGTCAAGAAGATTACGCTCAGTCCTGGGATTTACGGGAAAGTGGATAATCTTGCTTCGACCATGCACCGAGAGGGATTCTTAAGTTGCAAGGTTACAGATACGTTAAGAGGGGAGAGGGTCTCTTTT
=

The results show that primer3 failed to design primer pairs cover the target region: primer3_test.p3.txt

PRIMER_LEFT_0=296,20
PRIMER_RIGHT_0=876,20

PRIMER_LEFT_1=292,20
PRIMER_RIGHT_1=876,20

PRIMER_LEFT_2=294,20
PRIMER_RIGHT_2=876,20

PRIMER_LEFT_3=296,20
PRIMER_RIGHT_3=874,20

PRIMER_LEFT_4=292,20
PRIMER_RIGHT_4=874,20

Any answers are appreciated.

untergasser commented 2 years ago

Hi,

there are some issues. Primer3 memorizes PRIMER* tag though a run, SEQUENCE* tags only for the current sequence, so they have to be provided each time. A single = forces a calculation, so the first is missing a sequence and it throws an error: PRIMER_ERROR=Need PRIMER_SEQUENCE_ID if PRIMER_FILE_FLAG is not 0

The second = forgot about the SEQUENCE_TARGET=200,300 so it is fine.

Here is a fix with some adaptions: fixed.txt

I hope that clears things up a bit.

Best,

Andreas