
SuSiE
“To you, the Champion Leader, we your city dedicate
——a feast of victory and thanksgiving,
as ones rescued from sufferings, O Theotokos.
But as you are one with might which is invincible,
from all dangers that can be, deliver us,
that we may cry to you: Rejoice, O Bride unwedded.”
— “To You, the Champion Leader” (Τῇ ὑπερμάχῳ / Ti Ypermacho)
Install & Calling
mamba create -y -n FM --override-channels -c conda-forge -c bioconda python=3.11 jupyterlab notebook ipykernel numpy pandas scipy matplotlib pyarrow openpyxl r-base=4.4 r-data.table r-matrix r-ggplot2 r-irkernel finemap=1.4.2 plink2 gcta
mamba activate FM
R# install.packages("remotes")
remotes::install_github("stephenslab/susieR")
# Rscript -e 'IRkernel::installspec(name="ir-fm", displayname="R (FM: SuSiE)")'
IRkernel::installspec(user = TRUE, name = "r-fm", displayname = "R453 Finemapping")python -m ipykernel install --user --name FM --display-name "Py311 Finemapping"
GCTB_HOME="/cpfs01/projects-HDD/cfff-afe2df89e32e_HDD/public/czh_data/Tanzimat/software/gctb/2.5.5"
GCTB_BIN="${GCTB_HOME}/bin"
readlink -f "${GCTB_BIN}/gctb"
# /cpfs01/projects-HDD/cfff-afe2df89e32e_HDD/public/czh_data/Tanzimat/software/gctb/2.5.5/dist/gctb_2.5.5_Linux/gctbmkdir -p \
"${CONDA_PREFIX}/etc/conda/activate.d" \
"${CONDA_PREFIX}/etc/conda/deactivate.d"
cat > "${CONDA_PREFIX}/etc/conda/activate.d/gctb.sh" <<'EOF'
export _FM_PATH_BEFORE_GCTB="${PATH}"
export GCTB_HOME="/cpfs01/projects-HDD/cfff-afe2df89e32e_HDD/public/czh_data/Tanzimat/software/gctb/2.5.5"
export PATH="${GCTB_HOME}/bin:${PATH}"
EOF
cat > "${CONDA_PREFIX}/etc/conda/deactivate.d/gctb.sh" <<'EOF'
if [[ -n "${_FM_PATH_BEFORE_GCTB:-}" ]]; then
export PATH="${_FM_PATH_BEFORE_GCTB}"
fi
unset _FM_PATH_BEFORE_GCTB
unset GCTB_HOME
EOF我的建议是直接建立软链接:
GCTB_REAL="/cpfs01/projects-HDD/cfff-afe2df89e32e_HDD/public/czh_data/Tanzimat/software/gctb/2.5.5/dist/gctb_2.5.5_Linux/gctb"
ln -s \
"${GCTB_REAL}" \
"${CONDA_PREFIX}/bin/gctb"
readlink -f "${CONDA_PREFIX}/bin/gctb"mamba env export -n FM --no-builds > /cpfs01/projects-HDD/cfff-afe2df89e32e_HDD/zy_22111220045/Env/FM_environment.ymlSuSiE原理
SuSiE: Sum of Single Effects
解释:对于一个稀疏贝叶斯多元线性回归模型:
※susieR 使用 IBSS 算法反复更新这些单效应,并输出每个单效应的后验概率、总体 PIP 和 credible sets。
其中每个单效应向量最多只有一个非零元素,这里
普通多元线性回归模型
对于第
其中:
表达的精神是:对于每一个个体,他的
其中:
单效应假设 "Single Effects" 及 后验概率
Fine-mapping 的稀疏假设:一个区域中可能有 1000 个 SNP,但真正具有直接效应的可能只有 1~3 个。
单效应(Single Effects):指的便是稀疏假设下,代表SNP产生效应的向量,每个有效应的SNP对应一个单效应向量
但计算的时候,我们只能估计每个SNP有多少概率贡献这个单效应,记作:
其中:
如
※fit$alpha 在 susieR 中就是一个
的计算过程
残差
对于 SNP
效应的不确定性(类似于标准误),记作
<1>SuSiE 给效应大小设置一个正态先验:
0:先验均值,表示分析前不认为效应一定是正或负;
<2>随后计算每个 SNP 的 Bayes factor:
其中:
**作用是:**将①效应估计
计算每个SNP对单效应的贡献概率分布(即,后验概率)
对于每个单效应
prior_weights=NULL;
分母
IBSS:Iterative Bayesian Stepwise Selection
迭代贝叶斯逐步选择,SuSiE文章提出的迭代方法,不重要,就是一种不断来回修正最后得到稳定
后验纳入概率 PIP: Posterior Inclusion Probability
表示:SNP
其中:
※表达的精神是:连乘得到所有效应都不在 SNP
可信集合 Credible Set
对于每个单效应
- 按概率从大到小排序;
- 先加入 SNP1,累计概率为 0.55;
- 再加入 SNP2,累计概率为:
→已经超过 0.95,因此停止。
最终得到:
纯度 Purity
Purity 用于判断一个 credible set 中的 SNP 是否属于同一个高 LD 簇。
一个常见指标是集合内部 SNP 之间最小的绝对相关性:
例如:purity=0.93,说明集合内即使是相关性最低的一对 SNP,其绝对相关性也有 0.93。通常表示:这是一个非常紧密的 LD 簇,数据知道信号就在这个簇中,但不知道具体是哪一个 SNP。

