In [1]:
# Filepaths and Hard-coded Defaults

proj_root = "/users/kcochran/projects/procap_models/"
sequence_path = proj_root + "genomes/GRCh38_no_alt_analysis_set_GCA_000001405.15.fasta"
chrom_sizes = proj_root + "genomes/hg38.chrom.sizes.withrRNA"

in_window = 2114
out_window = 1000
In [2]:
# stuff to get from config file

with open("2022-07-02_16-51-15_run1_modisco_config_A673_profile.txt") as config_f:
    config_dict = {line.split()[0] : line.strip().split()[1] for line in config_f}

modisco_out_path = config_dict["modisco_out_path"]
scoring_type = config_dict["scoring_type"]
score_center_size = int(config_dict["score_center_size"])
profile_display_center_size = int(config_dict["profile_display_center_size"])

# digest what's in config file

assay_type, model_type, cell, accession, modisco_dir_base = modisco_out_path.split("/")[-5:]
ts_part1, ts_part2, run_str, _ = modisco_dir_base.split("_")
timestamp = ts_part1 + "_" + ts_part2
run = int(run_str.replace("run", ""))
In [3]:
print(modisco_out_path)
print("cell_type:", cell, accession)
print("timestamp:", timestamp)
print("run:", run)
print("scoring_type:", scoring_type)
print("score_center_size:", score_center_size)
print("profile_display_center_size:", profile_display_center_size)
/users/kcochran//projects/procap_models/modisco_out/procap/bpnetlite_basic_v2/A673/ENCSR046BCI/2022-07-02_16-51-15_run1_modisco
cell_type: A673 ENCSR046BCI
timestamp: 2022-07-02_16-51-15
run: 1
scoring_type: profile
score_center_size: 1000
profile_display_center_size: 400
In [4]:
data_dir = proj_root + "/data/procap/processed/" + cell + "/" + accession + "/"
plus_bw_path = data_dir + "final.5prime.pos.bigWig"
minus_bw_path = data_dir + "final.5prime.neg.bigWig"
val_peak_path = data_dir + "peaks_uni_and_bi_train_and_val.bed.gz"

val_save_dir = proj_root + "model_out/" + assay_type + "/" + model_type + "/" + cell + "/" + accession + "/"
val_save_path = val_save_dir + timestamp + "_run" + str(run) + "_train_and_val"

attr_save_path = val_save_dir.replace("model_out", "deepshap_out") + timestamp + "_run" + str(run) + "_deepshap"

if not modisco_out_path.endswith("/"):
    modisco_out_path = modisco_out_path + "/"
In [5]:
# task-specific filepaths

import os

assert scoring_type in ["profile", "counts"], scoring_type

if scoring_type == "profile":
    scores_path = attr_save_path + "_prof.npy"
    onehot_scores_path = attr_save_path + "_prof_onehot.npy"
    modisco_obj_path = modisco_out_path + "results_allChroms_prof_slice" + str(score_center_size) + ".hdf5"
    seqlet_path = modisco_out_path + "seqlets_prof.txt"
else:
    scores_path = attr_save_path + "_count.npy"
    onehot_scores_path = attr_save_path + "_count_onehot.npy"
    modisco_obj_path = modisco_out_path + "results_allChroms_count_slice" + str(score_center_size) + ".hdf5"
    seqlet_path = modisco_out_path + "seqlets_count.txt"
    
assert(os.path.exists(scores_path)), scores_path
assert(os.path.exists(onehot_scores_path)), onehot_scores_path
In [6]:
# Imports, Plotting Defaults

import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager

plot_params = {
    "figure.titlesize": 22,
    "axes.titlesize": 22,
    "axes.labelsize": 20,
    "legend.fontsize": 18,
    "xtick.labelsize": 16,
    "ytick.labelsize": 16,
    "font.weight": "bold"
}
plt.rcParams.update(plot_params)

from IPython.display import display
import tqdm
tqdm.tqdm_notebook()

import numpy as np

from view_modisco_results_utils import *
/users/kcochran/miniconda3/envs/procap/lib/python3.7/site-packages/ipykernel_launcher.py:19: TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0
Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`
In [7]:
# Load in True Profiles and Sequences

import sys
sys.path.append('../1_train_models')

from data_loading import extract_peaks

one_hot_seqs, true_profs = extract_peaks(sequence_path, 
    plus_bw_path, minus_bw_path, val_peak_path, in_window, out_window,
    max_jitter=0, verbose=True)

one_hot_seqs = one_hot_seqs.swapaxes(1,2)
one_hot_seqs = one_hot_seqs[:, (in_window // 2 - score_center_size // 2):(in_window // 2 + score_center_size // 2), :]
Reading FASTA: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:18<00:00,  1.31it/s]
Loading Peaks: 44667it [01:16, 581.35it/s]
In [8]:
# Load in Coordinates of Examples
    
coords = load_coords(val_peak_path, in_window)
In [9]:
# Import SHAP scores, predicted profiles

hyp_scores = np.load(scores_path).swapaxes(1,2)
hyp_scores = hyp_scores[:, (in_window // 2 - score_center_size // 2):(in_window // 2 + score_center_size // 2), :]
pred_profs = np.exp(np.load(val_save_path + ".profs.npy"))
In [10]:
# Load modisco results object
    
tfm_obj = import_tfmodisco_results(modisco_obj_path, hyp_scores, one_hot_seqs)
In [11]:
motif_pfms, motif_hcwms, motif_cwms, \
    motif_pfms_short, num_seqlets, \
    motif_seqlets, num_metaclusters = plot_all_metaclusters(tfm_obj, one_hot_seqs, hyp_scores,
                                                            true_profs, pred_profs, coords,
                                                            in_window, out_window,
                                                            score_center_size,
                                                            profile_display_center_size)

Metacluster 1/1

Pattern 1/39

18595 seqlets

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

Pattern 2/39

8050 seqlets

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

Pattern 3/39

4297 seqlets

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

Pattern 4/39

4008 seqlets

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

Pattern 5/39

3640 seqlets

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

Pattern 6/39

2803 seqlets

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

Pattern 7/39

2737 seqlets

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

Pattern 8/39

2614 seqlets

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

Pattern 9/39

2352 seqlets

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

Pattern 10/39

2108 seqlets

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

Pattern 11/39

1728 seqlets

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

Pattern 12/39

1343 seqlets

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

Pattern 13/39

1135 seqlets

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

Pattern 14/39

1082 seqlets

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

Pattern 15/39

1004 seqlets

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

Pattern 16/39

828 seqlets

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

Pattern 17/39

707 seqlets

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

Pattern 18/39

691 seqlets

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

Pattern 19/39

672 seqlets

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

Pattern 20/39

623 seqlets

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

Pattern 21/39

571 seqlets

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

Pattern 22/39

561 seqlets

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

Pattern 23/39

489 seqlets

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

Pattern 24/39

462 seqlets

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

Pattern 25/39

133 seqlets

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

Pattern 26/39

112 seqlets

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

Pattern 27/39

92 seqlets

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

Pattern 28/39

92 seqlets

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

Pattern 29/39

76 seqlets

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

Pattern 30/39

61 seqlets

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

Pattern 31/39

49 seqlets

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

Pattern 32/39

45 seqlets

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

Pattern 33/39

42 seqlets

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

Pattern 34/39

30 seqlets

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

Pattern 35/39

25 seqlets

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

Pattern 36/39

24 seqlets

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

Pattern 37/39

22 seqlets

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

Pattern 38/39

21 seqlets

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

Pattern 39/39

20 seqlets

Sequence (PFM)
Hypothetical contributions (hCWM)
Actual contributions (CWM)
In [12]:
run_and_plot_tomtom(modisco_out_path, motif_pfms, motif_hcwms, motif_pfms_short, num_metaclusters)

Metacluster 1/1

The output directory '/users/kcochran//projects/procap_models/modisco_out/procap/bpnetlite_basic_v2/A673/ENCSR046BCI/2022-07-02_16-51-15_run1_modisco/tomtom' already exists.
Its contents will be overwritten.
Processing query 1 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 2 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 3 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.973436
Processing query 4 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 5 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.984472
Processing query 6 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.9613
Processing query 7 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 8 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.959039
Processing query 9 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.958135
Processing query 10 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.951707
Processing query 11 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.995125
Processing query 12 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 13 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.984472
Processing query 14 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.976018
Processing query 15 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.967175
Processing query 16 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 17 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.983959
Processing query 18 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.994235
Processing query 19 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.990834
Processing query 20 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.989186
Processing query 21 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 22 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 23 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 24 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.964623
Processing query 25 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.983506
Processing query 26 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.999887
Processing query 27 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.985266
Processing query 28 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 29 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 30 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.962674
Processing query 31 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.957999
Processing query 32 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 33 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 34 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 35 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.977891
Processing query 36 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 37 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=1
Processing query 38 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.976301
Processing query 39 out of 39 
Estimating pi_0 from all 3912 observed p-values.
Estimating pi_0.
Estimated pi_0=0.998859
Can't locate HtmlMonolithWr.pm:   /root/lib/perl/HtmlMonolithWr.pm: Permission denied at /software/meme/4.11.2/bin/tomtom_xml_to_html line 48.
Warning: tomtom_xml_to_html exited abnormally and may have failed to create HTML output.

Motif 1/39

No TOMTOM matches passing threshold

Motif 2/39

No TOMTOM matches passing threshold

Motif 3/39

Motif IDq-valPWM
MA0742.2-KLF120.000252255
MA0741.1-KLF160.000252255
MA0516.3-SP20.000252255
MA0685.2-SP40.000252255
MA0740.2-KLF140.000252255

Motif 4/39

Motif IDq-valPWM
MA0060.3-NFYA2.51299e-05
MA1644.1-NFYC2.64446e-05
MA0316.1-HAP54.90769e-05
MA0314.2-HAP35.59358e-05
MA0502.2-NFYB0.0522209

Motif 5/39

Motif IDq-valPWM
MA0076.2-ELK44.44668e-07
MA0764.3-ETV41.09452e-05
MA0026.1-Eip74EF1.09452e-05
MA0759.2-ELK31.33697e-05
MA0916.1-Ets21C1.33697e-05

Motif 6/39

Motif IDq-valPWM
MA1262.1-ERF21.81657e-08
MA1833.1-Zm00001d0493641.81657e-08
MA1239.1-ERF1041.81657e-08
MA1257.1-ERF91.81657e-08
MA2022.1-LOB3.06319e-08

Motif 7/39

No TOMTOM matches passing threshold

Motif 8/39

Motif IDq-valPWM
MA1475.1-CREB3L40.000831646
MA1438.1-atf-70.00206474
MA0609.2-CREM0.00212293
MA1346.1-TGA100.00214058
MA1348.1-TGA90.00214058

Motif 9/39

Motif IDq-valPWM
MA0975.1-CRF24.61962e-05
MA1832.1-Zm00001d0023644.61962e-05
MA1821.1-Zm00001d0205955.25831e-05
MA1818.1-Zm00001d0522290.000120409
MA1819.1-Zm00001d0058920.000128627

Motif 10/39

Motif IDq-valPWM
MA1833.1-Zm00001d0493641.70031e-09
MA1832.1-Zm00001d0023642.55945e-08
MA1821.1-Zm00001d0205952.55945e-08
MA1820.1-Zm00001d0243241.19751e-07
MA1817.1-Zm00001d0202671.34795e-07

Motif 11/39

Motif IDq-valPWM
MA0506.2-Nrf10.000113552
MA1816.1-O110.186743
MA1826.1-bHLH1450.186743
MA1412.1-TSAR20.194313
MA0162.4-EGR10.258007

Motif 12/39

No TOMTOM matches passing threshold

Motif 13/39

Motif IDq-valPWM
MA1988.1-Atf32.2491e-06
MA1138.1-FOSL2::JUNB3.52897e-05
MA1135.1-FOSB::JUNB3.52897e-05
MA0478.1-FOSL23.52897e-05
MA0462.2-BATF::JUN3.52897e-05

Motif 14/39

Motif IDq-valPWM
MA1513.1-KLF150.00711036
MA0742.2-KLF120.0134497
MA1511.2-KLF100.0134497
MA1818.1-Zm00001d0522290.0134497
MA0079.5-SP10.0134497

Motif 15/39

Motif IDq-valPWM
MA0975.1-CRF27.05631e-05
MA1817.1-Zm00001d0202677.05631e-05
MA1833.1-Zm00001d0493648.0821e-05
MA0748.2-YY28.0821e-05
MA1819.1-Zm00001d0058928.78028e-05

Motif 16/39

No TOMTOM matches passing threshold

Motif 17/39

Motif IDq-valPWM
MA1890.1-Klf153.52067e-07
MA1893.1-Klf6-7-like9.99741e-06
MA1892.1-Klf5-like1.02813e-05
MA1513.1-KLF150.000407421
MA1961.1-PATZ10.000483413

Motif 18/39

Motif IDq-valPWM
MA0139.1-CTCF2.7991e-10
MA1929.1-CTCF2.7991e-10
MA1930.1-CTCF4.5977e-09
MA1102.2-CTCFL1.32631e-05
MA0531.1-CTCF4.6824e-05

Motif 19/39

Motif IDq-valPWM
MA1109.1-NEUROD10.423686
MA0373.1-RPN40.423686
MA1467.2-Atoh10.423686
MA0813.1-TFAP2B0.423686
MA1257.1-ERF90.423686

Motif 20/39

Motif IDq-valPWM
MA0833.2-ATF43.15106e-06
MA1636.1-CEBPG0.000123352
MA0488.1-JUN0.0310915
MA0025.2-NFIL30.0310915
MA1702.1-Pdp10.0310915

Motif 21/39

Motif IDq-valPWM
MA0080.6-Spi10.456298
MA1823.1-Zm00001d0278460.456298
MA0452.2-Kr0.456298
MA0277.1-AZF10.456298
MA0687.1-SPIC0.494966

Motif 22/39

Motif IDq-valPWM
MA1573.2-Thap116.62891e-09
MA0088.2-ZNF1430.0640494
MA1716.1-ZNF760.0666309

Motif 23/39

Motif IDq-valPWM
MA0527.1-ZBTB330.000340075

Motif 24/39

Motif IDq-valPWM
MA1833.1-Zm00001d0493640.000246672
MA1820.1-Zm00001d0243240.000246672
MA1817.1-Zm00001d0202670.000246672
MA1961.1-PATZ10.000246672
MA1713.1-ZNF6100.000246672

Motif 25/39

Motif IDq-valPWM
MA1723.1-PRDM90.00101382
MA0528.2-ZNF2630.0280506
MA1240.1-ERF100.0291076
MA1945.1-ETV5::FIGLA0.0370855
MA1403.1-BPC50.0370855

Motif 26/39

Motif IDq-valPWM
MA0088.2-ZNF1430.00189837
MA1716.1-ZNF760.00189837
MA1573.2-Thap110.00265745
MA0519.1-Stat5a::Stat5b0.0833267
MA1116.1-RBPJ0.220687

Motif 27/39

Motif IDq-valPWM
MA1266.1-RAP2-110.49816
MA1671.1-ERF1180.49816
MA1132.1-JUN::JUNB0.49816
MA1976.1-ZNF3200.49816
MA1222.1-ERF0140.49816

Motif 28/39

Motif IDq-valPWM
MA0332.1-MET280.110508

Motif 29/39

No TOMTOM matches passing threshold

Motif 30/39

Motif IDq-valPWM
MA0506.2-Nrf10.000217505
MA1880.1-Hey0.00303091
MA1833.1-Zm00001d0493640.0115421
MA1826.1-bHLH1450.0449299
MA1817.1-Zm00001d0202670.0852408

Motif 31/39

Motif IDq-valPWM
MA1833.1-Zm00001d0493640.000109697
MA1817.1-Zm00001d0202670.000383482
MA1819.1-Zm00001d0058920.000504604
MA1832.1-Zm00001d0023640.000566964
MA1821.1-Zm00001d0205950.000566964

Motif 32/39

No TOMTOM matches passing threshold

Motif 33/39

No TOMTOM matches passing threshold

Motif 34/39

Motif IDq-valPWM
MA1573.2-Thap113.16775e-07

Motif 35/39

Motif IDq-valPWM
MA1713.1-ZNF6100.00749135
MA1513.1-KLF150.172566
MA1522.1-MAZ0.172566
MA1430.1-TB10.172566
MA1820.1-Zm00001d0243240.172566

Motif 36/39

No TOMTOM matches passing threshold

Motif 37/39

No TOMTOM matches passing threshold

Motif 38/39

Motif IDq-valPWM
MA1716.1-ZNF760.00748542
MA1513.1-KLF150.0283549
MA1687.1-ARF140.0283549
MA1961.1-PATZ10.0283549
MA1899.1-Mitf0.0669486

Motif 39/39

Motif IDq-valPWM
MA1716.1-ZNF760.156527
MA1687.1-ARF140.156527
MA1673.1-LBD180.156527
MA1573.2-Thap110.156527
MA1285.1-TCP90.341251