In [1]:
import os
import sys
sys.path.append(os.path.abspath("/users/amtseng/tfmodisco/src/"))
from tfmodisco.run_tfmodisco import import_shap_scores, import_tfmodisco_results
from motif.read_motifs import pfm_info_content, pfm_to_pwm, trim_motif_by_ic
from motif.match_motifs import match_motifs_to_database
from util import figure_to_vdom_image
import plot.viz_sequence as viz_sequence
import numpy as np
import h5py
import matplotlib.pyplot as plt
import vdom.helpers as vdomh
from IPython.display import display

Define constants and paths

In [2]:
# Define parameters/fetch arguments
tf_name = os.environ["TFM_TF_NAME"]
shap_scores_path = os.environ["TFM_SHAP_PATH"]
tfm_results_path = os.environ["TFM_TFM_PATH"]
hyp_score_key = os.environ["TFM_HYP_SCORE_KEY"]
if "TFM_MOTIF_CACHE" in os.environ:
    tfm_motifs_cache_dir = os.environ["TFM_MOTIF_CACHE"]
else:
    tfm_motifs_cache_dir = None

print("TF name: %s" % tf_name)
print("DeepSHAP scores path: %s" % shap_scores_path)
print("TF-MoDISco results path: %s" % tfm_results_path)
print("Importance score key: %s" % hyp_score_key)
print("Saved TF-MoDISco-derived motifs cache: %s" % tfm_motifs_cache_dir)
TF name: JUND
DeepSHAP scores path: /users/amtseng/tfmodisco/results/importance_scores/multitask_profile/JUND_multitask_profile_fold6/JUND_multitask_profile_fold6_imp_scores.h5
TF-MoDISco results path: /users/amtseng/tfmodisco/results/tfmodisco/multitask_profile/JUND_multitask_profile_fold6/JUND_multitask_profile_fold6_profile_tfm.h5
Importance score key: profile_hyp_scores
Saved TF-MoDISco-derived motifs cache: /users/amtseng/tfmodisco/results/reports/tfmodisco_results//cache/multitask_profile/JUND_multitask_profile_fold6/JUND_multitask_profile_fold6_profile
In [3]:
# Define paths and constants
input_length = 2114
shap_score_center_size = 400
In [4]:
if tfm_motifs_cache_dir:
    os.makedirs(tfm_motifs_cache_dir, exist_ok=True)

Import SHAP scores and TF-MoDISco results

In [5]:
# Import SHAP coordinates and one-hot sequences
hyp_scores, _, one_hot_seqs, shap_coords = import_shap_scores(shap_scores_path, hyp_score_key, center_cut_size=shap_score_center_size)
# This cuts the sequences/scores off just as how TF-MoDISco saw them, but the coordinates are uncut
Importing SHAP scores: 100%|██████████| 350/350 [04:06<00:00,  1.42it/s]
In [6]:
# Import the TF-MoDISco results object
tfm_obj = import_tfmodisco_results(tfm_results_path, hyp_scores, one_hot_seqs, shap_score_center_size)

Plot some SHAP score tracks

Plot the central region of some randomly selected actual importance scores

In [7]:
plot_slice = slice(int(shap_score_center_size / 4), int(3 * shap_score_center_size / 4))
for index in np.random.choice(hyp_scores.shape[0], size=5, replace=False):
    viz_sequence.plot_weights((hyp_scores[index] * one_hot_seqs[index])[plot_slice], subticks_frequency=100)

Plot TF-MoDISco results

Plot all motifs by metacluster

In [8]:
motif_pfms, motif_hcwms, motif_cwms = [], [], []  # Save the trimmed PFMs, hCWMs, and CWMs
motif_pfms_short = []  # PFMs that are even more trimmed (for TOMTOM)
num_seqlets = []  # Number of seqlets for each motif
motif_seqlets = []  # Save seqlets of each motif
metaclusters = tfm_obj.metacluster_idx_to_submetacluster_results
num_metaclusters = len(metaclusters.keys())
if tfm_motifs_cache_dir:
    motif_hdf5 = h5py.File(os.path.join(tfm_motifs_cache_dir, "all_motifs.h5"), "w")
for metacluster_i, metacluster_key in enumerate(metaclusters.keys()):
    metacluster = metaclusters[metacluster_key]
    display(vdomh.h3("Metacluster %d/%d" % (metacluster_i + 1, num_metaclusters)))
    patterns = metacluster.seqlets_to_patterns_result.patterns
    if not patterns:
        break
    motif_pfms.append([])
    motif_hcwms.append([])
    motif_cwms.append([])
    motif_pfms_short.append([])
    num_seqlets.append([])
    motif_seqlets.append([])
    num_patterns = len(patterns)
    for pattern_i, pattern in enumerate(patterns):
        seqlets = pattern.seqlets
        display(vdomh.h4("Pattern %d/%d" % (pattern_i + 1, num_patterns)))
        display(vdomh.p("%d seqlets" % len(seqlets)))
        
        pfm = pattern["sequence"].fwd
        hcwm = pattern["task0_hypothetical_contribs"].fwd
        cwm = pattern["task0_contrib_scores"].fwd
        
        pfm_fig = viz_sequence.plot_weights(pfm, subticks_frequency=10, return_fig=True)
        hcwm_fig = viz_sequence.plot_weights(hcwm, subticks_frequency=10, return_fig=True)
        cwm_fig = viz_sequence.plot_weights(cwm, subticks_frequency=10, return_fig=True)
        pfm_fig.tight_layout()
        hcwm_fig.tight_layout()
        cwm_fig.tight_layout()
        
        motif_table = vdomh.table(
            vdomh.tr(
                vdomh.td("Sequence (PFM)"),
                vdomh.td(figure_to_vdom_image(pfm_fig))
            ),
            vdomh.tr(
                vdomh.td("Hypothetical contributions (hCWM)"),
                vdomh.td(figure_to_vdom_image(hcwm_fig))
            ),
            vdomh.tr(
                vdomh.td("Actual contributions (CWM)"),
                vdomh.td(figure_to_vdom_image(cwm_fig))
            )
        )
        display(motif_table)
        plt.close("all")  # Remove all standing figures
        
        # Trim motif based on information content
        short_trimmed_pfm = trim_motif_by_ic(pfm, pfm)
        motif_pfms_short[-1].append(short_trimmed_pfm)
        
        # Expand trimming to +/- 4bp on either side
        trimmed_pfm = trim_motif_by_ic(pfm, pfm, pad=4)
        trimmed_hcwm = trim_motif_by_ic(pfm, hcwm, pad=4)
        trimmed_cwm = trim_motif_by_ic(pfm, cwm, pad=4)
        
        motif_pfms[-1].append(trimmed_pfm)
        motif_hcwms[-1].append(trimmed_hcwm)
        motif_cwms[-1].append(trimmed_cwm)
        
        num_seqlets[-1].append(len(seqlets))
        
        if tfm_motifs_cache_dir:
            # Save results and figures
            motif_id = "%d_%d" % (metacluster_i, pattern_i)
            pfm_fig.savefig(os.path.join(tfm_motifs_cache_dir, motif_id + "_pfm_full.png"))
            hcwm_fig.savefig(os.path.join(tfm_motifs_cache_dir, motif_id + "_hcwm_full.png"))
            cwm_fig.savefig(os.path.join(tfm_motifs_cache_dir, motif_id + "_cwm_full.png"))
            motif_dset = motif_hdf5.create_group(motif_id)
            motif_dset.create_dataset("pfm_full", data=pfm, compression="gzip")
            motif_dset.create_dataset("hcwm_full", data=hcwm, compression="gzip")
            motif_dset.create_dataset("cwm_full", data=cwm, compression="gzip")
            motif_dset.create_dataset("pfm_trimmed", data=trimmed_pfm, compression="gzip")
            motif_dset.create_dataset("hcwm_trimmed", data=trimmed_hcwm, compression="gzip")
            motif_dset.create_dataset("cwm_trimmed", data=trimmed_cwm, compression="gzip")
            motif_dset.create_dataset("pfm_short_trimmed", data=short_trimmed_pfm, compression="gzip")
if tfm_motifs_cache_dir:
    motif_hdf5.close()

Metacluster 1/2

Pattern 1/13

6853 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 2/13

1571 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 3/13

947 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 4/13

623 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 5/13

542 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 6/13

347 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 7/13

295 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 8/13

224 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 9/13

126 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 10/13

58 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 11/13

58 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 12/13

53 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 13/13

41 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Metacluster 2/2

Pattern 1/19

175 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 2/19

129 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 3/19

107 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 4/19

93 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 5/19

93 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 6/19

85 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 7/19

80 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 8/19

76 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 9/19

71 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 10/19

70 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 11/19

66 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 12/19

50 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 13/19

42 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 14/19

39 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 15/19

39 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 16/19

37 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 17/19

34 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 18/19

34 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Pattern 19/19

31 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)

Summary of motifs

Motifs are trimmed based on information content, and presented in descending order by number of supporting seqlets. The motifs are separated by metacluster. The motifs are presented as hCWMs. The forward orientation is defined as the orientation that is richer in purines.

In [9]:
colgroup = vdomh.colgroup(
    vdomh.col(style={"width": "5%"}),
    vdomh.col(style={"width": "5%"}),
    vdomh.col(style={"width": "45%"}),
    vdomh.col(style={"width": "45%"})
)
header = vdomh.thead(
    vdomh.tr(
        vdomh.th("#", style={"text-align": "center"}),
        vdomh.th("Seqlets", style={"text-align": "center"}),
        vdomh.th("Forward", style={"text-align": "center"}),
        vdomh.th("Reverse", style={"text-align": "center"})
    )
)

for i in range(len(motif_hcwms)):
    display(vdomh.h3("Metacluster %d/%d" % (i + 1, num_metaclusters)))
    body = []
    for j in range(len(motif_hcwms[i])):
        motif = motif_hcwms[i][j]
        if np.sum(motif[:, [0, 2]]) > 0.5 * np.sum(motif):
            # Forward is purine-rich, reverse-complement is pyrimidine-rich
            f, rc = motif, np.flip(motif, axis=(0, 1))
        else:
            f, rc = np.flip(motif, axis=(0, 1)), motif
            
        f_fig = viz_sequence.plot_weights(f, figsize=(20, 4), return_fig=True)
        f_fig.tight_layout()
        rc_fig = viz_sequence.plot_weights(rc, figsize=(20, 4), return_fig=True)
        rc_fig.tight_layout()
        
        if tfm_motifs_cache_dir:
            # Save results and figures
            motif_id = "%d_%d" % (i, j)
            f_fig.savefig(os.path.join(tfm_motifs_cache_dir, motif_id + "_hcwm_trimmed_fwd.png"))
            rc_fig.savefig(os.path.join(tfm_motifs_cache_dir, motif_id + "_hcwm_trimmed_rev.png"))

        body.append(
            vdomh.tr(
                vdomh.td(str(j + 1)),
                vdomh.td(str(num_seqlets[i][j])),
                vdomh.td(figure_to_vdom_image(f_fig)),
                vdomh.td(figure_to_vdom_image(rc_fig))
            )
        )
    display(vdomh.table(colgroup, header, vdomh.tbody(*body)))
    plt.close("all")

Metacluster 1/2

/users/amtseng/tfmodisco/src/plot/viz_sequence.py:152: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
  fig = plt.figure(figsize=figsize)
#SeqletsForwardReverse
16853
21571
3947
4623
5542
6347
7295
8224
9126
1058
1158
1253
1341

Metacluster 2/2

#SeqletsForwardReverse
1175
2129
3107
493
593
685
780
876
971
1070
1166
1250
1342
1439
1539
1637
1734
1834
1931

Top TOMTOM matches for each motif

Here, the TF-MoDISco motifs are plotted as hCWMs, but the TOMTOM matches are shown as PWMs.

In [10]:
num_matches_to_keep = 10
num_matches_to_show = 5

header = vdomh.thead(
    vdomh.tr(
        vdomh.th("Motif ID", style={"text-align": "center"}),
        vdomh.th("q-val", style={"text-align": "center"}),
        vdomh.th("PWM", style={"text-align": "center"})
    )
)

for i in range(len(motif_pfms)):
    display(vdomh.h3("Metacluster %d/%d" % (i + 1, num_metaclusters)))
    
    # Compute TOMTOM matches for all motifs in the metacluster at once
    out_dir = os.path.join(tfm_motifs_cache_dir, "tomtom", "metacluster_%d" % i) if tfm_motifs_cache_dir else None
    tomtom_matches = match_motifs_to_database(motif_pfms_short[i], top_k=num_matches_to_keep, temp_dir=out_dir)
    
    for j in range(len(motif_pfms[i])):
        display(vdomh.h4("Motif %d/%d" % (j + 1, len(motif_pfms[i]))))
        viz_sequence.plot_weights(motif_hcwms[i][j])
    
        body = []
        for k, (match_name, match_pfm, match_qval) in enumerate(tomtom_matches[j]):
            fig = viz_sequence.plot_weights(pfm_to_pwm(match_pfm), return_fig=True)
            fig.tight_layout()
            if k < num_matches_to_show:
                body.append(
                    vdomh.tr(
                        vdomh.td(match_name),
                        vdomh.td(str(match_qval)),
                        vdomh.td(figure_to_vdom_image(fig))
                    )
                )
                if tfm_motifs_cache_dir:
                    # Save results and figures
                    motif_id = "%d_%d" % (i, j)
                    fig.savefig(os.path.join(out_dir, motif_id + ("_hit-%d.png" % (k + 1))))
            else:
                body.append(
                    vdomh.tr(
                        vdomh.td(match_name),
                        vdomh.td(str(match_qval)),
                        vdomh.td("Not shown")
                    )
                )
        if not body:
            display(vdomh.p("No TOMTOM matches passing threshold"))
        else:
            display(vdomh.table(header, vdomh.tbody(*body)))
        plt.close("all")

Metacluster 1/2

Motif 1/13

Motif IDq-valPWM
JUN_HUMAN.H11MO.0.A1.06418e-07
FOSL2_HUMAN.H11MO.0.A1.06418e-07
FOSB_HUMAN.H11MO.0.A1.52807e-07
FOSL1_HUMAN.H11MO.0.A4.58422e-07
JUND_HUMAN.H11MO.0.A1.12345e-06
MA1130.1_FOSL2::JUN1.2482799999999998e-06Not shown
MA0099.3_FOS::JUN1.54315e-06Not shown
MA1622.1_Smad2::Smad34.05076e-06Not shown
MA1128.1_FOSL1::JUN6.29673e-06Not shown
MA1141.1_FOS::JUND6.29673e-06Not shown

Motif 2/13

Motif IDq-valPWM
ATF2_HUMAN.H11MO.0.B2.16354e-06
MA1136.1_FOSB::JUNB(var.2)2.72008e-06
MA0605.2_ATF32.72008e-06
MA1475.1_CREB3L4(var.2)4.14105e-06
MA1129.1_FOSL1::JUN(var.2)4.94944e-06
MA1145.1_FOSL2::JUND(var.2)5.7974699999999996e-06Not shown
MA1139.1_FOSL2::JUNB(var.2)5.9643700000000005e-06Not shown
JDP2_HUMAN.H11MO.0.D7.03341e-06Not shown
MA1126.1_FOS::JUN(var.2)7.03341e-06Not shown
MA1131.1_FOSL2::JUN(var.2)7.03341e-06Not shown

Motif 3/13

Motif IDq-valPWM
MA1636.1_CEBPG(var.2)0.00104735
ATF4_HUMAN.H11MO.0.A0.00104735
MA0833.2_ATF40.00104735
BATF_HUMAN.H11MO.1.A0.00104735
CEBPG_HUMAN.H11MO.0.B0.00149418
DDIT3_HUMAN.H11MO.0.D0.00204942Not shown
MA0466.2_CEBPB0.00225558Not shown
MA0837.1_CEBPE0.00225558Not shown
MA1143.1_FOSL1::JUND(var.2)0.00225558Not shown
CEBPD_HUMAN.H11MO.0.C0.00236459Not shown

Motif 4/13

Motif IDq-valPWM
MA0638.1_CREB30.193995
MA0844.1_XBP10.193995
CREB3_HUMAN.H11MO.0.D0.22075300000000003
MA1466.1_ATF60.22075300000000003
ZFP28_HUMAN.H11MO.0.C0.22075300000000003
MA0839.1_CREB3L10.22075300000000003Not shown
CR3L1_HUMAN.H11MO.0.D0.22075300000000003Not shown
CR3L2_HUMAN.H11MO.0.D0.22075300000000003Not shown
MA1474.1_CREB3L40.22204400000000002Not shown
MA0657.1_KLF130.371023Not shown

Motif 5/13

Motif IDq-valPWM
E2F4_HUMAN.H11MO.0.A0.0420453
E2F1_HUMAN.H11MO.0.A0.0420453
MA0471.2_E2F60.0420453
ZN219_HUMAN.H11MO.0.D0.0479098
TFDP1_HUMAN.H11MO.0.C0.0479098
MA1513.1_KLF150.106394Not shown
MA0528.2_ZNF2630.11335999999999999Not shown
GABPA_HUMAN.H11MO.0.A0.11335999999999999Not shown
SP2_HUMAN.H11MO.1.B0.12454100000000001Not shown
MA1102.2_CTCFL0.124715Not shown

Motif 6/13

Motif IDq-valPWM
CTCF_HUMAN.H11MO.0.A3.69285e-12
MA0139.1_CTCF2.3428999999999997e-10
CTCFL_HUMAN.H11MO.0.A3.9340900000000004e-09
MA1102.2_CTCFL1.27697e-05
SNAI1_HUMAN.H11MO.0.C0.100904
MA1568.1_TCF21(var.2)0.177807Not shown
MA1648.1_TCF12(var.2)0.177807Not shown
MA1628.1_Zic1::Zic20.177807Not shown
MA0155.1_INSM10.19933Not shown
MA1638.1_HAND20.201311Not shown

Motif 7/13

Motif IDq-valPWM
FOSL1_HUMAN.H11MO.0.A0.058496400000000004
FOSB_HUMAN.H11MO.0.A0.058496400000000004
FOS_HUMAN.H11MO.0.A0.058496400000000004
FOSL2_HUMAN.H11MO.0.A0.0673145
MA1141.1_FOS::JUND0.142807
MA1138.1_FOSL2::JUNB0.142807Not shown
MA1135.1_FOSB::JUNB0.142807Not shown
MA1144.1_FOSL2::JUND0.142807Not shown
MA0099.3_FOS::JUN0.142807Not shown
JUNB_HUMAN.H11MO.0.A0.142807Not shown

Motif 8/13

Motif IDq-valPWM
CTCF_HUMAN.H11MO.0.A0.00217277
MA0139.1_CTCF0.00217277
CTCFL_HUMAN.H11MO.0.A0.00369053
MA1102.2_CTCFL0.010875
MA0830.2_TCF40.11813199999999999
MA0640.2_ELF30.144835Not shown
EHF_HUMAN.H11MO.0.B0.144835Not shown
BHA15_HUMAN.H11MO.0.B0.205933Not shown
MA0750.2_ZBTB7A0.24953499999999998Not shown
MA1648.1_TCF12(var.2)0.24953499999999998Not shown

Motif 9/13

Motif IDq-valPWM
ZN257_HUMAN.H11MO.0.C0.396179
DDIT3_HUMAN.H11MO.0.D0.396179
MA0833.2_ATF40.396179
ATF4_HUMAN.H11MO.0.A0.396179
CEBPG_HUMAN.H11MO.0.B0.396179
DBP_HUMAN.H11MO.0.B0.396179Not shown
SCRT2_HUMAN.H11MO.0.D0.396179Not shown
MA0744.2_SCRT20.396179Not shown
FOXA2_HUMAN.H11MO.0.A0.396179Not shown
MA0043.3_HLF0.396179Not shown

Motif 10/13

Motif IDq-valPWM
ZN341_HUMAN.H11MO.0.C0.00969411
ZN263_HUMAN.H11MO.1.A0.00969411
PLAG1_HUMAN.H11MO.0.D0.0448195
MAZ_HUMAN.H11MO.0.A0.0629075
MA0528.2_ZNF2630.0629075
SP1_HUMAN.H11MO.0.A0.0629075Not shown
ZSC22_HUMAN.H11MO.0.C0.0653906Not shown
SP2_HUMAN.H11MO.0.A0.0658395Not shown
ZBT17_HUMAN.H11MO.0.A0.0658395Not shown
ZFX_HUMAN.H11MO.1.A0.0658395Not shown

Motif 11/13

Motif IDq-valPWM
CPEB1_HUMAN.H11MO.0.D5.1834300000000006e-05
MA1125.1_ZNF3840.00625634
FOXL1_HUMAN.H11MO.0.D0.00732192
PRDM6_HUMAN.H11MO.0.C0.0164769
FOXJ3_HUMAN.H11MO.0.A0.0164769
FOXG1_HUMAN.H11MO.0.D0.018436599999999997Not shown
HXC10_HUMAN.H11MO.0.D0.034748400000000006Not shown
MA0679.2_ONECUT10.05143880000000001Not shown
FUBP1_HUMAN.H11MO.0.D0.05143880000000001Not shown
FOXJ3_HUMAN.H11MO.1.B0.05288060000000001Not shown

Motif 12/13

Motif IDq-valPWM
FOXM1_HUMAN.H11MO.0.A0.00268724
FOXA2_HUMAN.H11MO.0.A0.00268724
FOXA1_HUMAN.H11MO.0.A0.0102381
MA0847.2_FOXD20.0191736
MA1487.1_FOXE10.0255365
FOXB1_HUMAN.H11MO.0.D0.0422485Not shown
FOXF2_HUMAN.H11MO.0.D0.0422485Not shown
FOXC1_HUMAN.H11MO.0.C0.049882Not shown
MA0846.1_FOXC20.071388Not shown
MA0041.1_Foxd30.071388Not shown

Motif 13/13

Motif IDq-valPWM
PO4F3_HUMAN.H11MO.0.D0.0934799
NFE2_HUMAN.H11MO.0.A0.0934799
MA0683.1_POU4F20.0934799
MA0841.1_NFE20.0934799
PDX1_HUMAN.H11MO.0.A0.0934799
MA1101.2_BACH20.0934799Not shown
MA0791.1_POU4F30.09386950000000001Not shown
PO4F1_HUMAN.H11MO.0.D0.12106900000000001Not shown
MA1128.1_FOSL1::JUN0.12106900000000001Not shown
MA0477.2_FOSL10.12106900000000001Not shown

Metacluster 2/2

Motif 1/19

Motif IDq-valPWM
MA0489.1_JUN(var.2)0.000347935
MA0476.1_FOS0.000425384
MA0655.1_JDP20.000425384
MA1138.1_FOSL2::JUNB0.000425384
MAFG_HUMAN.H11MO.0.A0.000425384
MA1101.2_BACH20.000425384Not shown
MA0478.1_FOSL20.000425384Not shown
MA1134.1_FOS::JUNB0.00044665300000000003Not shown
MA1144.1_FOSL2::JUND0.000465949Not shown
MA1135.1_FOSB::JUNB0.000465949Not shown

Motif 2/19

Motif IDq-valPWM
ZSCA4_HUMAN.H11MO.0.D0.150502
MA1155.1_ZSCAN40.309688
GLI2_HUMAN.H11MO.0.D0.377607
KLF8_HUMAN.H11MO.0.C0.377607
MA1491.1_GLI30.377607
MA0734.2_GLI20.377607Not shown
MA1107.2_KLF90.486346Not shown

Motif 3/19

No TOMTOM matches passing threshold

Motif 4/19

No TOMTOM matches passing threshold

Motif 5/19

No TOMTOM matches passing threshold

Motif 6/19

No TOMTOM matches passing threshold

Motif 7/19

No TOMTOM matches passing threshold

Motif 8/19

No TOMTOM matches passing threshold

Motif 9/19

Motif IDq-valPWM
SP1_HUMAN.H11MO.0.A2.7308000000000003e-05
SP2_HUMAN.H11MO.0.A0.000533563
SP3_HUMAN.H11MO.0.B0.00170932
MA0146.2_Zfx0.00215259
MA1513.1_KLF150.00384443
SP1_HUMAN.H11MO.1.A0.00430425Not shown
KLF16_HUMAN.H11MO.0.D0.00626456Not shown
KLF1_HUMAN.H11MO.0.A0.00626456Not shown
ZFX_HUMAN.H11MO.1.A0.016605900000000003Not shown
KLF3_HUMAN.H11MO.0.B0.018648400000000002Not shown

Motif 10/19

No TOMTOM matches passing threshold

Motif 11/19

No TOMTOM matches passing threshold

Motif 12/19

No TOMTOM matches passing threshold

Motif 13/19

Motif IDq-valPWM
MA1134.1_FOS::JUNB0.0009287360000000001
MA0591.1_Bach1::Mafk0.0009287360000000001
MA1141.1_FOS::JUND0.0009287360000000001
MA1144.1_FOSL2::JUND0.0009287360000000001
MA1138.1_FOSL2::JUNB0.0009287360000000001
MA0099.3_FOS::JUN0.0009287360000000001Not shown
MA1135.1_FOSB::JUNB0.0009287360000000001Not shown
MA1622.1_Smad2::Smad30.0009287360000000001Not shown
MA1132.1_JUN::JUNB0.00113465Not shown
MA0478.1_FOSL20.00138148Not shown

Motif 14/19

Motif IDq-valPWM
BHA15_HUMAN.H11MO.0.B0.00585973
OSR2_HUMAN.H11MO.0.C0.032913099999999994
ASCL2_HUMAN.H11MO.0.D0.0684015
ASCL1_HUMAN.H11MO.0.A0.0684015
PTF1A_HUMAN.H11MO.1.B0.0684015
HEN1_HUMAN.H11MO.0.C0.0684015Not shown
MA0500.2_MYOG0.0684015Not shown
MA1529.1_NHLH20.0773527Not shown
MYOD1_HUMAN.H11MO.0.A0.0773527Not shown
MYOD1_HUMAN.H11MO.1.A0.09181289999999999Not shown

Motif 15/19

No TOMTOM matches passing threshold

Motif 16/19

Motif IDq-valPWM
TFE2_HUMAN.H11MO.0.A0.12170299999999999
MA1100.2_ASCL10.140284
ASCL1_HUMAN.H11MO.0.A0.140284
MA0816.1_Ascl20.140284
MA0500.2_MYOG0.140284
MA0048.2_NHLH10.140284Not shown
MYF6_HUMAN.H11MO.0.C0.140284Not shown
MYOD1_HUMAN.H11MO.1.A0.140284Not shown
MYOD1_HUMAN.H11MO.0.A0.140284Not shown
MA0521.1_Tcf120.140284Not shown

Motif 17/19

Motif IDq-valPWM
SP1_HUMAN.H11MO.1.A0.104324
MA1583.1_ZFP570.104324
ZN563_HUMAN.H11MO.1.C0.104324
MYOD1_HUMAN.H11MO.0.A0.287057
ZN335_HUMAN.H11MO.0.A0.287057
SP1_HUMAN.H11MO.0.A0.287057Not shown
MA1513.1_KLF150.319874Not shown
SP2_HUMAN.H11MO.0.A0.319874Not shown
SP3_HUMAN.H11MO.0.B0.319874Not shown
ARNT_HUMAN.H11MO.0.B0.319874Not shown

Motif 18/19

No TOMTOM matches passing threshold

Motif 19/19

Motif IDq-valPWM
SP1_HUMAN.H11MO.0.A0.000754589
SP2_HUMAN.H11MO.0.A0.000754589
SP3_HUMAN.H11MO.0.B0.00498427
KLF3_HUMAN.H11MO.0.B0.010527
AP2B_HUMAN.H11MO.0.B0.0168836
PATZ1_HUMAN.H11MO.0.C0.018706900000000002Not shown
KLF1_HUMAN.H11MO.0.A0.0188982Not shown
MA1513.1_KLF150.0188982Not shown
KLF16_HUMAN.H11MO.0.D0.0188982Not shown
KLF6_HUMAN.H11MO.0.A0.0228398Not shown