using makeoligos_2b.m
command line syntax:
[oligoout,seq,tm_out,overlapbeg_out,overlapend_out]=makeoligos2b(protein,prefix,suffix,readingframe,re1,re2,org);
protein:the protein sequence, no gaps
prefix:constant DNA sequence to be appended to the 5' end of the gene
suffix: constant DNA sequence to be appended to the 3' end of the gene (both prefix and suffix will be the coding sequence for the gene)
readingframe:1, 2 or 3, the reading frame of the protein once the prefix is added. If your prefix is divisible by 3, then readingframe=1
re1 and re2:restriction enzymes used for cloning. The program will inform you if the design generates internal restriction sites.
org:'e' or 'y', to indicate whether E. coli or yeast codon preferences will be used.
notes:
- the program designs sequences with the following properties:
- the 3' base must be a G or C
- at least 3/5 of the 3' bases must be G or C
- overlap Tm is 54 or 56 °C, using the formula Tm = (#GC * 4) + (#AT * 2)
- maximum oligo length is 45
- optimal codons are used when possible, otherwise, a second-best codon is used.
- the 3'most oligo must be antisense in order for the PCR to work (theoretically). However, the program doesn't take this into account. Therefore, I recommend (manually) building an anti-sense oligo against the constant suffix sequence that has the properties described above.
- the output indicates number of occurrences of re1 and re2, including the instances specified in prefix and suffix. If these values are greater than 1, then there is an extra site somewhere in the gene. You have to change this by manually altering the offending oligos, sticking to the criteria described above. Codon tables with preferences for yeast and E. coli are attached.
an example:
here is the first sequence in the WW alignment:
> aln(1,:)
ans =
PLP------PG---WEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
to get it without gaps, use:
aln(1,find(aln(1,:)~='-'))
ans =
PLPPGWEIKIDPQTGWPFFVDHNSRTTTWNDPRVP
[oligoout,seq,tm_out,overlapbeg_out,overlapend_out]=makeoligos2b(aln(1,find(aln(1,:)~='-')),'actgacggatcc','ggtgaattcgtgggcg',1,'ggatcc','gaattc','e');
or
[oligoout,seq,tm_out,overlapbeg_out,overlapend_out]=makeoligos2b('PLPPGWEIKIDPQTGWPFFVDHNSRTTTWNDPRVP','actgacggatcc','ggtgaattcgtgggcg',1,'ggatcc','gaattc','e');
the output looks like:
actgacggatccccattgccaccaggttgggaaattaaaatcgac
ggccaaccagtttgtgggtcgattttaatttcccaac
ccacaaactggttggccattttttgttgatcacaactccaggacc
ggacccttgggtcgttccaagtagtggtcctggagttgtgatc
gaacgacccaagggtcccaggtgaattcgtgggcg
actgacggatccccattgccaccaggttgggaaattaaaatcgacccacaaactggttggccattttttgttgatcacaactccaggacc gaacgacccaagggtcccaggtgaattcgtgggcg
gttgggaaattaaaatcgacccacaaactggttggcc gatcacaactccaggaccactacttggaacgacccaagggtcc
1 occurrences of re1
1 occurrences of re2
the output shows first the sequences that you should order, second the alignment of these sequences that will produce the gene in question, and third the number of occurrences of re1 and re2. This output shows that each restriction site occurs once (as specified in prefix and suffix) and therefore doesn't require further adjustment.
the variables returned are:
oligoout:a cell array containing sequences of the 5 oligos
seq:the sequence of the gene that should result from the design (after PCR)
tm_out:a list of overlap tms (all should be 54 or 56)
overlapbeg_out:positions in seq where overlaps begin
overlapend_out:positions in seq where overlaps end
Since the design returned 5 oligos, we'll have to design a short anti-sense oligo for the end.
here's the last two oligos in the design:
gaacgacccaagggtcccaggtgaattcgtgggcg
gatcacaactccaggaccactacttggaacgacccaagggtcc
the residues in blue will give a Tm of 54. The oligo must be the reverse complement of this:
gcccacgaattcacctg
note: there is a flaw in my example… the final anti-sense oligo extends beyond the constant suffix sequence, which means that it will be different for every gene. This is fine for a single gene, but if you're making a family of genes, they might as well use the same anti-sense oligo, so just make the suffix longer.
KRANTZ LAB
Version 3
makeoligos2bv3.m
Function:
[oligoout,seq,tm_out,overlapbeg_out,overlapend_out]=makeoligos2bv3(protein,prefix,suffix,readingframe,org,re1,re2,re3,re4);
Example:
[oligoout,seq,tm_out,overlapbeg_out,overlapend_out]=makeoligos2bv3('PLPPGWEIKIDPQTGWPFFVDHNSRTTTWNDPRVP','actgacggatcc','ggtgaattcgtgggcg',1,'e','ggatcc','gaattc','agatct','ctcgag');
Note ‘org’ moved up in the parameter list and now 4 restriction sites may be added to search for. Requires an additional file: getrestrictionsitename.m
Other restriction sites may be added to the above function.
Bryan
6/16/2008 4:47 PM
U / C / A / G
U / UUU / Phe / 57 / UCU / Ser / 15 / UAU / Tyr / 57 / UGU / Cys / 44 / U
UUC / Phe / 43 / UCC / Ser / 15 / UAC / Tyr / 43 / UGC / Cys / 56 / C
UUA / Leu / 13 / UCA / Ser / 12 / UAA / Stop / 65 / UGA / Stop / 29 / A
UUG / Leu / 13 / UCG / Ser / 15 / UAG / Stop / 6 / UGG / Trp / 100 / G
C / CUU / Leu / 10 / CCU / Pro / 16 / CAU / His / 57 / CGU / Arg / 38 / U
CUC / Leu / 10 / CCC / Pro / 12 / CAC / His / 43 / CGC / Arg / 40 / C
CUA / Leu / 4 / CCA / Pro / 19 / CAA / Gln / 35 / CGA / Arg / 7 / A
CUG / Leu / 50 / CCG / Pro / 53 / CAG / Gln / 65 / CGG / Arg / 10 / G
A / AUU / Ile / 51 / ACU / Thr / 17 / AAU / Asn / 45 / AGU / Ser / 15 / U
AUC / Ile / 42 / ACC / Thr / 43 / AAC / Asn / 55 / AGC / Ser / 28 / C
AUA / Ile / 7 / ACA / Thr / 13 / AAA / Lys / 77 / AGA / Arg / 4 / A
AUG / Met / 100 / ACG / Thr / 27 / AAG / Lys / 23 / AGG / Arg / 2 / G
G / GUU / Val / 26 / GCU / Ala / 16 / GAU / Asp / 63 / GGU / Gly / 34 / U
GUC / Val / 22 / GCC / Ala / 27 / GAC / Asp / 37 / GGC / Gly / 40 / C
GUA / Val / 15 / GCA / Ala / 21 / GAA / Glu / 69 / GGA / Gly / 11 / A
GUG / Val / 37 / GCG / Ala / 36 / GAG / Glu / 31 / GGG / Gly / 15 / G
yeast prefs, from ftp://genome-ftp.stanford.edu/pub/codon/ysc.gene.cod
U / C / A / G
U / UUU / Phe / 58 / UCU / Ser / 27 / UAU / Tyr / 56 / UGU / Cys / 64 / U
UUC / Phe / 42 / UCC / Ser / 16 / UAC / Tyr / 44 / UGC / Cys / 36 / C
UUA / Leu / 28 / UCA / Ser / 21 / UAA / Stop / 50 / UGA / Stop / 28 / A
UUG / Leu / 30 / UCG / Ser / 9 / UAG / Stop / 22 / UGG / Trp / 100 / G
C / CUU / Leu / 12 / CCU / Pro / 31 / CAU / His / 64 / CGU / Arg / 15 / U
CUC / Leu / 5 / CCC / Pro / 15 / CAC / His / 36 / CGC / Arg / 5 / C
CUA / Leu / 14 / CCA / Pro / 42 / CAA / Gln / 70 / CGA / Arg / 6 / A
CUG / Leu / 11 / CCG / Pro / 12 / CAG / Gln / 30 / CGG / Arg / 4 / G
A / AUU / Ile / 47 / ACU / Thr / 35 / AAU / Asn / 59 / AGU / Ser / 16 / U
AUC / Ile / 27 / ACC / Thr / 22 / AAC / Asn / 41 / AGC / Ser / 11 / C
AUA / Ile / 26 / ACA / Thr / 30 / AAA / Lys / 57 / AGA / Arg / 49 / A
AUG / Met / 100 / ACG / Thr / 13 / AAG / Lys / 43 / AGG / Arg / 21 / G
G / GUU / Val / 40 / GCU / Ala / 38 / GAU / Asp / 65 / GGU / Gly / 49 / U
GUC / Val / 21 / GCC / Ala / 23 / GAC / Asp / 35 / GGC / Gly / 19 / C
GUA / Val / 20 / GCA / Ala / 28 / GAA / Glu / 71 / GGA / Gly / 21 / A
GUG / Val / 19 / GCG / Ala / 11 / GAG / Glu / 29 / GGG / Gly / 11 / G