mapC#
Get test data#
you can get test data from the following url:
plot all chrom contact heatmap#
[1]:
import warnings
import cooler
import trackc as tc
warnings.simplefilter("ignore")
[2]:
clr = cooler.Cooler(
"../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::resolutions/5120000"
)
fig, axs = tc.make_spec(figsize=(6, 6), width_ratios=[1], wspace=0.2)
mat = clr.matrix(balance=False)[:]
tc.pl.mapC(ax=axs[0], mat=mat, map_type="squ", symmetric=True)
chromstarts = [clr.extent(i)[0] for i in clr.chromnames]
_ = axs[0].set(yticks=chromstarts, yticklabels=clr.chromnames)
# tc.savefig('all_chrom_cmap.pdf')
no max min range
maxrange: 1141.0 minrange: 3.0
plot one chrom#
[3]:
fig, axs = tc.make_spec(figsize=(5, 2.5), width_ratios=[1], wspace=0.2)
mat = tc.tl.extractCisContact(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/2560000",
region="chr8",
)
tc.pl.mapC(ax=axs[0], mat=mat, maxrange=3000)
# tc.savefig('chrom_cmap_tri.pdf')
maxrange: 3000 minrange: 3.0
plot one chrom region#
[4]:
fig, axs = tc.make_spec(figsize=(11, 5), width_ratios=[1, 1], wspace=0.2)
mat = tc.tl.extractCisContact(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/10000",
region="chr8:124000000-127000000",
)
tc.pl.mapC(ax=axs[0], mat=mat, map_type="squ", symmetric=True)
mat2 = tc.tl.extractCisContact(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/20000",
region="chr8:51000000-53000000",
)
tc.pl.mapC(ax=axs[1], mat=mat2, map_type="squ", symmetric=True)
# tc.savefig('chrom_cmap_region_squ.pdf')
no max min range
maxrange: 13.0 minrange: 1.0
no max min range
maxrange: 29.0 minrange: 1.0
plot interaction of partial chromosomes#
[5]:
fig, axs = tc.make_spec(figsize=(5, 5), width_ratios=[1], wspace=0.2)
mat = tc.tl.extractContactRegions(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/5120000",
row_regions=["chr6", "chr8"],
)
tc.pl.mapC(ax=axs[0], mat=mat.cmat, map_type="squ", symmetric=True, maxrange=10000)
maxrange: 10000 minrange: 10.0
[6]:
ten = tc.tenon(figsize=(8, 1))
ten.add(pos="bottom", height=3.6)
ten.add(pos="bottom", height=1)
chr6_len = clr.chromsizes["chr6"]
chr8_len = clr.chromsizes["chr8"]
mat = tc.tl.extractContactRegions(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/5120000",
row_regions=["chr6", "chr8"],
)
tc.pl.mapC(ax=ten.axs(0), mat=mat.cmat, map_type="tri", maxrange=5000, cmap="plasma")
tc.pl.multi_scale_track(
ax=ten.axs(1),
regions=["chr6:0-{0}".format(chr6_len), "chr8:0-{0}".format(chr8_len)],
scale_adjust="Mb",
intervals=2,
tick_rotation=0,
)
maxrange: 5000 minrange: 10.0
plot inter-chrom interaction#
[7]:
fig, axs = tc.make_spec(figsize=(5, 5), width_ratios=[1], wspace=0.2)
mat = tc.tl.extractContactRegions(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/5120000",
row_regions="chr6",
col_regions="chr8",
)
tc.pl.mapC(
ax=axs[0], mat=mat.cmat, map_type="squ", symmetric=True, maxrange=1000, aspect=1
)
axs[0].set_ylabel("chr6")
axs[0].set_xlabel("chr8")
maxrange: 1000 minrange: 10.0
[7]:
Text(0.5, 0, 'chr8')
[8]:
ten = tc.tenon(figsize=(8, 1))
ten.add(pos="bottom", height=3.5)
ten.add(pos="bottom", height=1)
regions = ["chr6:0-25600000", "chr8:122880000-143360000"]
mat = tc.tl.extractContactRegions(
clr="../../trackc_data/tutorials/mapC/GSM4417639_SK-N-DZ_C6BC81F2_b38d5.mcool::/resolutions/5120000",
row_regions=regions,
)
tc.pl.mapC(
ax=ten.axs(0), mat=mat.cmat, map_type="triangle", symmetric=False, maxrange=10000
)
tc.pl.multi_scale_track(ax=ten.axs(1), regions=regions, scale_adjust="Mb", intervals=2)
maxrange: 10000 minrange: 77.0