本文整理汇总了Python中RUtil.get_table_string方法的典型用法代码示例。如果您正苦于以下问题:Python RUtil.get_table_string方法的具体用法?Python RUtil.get_table_string怎么用?Python RUtil.get_table_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RUtil
的用法示例。
在下文中一共展示了RUtil.get_table_string方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: hard_coded_analysis
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def hard_coded_analysis():
branch_length = 5.0
sequence_length = 1000
nsequences = 1000
estimate_triple_list = []
column_headers = ('most.info', 'less.info', 'least.info')
for i in range(nsequences):
# sample sequence changes at three levels of informativeness
sequence_changes = sample_sequence_changes(
branch_length, sequence_length)
# get a distance estimate for each level of informativeness
estimate_triple = sample_distance(*sequence_changes)
estimate_triple_list.append(estimate_triple)
print RUtil.get_table_string(estimate_triple_list, column_headers)
示例2: get_table_string_and_scripts
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts(start_stop_pairs, nsamples):
"""
Command-line only.
"""
# build the array for the R table
data_arr = []
sequence_lengths = []
midpoints = []
for start_pos, stop_pos in start_stop_pairs:
sequence_length = stop_pos - start_pos + 1
means, variations, covs = get_value_lists(
start_pos, stop_pos, nsamples)
midpoint = (start_pos + stop_pos) / 2.0
row = [sequence_length, midpoint]
for values in means, variations, covs:
corr_info = mcmc.Correlation()
corr_info.analyze(values)
hpd_low, hpd_high = mcmc.get_hpd_interval(0.95, values)
row.extend([hpd_low, corr_info.mean, hpd_high])
data_arr.append(row)
sequence_lengths.append(sequence_length)
midpoints.append(midpoint)
# build the table string
table_string = RUtil.get_table_string(data_arr, g_headers)
# get the scripts
scripts = get_ggplot2_scripts(nsamples, sequence_lengths, midpoints)
# return the table string and scripts
return table_string, scripts
示例3: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
f_info = ctmcmi.get_mutual_info_known_distn
# define the R table headers
headers = ['log.probability.ratio', 'mutual.information']
# make the array
arr = []
for x in np.linspace(fs.x_min, fs.x_max, 101):
row = [x]
proc = evozoo.AlternatingHypercube_d_1(3)
X = np.array([x])
distn = proc.get_distn(X)
Q = proc.get_rate_matrix(X)
info = f_info(Q, distn, fs.t)
row.append(info)
arr.append(row)
# create the R table string and scripts
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例4: get_latex_documentbody
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_latex_documentbody(fs):
"""
This is obsolete because I am now using pure R output.
The latex documentbody should have a bunch of tikz pieces in it.
Each tikz piece should have been generated from R.
"""
Q_mut, Q_sels = get_qmut_qsels(fs)
# compute the statistics
ER_ratios, NSR_ratios, ER_NSR_ratios = get_statistic_ratios(Q_mut, Q_sels)
M = zip(*(ER_ratios, NSR_ratios, ER_NSR_ratios))
column_headers = ('ER.ratio', 'NSR.ratio', 'ER.times.NSR.ratio')
table_string = RUtil.get_table_string(M, column_headers)
nsels = len(Q_sels)
# define the R scripts
scripts = []
for name in column_headers:
scripts.append(get_r_tikz_script(nsels, name))
# get the tikz codes from R, for each histogram
retcode, r_out, r_err, tikz_code_list = RUtil.run_plotter_multiple_scripts(
table_string, scripts, 'tikz',
width=3, height=2)
if retcode:
raise RUtil.RError(r_err)
#
# show some timings
print 'R did not fail, but here is its stderr:'
print r_err
#
# write the latex code
out = StringIO()
#print >> out, '\\pagestyle{empty}'
for tikz_code in tikz_code_list:
print >> out, tikz_code
# return the latex code, consisting mainly of a bunch of tikz plots
return out.getvalue()
示例5: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
# precompute some transition matrices
P_drift_selection = pgmsinglesite.create_drift_selection_transition_matrix(
fs.npop, fs.selection_ratio)
MatrixUtil.assert_transition_matrix(P_drift_selection)
P_mutation = pgmsinglesite.create_mutation_transition_matrix(
fs.npop, fs.mutation_ab, fs.mutation_ba)
MatrixUtil.assert_transition_matrix(P_mutation)
# define the R table headers
headers = ['generation', 'number.of.mutants']
# compute the path samples
P = np.dot(P_drift_selection, P_mutation)
mypath = PathSampler.sample_endpoint_conditioned_path(
fs.nmutants_initial, fs.nmutants_final, fs.ngenerations, P)
arr = [[i, nmutants] for i, nmutants in enumerate(mypath)]
# create the R table string and scripts
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例6: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
M, R = get_input_matrices(fs)
# create the R table string and scripts
headers = [
't',
'mi.true.mut',
'mi.true.mutsel',
'mi.analog.mut',
'mi.analog.mutsel']
npoints = 100
t_low = 0.0
t_high = 5.0
t_incr = (t_high - t_low) / (npoints - 1)
t_values = [t_low + t_incr*i for i in range(npoints)]
# get the data for the R table
arr = []
for t in t_values:
mi_mut = ctmcmi.get_mutual_information(M, t)
mi_mutsel = ctmcmi.get_mutual_information(R, t)
mi_analog_mut = ctmcmi.get_ll_ratio_wrong(M, t)
mi_analog_mutsel = ctmcmi.get_ll_ratio_wrong(R, t)
row = [t, mi_mut, mi_mutsel, mi_analog_mut, mi_analog_mutsel]
arr.append(row)
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例7: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
# validate and store user input
if fs.x_max <= fs.x_min:
raise ValueError('check the min and max logs')
f_info = divtime.get_fisher_info_known_distn_fast
# define the R table headers
headers = ['log.probability.ratio', 'fisher.information']
# make the array
arr = []
for x in np.linspace(fs.x_min, fs.x_max, 101):
row = [x]
proc = evozoo.DistinguishedCornerPairHypercube_d_1(3)
X = np.array([x])
distn = proc.get_distn(X)
Q = proc.get_rate_matrix(X)
info = f_info(Q, distn, fs.t)
row.append(info)
arr.append(row)
# create the R table string and scripts
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例8: get_table_string_and_scripts_from_logs
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts_from_logs(
start_stop_pairs, log_paths, nsamples):
"""
This is for analysis of remote execution.
"""
# build the array for the R table
data_arr = []
sequence_lengths = []
midpoints = []
for start_stop_pair, log_path in zip(
start_stop_pairs, log_paths):
start_pos, stop_pos = start_stop_pair
sequence_length = stop_pos - start_pos + 1
means, variations, covs = read_log(log_path, nsamples)
midpoint = (start_pos + stop_pos) / 2.0
row = [sequence_length, midpoint]
for values in means, variations, covs:
corr_info = mcmc.Correlation()
corr_info.analyze(values)
hpd_low, hpd_high = mcmc.get_hpd_interval(0.95, values)
row.extend([hpd_low, corr_info.mean, hpd_high])
data_arr.append(row)
sequence_lengths.append(sequence_length)
midpoints.append(midpoint)
# build the table string
table_string = RUtil.get_table_string(data_arr, g_headers)
# get the scripts
scripts = get_ggplot2_scripts(nsamples, sequence_lengths, midpoints)
# return the table string and scripts
return table_string, scripts
示例9: get_table_string_and_scripts_par
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts_par(start_stop_pairs, nsamples):
"""
Local command-line multi-process only.
"""
# define the pool of processes corresponding to the number of cores
mypool = Pool(processes=4)
# do the multiprocessing
start_stop_n_triples = [(a, b, nsamples) for a, b in start_stop_pairs]
post_pairs_list = mypool.map(forked_function, start_stop_n_triples)
# build the array for the R table
data_arr = []
sequence_lengths = []
midpoints = []
for start_stop_pair, post_pairs in zip(start_stop_pairs, post_pairs_list):
start_pos, stop_pos = start_stop_pair
sequence_length = stop_pos - start_pos + 1
midpoint = (start_pos + stop_pos) / 2.0
row = [sequence_length, midpoint]
for corr_info, hpd_interval in post_pairs:
hpd_low, hpd_high = hpd_interval
row.extend([hpd_low, corr_info.mean, hpd_high])
data_arr.append(row)
sequence_lengths.append(sequence_length)
midpoints.append(midpoint)
# build the table string
table_string = RUtil.get_table_string(data_arr, g_headers)
# get the scripts
scripts = get_ggplot2_scripts(nsamples, sequence_lengths, midpoints)
# return the table string and scripts
return table_string, scripts
示例10: get_table_string_and_scripts
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts(stop_positions, nsamples):
"""
Command-line only.
"""
start_position = 1
# build the array for the R table
data_arr = []
for stop_position in stop_positions:
sequence_length = stop_position - start_position + 1
means, variations, covs = get_value_lists(
start_position, stop_position, nsamples)
row = [sequence_length]
for values in means, variations, covs:
corr_info = mcmc.Correlation()
corr_info.analyze(values)
hpd_low, hpd_high = mcmc.get_hpd_interval(0.95, values)
row.extend([hpd_low, corr_info.mean, hpd_high])
data_arr.append(row)
# build the table string
table_string = RUtil.get_table_string(data_arr, g_headers)
# get the scripts
sequence_lengths = [x - start_position + 1 for x in stop_positions]
scripts = get_ggplot2_scripts(sequence_lengths)
# return the table string and scripts
return table_string, scripts
示例11: get_table_string_and_scripts
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts(fs):
nstates = fs.nresidues ** fs.nsites
if nstates > 256:
raise ValueError('the mutation rate matrix is too big')
# get the mutation matrix
Q_mut = mrate.get_sparse_sequence_rate_matrix(fs.nresidues, fs.nsites)
# sample a bunch of mutation-selection rate matrices
Q_sels = []
for selection_index in range(fs.nselections):
# sample the selection parameters
if fs.low_var:
v = 0.2
elif fs.medium_var:
v = 1
elif fs.high_var:
v = 5.0
elif fs.really_high_var:
v = 25.0
s = math.sqrt(v)
if fs.neg_skew:
sels = [-random.expovariate(1/s) for i in range(nstates)]
elif fs.no_skew:
sels = [random.gauss(0, s) for i in range(nstates)]
elif fs.pos_skew:
sels = [random.expovariate(1/s) for i in range(nstates)]
# define the mutation-selection rate matrix using Halpern-Bruno
Q = np.zeros_like(Q_mut)
for i in range(nstates):
for j in range(nstates):
if i != j:
tau = math.exp(-(sels[j] - sels[i]))
coeff = math.log(tau) / (1 - 1/tau)
Q[i, j] = Q_mut[i, j] * coeff
for i in range(nstates):
Q[i, i] = -np.sum(Q[i])
Q_sels.append(Q)
# define the time points
incr = (fs.t_high - fs.t_low) / (fs.ntimes - 1)
times = [fs.t_low + i*incr for i in range(fs.ntimes)]
# compute the statistics
nsels = len(Q_sels)
pairs = [get_time_point_summary(Q_mut, Q_sels, t) for t in times]
mi_sign_lists, time_stats = zip(*pairs)
ncrossing_list = []
# look at how the signs change over time for each selection sample
for signs in zip(*mi_sign_lists):
count = 0
for sign_a, sign_b in iterutils.pairwise(signs):
if sign_a != sign_b:
count += 1
ncrossing_list.append(count)
# get the R scripts
scripts = [
get_r_band_script(nsels, time_stats),
get_r_prop_script(nsels, time_stats),
get_r_cross_script(ncrossing_list)]
table_string = RUtil.get_table_string(time_stats, g_time_stats_headers)
return table_string, scripts
示例12: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
# precompute some transition matrices
P_drift_selection = pgmsinglesite.create_drift_selection_transition_matrix(
fs.npop, fs.selection_ratio)
MatrixUtil.assert_transition_matrix(P_drift_selection)
P_mutation = pgmsinglesite.create_mutation_transition_matrix(
fs.npop, fs.mutation_ab, fs.mutation_ba)
MatrixUtil.assert_transition_matrix(P_mutation)
# define the R table headers
headers = [
'generation',
'number.of.mutants',
'probability',
'log.prob',
]
# compute the transition matrix
P = np.dot(P_drift_selection, P_mutation)
# Compute the endpoint conditional probabilities for various states
# along the unobserved path.
nstates = fs.npop + 1
M = np.zeros((nstates, fs.ngenerations))
M[fs.nmutants_initial, 0] = 1.0
M[fs.nmutants_final, fs.ngenerations-1] = 1.0
for i in range(fs.ngenerations-2):
A_exponent = i + 1
B_exponent = fs.ngenerations - 1 - A_exponent
A = np.linalg.matrix_power(P, A_exponent)
B = np.linalg.matrix_power(P, B_exponent)
weights = np.zeros(nstates)
for k in range(nstates):
weights[k] = A[fs.nmutants_initial, k] * B[k, fs.nmutants_final]
weights /= np.sum(weights)
for k, p in enumerate(weights):
M[k, i+1] = p
arr = []
for g in range(fs.ngenerations):
for k in range(nstates):
p = M[k, g]
if p:
logp = math.log(p)
else:
logp = float('-inf')
row = [g, k, p, logp]
arr.append(row)
# create the R table string and scripts
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例13: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
# legend labels
label_a = 'N=%d mu=%f' % (fs.nstates_a, fs.mu_a)
label_b = 'N=%d mu=%f' % (fs.nstates_b, fs.mu_b)
arr, headers = make_table(fs)
# compute the max value
ymax = math.log(max(fs.nstates_a, fs.nstates_b))
nfifths = int(math.floor(ymax * 5.0)) + 1
ylim = RUtil.mk_call_str('c', 0, 0.2 * nfifths)
# write the R script body
out = StringIO()
print >> out, RUtil.mk_call_str(
'plot',
'my.table$t',
'my.table$alpha',
type='"n"',
ylim=ylim,
xlab='"time"',
ylab='"information"',
main='"comparison of an information criterion for two processes"',
)
# draw some horizontal lines
for i in range(nfifths+1):
print >> out, RUtil.mk_call_str(
'abline',
h=0.2*i,
col='"lightgray"',
lty='"dotted"')
colors = ('darkblue', 'darkred')
for c, header in zip(colors, headers[1:]):
print >> out, RUtil.mk_call_str(
'lines',
'my.table$t',
'my.table$%s' % header,
col='"%s"' % c,
)
legend_names = (label_a, label_b)
legend_name_str = 'c(' + ', '.join('"%s"' % s for s in legend_names) + ')'
legend_col_str = 'c(' + ', '.join('"%s"' % s for s in colors) + ')'
legend_lty_str = 'c(' + ', '.join('1' for s in colors) + ')'
print >> out, RUtil.mk_call_str(
'legend',
'"%s"' % fs.legend_placement,
legend_name_str,
col=legend_col_str,
lty=legend_lty_str,
)
script_body = out.getvalue()
# create the R plot image
table_string = RUtil.get_table_string(arr, headers)
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script_body, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data
示例14: get_table_string_and_scripts
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_table_string_and_scripts(fs):
"""
The latex documentbody should have a bunch of tikz pieces in it.
Each tikz piece should have been generated from R.
"""
nstates = fs.nresidues ** fs.nsites
if nstates > 256:
raise ValueError("the mutation rate matrix is too big")
# get the mutation matrix
Q_mut = mrate.get_sparse_sequence_rate_matrix(fs.nresidues, fs.nsites)
# sample a bunch of mutation-selection rate matrices
Q_sels = []
for selection_index in range(fs.nselections):
# sample the selection parameters
if fs.low_var:
v = 0.2
elif fs.medium_var:
v = 1
elif fs.high_var:
v = 5.0
elif fs.really_high_var:
v = 25.0
s = math.sqrt(v)
if fs.neg_skew:
sels = [-random.expovariate(1 / s) for i in range(nstates)]
elif fs.no_skew:
sels = [random.gauss(0, s) for i in range(nstates)]
elif fs.pos_skew:
sels = [random.expovariate(1 / s) for i in range(nstates)]
# define the mutation-selection rate matrix using Halpern-Bruno
Q = np.zeros_like(Q_mut)
for i in range(nstates):
for j in range(nstates):
if i != j:
tau = math.exp(-(sels[j] - sels[i]))
coeff = math.log(tau) / (1 - 1 / tau)
Q[i, j] = Q_mut[i, j] * coeff
for i in range(nstates):
Q[i, i] = -np.sum(Q[i])
Q_sels.append(Q)
# define the time points
incr = (fs.t_high - fs.t_low) / (fs.ntimes - 1)
times = [fs.t_low + i * incr for i in range(fs.ntimes)]
# compute the statistics
nsels = len(Q_sels)
time_stats = [get_time_point_summary(Q_mut, Q_sels, t) for t in times]
# get the R scripts
scripts = [
# get_r_tikz_mi_plot(nsels, time_stats),
get_r_tikz_corr_plot(nsels, time_stats),
get_r_tikz_prop_plot(nsels, time_stats),
get_r_tikz_info_plot(nsels, time_stats),
]
table_string = RUtil.get_table_string(time_stats, g_time_stats_headers)
return table_string, scripts
示例15: get_response_content
# 需要导入模块: import RUtil [as 别名]
# 或者: from RUtil import get_table_string [as 别名]
def get_response_content(fs):
f_info = divtime.get_fisher_info_known_distn_fast
requested_triples = []
for triple in g_process_triples:
name, desc, zoo_obj = triple
if getattr(fs, name):
requested_triples.append(triple)
if not requested_triples:
raise ValueError('nothing to plot')
# define the R table headers
r_names = [a.replace('_', '.') for a, b, c in requested_triples]
headers = ['t'] + r_names
# Spend a lot of time doing the optimizations
# to construct the points for the R table.
arr = []
for t in cbreaker.throttled(
progrid.gen_binary(fs.start_time, fs.stop_time),
nseconds=5, ncount=200):
row = [t]
for python_name, desc, zoo_class in requested_triples:
zoo_obj = zoo_class(fs.d)
df = zoo_obj.get_df()
opt_dep = OptDep(zoo_obj, t, f_info)
if df:
X0 = np.random.randn(df)
xopt = scipy.optimize.fmin(
opt_dep, X0, maxiter=10000, maxfun=10000)
# I would like to use scipy.optimize.minimize
# except that this requires a newer version of
# scipy than is packaged for ubuntu right now.
# fmin_bfgs seems to have problems sometimes
# either hanging or maxiter=10K is too big.
"""
xopt = scipy.optimize.fmin_bfgs(opt_dep, X0,
gtol=1e-8, maxiter=10000)
"""
else:
xopt = np.array([])
info_value = -opt_dep(xopt)
row.append(info_value)
arr.append(row)
arr.sort()
npoints = len(arr)
# create the R table string and scripts
# get the R table
table_string = RUtil.get_table_string(arr, headers)
# get the R script
script = get_ggplot()
# create the R plot image
device_name = Form.g_imageformat_to_r_function[fs.imageformat]
retcode, r_out, r_err, image_data = RUtil.run_plotter(
table_string, script, device_name)
if retcode:
raise RUtil.RError(r_err)
return image_data