function(progarray = progfile, jump = T, device = x11(geometry = "640x920",
	close = T))
{
	device
	oldpar <<- par(mfrow = c(2, 1))
	par(mar = c(7, 6, 4, 4) + 0.1)
	rm(mmm.tau)
	mmm.tau <<- numeric()
	for(i in 1:length(progarray)) {
		if(jump) {
			xxx <- paste(progarray[i], ".jump", sep = "")
			simjump(xxx)
		}
		else {
			xxx <- paste(progarray[i], ".mix", sep = "")
			simmix(xxx)
		}
	}
	synchronize()
	rm(xx, yy, temp)
	xx <<- mmm.tau[, 1]
	yy <<- 1/mmm.tau[, 2]
	temp <<- nlsfit(twostep.fit)
	if(jump) {
		plot(xx, yy, pch = 1, las = 1, ylab = "1/tau2", xlab = 
			"[E] + [S]")
	}
	else {
		plot(xx, yy, pch = 1, las = 1, ylab = "1/tau2", xlab = "[S]")
	}
	lines(spline(xx, yy - temp$residuals))
	xxx <- signif(temp$coef, 4)
	title(main = xxx <- paste("k-2 =", xxx[1], "  k2 =", xxx[2], 
		"  k-1/k1 =", xxx[3]))
	invisible()
}
function(program = "two_step -nooutput -E 1.e-4 -S 1.e-3; prep_sfiles scr.jump"
	)
{
#	x11(geometry = "640x307", close = T)
#	par(mar = c(8, 7, 4, 4) + 0.1)
#	mmm.tau <<- numeric()
	unix(program)
	mmm.col <<- scan("scr.jump.col", what = character())
	mmm.dat <<- matrix(scan("scr.jump.dat"), ncol = length(mmm.col), byrow
		 = T)
	mlen <<- length(mmm.dat[, 1])
	dimnames(mmm.dat) <<- list(rep("", mlen), mmm.col)
	mmm.lab <<- scan("scr.jump.lab", what = character(), sep = "\n")
	xxx.lab <<- scan("scr.jump.lab", what = character())
	ii <- match("EBAR+SBAR", xxx.lab)
	mmm.tau <<- rbind(mmm.tau, as.numeric(c(xxx.lab[ii + 1], xxx.lab[ii +
		3])))
	yrange <<- range(mmm.dat[, 2])	
	#	yrange <<- c(mmm.dat[mlen, 2], mmm.dat[1, 2])
	xrange <<- c(0, 1)
	trange <<- c(0.01, 0.001, 0.0001, 1e-05)	
	#	trange <<- c(1e-05, 0.0001, 0.001, 0.01)
	tmlen <<- numeric()
	for(i in 1:4) {
		tmlen <<- c(tmlen, length(mmm.dat[mmm.dat[, 1] < trange[i],
			1]))
	}
	mainlabel <<- paste(mmm.lab[1], "\n", mmm.lab[2])
	botlabel <<- paste(mmm.lab[4], "\n", mmm.lab[5], "\n", mmm.lab[6])
	ylabel <<- "delta [X]"
	xlabel <<- paste("s/", trange[1], ", s/", trange[2], ", s/", trange[
		3], ", s/", trange[4])
	plot(0, 0, type = "n", pch = ".", las = 1, lab = c(5, 5, 5), xlim = 
		xrange, ylim = yrange, ylab = ylabel, xlab = botlabel, main = 
		mainlabel)
	axis(1, labels = F, tck = 1, lty = 2)
	axis(2, labels = F, tck = 1, lty = 2)
	xx <- 0
	for(i in 1:4) {
		points(mmm.dat[1:tmlen[i], 1]/trange[i], mmm.dat[1:tmlen[i],
			2], type = "l")
		text(mmm.dat[tmlen[i] - xx, 1]/trange[i], mmm.dat[tmlen[i] -
			xx, 2], labels = paste("s/", trange[i]), adj = 1)
		xx <- xx + 2
	}
	invisible()
}
function(program = "two_step -nooutput -E 1.e-4 -S 1.e-3; prep_sfiles scr.mix"
	)
{
#	x11(geometry = "640x307", close = T)
#	par(mar = c(8, 7, 4, 4) + 0.1)
#	mmm.tau <<- numeric()
	unix(program)
	mmm.col <<- scan("scr.mix.col", what = character())
	mmm.dat <<- matrix(scan("scr.mix.dat"), ncol = length(mmm.col), byrow
		 = T)
	mlen <<- length(mmm.dat[, 1])
	dimnames(mmm.dat) <<- list(rep("", mlen), mmm.col)
	mmm.lab <<- scan("scr.mix.lab", what = character(), sep = "\n")
	xxx.lab <<- scan("scr.mix.lab", what = character())
	ii <- match("EBAR+SBAR", xxx.lab)	
	# mixing experiments are analyzed as a funtion of [S], not ([E] + [S])
	mmm.tau <<- rbind(mmm.tau, as.numeric(c(mmm.dat[1, "S"], xxx.lab[ii +
		3])))	
	#	mmm.tau <<- rbind(mmm.tau, as.numeric(c(xxx.lab[ii + 1], xxx.lab[ii + 3])))
	
	mainlabel <<- paste(mmm.lab[1], "\n", mmm.lab[2])
	botlabel <<- paste(mmm.lab[4], "\n", mmm.lab[5], "\n", mmm.lab[6])
	yrange <<- range(mmm.dat[, 2])	
	#	yrange <<- c(mmm.dat[mlen, 2], mmm.dat[1, 2])
	xrange <<- c(0, 1)
	trange <<- c(0.01, 0.001, 0.0001, 1e-05)	
	#	trange <<- c(1e-05, 0.0001, 0.001, 0.01)
	tmlen <<- numeric()
	for(i in 1:4) {
		tmlen <<- c(tmlen, length(mmm.dat[mmm.dat[, 1] < trange[i],
			1]))
	}
	ylabel <<- "delta [X]"
	xlabel <<- paste("s/", trange[1], ", s/", trange[2], ", s/", trange[
		3], ", s/", trange[4])
	plot(mmm.dat[1:tmlen[1], 1]/trange[1], mmm.dat[1:tmlen[1], 2], type = 
		"l", pch = ".", las = 1, lab = c(5, 5, 5), xlim = xrange, ylim
		 = yrange, ylab = ylabel, xlab = botlabel, main = mainlabel)
	axis(1, labels = F, tck = 1, lty = 2)
	axis(2, labels = F, tck = 1, lty = 2)
	points(mmm.dat[1:tmlen[2], 1]/trange[2], mmm.dat[1:tmlen[2], 2], type
		 = "l")
	points(mmm.dat[1:tmlen[3], 1]/trange[3], mmm.dat[1:tmlen[3], 2], type
		 = "l")
	points(mmm.dat[1:tmlen[4], 1]/trange[4], mmm.dat[1:tmlen[4], 2], type
		 = "l")
	xx <- 0
	for(i in 1:4) {
		text(mmm.dat[tmlen[i] - xx, 1]/trange[i], mmm.dat[tmlen[i] -
			xx, 2], labels = paste("s/", trange[i]), adj = 1)
		xx <- xx + 2
	}
}
