if args.tstate_file: target_states.extend( TargetState.states_from_file(args.tstate_file, system.pcoord_dtype)) if args.tstates: tstates_strio = io.StringIO('\n'.join(args.tstates).replace( ',', ' ')) target_states.extend( TargetState.states_from_file(tstates_strio, system.pcoord_dtype)) del tstates_strio # Process basis states basis_states = [] if args.bstate_file: basis_states.extend(BasisState.states_from_file(args.bstate_file)) if args.bstates: for bstate_str in args.bstates: fields = bstate_str.split(',') label = fields[0] probability = float(fields[1]) try: auxref = fields[2] except IndexError: auxref = None basis_states.append( BasisState(label=label, probability=probability, auxref=auxref)) if not basis_states:
with work_manager: if work_manager.is_master: # Process target states target_states = [] if args.tstate_file: target_states.extend(TargetState.states_from_file(args.tstate_file, system.pcoord_dtype)) if args.tstates: tstates_strio = cStringIO.StringIO('\n'.join(args.tstates).replace(',', ' ')) target_states.extend(TargetState.states_from_file(tstates_strio, system.pcoord_dtype)) del tstates_strio # Process basis states basis_states = [] if args.bstate_file: basis_states.extend(BasisState.states_from_file(args.bstate_file)) if args.bstates: for bstate_str in args.bstates: fields = bstate_str.split(',') label=fields[0] probability=float(fields[1]) try: auxref = fields[2] except IndexError: auxref = None basis_states.append(BasisState(label=label,probability=probability,auxref=auxref)) if not basis_states: log.error('At least one basis state is required') sys.exit(3)
tstate_file.write( '# Target states for iteration {:d}\n'.format(n_iter)) TargetState.states_to_file(target_states, tstate_file) elif args.mode == 'replace': seg_index = data_manager.get_seg_index(n_iter) if (seg_index['status'] == Segment.SEG_STATUS_COMPLETE).any(): print( 'Iteration {:d} has completed segments; applying new states to iteration {:d}' .format(n_iter, n_iter + 1)) n_iter += 1 basis_states = [] if args.bstate_file: basis_states.extend( BasisState.states_from_file(args.bstate_file)) if args.bstates: for bstate_str in args.bstates: fields = bstate_str.split(',') label = fields[0] probability = float(fields[1]) try: auxref = fields[2] except IndexError: auxref = None basis_states.append( BasisState(label=label, probability=probability, auxref=auxref)) if basis_states: