The sequence library¶
In addition to the ...
import numpy as np
import mdtraj as md
import matplotlib.pyplot as plt
import nglview as nv
import copy
import nglview as nv
import random
from Bio.SVDSuperimposer import SVDSuperimposer
import mdna
# Complemetary base pairs
base_pair_map = {'A':'T','T':'A','G':'C','C':'G','U':'A','D':'G','E':'T','L':'M','M':'L','B':'S','S':'B','Z':'P','P':'Z','CM':'G','AH':'T','GM':'C'}
# Load reference bases from the atomic data
reference_bases = {base: md.load_hdf5(mdna.utils.get_data_file_path(f'./atomic/bases/BDNA_{base}.h5')) for base in base_pair_map.keys()}
bases = list(reference_bases.values())
# Define grid to place the bases
order = [['A', 'T', 'G', 'C'],
['AH', 'U', 'GM', 'CM'],
['B', 'S', 'P', 'Z'],
['E', 'D','L', 'M']]
# Initialize the trajectory with the first base
traj = reference_bases[order[0][0]]
# Spacing parameters (in angstroms, adjust as needed)
horizontal_spacing = 1.2 # Spacing between bases within a row
vertical_spacing = 1.5 # Spacing between rows
# Base positions tracking
y_position = 0 # Start at the top-most row and work downwards
for row in order:
x_position = 0 # Reset x position for each new row
for i, base in enumerate(row,1):
if i == 0 and row == order[0]:
# Already initialized with the first base
continue
# Move base in x and y direction
reference_bases[base].xyz[0] = reference_bases[base].xyz[0] + np.array([-x_position, y_position, 0])
# Stack the base to the trajectory
traj = traj.stack(reference_bases[base])
# Increment x position for the next base in the row
x_position += horizontal_spacing
# Decrement y position for the next row to position it below the current one
y_position -= vertical_spacing
Visualize the bases
subtraj = traj.atom_slice(traj.top.select('not element H'))
# subtraj.save_pdb('all_bases.pdb')
# subtraj.save_hdf5('all_bases.h5')
view = nv.show_mdtraj(subtraj)
view.clear()
view.add_representation('licorice', selection='all')
view
NGLWidget()
How to add a base to the sequence library¶
Here we show how to align a DNA nucleobase to a specific reference frame.
We chose the default reference frame at the origin with the base vectors [1,0,0], [0,1,0], [0,0,1].
This can be useful if you want to add a custom nucleobase to the sequence libary.
For this we need to isolate the base and add it to the sequence library (./atomic/) and add the pdb/h5 to the reference list in geometry.py NUCLEOBASE_DICT which contains all the atoms that belong to the nucleobas part as well as in the modify. Mutate.mutate base_pair_map which defines the complementary base partner.
Here we show an example using a methylated base, but you can use any sequence you want. Just select the residue that you want to isolate.
def get_base_vectors(res):
"""Compute base vectors from reference base."""
ref_base = mdna.ReferenceBase(res)
return np.array([ref_base.b_R, ref_base.b_L, ref_base.b_D, ref_base.b_N]).swapaxes(0,1)
def get_rot_mat_trans(x,y):
# load super imposer
sup = SVDSuperimposer()
# Set the coords, y will be rotated and translated on x
sup.set(x, y)
# Do the leastsquared fit
sup.run()
# Get the rms
rms = sup.get_rms()
# Get rotation (right multiplying!) and the translation
rot, tran = sup.get_rotran()
return rot, tran
# Function to calculate positions from origin and vectors
def calculate_positions(triad):
origin = triad[0]
vectors = triad[1:]
# Each row in vectors is added to the origin to get the end position
end_positions = origin + vectors
# Combine the origin with these end positions
positions = np.vstack([origin, end_positions])
return positions
def align_to_ref(traj, ref = np.array([[0,0,0.0],[1,0,0],[0,1,0],[0,0,1]])):
vectors = get_base_vectors(traj)
positions = calculate_positions(vectors[0])
ref_position = calculate_positions(ref)
rot, tran = get_rot_mat_trans(ref_position,positions)
new_xyz = np.dot(traj.xyz[0], rot) + tran
traj.xyz[0] = new_xyz
return traj
# Create a DNA sequence with a methylated base
dna = mdna.make('GCGCG')
dna.methylate(CpG=True)
traj = dna.get_traj()
# Select the methylated base
meth = traj.atom_slice(traj.top.select('resid 1'))
# Align the methylated base to the reference frame
meth = align_to_ref(meth)
# Save the methylated base
meth.save('./pdbs/BDNA_CM.pdb')
meth.save('./pdbs/BDNA_CM.h5')
# Show the methylated base
view = nv.show_mdtraj(meth)
view.clear()
view.add_ball_and_stick()
view
Start rescaling spline based on requested number of base pairs. This requires recomputation of the control points to match the desired number of base pairs. Spline scaled to match the target number of base pairs: 5 Methylate all C in CpG context, superseeds methylations list. Methtylating: [1, 3]
NGLWidget()
Point mutations¶
def point_mutation(sequence, position=None, new_nucleotide=None):
if position is None:
position = random.randint(0, len(sequence) - 1)
if new_nucleotide is None:
nucleotides = ['A', 'T', 'C', 'G']
new_nucleotide = random.choice([n for n in nucleotides if n != sequence[position]])
mutated_sequence = list(sequence)
mutated_sequence[position] = new_nucleotide
return ''.join(mutated_sequence)
def radiate_system(dna, new_sequence, complementary=True, chainids=[0,1], verbose=False):
pdb = copy.deepcopy(dna.get_traj())
if verbose:
print('--- current stat of the system ---')
s = dna.sequence
if len(s) != len(new_sequence):
raise ValueError('The length of the new sequence does not match the length of the current sequence')
if verbose:
print(len(s),s)
print(''.join(s))
mutations = mdna.get_mutations(s,new_sequence)
if verbose:
print(f'start mutation ---- {mutations} ----')
# dna = pdb.atom_slice(pdb.top.select(f'chainid {chainids[0]} {chainids[1]}'))
# if verbose:
# for c in dna.top.chains:
# print(c.index, c._residues)
dna.mutate(mutations,complementary=complementary)
mutant_sequence = dna.sequence
if verbose:
print(mutant_sequence)
print(''.join(mutant_sequence))
new_traj = dna.get_traj()
if verbose:
for c in new_traj.top.chains:
print(c.index, c._residues)
print('--- end radiation ---')
return new_traj
# Example usage
save = False
dna = mdna.make('GCGCG')
point_mutations = np.unique([point_mutation(dna.sequence) for _ in range(100)])
for i, new_sequence in enumerate(point_mutations):
mutant = radiate_system(dna, list(new_sequence))
print(new_sequence,f'saved as point_mutant_{i}.pdb')
if save:
mutant.save(f'./pdbs/point_mutant_{i}.pdb')
Start rescaling spline based on requested number of base pairs. This requires recomputation of the control points to match the desired number of base pairs. Spline scaled to match the target number of base pairs: 5 hello Pre-deletion residue atoms : [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N9'), (12, 'C8'), (13, 'N7'), (14, 'C5'), (15, 'C6'), (16, 'O6'), (17, 'N1'), (18, 'C2'), (19, 'N2'), (20, 'N3'), (21, 'C4')] Pre-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'")] Post-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N9'), (12, 'C8'), (13, 'N7'), (14, 'C5'), (15, 'C6'), (16, 'N6'), (17, 'N1'), (18, 'C2'), (19, 'N3'), (20, 'C4')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 11, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 183, 3) Concatenated shape: 204 Pre-deletion residue atoms : [(185, 'P'), (186, 'OP1'), (187, 'OP2'), (188, "O5'"), (189, "C5'"), (190, "C4'"), (191, "O4'"), (192, "C3'"), (193, "O3'"), (194, "C2'"), (195, "C1'"), (196, 'N1'), (197, 'C2'), (198, 'O2'), (199, 'N3'), (200, 'C4'), (201, 'N4'), (202, 'C5'), (203, 'C6')] Pre-insertion residue atoms: [(185, 'P'), (186, 'OP1'), (187, 'OP2'), (188, "O5'"), (189, "C5'"), (190, "C4'"), (191, "O4'"), (192, "C3'"), (193, "O3'"), (194, "C2'"), (195, "C1'")] Post-insertion residue atoms: [(185, 'P'), (186, 'OP1'), (187, 'OP2'), (188, "O5'"), (189, "C5'"), (190, "C4'"), (191, "O4'"), (192, "C3'"), (193, "O3'"), (194, "C2'"), (195, "C1'"), (197, 'N1'), (199, 'C2'), (201, 'O2'), (203, 'N3'), (205, 'C4'), (207, 'O4'), (209, 'C5'), (211, 'C7'), (213, 'C6')] Original trajectory shape: (1, 204, 3) xyz1 shape: (1, 196, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 0, 3) Concatenated shape: 205 ACGCG saved as point_mutant_0.pdb hello Pre-deletion residue atoms : [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N9'), (12, 'C8'), (13, 'N7'), (14, 'C5'), (15, 'C6'), (16, 'N6'), (17, 'N1'), (18, 'C2'), (19, 'N3'), (20, 'C4')] Pre-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'")] Post-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N1'), (12, 'C2'), (13, 'O2'), (14, 'N3'), (15, 'C4'), (16, 'N4'), (17, 'C5'), (18, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 11, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 184, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'"), (194, 'N1'), (195, 'C2'), (196, 'O2'), (197, 'N3'), (198, 'C4'), (199, 'O4'), (200, 'C5'), (201, 'C7'), (202, 'C6')] Pre-insertion residue atoms: [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'")] Post-insertion residue atoms: [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'"), (195, 'N9'), (197, 'C8'), (199, 'N7'), (201, 'C5'), (203, 'C6'), (205, 'O6'), (207, 'N1'), (209, 'C2'), (211, 'N2'), (213, 'N3'), (215, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 194, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 0, 3) Concatenated shape: 205 CCGCG saved as point_mutant_1.pdb hello Pre-deletion residue atoms : [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N1'), (12, 'C2'), (13, 'O2'), (14, 'N3'), (15, 'C4'), (16, 'N4'), (17, 'C5'), (18, 'C6')] Pre-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'")] Post-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N9'), (12, 'C8'), (13, 'N7'), (14, 'C5'), (15, 'C6'), (16, 'O6'), (17, 'N1'), (18, 'C2'), (19, 'N2'), (20, 'N3'), (21, 'C4')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 11, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 186, 3) Concatenated shape: 208 Pre-deletion residue atoms : [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N1'), (34, 'C2'), (35, 'O2'), (36, 'N3'), (37, 'C4'), (38, 'N4'), (39, 'C5'), (40, 'C6')] Pre-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'")] Post-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N9'), (34, 'C8'), (35, 'N7'), (36, 'C5'), (37, 'C6'), (38, 'N6'), (39, 'N1'), (40, 'C2'), (41, 'N3'), (42, 'C4')] Original trajectory shape: (1, 208, 3) xyz1 shape: (1, 33, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 167, 3) Concatenated shape: 210 Pre-deletion residue atoms : [(188, 'P'), (189, 'OP1'), (190, 'OP2'), (191, "O5'"), (192, "C5'"), (193, "C4'"), (194, "O4'"), (195, "C3'"), (196, "O3'"), (197, "C2'"), (198, "C1'"), (199, 'N9'), (200, 'C8'), (201, 'N7'), (202, 'C5'), (203, 'C6'), (204, 'O6'), (205, 'N1'), (206, 'C2'), (207, 'N2'), (208, 'N3'), (209, 'C4')] Pre-insertion residue atoms: [(188, 'P'), (189, 'OP1'), (190, 'OP2'), (191, "O5'"), (192, "C5'"), (193, "C4'"), (194, "O4'"), (195, "C3'"), (196, "O3'"), (197, "C2'"), (198, "C1'")] Post-insertion residue atoms: [(188, 'P'), (189, 'OP1'), (190, 'OP2'), (191, "O5'"), (192, "C5'"), (193, "C4'"), (194, "O4'"), (195, "C3'"), (196, "O3'"), (197, "C2'"), (198, "C1'"), (200, 'N1'), (202, 'C2'), (204, 'O2'), (206, 'N3'), (208, 'C4'), (210, 'N4'), (212, 'C5'), (214, 'C6')] Original trajectory shape: (1, 210, 3) xyz1 shape: (1, 199, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 0, 3) Concatenated shape: 207 Pre-deletion residue atoms : [(166, 'P'), (167, 'OP1'), (168, 'OP2'), (169, "O5'"), (170, "C5'"), (171, "C4'"), (172, "O4'"), (173, "C3'"), (174, "O3'"), (175, "C2'"), (176, "C1'"), (177, 'N9'), (178, 'C8'), (179, 'N7'), (180, 'C5'), (181, 'C6'), (182, 'O6'), (183, 'N1'), (184, 'C2'), (185, 'N2'), (186, 'N3'), (187, 'C4')] Pre-insertion residue atoms: [(166, 'P'), (167, 'OP1'), (168, 'OP2'), (169, "O5'"), (170, "C5'"), (171, "C4'"), (172, "O4'"), (173, "C3'"), (174, "O3'"), (175, "C2'"), (176, "C1'")] Post-insertion residue atoms: [(166, 'P'), (167, 'OP1'), (168, 'OP2'), (169, "O5'"), (170, "C5'"), (171, "C4'"), (172, "O4'"), (173, "C3'"), (174, "O3'"), (175, "C2'"), (176, "C1'"), (177, 'N1'), (178, 'C2'), (179, 'O2'), (180, 'N3'), (181, 'C4'), (182, 'O4'), (183, 'C5'), (184, 'C7'), (185, 'C6')] Original trajectory shape: (1, 207, 3) xyz1 shape: (1, 177, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 19, 3) Concatenated shape: 205 GAGCG saved as point_mutant_2.pdb hello Pre-deletion residue atoms : [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N9'), (34, 'C8'), (35, 'N7'), (36, 'C5'), (37, 'C6'), (38, 'N6'), (39, 'N1'), (40, 'C2'), (41, 'N3'), (42, 'C4')] Pre-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'")] Post-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N1'), (34, 'C2'), (35, 'O2'), (36, 'N3'), (37, 'C4'), (38, 'N4'), (39, 'C5'), (40, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 33, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 162, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N9'), (53, 'C8'), (54, 'N7'), (55, 'C5'), (56, 'C6'), (57, 'O6'), (58, 'N1'), (59, 'C2'), (60, 'N2'), (61, 'N3'), (62, 'C4')] Pre-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'")] Post-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N9'), (53, 'C8'), (54, 'N7'), (55, 'C5'), (56, 'C6'), (57, 'N6'), (58, 'N1'), (59, 'C2'), (60, 'N3'), (61, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 52, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 140, 3) Concatenated shape: 202 Pre-deletion residue atoms : [(163, 'P'), (164, 'OP1'), (165, 'OP2'), (166, "O5'"), (167, "C5'"), (168, "C4'"), (169, "O4'"), (170, "C3'"), (171, "O3'"), (172, "C2'"), (173, "C1'"), (174, 'N1'), (175, 'C2'), (176, 'O2'), (177, 'N3'), (178, 'C4'), (179, 'O4'), (180, 'C5'), (181, 'C7'), (182, 'C6')] Pre-insertion residue atoms: [(163, 'P'), (164, 'OP1'), (165, 'OP2'), (166, "O5'"), (167, "C5'"), (168, "C4'"), (169, "O4'"), (170, "C3'"), (171, "O3'"), (172, "C2'"), (173, "C1'")] Post-insertion residue atoms: [(163, 'P'), (164, 'OP1'), (165, 'OP2'), (166, "O5'"), (167, "C5'"), (168, "C4'"), (169, "O4'"), (170, "C3'"), (171, "O3'"), (172, "C2'"), (173, "C1'"), (174, 'N9'), (175, 'C8'), (176, 'N7'), (177, 'C5'), (178, 'C6'), (179, 'O6'), (180, 'N1'), (181, 'C2'), (182, 'N2'), (183, 'N3'), (184, 'C4')] Original trajectory shape: (1, 202, 3) xyz1 shape: (1, 174, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 19, 3) Concatenated shape: 204 Pre-deletion residue atoms : [(144, 'P'), (145, 'OP1'), (146, 'OP2'), (147, "O5'"), (148, "C5'"), (149, "C4'"), (150, "O4'"), (151, "C3'"), (152, "O3'"), (153, "C2'"), (154, "C1'"), (155, 'N1'), (156, 'C2'), (157, 'O2'), (158, 'N3'), (159, 'C4'), (160, 'N4'), (161, 'C5'), (162, 'C6')] Pre-insertion residue atoms: [(144, 'P'), (145, 'OP1'), (146, 'OP2'), (147, "O5'"), (148, "C5'"), (149, "C4'"), (150, "O4'"), (151, "C3'"), (152, "O3'"), (153, "C2'"), (154, "C1'")] Post-insertion residue atoms: [(144, 'P'), (145, 'OP1'), (146, 'OP2'), (147, "O5'"), (148, "C5'"), (149, "C4'"), (150, "O4'"), (151, "C3'"), (152, "O3'"), (153, "C2'"), (154, "C1'"), (155, 'N1'), (156, 'C2'), (157, 'O2'), (158, 'N3'), (159, 'C4'), (160, 'O4'), (161, 'C5'), (162, 'C7'), (163, 'C6')] Original trajectory shape: (1, 204, 3) xyz1 shape: (1, 155, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 41, 3) Concatenated shape: 205 GCACG saved as point_mutant_3.pdb hello Pre-deletion residue atoms : [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N9'), (53, 'C8'), (54, 'N7'), (55, 'C5'), (56, 'C6'), (57, 'N6'), (58, 'N1'), (59, 'C2'), (60, 'N3'), (61, 'C4')] Pre-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'")] Post-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N1'), (53, 'C2'), (54, 'O2'), (55, 'N3'), (56, 'C4'), (57, 'N4'), (58, 'C5'), (59, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 52, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 143, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'"), (153, 'N1'), (154, 'C2'), (155, 'O2'), (156, 'N3'), (157, 'C4'), (158, 'O4'), (159, 'C5'), (160, 'C7'), (161, 'C6')] Pre-insertion residue atoms: [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'")] Post-insertion residue atoms: [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'"), (153, 'N9'), (154, 'C8'), (155, 'N7'), (156, 'C5'), (157, 'C6'), (158, 'O6'), (159, 'N1'), (160, 'C2'), (161, 'N2'), (162, 'N3'), (163, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 153, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 41, 3) Concatenated shape: 205 GCCCG saved as point_mutant_4.pdb hello Pre-deletion residue atoms : [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N1'), (53, 'C2'), (54, 'O2'), (55, 'N3'), (56, 'C4'), (57, 'N4'), (58, 'C5'), (59, 'C6')] Pre-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'")] Post-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N9'), (53, 'C8'), (54, 'N7'), (55, 'C5'), (56, 'C6'), (57, 'O6'), (58, 'N1'), (59, 'C2'), (60, 'N2'), (61, 'N3'), (62, 'C4')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 52, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 145, 3) Concatenated shape: 208 Pre-deletion residue atoms : [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N1'), (75, 'C2'), (76, 'O2'), (77, 'N3'), (78, 'C4'), (79, 'N4'), (80, 'C5'), (81, 'C6')] Pre-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'")] Post-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N9'), (75, 'C8'), (76, 'N7'), (77, 'C5'), (78, 'C6'), (79, 'N6'), (80, 'N1'), (81, 'C2'), (82, 'N3'), (83, 'C4')] Original trajectory shape: (1, 208, 3) xyz1 shape: (1, 74, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 126, 3) Concatenated shape: 210 Pre-deletion residue atoms : [(147, 'P'), (148, 'OP1'), (149, 'OP2'), (150, "O5'"), (151, "C5'"), (152, "C4'"), (153, "O4'"), (154, "C3'"), (155, "O3'"), (156, "C2'"), (157, "C1'"), (158, 'N9'), (159, 'C8'), (160, 'N7'), (161, 'C5'), (162, 'C6'), (163, 'O6'), (164, 'N1'), (165, 'C2'), (166, 'N2'), (167, 'N3'), (168, 'C4')] Pre-insertion residue atoms: [(147, 'P'), (148, 'OP1'), (149, 'OP2'), (150, "O5'"), (151, "C5'"), (152, "C4'"), (153, "O4'"), (154, "C3'"), (155, "O3'"), (156, "C2'"), (157, "C1'")] Post-insertion residue atoms: [(147, 'P'), (148, 'OP1'), (149, 'OP2'), (150, "O5'"), (151, "C5'"), (152, "C4'"), (153, "O4'"), (154, "C3'"), (155, "O3'"), (156, "C2'"), (157, "C1'"), (158, 'N1'), (159, 'C2'), (160, 'O2'), (161, 'N3'), (162, 'C4'), (163, 'N4'), (164, 'C5'), (165, 'C6')] Original trajectory shape: (1, 210, 3) xyz1 shape: (1, 158, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 41, 3) Concatenated shape: 207 Pre-deletion residue atoms : [(125, 'P'), (126, 'OP1'), (127, 'OP2'), (128, "O5'"), (129, "C5'"), (130, "C4'"), (131, "O4'"), (132, "C3'"), (133, "O3'"), (134, "C2'"), (135, "C1'"), (136, 'N9'), (137, 'C8'), (138, 'N7'), (139, 'C5'), (140, 'C6'), (141, 'O6'), (142, 'N1'), (143, 'C2'), (144, 'N2'), (145, 'N3'), (146, 'C4')] Pre-insertion residue atoms: [(125, 'P'), (126, 'OP1'), (127, 'OP2'), (128, "O5'"), (129, "C5'"), (130, "C4'"), (131, "O4'"), (132, "C3'"), (133, "O3'"), (134, "C2'"), (135, "C1'")] Post-insertion residue atoms: [(125, 'P'), (126, 'OP1'), (127, 'OP2'), (128, "O5'"), (129, "C5'"), (130, "C4'"), (131, "O4'"), (132, "C3'"), (133, "O3'"), (134, "C2'"), (135, "C1'"), (136, 'N1'), (137, 'C2'), (138, 'O2'), (139, 'N3'), (140, 'C4'), (141, 'O4'), (142, 'C5'), (143, 'C7'), (144, 'C6')] Original trajectory shape: (1, 207, 3) xyz1 shape: (1, 136, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 60, 3) Concatenated shape: 205 GCGAG saved as point_mutant_5.pdb hello Pre-deletion residue atoms : [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N9'), (75, 'C8'), (76, 'N7'), (77, 'C5'), (78, 'C6'), (79, 'N6'), (80, 'N1'), (81, 'C2'), (82, 'N3'), (83, 'C4')] Pre-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'")] Post-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N1'), (75, 'C2'), (76, 'O2'), (77, 'N3'), (78, 'C4'), (79, 'N4'), (80, 'C5'), (81, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 74, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 121, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N9'), (94, 'C8'), (95, 'N7'), (96, 'C5'), (97, 'C6'), (98, 'O6'), (99, 'N1'), (100, 'C2'), (101, 'N2'), (102, 'N3'), (103, 'C4')] Pre-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'")] Post-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N9'), (94, 'C8'), (95, 'N7'), (96, 'C5'), (97, 'C6'), (98, 'N6'), (99, 'N1'), (100, 'C2'), (101, 'N3'), (102, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 93, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 99, 3) Concatenated shape: 202 Pre-deletion residue atoms : [(122, 'P'), (123, 'OP1'), (124, 'OP2'), (125, "O5'"), (126, "C5'"), (127, "C4'"), (128, "O4'"), (129, "C3'"), (130, "O3'"), (131, "C2'"), (132, "C1'"), (133, 'N1'), (134, 'C2'), (135, 'O2'), (136, 'N3'), (137, 'C4'), (138, 'O4'), (139, 'C5'), (140, 'C7'), (141, 'C6')] Pre-insertion residue atoms: [(122, 'P'), (123, 'OP1'), (124, 'OP2'), (125, "O5'"), (126, "C5'"), (127, "C4'"), (128, "O4'"), (129, "C3'"), (130, "O3'"), (131, "C2'"), (132, "C1'")] Post-insertion residue atoms: [(122, 'P'), (123, 'OP1'), (124, 'OP2'), (125, "O5'"), (126, "C5'"), (127, "C4'"), (128, "O4'"), (129, "C3'"), (130, "O3'"), (131, "C2'"), (132, "C1'"), (133, 'N9'), (134, 'C8'), (135, 'N7'), (136, 'C5'), (137, 'C6'), (138, 'O6'), (139, 'N1'), (140, 'C2'), (141, 'N2'), (142, 'N3'), (143, 'C4')] Original trajectory shape: (1, 202, 3) xyz1 shape: (1, 133, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 60, 3) Concatenated shape: 204 Pre-deletion residue atoms : [(103, 'P'), (104, 'OP1'), (105, 'OP2'), (106, "O5'"), (107, "C5'"), (108, "C4'"), (109, "O4'"), (110, "C3'"), (111, "O3'"), (112, "C2'"), (113, "C1'"), (114, 'N1'), (115, 'C2'), (116, 'O2'), (117, 'N3'), (118, 'C4'), (119, 'N4'), (120, 'C5'), (121, 'C6')] Pre-insertion residue atoms: [(103, 'P'), (104, 'OP1'), (105, 'OP2'), (106, "O5'"), (107, "C5'"), (108, "C4'"), (109, "O4'"), (110, "C3'"), (111, "O3'"), (112, "C2'"), (113, "C1'")] Post-insertion residue atoms: [(103, 'P'), (104, 'OP1'), (105, 'OP2'), (106, "O5'"), (107, "C5'"), (108, "C4'"), (109, "O4'"), (110, "C3'"), (111, "O3'"), (112, "C2'"), (113, "C1'"), (114, 'N1'), (115, 'C2'), (116, 'O2'), (117, 'N3'), (118, 'C4'), (119, 'O4'), (120, 'C5'), (121, 'C7'), (122, 'C6')] Original trajectory shape: (1, 204, 3) xyz1 shape: (1, 114, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 82, 3) Concatenated shape: 205 GCGCA saved as point_mutant_6.pdb hello Pre-deletion residue atoms : [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N9'), (94, 'C8'), (95, 'N7'), (96, 'C5'), (97, 'C6'), (98, 'N6'), (99, 'N1'), (100, 'C2'), (101, 'N3'), (102, 'C4')] Pre-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'")] Post-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N1'), (94, 'C2'), (95, 'O2'), (96, 'N3'), (97, 'C4'), (98, 'N4'), (99, 'C5'), (100, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 93, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 102, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(101, 'P'), (102, 'OP1'), (103, 'OP2'), (104, "O5'"), (105, "C5'"), (106, "C4'"), (107, "O4'"), (108, "C3'"), (109, "O3'"), (110, "C2'"), (111, "C1'"), (112, 'N1'), (113, 'C2'), (114, 'O2'), (115, 'N3'), (116, 'C4'), (117, 'O4'), (118, 'C5'), (119, 'C7'), (120, 'C6')] Pre-insertion residue atoms: [(101, 'P'), (102, 'OP1'), (103, 'OP2'), (104, "O5'"), (105, "C5'"), (106, "C4'"), (107, "O4'"), (108, "C3'"), (109, "O3'"), (110, "C2'"), (111, "C1'")] Post-insertion residue atoms: [(101, 'P'), (102, 'OP1'), (103, 'OP2'), (104, "O5'"), (105, "C5'"), (106, "C4'"), (107, "O4'"), (108, "C3'"), (109, "O3'"), (110, "C2'"), (111, "C1'"), (112, 'N9'), (113, 'C8'), (114, 'N7'), (115, 'C5'), (116, 'C6'), (117, 'O6'), (118, 'N1'), (119, 'C2'), (120, 'N2'), (121, 'N3'), (122, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 112, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 82, 3) Concatenated shape: 205 GCGCC saved as point_mutant_7.pdb hello Pre-deletion residue atoms : [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N1'), (94, 'C2'), (95, 'O2'), (96, 'N3'), (97, 'C4'), (98, 'N4'), (99, 'C5'), (100, 'C6')] Pre-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'")] Post-insertion residue atoms: [(82, 'P'), (83, 'OP1'), (84, 'OP2'), (85, "O5'"), (86, "C5'"), (87, "C4'"), (88, "O4'"), (89, "C3'"), (90, "O3'"), (91, "C2'"), (92, "C1'"), (93, 'N1'), (94, 'C2'), (95, 'O2'), (96, 'N3'), (97, 'C4'), (98, 'O4'), (99, 'C5'), (100, 'C7'), (101, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 93, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 104, 3) Concatenated shape: 206 Pre-deletion residue atoms : [(102, 'P'), (103, 'OP1'), (104, 'OP2'), (105, "O5'"), (106, "C5'"), (107, "C4'"), (108, "O4'"), (109, "C3'"), (110, "O3'"), (111, "C2'"), (112, "C1'"), (113, 'N9'), (114, 'C8'), (115, 'N7'), (116, 'C5'), (117, 'C6'), (118, 'O6'), (119, 'N1'), (120, 'C2'), (121, 'N2'), (122, 'N3'), (123, 'C4')] Pre-insertion residue atoms: [(102, 'P'), (103, 'OP1'), (104, 'OP2'), (105, "O5'"), (106, "C5'"), (107, "C4'"), (108, "O4'"), (109, "C3'"), (110, "O3'"), (111, "C2'"), (112, "C1'")] Post-insertion residue atoms: [(102, 'P'), (103, 'OP1'), (104, 'OP2'), (105, "O5'"), (106, "C5'"), (107, "C4'"), (108, "O4'"), (109, "C3'"), (110, "O3'"), (111, "C2'"), (112, "C1'"), (113, 'N9'), (114, 'C8'), (115, 'N7'), (116, 'C5'), (117, 'C6'), (118, 'N6'), (119, 'N1'), (120, 'C2'), (121, 'N3'), (122, 'C4')] Original trajectory shape: (1, 206, 3) xyz1 shape: (1, 113, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 82, 3) Concatenated shape: 205 GCGCT saved as point_mutant_8.pdb hello Pre-deletion residue atoms : [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N1'), (75, 'C2'), (76, 'O2'), (77, 'N3'), (78, 'C4'), (79, 'N4'), (80, 'C5'), (81, 'C6')] Pre-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'")] Post-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N9'), (75, 'C8'), (76, 'N7'), (77, 'C5'), (78, 'C6'), (79, 'O6'), (80, 'N1'), (81, 'C2'), (82, 'N2'), (83, 'N3'), (84, 'C4')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 74, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 123, 3) Concatenated shape: 208 Pre-deletion residue atoms : [(85, 'P'), (86, 'OP1'), (87, 'OP2'), (88, "O5'"), (89, "C5'"), (90, "C4'"), (91, "O4'"), (92, "C3'"), (93, "O3'"), (94, "C2'"), (95, "C1'"), (96, 'N1'), (97, 'C2'), (98, 'O2'), (99, 'N3'), (100, 'C4'), (101, 'O4'), (102, 'C5'), (103, 'C7'), (104, 'C6')] Pre-insertion residue atoms: [(85, 'P'), (86, 'OP1'), (87, 'OP2'), (88, "O5'"), (89, "C5'"), (90, "C4'"), (91, "O4'"), (92, "C3'"), (93, "O3'"), (94, "C2'"), (95, "C1'")] Post-insertion residue atoms: [(85, 'P'), (86, 'OP1'), (87, 'OP2'), (88, "O5'"), (89, "C5'"), (90, "C4'"), (91, "O4'"), (92, "C3'"), (93, "O3'"), (94, "C2'"), (95, "C1'"), (96, 'N9'), (97, 'C8'), (98, 'N7'), (99, 'C5'), (100, 'C6'), (101, 'O6'), (102, 'N1'), (103, 'C2'), (104, 'N2'), (105, 'N3'), (106, 'C4')] Original trajectory shape: (1, 208, 3) xyz1 shape: (1, 96, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 103, 3) Concatenated shape: 210 Pre-deletion residue atoms : [(128, 'P'), (129, 'OP1'), (130, 'OP2'), (131, "O5'"), (132, "C5'"), (133, "C4'"), (134, "O4'"), (135, "C3'"), (136, "O3'"), (137, "C2'"), (138, "C1'"), (139, 'N9'), (140, 'C8'), (141, 'N7'), (142, 'C5'), (143, 'C6'), (144, 'O6'), (145, 'N1'), (146, 'C2'), (147, 'N2'), (148, 'N3'), (149, 'C4')] Pre-insertion residue atoms: [(128, 'P'), (129, 'OP1'), (130, 'OP2'), (131, "O5'"), (132, "C5'"), (133, "C4'"), (134, "O4'"), (135, "C3'"), (136, "O3'"), (137, "C2'"), (138, "C1'")] Post-insertion residue atoms: [(128, 'P'), (129, 'OP1'), (130, 'OP2'), (131, "O5'"), (132, "C5'"), (133, "C4'"), (134, "O4'"), (135, "C3'"), (136, "O3'"), (137, "C2'"), (138, "C1'"), (139, 'N1'), (140, 'C2'), (141, 'O2'), (142, 'N3'), (143, 'C4'), (144, 'N4'), (145, 'C5'), (146, 'C6')] Original trajectory shape: (1, 210, 3) xyz1 shape: (1, 139, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 60, 3) Concatenated shape: 207 Pre-deletion residue atoms : [(107, 'P'), (108, 'OP1'), (109, 'OP2'), (110, "O5'"), (111, "C5'"), (112, "C4'"), (113, "O4'"), (114, "C3'"), (115, "O3'"), (116, "C2'"), (117, "C1'"), (118, 'N9'), (119, 'C8'), (120, 'N7'), (121, 'C5'), (122, 'C6'), (123, 'N6'), (124, 'N1'), (125, 'C2'), (126, 'N3'), (127, 'C4')] Pre-insertion residue atoms: [(107, 'P'), (108, 'OP1'), (109, 'OP2'), (110, "O5'"), (111, "C5'"), (112, "C4'"), (113, "O4'"), (114, "C3'"), (115, "O3'"), (116, "C2'"), (117, "C1'")] Post-insertion residue atoms: [(107, 'P'), (108, 'OP1'), (109, 'OP2'), (110, "O5'"), (111, "C5'"), (112, "C4'"), (113, "O4'"), (114, "C3'"), (115, "O3'"), (116, "C2'"), (117, "C1'"), (118, 'N1'), (119, 'C2'), (120, 'O2'), (121, 'N3'), (122, 'C4'), (123, 'N4'), (124, 'C5'), (125, 'C6')] Original trajectory shape: (1, 207, 3) xyz1 shape: (1, 118, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 79, 3) Concatenated shape: 205 GCGGG saved as point_mutant_9.pdb hello Pre-deletion residue atoms : [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N9'), (75, 'C8'), (76, 'N7'), (77, 'C5'), (78, 'C6'), (79, 'O6'), (80, 'N1'), (81, 'C2'), (82, 'N2'), (83, 'N3'), (84, 'C4')] Pre-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'")] Post-insertion residue atoms: [(63, 'P'), (64, 'OP1'), (65, 'OP2'), (66, "O5'"), (67, "C5'"), (68, "C4'"), (69, "O4'"), (70, "C3'"), (71, "O3'"), (72, "C2'"), (73, "C1'"), (74, 'N1'), (75, 'C2'), (76, 'O2'), (77, 'N3'), (78, 'C4'), (79, 'O4'), (80, 'C5'), (81, 'C7'), (82, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 74, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 120, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(124, 'P'), (125, 'OP1'), (126, 'OP2'), (127, "O5'"), (128, "C5'"), (129, "C4'"), (130, "O4'"), (131, "C3'"), (132, "O3'"), (133, "C2'"), (134, "C1'"), (135, 'N1'), (136, 'C2'), (137, 'O2'), (138, 'N3'), (139, 'C4'), (140, 'N4'), (141, 'C5'), (142, 'C6')] Pre-insertion residue atoms: [(124, 'P'), (125, 'OP1'), (126, 'OP2'), (127, "O5'"), (128, "C5'"), (129, "C4'"), (130, "O4'"), (131, "C3'"), (132, "O3'"), (133, "C2'"), (134, "C1'")] Post-insertion residue atoms: [(124, 'P'), (125, 'OP1'), (126, 'OP2'), (127, "O5'"), (128, "C5'"), (129, "C4'"), (130, "O4'"), (131, "C3'"), (132, "O3'"), (133, "C2'"), (134, "C1'"), (135, 'N9'), (136, 'C8'), (137, 'N7'), (138, 'C5'), (139, 'C6'), (140, 'N6'), (141, 'N1'), (142, 'C2'), (143, 'N3'), (144, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 135, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 60, 3) Concatenated shape: 205 GCGTG saved as point_mutant_10.pdb hello Pre-deletion residue atoms : [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N9'), (53, 'C8'), (54, 'N7'), (55, 'C5'), (56, 'C6'), (57, 'O6'), (58, 'N1'), (59, 'C2'), (60, 'N2'), (61, 'N3'), (62, 'C4')] Pre-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'")] Post-insertion residue atoms: [(41, 'P'), (42, 'OP1'), (43, 'OP2'), (44, "O5'"), (45, "C5'"), (46, "C4'"), (47, "O4'"), (48, "C3'"), (49, "O3'"), (50, "C2'"), (51, "C1'"), (52, 'N1'), (53, 'C2'), (54, 'O2'), (55, 'N3'), (56, 'C4'), (57, 'O4'), (58, 'C5'), (59, 'C7'), (60, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 52, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 142, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(61, 'P'), (62, 'OP1'), (63, 'OP2'), (64, "O5'"), (65, "C5'"), (66, "C4'"), (67, "O4'"), (68, "C3'"), (69, "O3'"), (70, "C2'"), (71, "C1'"), (72, 'N1'), (73, 'C2'), (74, 'O2'), (75, 'N3'), (76, 'C4'), (77, 'O4'), (78, 'C5'), (79, 'C7'), (80, 'C6')] Pre-insertion residue atoms: [(61, 'P'), (62, 'OP1'), (63, 'OP2'), (64, "O5'"), (65, "C5'"), (66, "C4'"), (67, "O4'"), (68, "C3'"), (69, "O3'"), (70, "C2'"), (71, "C1'")] Post-insertion residue atoms: [(61, 'P'), (62, 'OP1'), (63, 'OP2'), (64, "O5'"), (65, "C5'"), (66, "C4'"), (67, "O4'"), (68, "C3'"), (69, "O3'"), (70, "C2'"), (71, "C1'"), (72, 'N1'), (73, 'C2'), (74, 'O2'), (75, 'N3'), (76, 'C4'), (77, 'N4'), (78, 'C5'), (79, 'C6')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 72, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 122, 3) Concatenated shape: 202 Pre-deletion residue atoms : [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'"), (153, 'N1'), (154, 'C2'), (155, 'O2'), (156, 'N3'), (157, 'C4'), (158, 'N4'), (159, 'C5'), (160, 'C6')] Pre-insertion residue atoms: [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'")] Post-insertion residue atoms: [(142, 'P'), (143, 'OP1'), (144, 'OP2'), (145, "O5'"), (146, "C5'"), (147, "C4'"), (148, "O4'"), (149, "C3'"), (150, "O3'"), (151, "C2'"), (152, "C1'"), (153, 'N9'), (154, 'C8'), (155, 'N7'), (156, 'C5'), (157, 'C6'), (158, 'N6'), (159, 'N1'), (160, 'C2'), (161, 'N3'), (162, 'C4')] Original trajectory shape: (1, 202, 3) xyz1 shape: (1, 153, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 41, 3) Concatenated shape: 204 Pre-deletion residue atoms : [(121, 'P'), (122, 'OP1'), (123, 'OP2'), (124, "O5'"), (125, "C5'"), (126, "C4'"), (127, "O4'"), (128, "C3'"), (129, "O3'"), (130, "C2'"), (131, "C1'"), (132, 'N9'), (133, 'C8'), (134, 'N7'), (135, 'C5'), (136, 'C6'), (137, 'N6'), (138, 'N1'), (139, 'C2'), (140, 'N3'), (141, 'C4')] Pre-insertion residue atoms: [(121, 'P'), (122, 'OP1'), (123, 'OP2'), (124, "O5'"), (125, "C5'"), (126, "C4'"), (127, "O4'"), (128, "C3'"), (129, "O3'"), (130, "C2'"), (131, "C1'")] Post-insertion residue atoms: [(121, 'P'), (122, 'OP1'), (123, 'OP2'), (124, "O5'"), (125, "C5'"), (126, "C4'"), (127, "O4'"), (128, "C3'"), (129, "O3'"), (130, "C2'"), (131, "C1'"), (132, 'N9'), (133, 'C8'), (134, 'N7'), (135, 'C5'), (136, 'C6'), (137, 'O6'), (138, 'N1'), (139, 'C2'), (140, 'N2'), (141, 'N3'), (142, 'C4')] Original trajectory shape: (1, 204, 3) xyz1 shape: (1, 132, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 62, 3) Concatenated shape: 205 GCTCG saved as point_mutant_11.pdb hello Pre-deletion residue atoms : [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N1'), (34, 'C2'), (35, 'O2'), (36, 'N3'), (37, 'C4'), (38, 'N4'), (39, 'C5'), (40, 'C6')] Pre-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'")] Post-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N9'), (34, 'C8'), (35, 'N7'), (36, 'C5'), (37, 'C6'), (38, 'O6'), (39, 'N1'), (40, 'C2'), (41, 'N2'), (42, 'N3'), (43, 'C4')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 33, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 164, 3) Concatenated shape: 208 Pre-deletion residue atoms : [(44, 'P'), (45, 'OP1'), (46, 'OP2'), (47, "O5'"), (48, "C5'"), (49, "C4'"), (50, "O4'"), (51, "C3'"), (52, "O3'"), (53, "C2'"), (54, "C1'"), (55, 'N1'), (56, 'C2'), (57, 'O2'), (58, 'N3'), (59, 'C4'), (60, 'O4'), (61, 'C5'), (62, 'C7'), (63, 'C6')] Pre-insertion residue atoms: [(44, 'P'), (45, 'OP1'), (46, 'OP2'), (47, "O5'"), (48, "C5'"), (49, "C4'"), (50, "O4'"), (51, "C3'"), (52, "O3'"), (53, "C2'"), (54, "C1'")] Post-insertion residue atoms: [(44, 'P'), (45, 'OP1'), (46, 'OP2'), (47, "O5'"), (48, "C5'"), (49, "C4'"), (50, "O4'"), (51, "C3'"), (52, "O3'"), (53, "C2'"), (54, "C1'"), (55, 'N9'), (56, 'C8'), (57, 'N7'), (58, 'C5'), (59, 'C6'), (60, 'O6'), (61, 'N1'), (62, 'C2'), (63, 'N2'), (64, 'N3'), (65, 'C4')] Original trajectory shape: (1, 208, 3) xyz1 shape: (1, 55, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 144, 3) Concatenated shape: 210 Pre-deletion residue atoms : [(169, 'P'), (170, 'OP1'), (171, 'OP2'), (172, "O5'"), (173, "C5'"), (174, "C4'"), (175, "O4'"), (176, "C3'"), (177, "O3'"), (178, "C2'"), (179, "C1'"), (180, 'N9'), (181, 'C8'), (182, 'N7'), (183, 'C5'), (184, 'C6'), (185, 'O6'), (186, 'N1'), (187, 'C2'), (188, 'N2'), (189, 'N3'), (190, 'C4')] Pre-insertion residue atoms: [(169, 'P'), (170, 'OP1'), (171, 'OP2'), (172, "O5'"), (173, "C5'"), (174, "C4'"), (175, "O4'"), (176, "C3'"), (177, "O3'"), (178, "C2'"), (179, "C1'")] Post-insertion residue atoms: [(169, 'P'), (170, 'OP1'), (171, 'OP2'), (172, "O5'"), (173, "C5'"), (174, "C4'"), (175, "O4'"), (176, "C3'"), (177, "O3'"), (178, "C2'"), (179, "C1'"), (180, 'N1'), (181, 'C2'), (182, 'O2'), (183, 'N3'), (184, 'C4'), (185, 'N4'), (186, 'C5'), (187, 'C6')] Original trajectory shape: (1, 210, 3) xyz1 shape: (1, 180, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 19, 3) Concatenated shape: 207 Pre-deletion residue atoms : [(148, 'P'), (149, 'OP1'), (150, 'OP2'), (151, "O5'"), (152, "C5'"), (153, "C4'"), (154, "O4'"), (155, "C3'"), (156, "O3'"), (157, "C2'"), (158, "C1'"), (159, 'N9'), (160, 'C8'), (161, 'N7'), (162, 'C5'), (163, 'C6'), (164, 'N6'), (165, 'N1'), (166, 'C2'), (167, 'N3'), (168, 'C4')] Pre-insertion residue atoms: [(148, 'P'), (149, 'OP1'), (150, 'OP2'), (151, "O5'"), (152, "C5'"), (153, "C4'"), (154, "O4'"), (155, "C3'"), (156, "O3'"), (157, "C2'"), (158, "C1'")] Post-insertion residue atoms: [(148, 'P'), (149, 'OP1'), (150, 'OP2'), (151, "O5'"), (152, "C5'"), (153, "C4'"), (154, "O4'"), (155, "C3'"), (156, "O3'"), (157, "C2'"), (158, "C1'"), (159, 'N1'), (160, 'C2'), (161, 'O2'), (162, 'N3'), (163, 'C4'), (164, 'N4'), (165, 'C5'), (166, 'C6')] Original trajectory shape: (1, 207, 3) xyz1 shape: (1, 159, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 38, 3) Concatenated shape: 205 GGGCG saved as point_mutant_12.pdb hello Pre-deletion residue atoms : [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N9'), (34, 'C8'), (35, 'N7'), (36, 'C5'), (37, 'C6'), (38, 'O6'), (39, 'N1'), (40, 'C2'), (41, 'N2'), (42, 'N3'), (43, 'C4')] Pre-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'")] Post-insertion residue atoms: [(22, 'P'), (23, 'OP1'), (24, 'OP2'), (25, "O5'"), (26, "C5'"), (27, "C4'"), (28, "O4'"), (29, "C3'"), (30, "O3'"), (31, "C2'"), (32, "C1'"), (33, 'N1'), (34, 'C2'), (35, 'O2'), (36, 'N3'), (37, 'C4'), (38, 'O4'), (39, 'C5'), (40, 'C7'), (41, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 33, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 161, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(165, 'P'), (166, 'OP1'), (167, 'OP2'), (168, "O5'"), (169, "C5'"), (170, "C4'"), (171, "O4'"), (172, "C3'"), (173, "O3'"), (174, "C2'"), (175, "C1'"), (176, 'N1'), (177, 'C2'), (178, 'O2'), (179, 'N3'), (180, 'C4'), (181, 'N4'), (182, 'C5'), (183, 'C6')] Pre-insertion residue atoms: [(165, 'P'), (166, 'OP1'), (167, 'OP2'), (168, "O5'"), (169, "C5'"), (170, "C4'"), (171, "O4'"), (172, "C3'"), (173, "O3'"), (174, "C2'"), (175, "C1'")] Post-insertion residue atoms: [(165, 'P'), (166, 'OP1'), (167, 'OP2'), (168, "O5'"), (169, "C5'"), (170, "C4'"), (171, "O4'"), (172, "C3'"), (173, "O3'"), (174, "C2'"), (175, "C1'"), (176, 'N9'), (177, 'C8'), (178, 'N7'), (179, 'C5'), (180, 'C6'), (181, 'N6'), (182, 'N1'), (183, 'C2'), (184, 'N3'), (185, 'C4')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 176, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 19, 3) Concatenated shape: 205 GTGCG saved as point_mutant_13.pdb hello Pre-deletion residue atoms : [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N9'), (12, 'C8'), (13, 'N7'), (14, 'C5'), (15, 'C6'), (16, 'O6'), (17, 'N1'), (18, 'C2'), (19, 'N2'), (20, 'N3'), (21, 'C4')] Pre-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'")] Post-insertion residue atoms: [(0, 'P'), (1, 'OP1'), (2, 'OP2'), (3, "O5'"), (4, "C5'"), (5, "C4'"), (6, "O4'"), (7, "C3'"), (8, "O3'"), (9, "C2'"), (10, "C1'"), (11, 'N1'), (12, 'C2'), (13, 'O2'), (14, 'N3'), (15, 'C4'), (16, 'O4'), (17, 'C5'), (18, 'C7'), (19, 'C6')] Original trajectory shape: (1, 205, 3) xyz1 shape: (1, 11, 3) new_xyz shape: (1, 9, 3) xyz2 shape: (1, 183, 3) Concatenated shape: 203 Pre-deletion residue atoms : [(20, 'P'), (21, 'OP1'), (22, 'OP2'), (23, "O5'"), (24, "C5'"), (25, "C4'"), (26, "O4'"), (27, "C3'"), (28, "O3'"), (29, "C2'"), (30, "C1'"), (31, 'N1'), (32, 'C2'), (33, 'O2'), (34, 'N3'), (35, 'C4'), (36, 'O4'), (37, 'C5'), (38, 'C7'), (39, 'C6')] Pre-insertion residue atoms: [(20, 'P'), (21, 'OP1'), (22, 'OP2'), (23, "O5'"), (24, "C5'"), (25, "C4'"), (26, "O4'"), (27, "C3'"), (28, "O3'"), (29, "C2'"), (30, "C1'")] Post-insertion residue atoms: [(20, 'P'), (21, 'OP1'), (22, 'OP2'), (23, "O5'"), (24, "C5'"), (25, "C4'"), (26, "O4'"), (27, "C3'"), (28, "O3'"), (29, "C2'"), (30, "C1'"), (31, 'N1'), (32, 'C2'), (33, 'O2'), (34, 'N3'), (35, 'C4'), (36, 'N4'), (37, 'C5'), (38, 'C6')] Original trajectory shape: (1, 203, 3) xyz1 shape: (1, 31, 3) new_xyz shape: (1, 8, 3) xyz2 shape: (1, 163, 3) Concatenated shape: 202 Pre-deletion residue atoms : [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'"), (194, 'N1'), (195, 'C2'), (196, 'O2'), (197, 'N3'), (198, 'C4'), (199, 'N4'), (200, 'C5'), (201, 'C6')] Pre-insertion residue atoms: [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'")] Post-insertion residue atoms: [(183, 'P'), (184, 'OP1'), (185, 'OP2'), (186, "O5'"), (187, "C5'"), (188, "C4'"), (189, "O4'"), (190, "C3'"), (191, "O3'"), (192, "C2'"), (193, "C1'"), (195, 'N9'), (197, 'C8'), (199, 'N7'), (201, 'C5'), (203, 'C6'), (205, 'N6'), (207, 'N1'), (209, 'C2'), (211, 'N3'), (213, 'C4')] Original trajectory shape: (1, 202, 3) xyz1 shape: (1, 194, 3) new_xyz shape: (1, 10, 3) xyz2 shape: (1, 0, 3) Concatenated shape: 204 Pre-deletion residue atoms : [(162, 'P'), (163, 'OP1'), (164, 'OP2'), (165, "O5'"), (166, "C5'"), (167, "C4'"), (168, "O4'"), (169, "C3'"), (170, "O3'"), (171, "C2'"), (172, "C1'"), (173, 'N9'), (174, 'C8'), (175, 'N7'), (176, 'C5'), (177, 'C6'), (178, 'N6'), (179, 'N1'), (180, 'C2'), (181, 'N3'), (182, 'C4')] Pre-insertion residue atoms: [(162, 'P'), (163, 'OP1'), (164, 'OP2'), (165, "O5'"), (166, "C5'"), (167, "C4'"), (168, "O4'"), (169, "C3'"), (170, "O3'"), (171, "C2'"), (172, "C1'")] Post-insertion residue atoms: [(162, 'P'), (163, 'OP1'), (164, 'OP2'), (165, "O5'"), (166, "C5'"), (167, "C4'"), (168, "O4'"), (169, "C3'"), (170, "O3'"), (171, "C2'"), (172, "C1'"), (173, 'N9'), (174, 'C8'), (175, 'N7'), (176, 'C5'), (177, 'C6'), (178, 'O6'), (179, 'N1'), (180, 'C2'), (181, 'N2'), (182, 'N3'), (183, 'C4')] Original trajectory shape: (1, 204, 3) xyz1 shape: (1, 173, 3) new_xyz shape: (1, 11, 3) xyz2 shape: (1, 21, 3) Concatenated shape: 205 TCGCG saved as point_mutant_14.pdb