How is the CLR transformation working?

Dear MA forum
We’ve been using your pipeline and we wondered how you are doing the CLR transformation in the normalization step, as we cannot find this function “clr_transform” in either of the edgeR and metagenomeSeq packages that are loaded and is used in the MA code (xia-lab/MicrobiomeAnalystR source: R/general_proc.R line 378).

This function does seem to exist in seqtools (seqtools/clr.R at master · skembel/seqtools · GitHub) . If this is the function we are concerned that it ignores the zeros in a user’s data when calculating the geometric mean during the CLR transformation – we believe that ignoring the zeros is called a robust-clr – but can you clarify how the CLR transform works and what it does with the zeros?

You should be able to find out this function in our GitHub Repo at L365

thanks for the swift reply