22#
33# SBATCH --job-name="Synth"
44# SBATCH --partition=compute
5- # SBATCH --time=72:00 :00
6- # SBATCH --ntasks 256
5+ # SBATCH --time=00:30 :00
6+ # SBATCH --ntasks 16
77# SBATCH --cpus-per-task=1
8- # SBATCH --mem-per-cpu=8G
8+ # SBATCH --mem-per-cpu=2G
99# SBATCH --account=research-eemcs-st
1010
1111using Distributed
2323
2424@everywhere using ProgressMeter, DataFrames, HerbSearch, GraphDynamicalSystems, Random
2525using MetaGraphsNext: labels
26+ using Statistics: quantile
2627
2728traj_df = collect_results(datadir(" sims" , " biodivine_split" ))
2829path2id = path -> parse_savename(path)[end - 1 ][" id" ]
@@ -35,9 +36,11 @@ model_df.vertex = collect.(labels.(model_df.metagraph_model))
3536# add a copy so that after flattening we have all of the vertices of a model in each row of df
3637model_df. vertices = model_df. vertex
3738
38- # Filter only smaller models
39- # per_vertex_df = flatten(model_df[length.(model_df.vertices).<15, :], :vertex)
40- per_vertex_df = flatten(model_df, :vertex)
39+ # Filter out the largest 5% of models
40+ # They are likely Booleanized multivalue models—have to check
41+ n_verts_per_model = length.(model_df. vertices)
42+ per_vertex_df =
43+ flatten(model_df[n_verts_per_model.<= quantile(n_verts_per_model, 0.95 ), :], :vertex)
4144
4245grammars_df = model_df[! , [:ID, :vertices]]
4346grammars_df. dnf_grammar = build_dnf_grammar.(grammars_df. vertices)
0 commit comments