import stablemotifs
import biolqm
from colomoto_jupyter import tabulate
This notebook has been executed using the docker image colomoto/colomoto-docker:2020-07-01
model = biolqm.load("MyeloidRules.txt", "booleannet")
%time stm = stablemotifs.load(model)
Filename: model.txt Creating Boolean table directory: model Boolean table directory created. Creating functions and names files. Functions and names files created. Performing network reduction... Finding stable motifs in this network... There are 3 stable motifs in this network: 1/3 CEBPA=0 2/3 GATA2=0 3/3 GATA1=1 PU1=0 Performing network reduction using motif 1/3... Performing network reduction using motif 2/3... Performing network reduction using motif 3/3... Network reduction complete. Removing duplicate quasi-attractors. Total number of quasi-attractors: 6 Number of putative quasi-attractors: 0 Total time for finding quasi-attractors: 6.017423192 s Writing TXT files with quasi-attractors and stable motifs. Starting analyis of stable motif succession diagram. Identifying quasi-attractors corresponding to stable motif sequences. Shortening stable motif sequences. Finding control sets for each stable motif... Creating control sets for each stable motif sequence. Removing duplicates control sets. Total time for finding stable motif control sets: 6.212646676 s Writing TXT files with stable motif control sets. Done! CPU times: user 19.5 ms, sys: 9.66 ms, total: 29.2 ms Wall time: 14 s
tabulate(stm.attractors)
EgrNab | GATA1 | GATA2 | CEBPA | Fli1 | cJun | Gfi1 | FOG1 | EKLF | PU1 | SCL | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
2 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
5 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
stm.stable_motifs
[{'CEBPA': 0}, {'GATA2': 0}, {'GATA1': 1, 'PU1': 0}, {'PU1': 0}, {'Fli1': 0, 'GATA1': 0}, {'GATA1': 0, 'PU1': 1}, {'PU1': 1}, {'GATA1': 1}, {'EKLF': 0, 'Fli1': 1}, {'EKLF': 1, 'Fli1': 0}, {'CEBPA': 1}, {'EgrNab': 0, 'Gfi1': 1}, {'EgrNab': 1, 'Gfi1': 0, 'cJun': 1}]
s = stm.reprogramming_to_attractor(EgrNab=1, CEBPA=1)
s
[FromAny(TemporaryPerturbation(CEBPA=1, EgrNab=1, GATA1=0, GATA2=0)), FromAny(TemporaryPerturbation(CEBPA=1, GATA1=0, GATA2=0, Gfi1=0)), FromAny(TemporaryPerturbation(CEBPA=1, EgrNab=1, GATA2=0, PU1=1)), FromAny(TemporaryPerturbation(CEBPA=1, GATA2=0, Gfi1=0, PU1=1))]
s.as_graph()
s.as_table()
CEBPA | EgrNab | GATA1 | GATA2 | Gfi1 | PU1 | |
---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 1 | ||
1 | 1 | 0 | 0 | 0 | ||
2 | 1 | 1 | 0 | 1 | ||
3 | 1 | 1 | 0 | 0 |