Skip to content

Latest commit

 

History

History
137 lines (125 loc) · 4.35 KB

File metadata and controls

137 lines (125 loc) · 4.35 KB
flowchart TD
    %% ===== STAGE 0: Format & Normalize =====
    subgraph S0["0. Format & Normalize"]
        direction TB
        S0_00["0.0_optional_format_counts_file.ipynb"]
        S0_01["0.1_Remove_covariates_keepbmiadiposcore.R"]
        S0_02["0.2_create_peak_file.ipynb"]
        S0_AGG[("Normalized BED + peaks")]
        S0_00 --> S0_01 --> S0_02 --> S0_AGG
    end

    %% ===== STAGE 1: Call CMs =====
    subgraph S1["1. Call CMs"]
        direction TB
        subgraph S1_PHM["PHM"]
            S1_P0["1.0_phm_data_preparation.ipynb"]
            S1_P1["1.1_run_phm.sh"]
            S1_P0 --> S1_P1
        end
        subgraph S1_CLO["Clomics"]
            S1_C1["1.1_run_clomics.sh"]
        end
        subgraph S1_VCM["VCMtools"]
            S1_V1["1.1_run_vcmtools.sh"]
        end
        S1_AGG[("CM outputs<br/>(all methods)")]
        S1_P1 --> S1_AGG
        S1_C1 --> S1_AGG
        S1_V1 --> S1_AGG
    end

    S0_AGG --> S1_P0
    S0_AGG --> S1_C1
    S0_AGG --> S1_V1

    %% ===== STAGE 2: Compare CMs =====
    subgraph S2["2. Compare CMs"]
        direction TB
        subgraph S2_ORIG["scripts/original"]
            S2_O1["2.0.1_prepare_cm_annotation_files_per_method.ipynb"]
            S2_O2["2.0.2_get_peak_overlaps_per_method.ipynb"]
            S2_O3["2.0.3_compare_methods_per_cell_type_test_data.sh"]
            S2_O4["2.1_nCMs_lengths_sizes_by_timepoint.py"]
            S2_O5["2.2_get_CM_similarities_across_methods_heatmap_venn_upset.ipynb"]
            S2_O1 --> S2_O2 --> S2_O3
            S2_O3 --> S2_O4
            S2_O3 --> S2_O5
        end
        subgraph S2_MOD["scripts/bulk_vs_sc"]
            S2_M1["2.0.1_prepare_cm_annotation_files_per_modality.ipynb"]
            S2_M2["2.0.2_get_peak_overlaps_per_modality.ipynb"]
            S2_M3["2.0.3_compare_modalities_per_method.sh"]
            S2_M4["2.1_nCMs_lengths_sizes_by_modality.py"]
            S2_M5["2.2_get_CM_similarities_across_modalities_heatmap_venn_upset.ipynb"]
            S2_M1 --> S2_M2 --> S2_M3
            S2_M3 --> S2_M4
            S2_M3 --> S2_M5
        end
        S2_AGG[("Comparison stats")]
        S2_O4 --> S2_AGG
        S2_O5 --> S2_AGG
        S2_M4 --> S2_AGG
        S2_M5 --> S2_AGG
    end

    S1_AGG --> S2_O1
    S1_AGG --> S2_M1

    %% ===== STAGE 3: Compute aCMs =====
    subgraph S3["3. Compute aCMs"]
        direction TB
        S3_C["3.1_get_aCM_scores_clomics.sh"]
        S3_P["3.1_get_aCM_scores_phm.sh"]
        S3_V["3.1_get_aCM_scores_vcmtools.sh"]
        S3_AGG1[("Raw aCM scores<br/>(all methods)")]
        S3_SIGN["3.2_correct_signs_aCM_scores.ipynb"]
        S3_AGG2[("Corrected aCM + cmQTLs")]
        S3_C --> S3_AGG1
        S3_P --> S3_AGG1
        S3_V --> S3_AGG1
        S3_AGG1 --> S3_SIGN --> S3_AGG2
    end

    S1_AGG --> S3_C
    S1_AGG --> S3_P
    S1_AGG --> S3_V

    %% ===== STAGE 4: Visualize =====
    subgraph S4["4. Visualize CMs & ..."]
        direction TB
        subgraph S4_LOOP["Per-ROI Execution"]
            S4_ROI{{"ROI<br/>(region of interest)"}}
            S4_0["4.0_calculate_peak_corr.sh"]
            S4_ROI --> S4_0
        end
        S4_CORR_AGG[("Peak corr matrices<br/>(per ROI × modality/method)")]
        S4_0 --> S4_CORR_AGG
        subgraph S4_VIZ["Visualization Scripts"]
            S4_1["4.1_visualize_peak_based_correlations_for_target_regions.ipynb"]
            subgraph S4_TRACKS["Track Viz (parallel)"]
                S4_2M["4.2_visualize_CM_tracks_across_methods.ipynb"]
                S4_2D["4.2_visualize_CM_tracks_across_modalities.ipynb"]
            end
        end
        S4_CORR_AGG --> S4_1
        S4_CORR_AGG --> S4_2M
        S4_CORR_AGG --> S4_2D
        S4_PLOTS[("Visualizations")]
        S4_1 --> S4_PLOTS
        S4_2M --> S4_PLOTS
        S4_2D --> S4_PLOTS
    end

    S0_AGG --> S4_ROI
    S1_AGG --> S4_0

    %% ===== STAGE 5: cmQTL Analysis =====
    subgraph S5["5. aCM & cmQTL Analysis"]
        direction TB
        S5_1["5.1_compare_QTLs_per_method.ipynb"]
        S5_2["5.2_cmQTLs_analysis.ipynb"]
        S5_OUT[("cmQTL Results")]
        S5_1 --> S5_2 --> S5_OUT
    end

    S3_AGG2 --> S5_1
    S4_PLOTS -.-> S5_2

    %% ===== Final Outputs =====
    S2_AGG --> OUT1[["CM Comparison<br/>Stats & Plots"]]
    S5_OUT --> OUT2[["cmQTL Annotations"]]
    S4_PLOTS --> OUT3[["Track & Corr<br/>Visualizations"]]

    %% Dotted auxiliary edges
    linkStyle 38 stroke-dasharray: 5 5
Loading