Synthetic Data
In [6]:
Copied!
import sys
sys.path.append('../')
import sys
sys.path.append('../')
In [7]:
Copied!
from dlem.api import (jax_forward_generate,
compute_contact_heatmap,
plot_map,
flip_diag_row)
from dlem.core import (normalize_expected_observed)
import jax
from dlem.api import (jax_forward_generate,
compute_contact_heatmap,
plot_map,
flip_diag_row)
from dlem.core import (normalize_expected_observed)
import jax
In [8]:
Copied!
key = jax.random.PRNGKey(42)
n = 1000
resolution = 100
slowdown = .0025
rows = 200
key = jax.random.PRNGKey(42)
n = 1000
resolution = 100
slowdown = .0025
rows = 200
In [9]:
Copied!
p_left = jax.random.uniform(key, shape=(n,))
p_right = jax.random.uniform(key, shape=(n,))
p_left = jax.random.uniform(key, shape=(n,))
p_right = jax.random.uniform(key, shape=(n,))
In [10]:
Copied!
out_data = jax_forward_generate(p_left, p_right, slowdown, rows)
out_data = jax_forward_generate(p_left, p_right, slowdown, rows)
In [11]:
Copied!
out_data.shape
out_data.shape
Out[11]:
(200, 1000)
In [12]:
Copied!
log = True
norm = normalize_expected_observed(out_data, log=log)
log = True
norm = normalize_expected_observed(out_data, log=log)
In [13]:
Copied!
import jax.numpy as jnp
padded_arr = jnp.pad(norm,
pad_width=((0, n-rows)),
mode='constant',
constant_values=0)
prepared = flip_diag_row(padded_arr)
import jax.numpy as jnp
padded_arr = jnp.pad(norm,
pad_width=((0, n-rows)),
mode='constant',
constant_values=0)
prepared = flip_diag_row(padded_arr)
In [14]:
Copied!
chrom = "chr1"
start = 1
end = n*resolution
fig = plot_map(prepared, p_left, p_right, f'{chrom}:{start}-{end}', resolution)
chrom = "chr1"
start = 1
end = n*resolution
fig = plot_map(prepared, p_left, p_right, f'{chrom}:{start}-{end}', resolution)
In [15]:
Copied!
plot_width = 700
fig.update_layout(
width=plot_width,
height=plot_width*1.61803,
)
file_path = f"synthetic_data_plotly.html"
fig.write_html(file_path)
plot_width = 700
fig.update_layout(
width=plot_width,
height=plot_width*1.61803,
)
file_path = f"synthetic_data_plotly.html"
fig.write_html(file_path)
In [16]:
Copied!
from IPython.display import HTML, display
display(HTML("<style>.container { width:100% !important; }</style>"))
display(HTML(filename='../docs/synthetic_data_plotly.html'))
from IPython.display import HTML, display
display(HTML(""))
display(HTML(filename='../docs/synthetic_data_plotly.html'))