def __init__(self, prefs, prior, kappa, omega, phi, mu=<NUM_LIT:1.0>, origbeta=<NUM_LIT:1.0>,<EOL>freeparams=['<STR_LIT>']):
self.prior = prior<EOL>if self.prior is None:<EOL><INDENT>pass<EOL><DEDENT>elif (isinstance(self.prior, tuple) and len(self.prior) == <NUM_LIT:3> and<EOL>self.prior[<NUM_LIT:0>] == '<STR_LIT>'):<EOL><INDENT>assert all([isinstance(c, (float, int)) and c > <NUM_LIT:0> for c in<EOL>self.prior[<NUM_LIT:1> : ]]), ("<STR_LIT>"<EOL>"<STR_LIT>".format(self.prior))<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>".format(self.prior))<EOL><DEDENT>self.PARAMTYPES = copy.deepcopy(ExpCM.PARAMTYPES)<EOL>self.PARAMTYPES['<STR_LIT>'] = (scipy.ndarray, (len(prefs) * (N_AA - <NUM_LIT:1>),))<EOL>self.beta = <NUM_LIT:1.0><EOL>_checkParam('<STR_LIT>', origbeta, self.PARAMLIMITS, self.PARAMTYPES)<EOL>self._origbeta = origbeta<EOL>self._aa_for_y = scipy.tile(CODON_TO_AA, (N_CODON, <NUM_LIT:1>))<EOL>self._aa_for_x = self._aa_for_y.transpose()<EOL>super(ExpCM_fitprefs, self).__init__(prefs, kappa=kappa, omega=omega,<EOL>beta=self.beta, mu=mu, phi=phi, freeparams=freeparams)<EOL>assert (self.PARAMTYPES['<STR_LIT>'][<NUM_LIT:1>] == self.zeta.shape<EOL>== (self.nsites * (N_AA - <NUM_LIT:1>),))<EOL>if self.nsites > <NUM_LIT:1>:<EOL><INDENT>raise RuntimeError("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>
Initialize an `ExpCM_fitprefs` object.

        The calling parameters have the meaning described in the main class doc
        string. The default values have changed consistent with recommended
        usage of this class: that you have already estimated
        the across-site parameters (`kappa`, `omega`, `mu`, `phi`) and so
        are specifying fixed values for those. You are then just optimizing the
        preferences in their variable-transformed form `zeta` from the initial
        values in `prefs` scaled by `origbeta`. The meaning of `origbeta`
        is described in the main class doc string.

        Additional arguments:
            `origbeta` (`float`)
                The preferences in `prefs` are re-scaled by `origbeta` and
                used as the initial value and stored in `origpi`. `origbeta`
                might differ from 1 if you already optimized `prefs` using
                a fixed-preference `ExpCM` prior to initializing this model.