## Appendix A Estimating \((\lambda,\mathbf{Q},\mathbf{\Theta},\mathbf{\Sigma})\)  
The Markov chain for Bayesian functional mapping described in the **Parameter Estimation and Algorithm** section is constructed as follows:  
**Step 1**. Initialize the iteration at an arbitrary point \((\lambda^{0},\mathbf{Q}^{0},\mathbf{\Theta}^{0},\mathbf{\Sigma}^{0})\), which has a positive posterior density;  
**Step 2**. Modify four blocks of the unknowns parameters and move to a new state from the previous step \((\lambda^{k-1},\mathbf{Q}^{k-1},\mathbf{\Theta}^{k-1},\mathbf{\Sigma}^{k-1})\) through a successive generation of new values \(\lambda^{k},\mathbf{Q}^{k},\mathbf{\Theta}^{k}\), and \(\mathbf{\Sigma}^{k}\). More specifically, given the values of the unknowns \((\lambda,\mathbf{Q},\mathbf{\Theta},\mathbf{\Sigma})\) from the current state, we proceed as follows:  
\(Updating\)\(\lambda:\) In each step, following the idea of [PERSON] _et al._[14], \(\lambda\) is updated by using the Metropolis algorithm. A new value of \(\lambda^{*}\) is generated from \(\mathit{Uniform}(\max(0,\lambda-\delta),\min(\lambda+\delta,D_{m}))\) (where \(\delta>0\) is the tuning parameter), and this proposed distribution is denoted by \(q(\lambda,\lambda^{*})\). This proposed \(\lambda\) is accepted with probability \(\min(\alpha_{\lambda},1)\), and the state keeps the current value if the proposal is rejected, where \(\alpha_{\lambda}\) is given as:  
\[\alpha_{\lambda}(\lambda,\lambda^{*})=\frac{\pi(\lambda^{*}\,|\,\mathbf{y}, \mathbf{Q},\mathbf{\Theta},\mathbf{\Sigma})\cdot\mathbf{q}(\lambda^{*},\, \lambda)}{\pi(\lambda\,|\,\mathbf{y},\mathbf{Q},\mathbf{\Theta},\mathbf{ \Sigma})\cdot\mathbf{q}(\lambda,\,\lambda^{*})}\] (A1)Note that,  
\[ \begin{split}\pi(\lambda^{*}|\mathbf{y},\mathbf{Q},\mathbf{\Theta}, \mathbf{\Sigma})&=\pi(\lambda^{*}|\mathbf{y},\mathbf{Q},\mathbf{ \Theta},\mathbf{\Sigma},\mathbf{M})\\ &=\pi(\lambda^{*}\,|\,\mathbf{Q},\mathbf{M})\\ &\propto\pi(\mathbf{Q}\,|\,\lambda^{*},\mathbf{M})\cdot\pi( \lambda^{*})\\ &=\prod_{i=1}^{n}\,\pi(Q_{i}\,|\,\lambda^{*},M_{i})\cdot\pi( \lambda^{*})\end{split}  \tag{10}\]  
Similarly, we have:  
\[\pi(\lambda|\mathbf{y},\mathbf{Q},\mathbf{\Theta},\mathbf{\Sigma})\propto\prod _{i=1}^{n}\pi(Q_{i}|\lambda,M_{i})\cdot\pi(\lambda) \tag{11}\]  
Hence, the acceptance probability (10) can be simplified as:  
\[\alpha_{\lambda}(\lambda,\lambda^{*})=\min\left(\frac{\prod_{i=1}^{n}\pi(Q_{i} |\lambda^{*},M_{i})\cdot q(\lambda^{*},\lambda)}{\prod_{i=1}^{n}\pi(Q_{i}| \lambda,M_{i})\cdot q(\lambda,\lambda^{*})},1\right). \tag{12}\]  
\(Updating\)\(\mathbf{Q}:\) Because of independence among \(n\) progeny, \(\mathbf{Q}\) is updated by separately updating each \(Q_{i}\). For each progeny \(i\) and QTL genotype \(j\), the full conditional density is in the form of a multinormial with cell probabilities:  
\[p_{ij}=\pi(Q_{i}=j\,|\,\mathbf{y},\mathbf{\Theta},\mathbf{\Sigma},\lambda)= \frac{\pi(Q_{i}=j\,|\,\lambda)\cdot\pi(\mathbf{y}_{i}\,|\,\mathbf{\Theta}, \mathbf{\Sigma},Q_{i}=j)}{\sum_{q_{i}=0}^{\mathbf{2}}\pi(Q_{i}=q_{i}\,|\, \lambda)\cdot\pi(\mathbf{y}_{i}\,|\,\mathbf{\Theta},\mathbf{\Sigma},Q_{i}=q_ {i})}. \tag{13}\]  
Hence, at each cycle, we can sample the QTL genotype \(Q_{i}\) directly from this full conditional density. \(Updating\)\(\mathbf{\Theta}:\) We update each \(\mathbf{\Theta}_{j}\) successively by a Metropolis-Hastings algorithm. For each QTL genotype, a new value \(\mathbf{\Theta}_{j}^{*}\) is generated from a proposed density \(q(\mathbf{\Theta}_{j},\mathbf{\Theta}_{j}^{*})\), given the current \(\mathbf{\Theta}\). Evaluate the acceptance probability of the move is \(\min(1,\alpha_{\mathbf{\Theta}_{j}})\).