# -*- coding: utf-8 -*-
"""
Created on Wed Jun 11 15:02:46 2014

@author: reu
"""

import matplotlib.pyplot as plt
import numpy as np
from decomp import *
from mpl_toolkits.mplot3d import Axes3D
"""
o = np.array([[.4],[.6]])
b = np.array([[.9],[.1]])
o = np.hstack((o,b))

t = np.array([[.7],[.3]])
b = np.array([[.4],[.6]])
t = np.hstack((t,b))

plt.pcolor(t)

def omission(state):
    u = np.random.uniform(0,1)
    if state == 0:
        if u < .4:
            return 0
        else:
            return 1
    if state == 1:
        if u < .9:
            return 0
        else:
            return 1
def transition(state):
    u = np.random.uniform(0,1)
    if state == 0:
        if u < .7:
            return 0
        else:
            return 1
    if state == 1:
        if u < .4:
            return 0
        else:
            return 1

"""



"""
w = [2,3,4,5]
v = [[.2,.23,.3,.4],[.2,.4,.7,.3],[.4,.5,.7,.3],[1,1,1,1]]
m2prime = np.zeros([4,4])
m3prime = np.zeros([4,4,4])
for i in range(0,4):
    m2prime += w[i] * np.outer(v[i],v[i])
    m3prime += w[i] * tensorPower(v[i])

vectors, values = getParams(m2prime,m3prime,8,8,4)
"""

"""
file = readMarks(["C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr1_binary.txt",\
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr2_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr3_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr4_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr5_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr6_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr7_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr8_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr9_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr10_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr11_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr12_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr13_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr14_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr15_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr16_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr17_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr18_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr19_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr20_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr21_binary.txt",
    "C:\\Users\\reu\\Downloads\\Spectacle\\Spectacle\\SAMPLEDATA_HG19\\GM12878_chr22_binary.txt"])
trip = getTriples(file)
#get all pairs & triples frequencies
p12,p13,p23,p123 = pairsTriples(trip,2**4)
p21 = np.transpose(p12)
p31 = np.transpose(p13)
p32 = np.transpose(p23)
#get singletons fequencies
x_1 = x_i(trip,1,2**4)
x_3 = x_i(trip,3,2**4) 
#get m2 and m3"""
m2, m3 = transform(p12,p13,p23,p123,5)
#learn parameters
o,t,pi = getOTPi(m2,m3,6,6,p31,p21,x_1,5)


"""
x = []
y = []
z = []
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for i in range(0,1000):
    point = randomUnitSphere(2)
    x.append(point[0])
    y.append(point[1])
    z.append(i)
    
ax.scatter(x,y,z)
plt.show()
"""
    