Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions seekrtools/long_trajectory/long_trajectory.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ def anchor_mmvt_output_slicer_dicer(model, anchor):
for output_file_name in output_file_list:
with open(output_file_name) as f:
for line in f.readlines():
if line.startswith("#") or line.startwith("CHECKPOINT"):
if line.startswith("#") or line.startswith("CHECKPOINT"):
continue
line_split = line.strip().split(",")
dest_milestone_alias = int(line_split[0])
Expand Down Expand Up @@ -143,8 +143,10 @@ def make_fragment_list(model):



def make_long_trajectory(model, all_anchors_fragment_list, starting_anchor_index):
ITER = 1000
def make_long_trajectory(model, all_anchors_fragment_list, starting_anchor_index, ITER = 200000):




current_anchor_index = starting_anchor_index

Expand All @@ -155,6 +157,7 @@ def make_long_trajectory(model, all_anchors_fragment_list, starting_anchor_index

long_traj = current_fragment.traj[:]


for i in range(ITER):
current_anchor = model.anchors[current_anchor_index]
dest_milestone_index = current_fragment.dest_milestone
Expand All @@ -164,13 +167,20 @@ def make_long_trajectory(model, all_anchors_fragment_list, starting_anchor_index
break

next_anchor_index = dest_milestone.neighbor_anchor_index
next_anchor_fragment_dict = all_anchors_fragment_list[next_anchor_index]
try:
next_anchor_fragment_dict = all_anchors_fragment_list[next_anchor_index]
except IndexError:
print("Trajectory terminated before final iteration at : " + str(i))
break
next_anchor_fragment_list = next_anchor_fragment_dict[dest_milestone.index]
if len(next_anchor_fragment_list) == 0:
print("Max Iteration number reached : " + str(i))
break
next_fragment = random.choice(next_anchor_fragment_list)
long_traj += next_fragment.traj
current_anchor_index = next_anchor_index
current_fragment = next_fragment

return long_traj


Expand All @@ -184,4 +194,4 @@ def make_long_trajectory(model, all_anchors_fragment_list, starting_anchor_index

long_traj = make_long_trajectory(model, all_anchors_fragment_list, bound_anchor)

long_traj.save("muller_test.dcd")
long_traj.save("muller_test.dcd")