The shrink.scale variable in the SemisupervisedTransformBulk function needs a minor adjustment. Currently, it divides sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2) over n and then adds 1 to it, while it should divide sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2) over (n-1), as mentioned in the paper. So, the modified variable should be
shrink.scale <- base::sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2)/(n+1))
The shrink.scale variable in the SemisupervisedTransformBulk function needs a minor adjustment. Currently, it divides sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2) over n and then adds 1 to it, while it should divide sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2) over (n-1), as mentioned in the paper. So, the modified variable should be shrink.scale <- base::sqrt(base::sum((Y.train[gene,,drop=T]-Y.center)^2)/(n+1))