Skip to content

Commit

Permalink
Update scripts to summarize TADs and insulation scores
Browse files Browse the repository at this point in the history
  • Loading branch information
robomics committed Aug 25, 2023
1 parent 745463f commit 363e6dd
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 9 deletions.
5 changes: 1 addition & 4 deletions bin/generate_insulation_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,11 +171,8 @@ def plot_scatters(fig, axs, lb, ub, scores: pd.DataFrame):
for j in range(num_cols):
ax = axs[i][j]

if i == 0:
ax.set(title=scores.columns[j])

if j == i + 1:
ax.set(ylabel=scores.columns[i])
ax.set(ylabel=scores.columns[i], xlabel=scores.columns[j])

if i >= j:
fig.delaxes(ax)
Expand Down
5 changes: 1 addition & 4 deletions bin/generate_tad_interaction_scatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,11 +124,8 @@ def plot_scatters(fig, axs, lb, ub, scores: pd.DataFrame):
for j in range(num_cols):
ax = axs[i][j]

if i == 0:
ax.set(title=scores.columns[j])

if j == i + 1:
ax.set(ylabel=scores.columns[i])
ax.set(ylabel=scores.columns[i], xlabel=scores.columns[j])

if i >= j:
fig.delaxes(ax)
Expand Down
29 changes: 28 additions & 1 deletion bin/generate_tad_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,29 @@ def plot_size_distribution(tads: Dict[str, pd.DataFrame], ylim: Tuple[int, int]
ylim=ylim,
)

plt.tight_layout()
fig.tight_layout()

return fig


def plot_tad_numbers(tads: Dict[str, pd.DataFrame]) -> plt.Figure:
labels = list(tads.keys())
sizes = [len(t) for t in tads.values()]

sizes = pd.DataFrame({"x": labels, "y": sizes})

fig, ax = plt.subplots(1, 1)
sns.barplot(sizes, x="x", y="y", ax=ax)
ax.set_xticklabels(ax.get_xticklabels(), rotation=30)

ax.set(
title="# of TADs",
xlabel="",
ylabel="Count",
# ylim=(int(0.975 * sizes["y"].min()), int(1.025 * sizes["y"].max()))
)

fig.tight_layout()

return fig

Expand All @@ -136,6 +158,7 @@ def main():
path_to_size_distribution_plot = pathlib.Path(output_prefix.parent) / (
output_prefix.name + "_size_distribution.png"
)
path_to_barplot = pathlib.Path(output_prefix.parent) / (output_prefix.name + "_numbers.png")

if not args["force"]:
detect_path_collisions(
Expand Down Expand Up @@ -164,6 +187,10 @@ def main():
fig.savefig(path_to_size_distribution_plot, dpi=600)
fig.savefig(path_to_size_distribution_plot.with_suffix(".svg"))

fig = plot_tad_numbers(tads)
fig.savefig(path_to_barplot, dpi=600)
fig.savefig(path_to_barplot.with_suffix(".svg"))


if __name__ == "__main__":
main()

0 comments on commit 363e6dd

Please sign in to comment.