oligos

package
v0.0.0-...-a011eca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2022 License: BSD-3-Clause, GPL-2.0, BSD-3-Clause, + 1 more Imports: 7 Imported by: 0

Documentation

Overview

Package for designing oligos

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BasicMeltingTemp

func BasicMeltingTemp(primersequence wtype.DNASequence) (meltingtemp wunit.Temperature)

BasicMeltingTemp calculates the expected melting temperature of a DNASequence.

The two standard approximation calculations are used. For sequences less than 14 nucleotides the formula is Tm= (wA+xT) * 2 + (yG+zC) * 4

where w,x,y,z are the number of the bases A,T,G,C in the sequence, respectively (from Marmur,J., and Doty,P. (1962) J Mol Biol 5:109-118 [PubMed]).

For sequences longer than 13 nucleotides, the equation used is Tm= 64.9 +41*(yG+zC-16.4)/(wA+xT+yG+zC)

See Wallace,R.B., Shaffer,J., Murphy,R.F., Bonner,J., Hirose,T., and Itakura,K. (1979) Nucleic Acids Res 6:3543-3557 (Abstract) and Sambrook,J., and Russell,D.W. (2001) Molecular Cloning: A Laboratory Manual. Cold Spring Harbor Laboratory Press; Cold Spring Harbor, NY. (CHSL Press)

ASSUMPTIONS: Both equations assume that the annealing occurs under the standard conditions of 50 nM primer, 50 mM Na+, and pH 7.0.

func CheckNonSpecificBinding

func CheckNonSpecificBinding(fullSeq, primerSeq wtype.DNASequence) (count int)

CheckNonSpecificBinding checks for number of EXACT matches of a primerSeq in a fullSeq.

func DNAregion

func DNAregion(sequence wtype.DNASequence, startposition int, endposition int) (region wtype.DNASequence)

define region in DNA sequence this is directionless and does not check for reverse complement assumes positions stated are in user format (i.e. first position is 1 and not 0)

func MakeOutwardFacingPrimers

func MakeOutwardFacingPrimers(sequence wtype.DNASequence, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (oligoforpartsafter Primer, oligoforpartsbefore Primer)

func OverlapCheck

func OverlapCheck(seq1 string, seq2 string) (maxpercentOverlapofsmallest float64, maxnumberofbpOverlap int, overlappingseq string)

checks for overlap between sequences (not including mismatches)

Types

type Primer

type Primer struct {
	wtype.DNASequence
	Length      int
	GCContent   float64
	Reverse     bool
	MeltingTemp wunit.Temperature
}

func DesignFWDPRimerstoCoverFeature

func DesignFWDPRimerstoCoverFeature(seq wtype.DNASequence, targetfeaturename string, sequenceinterval int, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (primers []Primer)

func DesignFWDPRimerstoCoverFullSequence

func DesignFWDPRimerstoCoverFullSequence(seq wtype.DNASequence, sequenceinterval int, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (primers []Primer)

func DesignFWDPRimerstoCoverRegion

func DesignFWDPRimerstoCoverRegion(seq wtype.DNASequence, regionstart, regionend, sequenceinterval int, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (primers []Primer)

func DesignFWDPRimerstoCoverSequence

func DesignFWDPRimerstoCoverSequence(seq wtype.DNASequence, targetseq string, sequenceinterval int, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (primers []Primer)

func FWDOligoSeq

func FWDOligoSeq(seq wtype.DNASequence, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (oligoseq Primer, err error)

Takes defined region and makes an oligosequence between a defined minimum and maximum length with a melting temperature between a defined minimum and maximum and a maximum GC content ( between 0 and 1). function finds oligo by starting at position 0 and making sequence of the minimum length, calculating parameters and if they do not match then adds one basepair to end of sequence until the maximum length is reached. if still unsuccessful, the function begins again at position 1 and cycles through until a matching oligo sequence is found. overlapthresholdwithseqstoavoid allows maximum permissable partial overlap to be specified by the user, if set to -1 any overlap is tolerated

func REVOligoSeq

func REVOligoSeq(seq wtype.DNASequence, maxGCcontent float64, minlength int, maxlength int, minmeltingtemp wunit.Temperature, maxmeltingtemp wunit.Temperature, seqstoavoid []string, overlapthresholdwithseqstoavoid int) (oligoseq Primer, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL