Switch to side-by-side view

--- a
+++ b/python-scripts/runSimulationsSVAE2.py
@@ -0,0 +1,100 @@
+from keras.layers import Input, Dense
+from keras.models import Model
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from sklearn.cluster import KMeans
+from sklearn.cluster import k_means
+from sklearn.metrics import silhouette_score, davies_bouldin_score
+from sklearn.preprocessing import normalize
+import time
+from sklearn import metrics
+from myUtils import *
+#from AEclass import AE
+from SVAEclass import VAE
+import os
+
+if __name__ == '__main__':
+    datatypes=["equal","heterogeneous"]
+    typenums=[5,10,15]
+    for datatype in datatypes:
+        for typenum in typenums:
+            datapath='data/simulations/{}/{}'.format(datatype, typenum)
+            resultpath='result/simulations/{}/{}'.format(datatype, typenum)
+            groundtruth = np.loadtxt('{}/c.txt'.format(datapath))
+            groundtruth = list(np.int_(groundtruth))
+
+            omics1 = np.loadtxt('{}/o1.txt'.format(datapath))
+            omics1 = np.transpose(omics1)
+            omics1 = normalize(omics1, axis=0, norm='max')
+
+            omics2 = np.loadtxt('{}/o2.txt'.format(datapath))
+            omics2 = np.transpose(omics2)
+            omics2 = normalize(omics2, axis=0, norm='max')
+
+            omics3 = np.loadtxt('{}/o3.txt'.format(datapath))
+            omics3 = np.transpose(omics3)
+            omics3 = normalize(omics3, axis=0, norm='max')
+
+            omics = np.concatenate((omics1, omics2, omics3), axis=1)
+
+            data = omics
+            #input_dim = data.shape[1]
+
+            encoding1_dim1 = 100
+            encoding2_dim1 = 50
+            if typenum==15:
+                middle_dim1 = 5
+            elif typenum==10:
+                middle_dim1 = 4
+            elif typenum==5:
+                middle_dim1 = 3
+            dims1 = [encoding1_dim1, encoding2_dim1, middle_dim1]
+            ae1 = VAE(omics1, dims1)
+            ae1.train()
+            ae1.autoencoder.summary()
+            encoded_factor1 = ae1.predict(omics1)
+
+            encoding1_dim2 = 80
+            encoding2_dim2 = 50
+            if typenum==15:
+                middle_dim2 = 5
+            elif typenum==10:
+                middle_dim2 = 3
+            elif typenum==5:
+                middle_dim2 = 1
+            
+            dims2 = [encoding1_dim2, encoding2_dim2, middle_dim2]
+            ae2 = VAE(omics2, dims2)
+            ae2.train()
+            ae2.autoencoder.summary()
+            encoded_factor2 = ae2.predict(omics2)
+
+            encoding1_dim3 = 80
+            encoding2_dim3 = 50
+            if typenum==15:
+                middle_dim3 = 5
+            elif typenum==10:
+                middle_dim3 = 3
+            elif typenum==5:
+                middle_dim3 = 1
+            
+            dims3 = [encoding1_dim3, encoding2_dim3, middle_dim3]
+            ae3 = VAE(omics3, dims3)
+            ae3.autoencoder.summary()
+            ae3.train()
+            encoded_factor3 = ae3.predict(omics3)
+
+            encoded_factors = np.concatenate((encoded_factor1, encoded_factor2, encoded_factor3), axis=1)
+
+            # if not os.path.exists("{}/AE_FAETC_EM.txt".format(resultpath)):
+            #     os.mknod("{}/AE_FAETC_EM.txt".format(resultpath))
+            np.savetxt("{resultpath}/SVAE_FAETC_EM_{typenum}.txt".format(resultpath=resultpath,typenum=typenum), encoded_factors)
+
+
+
+
+
+
+
+