@@ -247,7 +247,7 @@ def _combine_df_adjacent(df_adjacent, state_ranges, df_err_adjacent=None, err_ty
247247 return df , df_err , overlap_bool
248248
249249
250- def calculate_free_energy (data , state_ranges , df_method = "MBAR" , err_method = "propagate" , n_bootstrap = None , seed = None ):
250+ def calculate_free_energy (data , state_ranges , df_method = "MBAR" , err_method = "propagate" , n_bootstrap = None , seed = None , MTREXEE = False ):
251251 """
252252 Caculates the averaged free energy profile with the chosen method given :math:`u_{nk}` or :math:`dH/dλ` data
253253 obtained from all replicas of the REXEE simulation. Available methods include TI, BAR, and MBAR. TI
@@ -275,6 +275,8 @@ def calculate_free_energy(data, state_ranges, df_method="MBAR", err_method="prop
275275 seed : int, Optional
276276 The random seed for bootstrapping. Only relevant when :code:`err_method` is :code:`"bootstrap"`.
277277 The default is :code:`None`.
278+ MTREXEE : bool
279+ Whether this is a MT-REXEE simulation or not
278280
279281 Returns
280282 -------
@@ -299,7 +301,10 @@ def calculate_free_energy(data, state_ranges, df_method="MBAR", err_method="prop
299301 >>> f, _, _ = analyze_free_energy.calculate_free_energy(data_list, state_ranges, "MBAR", "propagate")
300302 """
301303 n_sim = len (data )
302- n_tot = state_ranges [- 1 ][- 1 ] + 1
304+ if MTREXEE is False :
305+ n_tot = state_ranges [- 1 ][- 1 ] + 1
306+ else :
307+ n_tot = state_ranges [- 1 ] + 1
303308 estimators = _apply_estimators (data , df_method )
304309 df_adjacent , df_err_adjacent = _calculate_df_adjacent (estimators )
305310 df , df_err , overlap_bool = _combine_df_adjacent (df_adjacent , state_ranges , df_err_adjacent , err_type = 'propagate' )
0 commit comments