def __init__(self, e_pw, nsites, kappa=<NUM_LIT>, omega=<NUM_LIT:0.5>, mu=<NUM_LIT:1.0>,<EOL>freeparams=['<STR_LIT>', '<STR_LIT>', '<STR_LIT>']):
_checkParam('<STR_LIT>', e_pw, self.PARAMLIMITS, self.PARAMTYPES)<EOL>self.e_pw = e_pw.copy()<EOL>self.phi = self._calculate_correctedF3X4()<EOL>assert scipy.allclose(self.phi.sum(axis = <NUM_LIT:1>),scipy.ones(<NUM_LIT:3>, dtype='<STR_LIT:float>'),atol=<NUM_LIT>, rtol=<NUM_LIT>),"<STR_LIT>"<EOL>self.Phi_x = scipy.ones(N_CODON, dtype='<STR_LIT:float>')<EOL>self._calculate_Phi_x()<EOL>self._nsites = nsites<EOL>assert self._nsites > <NUM_LIT:0>, "<STR_LIT>"<EOL>assert all(map(lambda x: x in self.ALLOWEDPARAMS, freeparams)),"<STR_LIT>".format(<EOL>'<STR_LIT:U+002CU+0020>'.join(freeparams), '<STR_LIT:U+002CU+0020>'.join(self.ALLOWEDPARAMS))<EOL>self._freeparams = list(freeparams) <EOL>self._mu = mu <EOL>self.kappa = kappa<EOL>self.omega = omega<EOL>for (name, value) in [('<STR_LIT>', self.kappa), ('<STR_LIT>', self.omega),<EOL>('<STR_LIT>', self.mu)]:<EOL><INDENT>_checkParam(name, value, self.PARAMLIMITS, self.PARAMTYPES)<EOL><DEDENT>self.Pxy = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON), dtype='<STR_LIT:float>')<EOL>self.Pxy_no_omega = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON), dtype='<STR_LIT:float>')<EOL>self.D = scipy.zeros((<NUM_LIT:1>, N_CODON), dtype='<STR_LIT:float>')<EOL>self.A = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON), dtype='<STR_LIT:float>')<EOL>self.Ainv = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON), dtype='<STR_LIT:float>')<EOL>self.dPxy = {}<EOL>self.B = {}<EOL>for param in self.freeparams:<EOL><INDENT>if param in self.ALLOWEDPARAMS:<EOL><INDENT>self.dPxy[param] = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON),<EOL>dtype='<STR_LIT:float>')<EOL>self.B[param] = scipy.zeros((<NUM_LIT:1>, N_CODON, N_CODON),<EOL>dtype='<STR_LIT:float>')<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>".format(param))<EOL><DEDENT><DEDENT>self._diag_indices = scipy.diag_indices(N_CODON)<EOL>self.updateParams({}, update_all=True)<EOL>
Initialize an `YNGKP_M0` object.

        Args:
            `kappa`, `omega`, `mu`,
                Model params described in main class doc string.
            `freeparams` (list of strings)
                Specifies free parameters.
            `e_pw`, `nsites`
                Meaning described in the main class doc string.