clustering genes by their expression profiles among samples and/or across time points is a useful approach to reducing data dimension and identifying co - expressed genes that may share common biological functions or regulatory networks.1 there are three typical experimental designs , under which gene expression data are collected : ( 1 ) multiple samples at one time point , ( 2 ) one sample at multiple time points , and ( 3 ) multiple samples each at multiple time points . data collected under each experimental design possess specific distributional characteristics to that design , which should be properly accounted for in data analysis . for the analysis of gene clustering , we have previously developed a model - based clustering method , called the clustering of regression models ( corm ) method , to accommodate data collected from various experimental designs while accounting for data distributional characteristics specific to each design.2 corm uses regression to model the expression of each gene and clusters genes that share similar regression coefficients to sample covariates .
it applies an em algorithm to iteratively assign genes to clusters and estimate the regression coefficients for each cluster .
we have implemented corm for the clustering of linear models ( clm ) method and the clustering of linear mixed model ( clmm ) method , with the former applied to cluster genes using cross - sectional data2,3 and the latter time course data with or without replicates.2,4 in this paper , we report an r package that we recently developed implementing the clm method and the clmm method , and for each method , we provide two distinct data examples illustrating their uses .
the corm package is available at r cran and it can be imported once installed with the r code below : the clm method is implemented by the function fit.clm .
the first example is to cluster genes using microarray data derived from a set of breast cancer samples , including 38 invasive ductal carcinoma ( idc ) and 21 invasive lobular carcinoma ( ilc ) samples.5 two indicator variables , one for idc and another for ilc , were used as the covariates in the regression model for clm .
a set of 474 markers , which were selected based on their differential expression between the two breast cancer subtypes idc versus ilc , are grouped into nine clusters with genes in each cluster sharing similar expression levels in both subtypes.2 the second example is to cluster candidate target genes for a microrna named hsa - let-7f using their expression data derived from a set of normal and tumor tissue samples.6 three variables were used in the linear regression model for clm : ( 1 ) let-7f expression , ( 2 ) indicator of disease status , and ( 3 ) interaction between let-7f and disease status . a set of 178 markers , which were selected based on their significant association with let-7f expression , are clustered to look for genes that share similar association with let-7f and hence may be similarly regulated by let-7f.3 the clmm method is implemented by two functions : fit.clmm and fit.clmm.2 .
the former can be used to cluster single - time course data or replicated time course data with replicate samples sharing the same time points .
the latter can be used to cluster replicated time course with the samples belonging to two groups each having a different set of time points .
a single - time course study examining yeast cell cycle is used to illustrate the use of fit.clmm.7 the fixed effects and random effects in the linear mixed effects model are both set to be the spline basis of time .
a set of 256 cell cycle - dependent genes identified by zhao et al.8 were clustered into six groups .
the expression profiles over time for genes in each group showed significant periodicity with similar peak time within each group and difference between groups.2 a replicated time course study assessing yeast cell cycle in two yeast samples of different genotypes is used to illustrate the use of fit.clmm.2.4 the two genotypes are wild - type yeast and single - mutant yeast with yox1 gene knocked out .
the two samples were measured for gene expression at the same time points in the experiment ; however , each sample incurred bad time points at different times due to technical issues , which were removed from the clustering analysis . in order to accommodate the different time points for the two samples ,
separate arguments for the fixed and random effects are allowed for the two samples in fit.clmm.2 .
the same list of 256 cell cycle - dependent genes is partitioned into eight groups using the wild - type and mutant yeast data to look for genes whose expressions are similarly regulated by the mutation.4
the first example is to cluster genes using microarray data derived from a set of breast cancer samples , including 38 invasive ductal carcinoma ( idc ) and 21 invasive lobular carcinoma ( ilc ) samples.5 two indicator variables , one for idc and another for ilc , were used as the covariates in the regression model for clm .
a set of 474 markers , which were selected based on their differential expression between the two breast cancer subtypes idc versus ilc , are grouped into nine clusters with genes in each cluster sharing similar expression levels in both subtypes.2 the second example is to cluster candidate target genes for a microrna named hsa - let-7f using their expression data derived from a set of normal and tumor tissue samples.6 three variables were used in the linear regression model for clm : ( 1 ) let-7f expression , ( 2 ) indicator of disease status , and ( 3 ) interaction between let-7f and disease status . a set of 178 markers , which were selected based on their significant association with let-7f expression ,
are clustered to look for genes that share similar association with let-7f and hence may be similarly regulated by let-7f.3
the former can be used to cluster single - time course data or replicated time course data with replicate samples sharing the same time points .
the latter can be used to cluster replicated time course with the samples belonging to two groups each having a different set of time points .
a single - time course study examining yeast cell cycle is used to illustrate the use of fit.clmm.7 the fixed effects and random effects in the linear mixed effects model are both set to be the spline basis of time .
a set of 256 cell cycle - dependent genes identified by zhao et al.8 were clustered into six groups .
the expression profiles over time for genes in each group showed significant periodicity with similar peak time within each group and difference between groups.2 a replicated time course study assessing yeast cell cycle in two yeast samples of different genotypes is used to illustrate the use of fit.clmm.2.4 the two genotypes are wild - type yeast and single - mutant yeast with yox1 gene knocked out .
the two samples were measured for gene expression at the same time points in the experiment ; however , each sample incurred bad time points at different times due to technical issues , which were removed from the clustering analysis . in order to accommodate the different time points for the two samples ,
separate arguments for the fixed and random effects are allowed for the two samples in fit.clmm.2 .
the same list of 256 cell cycle - dependent genes is partitioned into eight groups using the wild - type and mutant yeast data to look for genes whose expressions are similarly regulated by the mutation.4
it can be applied to cluster gene expression data collected under various types of experimental designs and forms an integrative analysis framework together with regression models typically used to detect differentially expressed or time - dependent genes .
table 1 lists the computing time spent for the aforementioned data examples as tested on a linux server ( intel xeon ) . in our experience , applying the corm method , the em algorithm typically converges in just a few iterations and is quite robust to the starting values when there are relatively well - separated clusters in the data .
we would recommend applying corm to about 100500 genes to partition them into reasonably sized clusters .
 we report a new r package implementing the clustering of regression models ( corm ) method for clustering genes using gene expression data and provide data examples illustrating each clustering function in the package . 
 the corm package is freely available at cran from http://cran.r-project.org . 
Introduction
CORM Package
Gene clustering for cross-sectional data
Gene clustering for time course data
Conclusion