Switch to unified view

a b/python-scripts/runSingleMMDVAE.py
1
from keras.layers import Input, Dense
2
from keras.models import Model
3
import numpy as np
4
import pandas as pd
5
import matplotlib.pyplot as plt
6
from sklearn.cluster import KMeans
7
from sklearn.cluster import k_means
8
from sklearn.metrics import silhouette_score, davies_bouldin_score
9
from sklearn.preprocessing import normalize
10
import time
11
from sklearn import metrics
12
from myUtils import *
13
from ZVAEclass2 import ZVAE
14
import os
15
16
if __name__ == '__main__':
17
    datapath = 'data/single-cell/'
18
    resultpath = 'result/single-cell/'
19
    # groundtruth = np.loadtxt('{}/c.txt'.format(datapath))
20
    # groundtruth = list(np.int_(groundtruth))
21
22
    omics = np.loadtxt('{}/omics.txt'.format(datapath))
23
    omics = np.transpose(omics)
24
    omics1 = omics[0:206]
25
    omics2 = omics[206:412]
26
    omics1 = normalize(omics1, axis=0, norm='max')
27
    omics2 = normalize(omics2, axis=0, norm='max')
28
    # omics = np.concatenate((omics1, omics2), axis=1)
29
    dim1=omics1.shape[1]
30
    dim2=omics2.shape[1]
31
    omics=[omics1,omics2]
32
    dims = [dim1, dim2]
33
34
    data = omics
35
    # input_dim = data.shape[1]
36
    # encoding1_dim = 4096
37
    # encoding2_dim = 1024
38
    # middle_dim = 2
39
    # dims = [encoding1_dim, encoding2_dim, middle_dim]
40
    vae = ZVAE(dims)
41
    vae.autoencoder.summary()
42
    vae.autoencoder.fit(omics, omics, epochs=100,verbose=1, batch_size=16, shuffle=True)
43
    encoded_factors = vae.encoder.predict(omics)
44
    if not os.path.exists("{}MMDVAE_EM.txt".format(resultpath)):
45
        os.mknod("{}/MMDVAE_EM.txt".format(resultpath))
46
    np.savetxt("{}/MMDVAE_EM.txt".format(resultpath), encoded_factors)
47
48
49
50
51
52
53
54
55