Tutorial: Calculate and fit physical versus genomic distance distribution

This tutorial walks through the standard workflow for calculatng the physical versus genomic distance from a trace file.

Step 0: Set-up your data and output path

[1]:
import os
from pathlib import Path
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
%matplotlib inline

#Set up your folder data and destination paths:

data_path = "/mnt/grey/DATA/users/zidoum/traceraptops/data/Boettiger/Replicate2"
dest_path = f"{data_path}/output"

# Cortex tissue from tutorials 1-5
input_trace = f"{dest_path}/merged_traces_filtered_all.ecsv"

print(f"Input trace: {input_trace}")
Input trace: /mnt/grey/DATA/users/zidoum/traceraptops/data/Boettiger/Replicate2/output/merged_traces_filtered_all.ecsv

Step 1: Calculate physical vs genomic distances

[8]:
!trace_physical_vs_genomic_distance.py --input {input_trace}
------- Running trace_physical_vs_genomic_distance.py --------
`trace_physical_vs_genomic_distance.py` summarizes how physical chromatin-trace distances change with genomic separation. It reads a chromatin trace table, computes pairwise distances between all barcode loci in each trace, bins those distances by genomic distance, and writes a CSV table that can also be plotted as a log-log physical-vs-genomic-distance curve.

$ Importing table from pyHiM format
Successfully loaded trace table: /mnt/grey/DATA/users/zidoum/traceraptops/data/Boettiger/Replicate2/output/merged_traces_filtered_all.ecsv
Calculating physical distances: 100%|███| 1792/1792 [00:00<00:00, 12389.59it/s]
Binning physical vs genomic distance for 3D: 100%|█| 50/50 [00:00<00:00, 73.55i
Binning physical vs genomic distance for X: 100%|█| 50/50 [00:00<00:00, 73.63it
Binning physical vs genomic distance for Y: 100%|█| 50/50 [00:00<00:00, 74.33it
Binning physical vs genomic distance for Z: 100%|█| 50/50 [00:00<00:00, 74.67it
> Exporting figure to: /mnt/grey/DATA/users/zidoum/traceraptops/data/Boettiger/Replicate2/output/merged_traces_filtered_all_physical_vs_genomic_plot.png
Saved physical-vs-genomic distance table to binned_physical_vs_genomic_distances.csv

Step 2: Display results

[9]:
plot_file = f"{dest_path}/merged_traces_filtered_all_physical_vs_genomic_plot.png"

img = mpimg.imread(plot_file)
fig, ax = plt.subplots(figsize=(25, 15))
ax.imshow(img)
ax.axis('off')
ax.set_title("4M plot: colocalization with anchor barcode 10", fontsize=14)
plt.tight_layout()
plt.show()
../_images/tutorials_tutorial_physical_vs_genomic_distances_6_0.png