Two R pacakges are required for execution of the method: "nortest" and "e1071".
These packages can be installed by execution the following commands within the R environment in command line:

install.pacakges("nortest")
install.pacakges("e1071")


Input File format is as follows:
Samples=  #the number of samples
Modalities=  #the number of modalities
Cluster= #the number of clusters
File1= #Filename for Modality1      Features= #Number of features in Modality1	logtransform= 1 for log transformation 0 for if not
File2= #Filename for Modality2      Features= #Number of features in Modality2	logtransform= 1 for log transformation 0 for if not
File3= #Filename for Modality3      Features= #Number of features in Modality3	logtransform= 1 for log transformation 0 for if not
File4= #Filename for Modality4      Features= #Number of features in Modality4	logtransform= 1 for log transformation 0 for if not


Example Input File:
Samples= 398
Modalities= 4
Cluster= 4
File1= DataSets/BRCA/DNA      Features= 2000	logtransform= 0
File2= DataSets/BRCA/GENE     Features= 2000	logtransform= 1
File3= DataSets/BRCA/MIRNA    Features= 278	logtransform= 1
File4= DataSets/BRCA/PROTEIN  Features= 212	logtransform= 0




After installing the R packages, execute C version of code by 
$ gcc Normality.c -lm -llapack
$ ./a.out BRCA			#Input File name as command line argument


R demo code for BRCA dataset is given in Example.R file.
To execute R code go to R environment and execute in command line:

>source("BRCAExample.R")


Joint subspace is written to file : JointSubspace.txt
JointSubspace.txt contains a (n x r) where n is the number of samples in the data set and r is  the rank of the joint subspace.


File Normality.R contains the R implementation of the proposed method as a function Normality. Details of the fuctions is as follows:

Function Name: Normality

Usage 
Normality(DataL, mod)


Arguments
DataL:  A list object containing M data matrices representing M different omic data types measured in a set of n samples. 
For each matrix, the rows represent samples, and the columns represent genomic features.

mod: A string array of names of the modalities. Required for modality selection.
example: mod=c("DNA","GENE","MIRNA","PROTEIN")

Example:

Data<-list()
Data[[1]] <- as.matrix(read.table("DataSets/BRCA/DNA", sep=" ",header=TRUE,row.names=1))
Data[[2]] <- as.matrix(read.table("DataSets/BRCA/GENE", sep=" ",header=TRUE,row.names=1))
Data[[3]] <- as.matrix(read.table("DataSets/BRCA/MIRNA", sep=" ",header=TRUE,row.names=1))
Data[[4]] <- as.matrix(read.table("DataSets/BRCA/PROTEIN", sep=" ",header=TRUE,row.names=1))
mod=c("DNA","GEN","MIR","PRO")
source("Normality.R")
out=Normality(LogData,mod)

