===== 中心对数转换 =====
居中对数比变换——clr: Centred Log-Ratio (clr) transformation
参考链接:https://zhuanlan.zhihu.com/p/618644075?utm_id=0
==== 一、clr 的作用和用途 ====
比例数据进行中心对数比(Centered Log-ratio, CLR)转化,更接近正态分布。经过clr转换后的数据会出现很多负数,相加等于0(接近0),原先表格里已经有的0可预先转化为一个非常小的数值,如,1E-10。
composition data(文中简称 CoDa)是指每一列加和后为常数,每一个元素具体信息仅表示其成分(占比)的数据集。
clr(Centered log-ratio transformation)是本文的核心算法,简单来说,就是对原始数据进行矫正。
矫正后的数据可以用于后续的分析有:
1、β多样性分析:可以替代Unifrac或Bray-Curtis距离为基础的PCoA分析,直接用矫正后的结果做PCA分析。
2、差异菌属分析:与ALDex2中的类似,作者建议在差异分析这步可以直接看effect size进行筛选,effect size超过1的可以作为筛选差异菌种的标准,这个过程有助于缩小差异筛选的菌种。
3、矫正菌种之间的相关性:这个主要为了微生物相关系数网络构建服务的。
==== 二、测试路径及clr.R ====
#使用R包compositions
#填充0值
#data[data == 0] <- 0.0000000001
#clr_data <- as.data.frame(clr(data))
#测试路径:/TJPROJ7/META_ASS/16s/sunhongtao/personal_demand/231225-00007-clr/test2
==== 三、适用于qiime2标准分析的clr接lefse分析 ====
#拷贝featureTable_Relative/到工作目录
#配置group1.list
#配置lefse.list
#本地执行该脚本,运行完后sh get_result.sh
[ -d featureTable_Relative_clr/ ] || mkdir featureTable_Relative_clr/ && rm featureTable_Relative_clr/*
workdir=`pwd`
for i in c f g k o p s
do
/TJPROJ1/META_ASS/script_Advanced_analysis/HUMANn3/software/conda/envs/R_env/bin/Rscript \
/TJPROJ7/META_ASS/16s/sunhongtao/personal_demand/231225-00007-clr/clr.R \
--data featureTable_Relative/featureTable.sample.$i\.relative.xls \
--result featureTable_Relative_clr/featureTable.sample.$i\.relative_clr.xls
done
Relative_clr=$(realpath "featureTable_Relative_clr")
group=$(realpath "group1.list")
vsgroup=$(realpath "lefse.list")
LDA=4
[ -d log ] || mkdir log && rm log/*
while IFS= read -r line; do
vs=$(echo "$line" | tr '\t' '-')
sed -e "s#path_to_workdir#$workdir#g" \
-e "s#path_to_Relative#$Relative_clr#g" \
-e "s#path_to_group#$group#g" \
-e "s#vs_group#$vs#g" \
-e "s#value_to_LDA#$LDA#g" statisticalTest_lefse_origin.sh \
> log/statisticalTest_lefse_$vs\_LDA$LDA\.sh &&
echo -e "qsub -V -cwd -l vf=20G,p=5 -S /bin/bash -q meta_ass.q statisticalTest_lefse_${vs}_LDA${LDA}.sh" >> log/qsub_total.sh
done < "$vsgroup"
cd log
sh qsub_total.sh
#get result
echo -e "zip -r result-lefse-clr-LDA${LDA}.zip featureTable_Relative/ featureTable_Relative_clr/ statisticalTestResult/" > $workdir/get_result.sh