This function is to prepare for the next Q calculation. Basically, Q does not like phenotype y to add complication. Therefore we use this function to get rid of the impact of y.
fastresid(X, y)
The data matrix, each column is for each sample and each row is for different feature.
Experimental condition/phenotypes, it can be discrete or continuous
The new x after residulizing y
Set-based differential covariance testing for genomics