Ejemplo n.º 1
0
def figure_2c():
    neuronal_final = load_adata("neuronal")
    neuronal_marker_gene_list = load_markers("neuronal")

    neuronal_heatmap_data, neuronal_col_colors, neuronal_row_colors = get_heatmap_data(
        neuronal_final, neuronal_marker_gene_list, "cluster_revised", neuronal_palette
    )

    cg = sns.clustermap(
        neuronal_heatmap_data,
        z_score=0,
        vmin=-3,
        vmax=3,
        cmap=heatmap_cmap,
        xticklabels=False,
        yticklabels=False,
        row_cluster=False,
        col_cluster=False,
        col_colors=neuronal_col_colors,
        row_colors=neuronal_row_colors,
        robust=True,
        figsize=(4, 4),
        cbar_kws=dict(use_gridspec=True),
    )
    cg.ax_row_colors.set_ylabel("Genes", size="small")
    cg.ax_col_colors.set_title("Cells", size="small", zorder=100)
    cg.ax_col_colors.xaxis.tick_top()

    fix_heatmap_colorbar(cg, neuronal_final, neuronal_heatmap_data, heatmap_cmap)

    # cg.fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    fix_heatmap_annotations(cg)
    save_figure(cg.fig, "figure_02", "fig2_neuronal-heatmap", dpi=600, ext="png")
def figure_S5b():
    neuronal_final = load_adata("neuronal")
    arcuate_violin_genes = pd.Index(
        [
            "Slc32a1",
            "Slc17a6",
            "Prlr",
            "Tac2",
            "Tmem35a",
            "Esr1",
            "Nhlh2",
            "Pdyn",
            "Mrap2",
            "Inhbb",
            "Nr5a2",
            "Rxfp1",
            "Ucp2",
            "Lxn",
            "Trp53i11",
            "Fndc9",
            "Col2a1",
            "Kiss1",
            "Kcnk2",
        ]
    )

    marker_violins(
        neuronal_final,
        arcuate_violin_genes,
        "cluster_revised",
        neuronal_palette,
        filename="figS5b_arcuate-marker-violins",
        figdir="figure_S05",
    )
Ejemplo n.º 3
0
def figure_4b():
    neuronal_final = load_adata("neuronal")
    tuberomammillary_violin_genes = pd.Index(
        [
            "Slc32a1",
            "Slc17a6",
            "Gad1",
            "Slc18a2",
            "Hdc",
            "Wif1",
            "Maoa",
            "Maob",
            "Msrb2",
            "Itm2a",
            "Hcrtr2",
            "Hrh3",
            "Bsx",
            "Tspan12",
            "Prph",
            "Sncg",
        ]
    )

    marker_violins(
        neuronal_final,
        tuberomammillary_violin_genes,
        "cluster_revised",
        neuronal_palette,
        filename="fig4_tuberomammillary-marker-violins",
        figdir="figure_04",
    )
def figure_S2a():
    neuronal_final = load_adata("neuronal")
    neuronal_cluster_props = get_cluster_proportions(
        neuronal_final, "cluster_revised", sample_key="sample_name"
    )
    fig1 = plot_celltype_proportions(neuronal_cluster_props, neuronal_palette)
    save_figure(fig1, "figure_S02", "figS2a_neuronal_cluster_props")
def figure_S2c():
    nonneuronal_final = load_adata("nonneuronal")
    nonneuronal_cluster_props = get_cluster_proportions(
        nonneuronal_final, "cluster_final", sample_key="sample_name"
    )
    fig1 = plot_celltype_proportions(nonneuronal_cluster_props, nonneuronal_palette)
    save_figure(fig1, "figure_S02", "figS2c_nonneuronal_cluster_props")
Ejemplo n.º 6
0
def figure_1e():
    full_no_dub = load_adata("global_no_dub")

    full_markers = load_markers("global")
    full_heatmap_data, full_col_colors, full_row_colors = get_heatmap_data(
        full_no_dub, full_markers, "cluster_revised", main_palette
    )
    cg = sns.clustermap(
        full_heatmap_data,
        z_score=0,
        vmin=-3,
        vmax=3,
        cmap=heatmap_cmap,
        xticklabels=False,
        yticklabels=False,
        row_cluster=False,
        col_cluster=False,
        col_colors=full_col_colors,
        row_colors=full_row_colors,
        robust=True,
        figsize=(4, 4),
        cbar_kws=dict(use_gridspec=True),
    )
    cg.ax_row_colors.set_ylabel("Genes", size="small")
    cg.ax_col_colors.set_title("Cells", size="small", zorder=100)

    fix_heatmap_colorbar(cg, full_no_dub, full_heatmap_data, heatmap_cmap)

    cg.ax_col_colors.xaxis.tick_top()

    # cg.fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    fix_heatmap_annotations(cg)
    save_figure(cg.fig, "figure_01", "fig1_main-heatmap", dpi=600, ext="png")
Ejemplo n.º 7
0
def figure_6b():
    neuronal_final = load_adata("neuronal")
    mammillary_violin_genes = pd.Index(
        [
            "Slc32a1",
            "Slc17a6",
            "Ctxn3",
            "Gpr83",
            "Rprm",
            "Cck",
            "Adcyap1",
            "Fam19a1",
            "Slc24a2",
            "Foxb1",
            "Cpne9",
            "Cox6a2",
            "Cnih3",
            "Pvalb",
            "Cartpt",
            "Nts",
            "Onecut2",
            "Tac2",
            "Cxcl14",
        ]
    )

    marker_violins(
        neuronal_final,
        mammillary_violin_genes,
        "cluster_revised",
        neuronal_palette,
        filename="fig6_marker-violins",
        figdir="figure_06",
    )
Ejemplo n.º 8
0
def figure_5b():
    neuronal_final = load_adata("neuronal")
    lateral_mammillary_violin_genes = pd.Index(
        [
            "Slc32a1",
            "Slc17a6",
            "Tac2",
            "Tcf4",
            "Pvalb",
            "Fgf1",
            "Cnr1",
            "Cplx1",
            "Cbln2",
            "Cabp7",
            "Parm1",
            "Inf2",
            "Nefm",
            "Myo1a",
            "Syt2",
        ]
    )

    marker_violins(
        neuronal_final,
        lateral_mammillary_violin_genes,
        "cluster_revised",
        neuronal_palette,
        filename="fig5_lateral-mammillary-marker-violins",
        figdir="figure_05",
    )
Ejemplo n.º 9
0
def figure_3b():
    neuronal_final = load_adata("neuronal")
    premammillary_cluster7_violin_genes = pd.Index(
        [
            "Slc32a1",
            "Slc17a6",
            "Adcyap1",
            "Calb2",
            "Foxp2",
            "Htr2c",
            "Nos1",
            "Glra3",
            "Tac1",
            "C1ql3",
            "Irs4",
        ]
    )

    marker_violins(
        neuronal_final,
        premammillary_cluster7_violin_genes,
        "cluster_revised",
        neuronal_palette,
        filename="fig3_glut7-marker-violins",
        figdir="figure_03",
    )
def figure_S2d():
    nonneuronal_final = load_adata("nonneuronal")
    nonneuronal_sample_props = get_sample_proportions(
        nonneuronal_final, "cluster_final", "sample_name"
    )
    fig2 = plot_celltype_proportions(
        nonneuronal_sample_props, sns.mpl_palette("tab20", 4)[::-1]
    )
    save_figure(fig2, "figure_S02", "figS2d_nonneuronal_sample_props")
Ejemplo n.º 11
0
def figure_1d():
    full_no_dub = load_adata("global_no_dub")

    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4))
    axs = (ax1, ax2)

    params = dict(
        norm_hist=False,
        kde=False,
        hist_kws=dict(color=sns.xkcd_rgb["cerulean"], alpha=0.9),
    )
    sns.distplot(
        full_no_dub.obs.total_counts,
        ax=ax1,
        bins=np.linspace(2000, 35000, 50),
        **params
    )
    sns.distplot(full_no_dub.obs.n_genes_by_counts, ax=ax2, **params)

    median1 = full_no_dub.obs.total_counts.median().astype(int)
    median2 = full_no_dub.obs.n_genes_by_counts.median().astype(int)
    ymax = 0.85
    ax1.axvline(
        median1, ymax=ymax, lw=1, ls="--", color="k",
    )
    ax2.axvline(median2, ymax=ymax, lw=1, ls="--", color="k")

    ax1.text(
        median1,
        ymax * 1.02 * ax1.get_ylim()[1],
        str(median1),
        transform=ax1.transData,
        ha="center",
        size="small",
    )
    ax2.text(
        median2,
        ymax * 1.02 * ax2.get_ylim()[1],
        str(median2),
        transform=ax2.transData,
        ha="center",
        size="small",
    )

    ax1.set_xlim(0, 35000)
    ax2.set_xlim(0, 10000)

    ax1.set_xlabel("No. of transcripts")
    ax2.set_xlabel("No. of genes")
    ax1.set_ylabel("No. of cells")
    ax2.set_ylabel("No. of cells")

    for ax in axs:
        sns.despine(fig, ax)

    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_01", "fig1_qc-histograms")
def figure_S3d():
    nonneuronal_final = load_adata("nonneuronal")
    genes_umi_violins(
        nonneuronal_final,
        "cluster_final",
        nonneuronal_palette,
        figdir="figure_S03",
        filename="figS3d_nonneuronal-umi-genes-violins",
    )
Ejemplo n.º 13
0
def figure_6a():
    neuronal_final = load_adata("neuronal")
    genes = ["Cartpt", "Foxb1", "Cck", "Adcyap1"]
    scatter_2by2(
        neuronal_final,
        genes,
        filename="fig6_umap-global-markers",
        figdir="figure_06",
        add_marker_edges=False,
    )
Ejemplo n.º 14
0
def figure_5a():
    neuronal_final = load_adata("neuronal")
    genes = ["Tac2", "Tcf4", "Cplx1", "Pvalb"]
    scatter_2by2(
        neuronal_final,
        genes,
        "fig5_lateral-mammillary-umap-markers",
        figdir="figure_05",
        add_marker_edges=False,
    )
Ejemplo n.º 15
0
def figure_4a():
    neuronal_final = load_adata("neuronal")
    genes = ["Hdc", "Slc18a2", "Wif1", "Maob"]
    scatter_2by2(
        neuronal_final,
        genes,
        filename="fig4_tuberomammillary-umap-markers",
        figdir="figure_04",
        add_marker_edges=False,
    )
Ejemplo n.º 16
0
def figure_3a():
    neuronal_final = load_adata("neuronal")
    genes = ["Tac1", "Nos1", "Calb2", "Foxp2"]
    scatter_2by2(
        neuronal_final,
        genes,
        filename="fig3_glut7-umap-markers",
        figdir="figure_03",
        add_marker_edges=False,
    )
Ejemplo n.º 17
0
def figure_2e():
    neuronal_final = load_adata("neuronal")
    genes_umi_violins(
        neuronal_final,
        "cluster_revised",
        neuronal_palette,
        filename="fig2_neuronal-umi-genes-violins",
        figdir="figure_02",
        ylims=[80000, 10000],
    )
def figure_S7a():
    neuronal_final = load_adata("neuronal")
    genes = ["Cck", "Synpr", "Tac1", "Nos1"]
    scatter_2by2(
        neuronal_final,
        genes,
        filename="figS7a_premammillary-umap-markers",
        figdir="figure_S07",
        add_marker_edges=False,
    )
def figure_S5a():
    neuronal_final = load_adata("neuronal")
    genes = ["Tac2", "Pdyn", "Esr1", "Prlr"]
    scatter_2by2(
        neuronal_final,
        genes,
        filename="figS5a_arcuate-umap-markers",
        figdir="figure_S05",
        add_marker_edges=False,
    )
def figure_S6c():
    supramammillary = load_adata("supramammillary")
    genes = ["Sema3c", "Inhba", "Rxfp1", "Cpne7"]
    scatter_2by2(
        supramammillary,
        genes,
        filename="figS6c_cluster8_key-genes-2",
        figdir="figure_S06",
        add_marker_edges=False,
        label_va="top",
        label_ha="left",
        markersize=16,
    )
def figure_S6a():
    supramammillary = load_adata("supramammillary")
    genes = ["Gad1", "Gad2", "Slc32a1", "Slc17a6"]
    scatter_2by2(
        supramammillary,
        genes,
        filename="figS6a_cluster8_key-genes-1",
        figdir="figure_S06",
        add_marker_edges=False,
        label_va="top",
        label_ha="left",
        markersize=16,
    )
def figure_S4a():
    nonneuronal_final = load_adata("nonneuronal")
    fig, ax = plt.subplots(1, 1, figsize=(4, 4))
    sc.pl.umap(
        nonneuronal_final[nonneuronal_final.obs.cluster_final.isin(list("123456"))],
        color="cluster_final",
        show=False,
        ax=ax,
        title="",
        palette=nonneuronal_palette,
    )
    ax.legend(bbox_to_anchor=(1.0, 0.5), loc="center left", ncol=1, frameon=False)
    fix_aspect_scatter_with_legend(fig)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_S04", "figS4a_oligo-lineage")
def figure_S3a():
    nonneuronal_final = load_adata("nonneuronal")
    fig, ax = plt.subplots(1, 1, figsize=(4, 4))
    sc.pl.umap(
        nonneuronal_final,
        color="cluster_final",
        show=False,
        ax=ax,
        title="Nonneuronal clusters",
        palette=nonneuronal_palette,
    )
    ax.legend(bbox_to_anchor=(1.0, 0.5), loc="center left", ncol=1, frameon=False)
    fix_aspect_scatter_with_legend(fig)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_S03", "fig3a_nonneuronal-clusters")
Ejemplo n.º 24
0
def figure_7a():
    neuronal_final = load_adata("neuronal")
    fig, ax = plt.subplots(1, 1, figsize=(4, 4))
    sc.pl.umap(
        neuronal_final[neuronal_final.obs.cluster_revised.isin(list("12345"))],
        color="cluster_revised",
        show=False,
        ax=ax,
        title="Mammillary clusters",
        palette=neuronal_palette,
    )
    ax.legend(bbox_to_anchor=(1.0, 0.5), loc="center left", ncol=1, frameon=False)
    fix_aspect_scatter_with_legend(fig)
    # add_scatter_borders(ax)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_07", "fig7_mammillary-umap-clusters")
def figure_S1c():
    full_no_dub = load_adata("global_no_dub")

    fig, ax = plt.subplots(1, 1, figsize=(4, 4))
    sc.pl.umap(
        full_no_dub,
        color="classification_cluster",
        palette=neuronal_nonneuronal_palette,
        title="Neuronal Classification",
        show=False,
        ax=ax,
    )
    ax.legend(bbox_to_anchor=(0.5, -0.2), ncol=2, frameon=False, loc="lower center")
    sns.despine(fig)
    fix_aspect_scatter_with_legend(fig)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_S01", "figS1c_neuronal-classification")
Ejemplo n.º 26
0
def figure_2b():
    neuronal_final = load_adata("neuronal")
    fig, ax = plt.subplots(1, 1, figsize=(8, 8))

    sc.pl.umap(
        neuronal_final,
        color="cluster_revised",
        show=False,
        ax=ax,
        size=40,
        title="Neuronal clusters",
        palette=neuronal_palette,
    )
    ax.legend(bbox_to_anchor=(1.0, 0.5), loc="center left", ncol=1, frameon=False)
    fix_aspect_scatter_with_legend(fig)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_02", "fig2_neuronal-clusters")
Ejemplo n.º 27
0
def figure_1c():
    full_no_dub = load_adata("global_no_dub")

    fig, axarr = plt.subplots(
        1,
        2,
        gridspec_kw=dict(hspace=0, wspace=0),
        sharex=True,
        sharey=True,
        figsize=(7, 4),
    )

    params = dict(size=3, show=False, alpha=1.0, legend_fontsize=8)
    legend_params = dict(
        loc="upper center",
        bbox_to_anchor=(0.5, 0.0),
        ncol=2,
        frameon=False,
        fontsize="small",
    )

    # by sex
    colors = sns.xkcd_palette(["electric blue", "bright red"])
    sc.pl.umap(
        full_no_dub, color="sex", title="", ax=axarr[0], palette=colors, **params
    )
    axarr[0].legend(**legend_params)

    # by 10x chemistry
    colors = sns.xkcd_palette(["orange", "grass green"])
    sc.pl.umap(
        full_no_dub, color="chemistry", title="", ax=axarr[1], palette=colors, **params
    )
    axarr[1].legend(**legend_params)

    for ax in axarr.flat:
        ax.set_xlabel("")
        ax.set_ylabel("")
        ax.set_aspect(1)
    fix_aspect_scatter_with_legend(fig)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_01", "fig1_umap-sex-chemistry")
def figure_S6b():
    supramammillary = load_adata("supramammillary")

    fig, ax = plt.subplots(1, 1, figsize=(2, 2))
    sc.pl.umap(
        supramammillary, color="cluster_revised", show=False, ax=ax, title="", size=16
    )
    leg = ax.legend(
        bbox_to_anchor=(1.0, 0.5),
        loc="center left",
        ncol=1,
        frameon=False,
        fontsize="xx-small",
    )
    for handle in leg.legendHandles:
        handle._sizes = [16]
    fix_aspect_scatter_with_legend(fig)
    # add_scatter_borders(ax)
    fig.tight_layout(rect=(0.025, 0.025, 0.975, 0.975))
    save_figure(fig, "figure_S06", "fig6b_cluster8_subclusters")
def figure_S4b():
    nonneuronal_final = load_adata("nonneuronal")
    gene_list = (
        ("Cspg4", "Mal"),
        ("Pdgfra", "Tspan2"),
        ("Fyn", "Opalin"),
        ("Tcf7l2", "Apod"),
        ("Ctps", "Klk6"),
    )
    for genes in gene_list:
        gene_label = "-".join(genes)
        scatter_1by2(
            nonneuronal_final,
            genes,
            selection=nonneuronal_final.obs.cluster_final.isin(list("123456")),
            label_ha="right",
            filename=f"figS4b_oligo-lineage_{gene_label}",
            figdir="figure_S04",
            add_marker_edges=False,
        )
def figure_S3b():
    nonneuronal_final = load_adata("nonneuronal")

    nonneuronal_violin_genes = [
        "Ascl1",
        "Pdgfra",
        "Fyn",
        "Mag",
        "Mobp",
        "Mal",
        "Tspan2",
        "Ptgds",
        "Hcn2",
        "Fth1",
        "Agt",
        "Aqp4",
        "Gfap",
        "Rax",
        "Ccdc153",
        "Mrc1",
        "Tmem119",
        "Cx3cr1",
        "Rgs5",
        "Acta2",
        "Fxyd5",
        "Slc47a1",
        "Col1a1",
        "Dcn",
        "Igfbp2",
        "Pecam1",
        "Slc38a5",
    ]

    marker_violins(
        nonneuronal_final,
        nonneuronal_violin_genes,
        "cluster_final",
        nonneuronal_palette,
        filename="figS3b_nonneuronal-marker-violins",
        figdir="figure_S03",
    )