diff --git a/prymer/primer3/primer3_parameters.py b/prymer/primer3/primer3_parameters.py index 4707964..d007677 100644 --- a/prymer/primer3/primer3_parameters.py +++ b/prymer/primer3/primer3_parameters.py @@ -121,6 +121,8 @@ class PrimerAndAmpliconParameters: primer_max_3p_homodimer_tm: Optional[float] = None primer_max_hairpin_tm: Optional[float] = None + + def __post_init__(self) -> None: if self.primer_max_dinuc_bases % 2 == 1: raise ValueError("Primer Max Dinuc Bases must be an even number of bases") diff --git a/prymer/thermo.py b/prymer/thermo.py index bb7669d..8ac9596 100644 --- a/prymer/thermo.py +++ b/prymer/thermo.py @@ -84,43 +84,6 @@ def __post_init__(self) -> None: salt_corrections_method=self.salt_corrections_method, ) - # @staticmethod - # def from_primer_params(p: PrimerAndAmpliconParameters) -> "Thermo": - # return Thermo( - # mv_conc_mm=p., - # dv_conc_mm=p., - # dntp_conc_mm=p., - # dna_conc_nm=p., - # dmso_conc_pct=p., - # dmso_correction_factor=p., - # formamide_conc_mol=p., - # annealing_temp_c=p., - # temp_c=p., - # max_nn_length=p., - # max_loop=p., - # tm_method=p., - # salt_corrections_method=p., - # ) - # - # @staticmethod - # def from_probe_params(p: ProbeParameters) -> "Thermo": - # return Thermo( - # mv_conc_mm=p., - # dv_conc_mm=p., - # dntp_conc_mm=p., - # dna_conc_nm=p., - # dmso_conc_pct=p., - # dmso_correction_factor=p., - # formamide_conc_mol=p., - # annealing_temp_c=p., - # temp_c=p., - # max_nn_length=p., - # max_loop=p., - # tm_method=p., - # salt_corrections_method=p., - # ) - - def tm(self, bases: str) -> float: """ Calculates the melting temperature of a sequence of bases. The calculation used differs