Add king_vs_best dependency rules to SCons build tree
authorW. Trevor King <wking@drexel.edu>
Thu, 29 Apr 2010 05:59:00 +0000 (01:59 -0400)
committerW. Trevor King <wking@drexel.edu>
Thu, 29 Apr 2010 05:59:00 +0000 (01:59 -0400)
tex/src/figures/fit-space/SConscript
tex/src/figures/fit-space/extract_fit_valley.py
tex/src/figures/fit-space/king_vs_best.asy

index b1d707390407906c1a59a772bd3d3a315c48a0e5..608882b6bb22eb5671b2440c044c7e69427aa9c4 100644 (file)
@@ -1,3 +1,5 @@
+import os.path
+
 from site_cons.site_init import link_wtk_graph
 
 
@@ -6,11 +8,33 @@ FIGURES = ['king_vs_best', 'fit-valley'] #, 'mean_and_stdev']
 # Get the passed in environment.
 Import('env')
 
+data = File('data')
+
+king_vs_best_data = []
+
+fit_valley = env.Command(
+    'fit-valley.data',
+    ['extract_fit_valley.py', data],
+    'python $SOURCES > $TARGET')
+king_vs_best_data.append(fit_valley)
+
+best_dir = Dir('Best_2002_detailed_unfolding_pathway')
+best_valley = env.Command(
+    os.path.join(str(best_dir), 'fig3a-kx.data'),
+    [os.path.join(str(best_dir), 'fig3a.data')],
+    "grep -v '^#' $SOURCE | awk 'BEGIN{OFS=\"\t\"}{print $2, $1}' > $TARGET")
+king_vs_best_data.append(best_valley)
+
 wtk_graph = link_wtk_graph(env)
 
 for fig in FIGURES:
     asyfile = '%s.asy' % fig
-    env.Asymptote([asyfile, wtk_graph])
+    pyfig = fig.replace('-', '_')
+    data = '%s_data' % (pyfig)
+    asydata = []
+    if data in globals():    # generated data dependencies
+        asydata = globals()[data]
+    env.Asymptote([asyfile, wtk_graph] + asydata)
 
 # Pass back the modified environment.
 Return('env')
index 3b2c37ad6a7afff9763ad19107eb82909d94bb80..829bbc825ace561ac635a29360bbc912c7b34e2b 100644 (file)
@@ -6,9 +6,11 @@ current_k = None
 best_x = None
 best_residual = None
 
+data_filename = sys.argv[1]
+
 data = {}
 header = None
-for line in sys.stdin.readlines():
+for line in file(data_filename, 'r'):
     if len(line.strip()) == 0:
         continue
     if line.startswith('#'):
index 43c43671691095a526d6f926e59deae6e1289891..169a9c98876415cd90e57727e5251a4533922f30 100644 (file)
@@ -8,7 +8,7 @@ real yscale=1;
 
 graphFile("Best_2002_detailed_unfolding_pathway/fig3a-kx.data", xscale, yscale, psoft, m30,
          t="Best valley", dots=true);
-graphFile("fit_valley.data", xscale, yscale, phard, m30,
+graphFile("fit-valley.data", xscale, yscale, phard, m30,
          t="King valley", dots=true);
 
 label(sLabel(""), point(N), N);