diff --git a/frustratometer/classes/AWSEM.py b/frustratometer/classes/AWSEM.py index 770f4ad..0317dd0 100644 --- a/frustratometer/classes/AWSEM.py +++ b/frustratometer/classes/AWSEM.py @@ -13,6 +13,7 @@ class AWSEMParameters(BaseModel): model_config = ConfigDict(extra='ignore', arbitrary_types_allowed=True) """Default parameters for AWSEM energy calculations.""" k_contact: float = Field(4.184, description="Coefficient for contact potential. (kJ/mol)") + k_burial: float = Field(4.184, description="Coefficient for burial potential. Usually the same as for contact. (kJ/mol)") #Density eta: float = Field(5.0, description="Sharpness of the distance-based switching function (Angstrom^-1).") @@ -25,18 +26,20 @@ class AWSEMParameters(BaseModel): burial_ro_min: List[float] = Field([0.0, 3.0, 6.0], description="Minimum radii for burial potential wells. (Angstrom)") burial_ro_max: List[float] = Field([3.0, 6.0, 9.0], description="Maximum radii for burial potential wells. (Angstrom)") - #Direct contacts - min_sequence_separation_contact: Optional[int] = Field(0, description="Minimum sequence separation for contact calculation.") + # parameters governing all contacts + gamma: Union[Path,Gamma] = Field(_path/'data'/'AWSEM_2015.json', description="File or Gamma object containing the Gamma values") distance_cutoff_contact: Optional[float] = Field(9.5, description="Distance cutoff for contact calculation. (Angstrom)") + min_contact_distance: Optional[float] = Field(3.5, description = "Minimum distance for contact to be considered in frustration matrix and tcl script") + min_sequence_separation_contact: Optional[int] = Field(0, description="Minimum sequence separation for contact calculation.") + + #Direct contacts r_min: float = Field(4.5, description="Minimum distance for direct contact potential. (Angstrom)") r_max: float = Field(6.5, description="Maximum distance for direct contact potential. (Angstrom)") - #Mediated contacts - gamma: Union[Path,Gamma] = Field(_path/'data'/'AWSEM_2015.json', description="File or Gamma object containing the Gamma values") + #Long-range (water- or protein-mediated contacts) r_minII: float = Field(6.5, description="Minimum distance for mediated contact potential. (Angstrom)") r_maxII: float = Field(9.5, description="Maximum distance for mediated contact potential. (Angstrom)") eta_sigma: float = Field(7.0, description="Sharpness of the density-based switching function between protein-mediated and water-mediated contacts.") - #Membrane membrane_gamma: Union[Path,Gamma] = Field(_path/'data'/'AWSEM_membrane_2015.json', description="File or Gamma object containing the membrane Gamma values (for membrane proteins)") @@ -57,6 +60,8 @@ def __init__(self, pdb_structure: object, sequence: str =None, expose_indicator_functions: bool=False, + stats_by_chain: bool=False, + amyloid_rho2: bool=False, **parameters)->object: """ Generate AWSEM object @@ -69,14 +74,26 @@ def __init__(self, The amino acid sequence of the protein. The sequence is assumed to be in one-letter code. expose_indicator_functions: bool If set to True, indicator functions of the contact and burial energy terms can be accessed by user. + stats_by_chain: bool + If set to True, aa_freq, distance distributions, and local density distributions will be + calculated separately for each chain, potentially resulting in a different misfolded mean and variance + for each chains + amyloid_rho2: bool + If True, add 2 to each local density in self.rho_r to approximate the effects of a fibril above and below it Returns ------- AWSEM object """ - + + self.amyloid_rho2 = amyloid_rho2 + #Set attributes p = AWSEMParameters(**parameters) + ############################################################ + # probably should delete this once the min contact distance is integrated into the compute_mask function + self.min_contact_distance = p.min_contact_distance + ############################################################ if p.min_sequence_separation_contact is None: p.min_sequence_separation_contact = 1 if p.min_sequence_separation_rho is None: @@ -109,17 +126,25 @@ def __init__(self, else: self.sequence=sequence self.structure=pdb_structure.structure - self.chain=pdb_structure.chain + self.chain=pdb_structure.chain # unless we further edit the Structure class, this will be a string like "AB" or "A B" + if type(self.chain) == str: # going forward, it's easiest if we convert this string into a list like ["A","B"] + self.chain = [id for id in self.chain if id != " "] + self.stats_by_chain = stats_by_chain + if self.stats_by_chain and self.burial_in_context: + raise NotImplementedError("burial in context not yet supported for chainwise mean and variance calculations") + self.start_mask = pdb_structure.start_mask # list equal to the length of the protein where each index that is the same + # as a chain start index is 1, and all other indices are 0 self.pdb_file=pdb_structure.pdb_file self.init_index_shift=pdb_structure.init_index_shift self.distance_matrix=pdb_structure.distance_matrix + self.midpoint_matrix = pdb_structure.midpoint_matrix self.full_pdb_distance_matrix=pdb_structure.full_pdb_distance_matrix selection_CB = self.structure.select('name CB or (resname GLY IGL and name CA)') resid = selection_CB.getResindices() self.resid=resid self.N=len(self.resid) - assert self.N == len(self.sequence), "The pdb is incomplete. Try setting 'repair_pdb=True' when constructing the Structure object." + assert self.N == len(self.sequence), f"N: {self.N}, resids: {self.resid}\nlen(self.sequence):{len(self.sequence)},{self.sequence}\nThe pdb is incomplete. Try setting 'repair_pdb=True' when constructing the Structure object.\n{selection_CB.getResnames()}" if self.burial_in_context==True: selected_matrix=self.full_pdb_distance_matrix @@ -127,10 +152,12 @@ def __init__(self, selected_matrix=self.distance_matrix sequence_mask_rho = frustration.compute_mask(selected_matrix, maximum_contact_distance=None, - minimum_sequence_separation = p.min_sequence_separation_rho) + minimum_sequence_separation = p.min_sequence_separation_rho, + start_mask = self.start_mask) sequence_mask_contact = frustration.compute_mask(self.distance_matrix, maximum_contact_distance=p.distance_cutoff_contact, - minimum_sequence_separation = p.min_sequence_separation_contact) + minimum_sequence_separation = p.min_sequence_separation_contact, + start_mask = self.start_mask) self._decoy_fluctuation = {} self.minimally_frustrated_threshold=.78 @@ -142,8 +169,11 @@ def __init__(self, rho *= sequence_mask_rho self.rho=rho - #Calculate sigma water - rho_r = (rho).sum(axis=1) + #Calculate sigma water and sigma_protein + if self.amyloid_rho2: + rho_r = (rho).sum(axis=1) + 2 + else: + rho_r = (rho).sum(axis=1) if self.full_pdb_distance_matrix.shape!=self.distance_matrix.shape: if self.burial_in_context==True: self.init_index_shift=pdb_structure.init_index_shift @@ -156,6 +186,9 @@ def __init__(self, sigma_water = 0.25 * (1 - np.tanh(p.eta_sigma * (rho1 - p.rho_0))) * (1 - np.tanh(p.eta_sigma * (rho2 - p.rho_0))) sigma_protein = 1 - sigma_water + # use our calculated sigma_water and sigma_protein to classify pairs as direct, protein, water, or orphan (e.g., 3.5-4.5) + self.compute_config_indices(sigma_water,sigma_protein) + #Calculate theta and indicators theta = 0.25 * (1 + np.tanh(p.eta * (self.distance_matrix - p.r_min))) * (1 + np.tanh(p.eta * (p.r_max - self.distance_matrix))) thetaII = 0.25 * (1 + np.tanh(p.eta * (self.distance_matrix - p.r_minII))) * (1 + np.tanh(p.eta * (p.r_maxII - self.distance_matrix))) @@ -177,7 +210,7 @@ def __init__(self, self.gamma_array=[] temp_burial_gamma=self.burial_gamma[self.aa_map_awsem_list] temp_burial_gamma[0]=0 - temp_burial_gamma *= -0.5 * p.k_contact + temp_burial_gamma *= -0.5 * p.k_burial self.gamma_array.append(temp_burial_gamma[:,0]) self.gamma_array.append(temp_burial_gamma[:,1]) self.gamma_array.append(temp_burial_gamma[:,2]) @@ -199,7 +232,7 @@ def __init__(self, h_index = np.meshgrid(range(self.N), range(self.q), indexing='ij', sparse=False) #Burial energy - burial_energy = 0.5 * p.k_contact * self.burial_gamma[h_index[1]] * burial_indicator[:, np.newaxis, :] + burial_energy = 0.5 * p.k_burial * self.burial_gamma[h_index[1]] * burial_indicator[:, np.newaxis, :] self.burial_energy = burial_energy #Contact energy @@ -214,7 +247,7 @@ def __init__(self, self.distance_cutoff=None - electrostatics_mask = frustration.compute_mask(self.distance_matrix, maximum_contact_distance=None, minimum_sequence_separation=p.min_sequence_separation_electrostatics) + electrostatics_mask = frustration.compute_mask(self.distance_matrix, maximum_contact_distance=None, minimum_sequence_separation=p.min_sequence_separation_electrostatics, start_mask=self.start_mask) # ['A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V'] charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) charges2 = charges[:,np.newaxis]*charges[np.newaxis,:] @@ -232,13 +265,38 @@ def __init__(self, else: self.sequence_cutoff=p.min_sequence_separation_contact self.distance_cutoff=p.distance_cutoff_contact - self.mask = frustration.compute_mask(self.distance_matrix, maximum_contact_distance=self.distance_cutoff, minimum_sequence_separation = self.sequence_cutoff) + self.mask = frustration.compute_mask(self.distance_matrix, maximum_contact_distance=self.distance_cutoff, minimum_sequence_separation = self.sequence_cutoff, start_mask=self.start_mask) self.contact_energy = contact_energy # Compute fast properties - self.aa_freq = frustration.compute_aa_freq(self.sequence) - self.contact_freq = frustration.compute_contact_freq(self.sequence) + if self.stats_by_chain: + aa_freq, aa_freq_by_chain = frustration.compute_aa_freq(self.sequence, + segment_aa_freq=self.stats_by_chain,start_mask=self.start_mask,new_AA="-ARNDCQEGHILKMFPSTWYV") + aa_freq = aa_freq[1:] # cut off gap frequency + aa_freq_by_chain = [chain_aa_freq[1:] for chain_aa_freq in aa_freq_by_chain] # cut off gap frequency + self.aa_freq = aa_freq + self.aa_freq_by_chain = aa_freq_by_chain + contact_freq, contact_freq_by_chain = frustration.compute_contact_freq(self.sequence, + segment_aa_freq=self.stats_by_chain,start_mask=self.start_mask,new_AA="-ARNDCQEGHILKMFPSTWYV") + contact_freq = contact_freq[1:,1:] # cut off gap frequency + contact_freq_by_chain = [chain_contact_freq[1:,1:] for chain_contact_freq in contact_freq_by_chain] # cut off gap frequency + self.contact_freq = contact_freq + self.contact_freq_by_chain = contact_freq_by_chain + #print(self.aa_freq_by_chain) + #print(self.contact_freq_by_chain) + #print(self.sequence) + #print(len(self.sequence)) + #print(self.start_mask) + #exit() + else: + self.aa_freq = frustration.compute_aa_freq(self.sequence, + segment_aa_freq=self.stats_by_chain,start_mask=self.start_mask) + self.contact_freq = frustration.compute_contact_freq(self.sequence, + segment_aa_freq=self.stats_by_chain,start_mask=self.start_mask) + self.aa_freq_by_chain = None + self.contact_freq_by_chain = None + self.potts_model = {} self.potts_model['h'] = burial_energy.sum(axis=-1)[:, self.aa_map_awsem_list] self.potts_model['J'] = contact_energy.sum(axis=0)[:, :, self.aa_map_awsem_x, self.aa_map_awsem_y] @@ -249,99 +307,422 @@ def __init__(self, self.potts_model['J'][:, :, :, 0] = 0 self._native_energy=None + def compute_config_indices(self,sigma_water,sigma_protein): + # check input + if self.distance_cutoff_contact == None: + upper_limit = np.inf + else: + upper_limit = self.distance_cutoff_contact + # record pairs (i,j) corresponding to direct, water mediated, and protein mediated interactions + # assuming with our selections that the user hasn't done something silly + # like setting self.distance_cutoff_contact to something less than 9.5 + # or setting self.min_contact_distance to something greater than 4.5 + assert self.distance_matrix.shape[0] == self.distance_matrix.shape[1], f"self.distance_matrix (shape {self.distance_matrix.shape}) not square!" + n = self.distance_matrix.shape[0] + assert np.all(self.distance_matrix==self.distance_matrix.T), "self.distance_matrix was not symmetric!" + assert np.all(self.distance_matrix[np.diag_indices(n)] == 0), "main diagonal of self.distance_matrix has nonzero element(s)!" + tri_upper_indices = np.triu_indices(n, k=1) # k=1 excludes the main diagonal, which represents self-distances + valid_pairs = (self.distance_matrix[tri_upper_indices] < upper_limit)\ + & (self.distance_matrix[tri_upper_indices] > self.min_contact_distance) + valid_pairs_direct = (self.distance_matrix[tri_upper_indices] < 6.5)\ + & (self.distance_matrix[tri_upper_indices] >= 4.5) + valid_pairs_long = (self.distance_matrix[tri_upper_indices] <= 9.5)\ + & (self.distance_matrix[tri_upper_indices] >= 6.5) + valid_pairs_orphan = (self.distance_matrix[tri_upper_indices] < 4.5)\ + & (self.distance_matrix[tri_upper_indices] > self.min_contact_distance) + # finally, select pairs whose frustration indices are considered but do not fall into short or long-range interactions + valid_pairs_orphan_long = (self.distance_matrix[tri_upper_indices] > 9.5)\ + & (self.distance_matrix[tri_upper_indices] < upper_limit) + # finally, select pairs whose frustration indices are considered but do not fall into short or long-range interactions + indices1,indices2 = (tri_upper_indices[0][valid_pairs], tri_upper_indices[1][valid_pairs]) + direct_indices1,direct_indices2 = (tri_upper_indices[0][valid_pairs_direct], tri_upper_indices[1][valid_pairs_direct]) + long_indices1, long_indices2 = (tri_upper_indices[0][valid_pairs_long], tri_upper_indices[1][valid_pairs_long]) + orphan_indices1, orphan_indices2 = (tri_upper_indices[0][valid_pairs_orphan], tri_upper_indices[1][valid_pairs_orphan]) + orphan_long_indices1, orphan_long_indices2 = (tri_upper_indices[0][valid_pairs_orphan_long], tri_upper_indices[1][valid_pairs_orphan_long]) + wat_indices1 = [] + wat_indices2 = [] + prot_indices1 = [] + prot_indices2 = [] + for pair in zip(long_indices1,long_indices2): + if sigma_water[pair] > sigma_protein[pair]: + wat_indices1.append(pair[0]) + wat_indices2.append(pair[1]) + else: + prot_indices1.append(pair[0]) + prot_indices2.append(pair[1]) + self.config_indices1 = indices1 + self.config_indices2 = indices2 + self.config_direct_indices1 = direct_indices1 + self.config_direct_indices2 = direct_indices2 + self.config_wat_indices1 = wat_indices1 + self.config_wat_indices2 = wat_indices2 + self.config_prot_indices1 = prot_indices1 + self.config_prot_indices2 = prot_indices2 + self.config_orphan_indices1 = orphan_indices1 + self.config_orphan_indices2 = orphan_indices2 + self.config_orphan_long_indices1 = orphan_long_indices1 + self.config_orphan_long_indices2 = orphan_long_indices2 + def compute_configurational_decoy_statistics(self, n_decoys=4000,aa_freq=None): # ['A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V'] _AA='ARNDCQEGHILKMFPSTWYV' if aa_freq is None: - seq_index = np.array([_AA.find(aa) for aa in self.sequence]) - N=self.N + if self.stats_by_chain: + N = self.N * 10 # see note below + aa_freq = np.array(self.aa_freq_by_chain) + probabilities = [aa_freq[i,:] / np.sum(aa_freq[i,:]) for i in range(aa_freq.shape[0])] + #print(probabilities) + try: + seq_index = [np.random.choice(a=aa_freq.shape[1], size=N, p=probabilities[i]) for i in range(aa_freq.shape[0])] + except ValueError: + print("stats_by_chain seq_index issue") + #import pdb; pdb.set_trace() + raise + # note there is no need to break seq_index into segments with sizes proportional to the length of the chain + # in other words, it is fine if seq_index is "too big" + # segment splitting aside, we have actually already made N "too big" by setting N=self.N*10 (see note below) + #raise ValueError("Segment-wise statistics calculation requested but no start_mask was given") + else: # assume we don't want to do different statistics for different subsegments + seq_index = [np.array([_AA.find(aa) for aa in self.sequence])] # replace with seq_index = np.array(self.aa_freq)? + N=self.N else: - N=self.N*10 - total = sum(aa_freq) - probabilities = [freq / total for freq in aa_freq.ravel()] - seq_index = np.random.choice(a=len(aa_freq), size=N, p=probabilities) + N=self.N*10 # i think we multiply by 10 because we're concerned about seq_index possibly being a bad + # representation of the sequence by bad luck with our np.random.choice + # but if this is an issue, why not just call np.random.choice with size=1 on the probabilities + # each time we a random identity? I guess it is kind of slow + aa_freq = np.array(aa_freq) # axis 0: each subsegment (if requested, otherwise length is 1) + # axis 1: amino acid type + probabilities = [aa_freq[i,:] / np.sum(aa_freq[i,:]) for i in range(aa_freq.shape[0])] + seq_index = [np.random.choice(a=aa_freq.shape[1], size=N, p=probabilities[i]) for i in range(aa_freq.shape[0])] # see note above on splitting N + rho_b = np.expand_dims(self.rho_r, 1) #(n,1) + rho1 = np.expand_dims(self.rho_r, 0) #(1,n) + rho2 = np.expand_dims(self.rho_r, 1) #(n,1) + sigma_water = 0.25 * (1 - np.tanh(self.eta_sigma * (rho1 - self.rho_0))) * (1 - np.tanh(self.eta_sigma * (rho2 - self.rho_0))) #(n,n) + #sigma_protein = 1 - sigma_water #(n,n) we'll calculated this later + charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) # for electrostatics distances = np.triu(self.distance_matrix) - distances = distances[(distances0)] + if self.stats_by_chain: + # order by segment + # the goal is for this function to work for segmented and unsegmented aa_freq/distance/rho distributions + # (an unsegmented one is equivalent to a segmented one of length N) + distances, sigma_water, sigma_protein, burial_indicator = self.chain_split(distances, sigma_water,rho_b) + #Calculate other indicators, broken down by segment + theta = [] # (num_segments,num_distances) note num_distances is probably much greater than number of residues in the segment + thetaII = [] # (num_segments,num_distances) note num_distances is probably much greater than number of residues in the segment + electrostatics_indicator = [] # (num_segments,num_distances) note num_distances is probably much greater than number of residues in the segment + for counter in range(len(distances)): + theta.append(0.25 * (1 + np.tanh(self.eta * (distances[counter] - self.r_min))) * (1 + np.tanh(self.eta * (self.r_max - distances[counter])))) + thetaII.append(0.25 * (1 + np.tanh(self.eta * (distances[counter] - self.r_minII))) * (1 + np.tanh(self.eta * (self.r_maxII - distances[counter])))) + electrostatics_indicator.append(np.exp(-distances[counter] / self.electrostatics_screening_length) / distances[counter]) + else: + # compute indicator functions and enclose everything in a list so that we can use the same syntax + # for segmented and unsegmented (meaning one segment for the entire system) systems + distances = [distances[(distances0)]] + sigma_protein = 1 - sigma_water + sigma_water = [sigma_water] + sigma_protein = [sigma_protein] + burial_indicator = [np.tanh(self.burial_kappa * (rho_b - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b))] + theta = [0.25 * (1 + np.tanh(self.eta * (distances[0] - self.r_min))) * (1 + np.tanh(self.eta * (self.r_max - distances[0])))] + thetaII = [0.25 * (1 + np.tanh(self.eta * (distances[0] - self.r_minII))) * (1 + np.tanh(self.eta * (self.r_maxII - distances[0])))] + electrostatics_indicator = [np.exp(-distances[0] / self.electrostatics_screening_length) / distances[0]] + + decoy_energies=np.zeros((self.N,n_decoys)) # shape is (num_residues, num_decoys_per_segment) + seg_start_res_idx = 0 # track start index of the current residue + for segment_index in range(len(distances)): + segment_distances = distances[segment_index] + segment_theta = theta[segment_index] + segment_thetaII = thetaII[segment_index] + segment_burial_indicator = burial_indicator[segment_index] + segment_sigma_water = sigma_water[segment_index] + segment_sigma_protein = sigma_protein[segment_index] + segment_electrostatics_indicator = electrostatics_indicator[segment_index] + #print(f"printing: segment_electrostatics") + #print(segment_electrostatics_indicator) + #print(f"printing: segment distances") + #print(segment_distances) + assert segment_burial_indicator.shape[1] == 3, segment_burial_indicator.shape + assert len(segment_distances.shape) # the selection operation applying the sequence separation and distance criteria should flatten it + segment_N_small = segment_burial_indicator.shape[0] + segment_N_big = N/self.N*segment_N_small # N/self.N tells us whether the factor we need to multiply segment_N_small by is 10 or 1 + # (depending on whether aa_freq was passed to the function or not--see above) + try: + segment_seq_index = seq_index[segment_index] + except IndexError: + print(distances) + raise + + for i in range(n_decoys): # we do the same number for each chain, so be careful. this could make the computation very long + try: + c=np.random.randint(0,segment_distances.shape[0]) # pick a random residue's distance + except ValueError as e: + raise ValueError("Empty distance matrix found. Maybe your structure has a chain with only 1 amino acid residue?") from e + n1=np.random.randint(0,segment_N_small) # pick a random residue's local density + n2=np.random.randint(0,segment_N_small) # pick another random residue's local density + qi1=np.random.randint(0,segment_N_big) # pick a random residue + qi2=np.random.randint(0,segment_N_big) # pick another random residue + try: + q1=segment_seq_index[qi1] # pick the identity of the random residue + except IndexError: + print("qi1 not found in q1!") + print(distances) + print(seq_index) + print(segment_seq_index) + print(qi1) + print(seq_index) + print(len(seq_index)) + raise + q2=segment_seq_index[qi2] # pick the identity of the other random residue + try: + burial_energy1 = (-0.5 * self.k_burial * self.burial_gamma[q1] * segment_burial_indicator[n1]).sum(axis=0) + burial_energy2 = (-0.5 * self.k_burial * self.burial_gamma[q2] * segment_burial_indicator[n2]).sum(axis=0) + except IndexError as e: + #import pdb; pdb.set_trace() + print("indexing issue burial_energy1 burial_energy2") + raise + + direct = segment_theta[c] * self.direct_gamma[q1, q2] # direct interaction for random distance and amino acid pair + water_mediated = segment_sigma_water[n1,n2] * segment_thetaII[c] * self.water_gamma[q1,q2] # water-mediated interaction for the same random pair and distance, + # and also random local densities + protein_mediated = segment_sigma_protein[n1,n2] * segment_thetaII[c] * self.protein_gamma[q1,q2] # same for protein-mediated + contact_energy = -self.k_contact * (direct+water_mediated+protein_mediated) + electrostatics_energy = self.k_electrostatics * segment_electrostatics_indicator[c]*charges[q1]*charges[q2] # same amino acid types and distance for electrostatics + + #decoy_energies[segment_index,i]=(burial_energy1+burial_energy2+contact_energy+electrostatics_energy) + # every residue position in the current segment should get the same pair energy for this decoy + decoy_energies[seg_start_res_idx:seg_start_res_idx+segment_N_small,i]=(burial_energy1+burial_energy2+contact_energy+electrostatics_energy) + + # increment our start residue index before proceeding to next segment + seg_start_res_idx += segment_N_small + #import pdb; pdb.set_trace() + mean_decoy_energy = np.mean(decoy_energies, axis=1) # average over all decoys for each residue + std_decoy_energy = np.std(decoy_energies,axis=1) # standard deviation of over all decoys for each residue + return mean_decoy_energy, std_decoy_energy + + def chain_split(self, distances, sigma_water, rho_b): + # break distances into a list for each segment + distances_by_segment = [] + sigma_water_by_segment = [] + sigma_protein_by_segment = [] + burial_indicator = [] + segment_start_indices = np.where(np.array(self.start_mask)==1)[0] # np.where returns a numpy array wrapped in a tuple, so we have to unwrap + for counter in range(len(segment_start_indices)): + ij_start = segment_start_indices[counter] + if counter != len(segment_start_indices)-1: + ij_end = segment_start_indices[counter+1] + else: # if we're on the last segment, the end index is just N, the number of residues in our system + ij_end = len(self.start_mask) + segment_block = distances[ij_start:ij_end,ij_start:ij_end] # taking block around diagonal, which represents interactions + # within each subsegment + distances_by_segment.append(segment_block[(segment_block0)]) + # break sigma_water and sigma_protein into a list for each segment + sigma_water_by_segment.append(sigma_water[ij_start:ij_end,ij_start:ij_end]) + sigma_protein_by_segment.append(1-sigma_water[ij_start:ij_end,ij_start:ij_end]) + burial_indicator.append(np.tanh(self.burial_kappa * (rho_b[ij_start:ij_end,:] - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b[ij_start:ij_end,:]))) + ## break sigma_water and sigma_protein into a list for each segment + #sigma_water_by_segment = [] + #sigma_protein_by_segment = [] + #for counter in range(len(segment_start_indices)-1): + # ij_start = segment_start_indices[counter] + # ij_end = segment_start_indices[counter+1] + # segment_block = sigma_water[ij_start:ij_end,ij_start:ij_end] # taking block around diagonal, which represents interactions + # # within each subsegment + # sigma_water_by_segment.append(segment_block) + # sigma_protein_by_segment.append(1-segment_block) + return distances_by_segment, sigma_water_by_segment, sigma_protein_by_segment, burial_indicator + + def compute_configurational_energies(self): + # + # STEP 1: COMPUTE INDICATOR FUNCTIONS (THEMSELVES FUNCTIONS OF THE DISTANCE MATRIX AND DENSITIES) + # THIS INCLUDES THE BURIAL INDICATOR FUNCTIONS FOR ALL RESIDUES + # AND THE THETA AND ELECTROSTATICS INDICATOR FUNCTIONS FOR ALL PAIRS SATISFYING + # (DISTANCE < self.distance_cutoff_contact) AND (DISTANCE > self.min_contact_distance), + # WHICH ARE SELECTED USING THE ATTRIBUTES self.config_indices1 AND self.config_indices2 + # (SEE self.calculate_contact_indices() CALLED DURING self.__init__()) + # + # NOTE THAT THE USER MAY APPLY A MORE NARROW SELECTION OF PAIRS WHEN WRITING A tcl SCRIPT + # WITH frustration.write_tcl_script() OR WHEN COMPUTING THE STATISTICS OF THE DISTRIBUTION OF FRUSTRATION INDICES + # IN THE MATRIX OF ALL FRUSTRATION INDICES, RETURNED BY self.frustration() OR self.configurational_frustration() + # + # get distance matrix and amino acid identities + _AA='ARNDCQEGHILKMFPSTWYV' + seq_index = np.array([_AA.find(aa) for aa in self.sequence]) # this is fine for a multi chain system if sequence and structure are both fixed + distances = self.distance_matrix[self.config_indices1, self.config_indices2] # get distances satisfying minimum threshold + # above numpy advanced indexing command equivalent to the below code + #foo = [] + #for index1,index2 in zip(self.config_indices1,self.config_indices2): + # foo.append(self.distance_matrix[index1,index2]) + #foo = np.array(foo) + #assert np.all(foo==distances) + # + # get density-based quantities rho and sigma + # these ultimately are functions of the distance matrix, but we already did part of the calculation somewhere else, + # and stored these intermediate values self.rho_r rho_b = np.expand_dims(self.rho_r, 1) #(n,1) rho1 = np.expand_dims(self.rho_r, 0) #(1,n) rho2 = np.expand_dims(self.rho_r, 1) #(n,1) - sigma_water = 0.25 * (1 - np.tanh(self.eta_sigma * (rho1 - self.rho_0))) * (1 - np.tanh(self.eta_sigma * (rho2 - self.rho_0))) #(n,n) sigma_protein = 1 - sigma_water #(n,n) - - #Calculate theta and indicators + # compute indicator functions theta = 0.25 * (1 + np.tanh(self.eta * (distances - self.r_min))) * (1 + np.tanh(self.eta * (self.r_max - distances))) # (c,) thetaII = 0.25 * (1 + np.tanh(self.eta * (distances - self.r_minII))) * (1 + np.tanh(self.eta * (self.r_maxII - distances))) #(c,) - burial_indicator = np.tanh(self.burial_kappa * (rho_b - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b)) #(n,3) - - charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) + burial_indicator = np.tanh(self.burial_kappa * (rho_b - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b)) #(n,3) electrostatics_indicator = np.exp(-distances / self.electrostatics_screening_length) / distances - - decoy_energies=np.zeros(n_decoys) - #decoy_data=[None]*n_decoys - #decoy_data_columns=['decoy_i','rand_i_resno','rand_j_resno','ires_type','jres_type','i_resno','j_resno','rij','rho_i','rho_j','water_energy','burial_energy_i','burial_energy_j','electrostatic_energy','tert_frust_decoy_energies'] - for i in range(n_decoys): - c=np.random.randint(0,len(distances)) - n1=np.random.randint(0,self.N) - n2=np.random.randint(0,self.N) - qi1=np.random.randint(0,N) - qi2=np.random.randint(0,N) - q1=seq_index[qi1] - q2=seq_index[qi2] - - - burial_energy1 = (-0.5 * self.k_contact * self.burial_gamma[q1] * burial_indicator[n1]).sum(axis=0) - burial_energy2 = (-0.5 * self.k_contact * self.burial_gamma[q2] * burial_indicator[n2]).sum(axis=0) - + # + # STEP 2: COMPUTE PAIR ENERGIES (sum of direct, water-mediated, protein-mediated, electrostatics, and burial energies + # for all pairs (i,j)) + # THE MAIN DIAGONAL OF THE MATRIX configurational_energies DOES NOT ACTUALLY REPRESENT A PAIR OF RESIDUES, + # SO IT IS SET TO 0 WITHOUT CALCULATING ANY ENERGIES. ADDITIONALLY, PAIRS THAT DO NOT SATISFY THE CONTACT + # DISTANCE CONSTRAINTS WILL ALSO HAVE THEIR ENERGIES SET TO 0 INSTEAD OF BEING COMPUTED THE NORMAL WAY + # + # IMPLEMENTATION DETAIL: THIS LOOP IGNORES SUCH INVALID PAIRS BECAUSE THEY ARE NOT REPRESENTED IN + # self.config_indices1 AND self.config_indices2. BECAUSE THE LOOP NEGLECTS TO EVALUATE THE ENERGY OF THESE PAIRS, + # THE INITIAL VALUES OF 0 FROM THE LINE configurational_energies=np.zeros((n,n)) REMAINS + configurational_energies=np.zeros(self.distance_matrix.shape) + # (self.config_indices1[k],self.config_indices2[k]) gives the kth valid pair (i,j) + assert len(self.config_indices1)==len(self.config_indices2), f"indices lengths: {len(self.config_indices1)},{len(self.config_indices2)}" + n_contacts=len(self.config_indices1) + for c in range(n_contacts): + # get the indices of the residues participating in the selected contact c + n1=self.config_indices1[c] + n2=self.config_indices2[c] + # get the identities and density-based indicators of the residues at the indices participating in the selected contact c + q1=seq_index[n1] + q2=seq_index[n2] + b1 = burial_indicator[n1] + b2 = burial_indicator[n2] + sw = sigma_water[n1,n2] + sp = sigma_protein[n1,n2] + # compute burial energy for each residue + burial_energy1 = (-0.5 * self.k_burial * self.burial_gamma[q1] * b1).sum(axis=0) + burial_energy2 = (-0.5 * self.k_burial * self.burial_gamma[q2] * b2).sum(axis=0) + # compute contact energy for the selected contact c direct = theta[c] * self.direct_gamma[q1, q2] - water_mediated = sigma_water[n1,n2] * thetaII[c] * self.water_gamma[q1,q2] - protein_mediated = sigma_protein[n1,n2] * thetaII[c] * self.protein_gamma[q1,q2] + water_mediated = sw * thetaII[c] * self.water_gamma[q1,q2] + protein_mediated = sp * thetaII[c] * self.protein_gamma[q1,q2] contact_energy = -self.k_contact * (direct+water_mediated+protein_mediated) + # compute the electrostatic energy for the selected contact c + charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) # D, E negative; R, K positive; all else neutral electrostatics_energy = self.k_electrostatics * electrostatics_indicator[c]*charges[q1]*charges[q2] - - decoy_energies[i]=(burial_energy1+burial_energy2+contact_energy+electrostatics_energy) - #decoy_data[i]=[i, qi1, qi2, q1, q2, n1, n2, distances[c], self.rho_r[n1], self.rho_r[n2], contact_energy/4.184, burial_energy1/4.184, burial_energy2/4.184, electrostatics_energy/4.184, decoy_energies[i]] - - mean_decoy_energy = np.mean(decoy_energies) - std_decoy_energy = np.std(decoy_energies) - return mean_decoy_energy, std_decoy_energy - + # compute the total energy and put it in the appropriate element of the matrix + energy=(burial_energy1+burial_energy2+contact_energy+electrostatics_energy) + configurational_energies[n1,n2]=energy + configurational_energies[n2,n1]=energy + # + # return our matrix, which will have some calculated pair energies and some 0s (see STEP 1 and STEP 2 comments) + return configurational_energies + """ def compute_configurational_energies(self): + # STEP 1: COMPUTE INDICATOR FUNCTIONS (THEMSELVES FUNCTIONS OF THE DISTANCE MATRIX AND DENSITIES) + # THIS INCLUDES THE BURIAL INDICATOR FUNCTIONS FOR ALL RESIDUES, + # THE CONTACT INDICATOR FUNCTIONS FOR ALL PAIRS OF RESIDUES, + # AND THE ELECTROSTATIC INDICATOR FUNCTIONS FOR ALL PAIRS OF RESIDUES + # WE ALSO RECORD WHICH PAIRS ARE DIRECT, WATER-MEDIATED, AND PROTEIN-MEDIATED INTERACTIONS + # AND STORE THEM AS ATTRIBUTES OF self. ARGUABLY, THIS CALCULATION SHOULD BE MOVED TO A DIFFERENT + # FUNCTIONS SO THAT IT CAN BE EASILY CALLED ELSEWHERE + # NOTE THAT WE CALCULATE THESE INDICATOR FUNCTIONS AND CLASSIFY CONTACTS AS SHORT RANGE + # OR LONG RANGE OR ORPHANS EVEN IF THEY MAY BE EXCLUDED FROM THE FRUSTRATION STATISTICS + # AND THE FRUSTRATOGRAM VISUALIZATION (THE DECISION TO DO SO MUST BE MADE BY THE USER + # BY FILTERING OUT TOO CLOSE CONTACTS FROM frustration_matrix USING self.config_indices1, ETC. + # SEE DOCUMENTATION OF frustration.write_tcl_script FOR MORE INFORMATION) + + # get distance matrix _AA='ARNDCQEGHILKMFPSTWYV' - seq_index = np.array([_AA.find(aa) for aa in self.sequence]) - distances = np.triu(self.distance_matrix) - distances = distances[(distances0)] - n_contacts=len(distances) - - n = self.distance_matrix.shape[0] # Assuming self.distance_matrix is defined and square - tri_upper_indices = np.triu_indices(n, k=1) # k=1 excludes the diagonal - valid_pairs = (self.distance_matrix[tri_upper_indices] < self.distance_cutoff_contact) & \ - (self.distance_matrix[tri_upper_indices] > 0) - indices1,indices2 = (tri_upper_indices[0][valid_pairs], tri_upper_indices[1][valid_pairs]) - - # for n1,n2,c in zip(indices1,indices2,range(n_contacts)): - # assert self.distance_matrix[n1,n2] == distances[c] - + seq_index = np.array([_AA.find(aa) for aa in self.sequence]) # this is fine for a multi chain system if sequence and structure are both fixed + # we'll construct our distribution of native distances only from those satisfying min_sequence_separation_contact/min seq sep frustration index + # self.sequence_cutoff should be equal to min seq sep contact which should be equal to min seq sep electrostatics + distances_indices = np.triu_indices(self.distance_matrix.shape[0], k=self.sequence_cutoff) + triu_mask = np.zeros(self.distance_matrix.shape,dtype=np.bool_) + triu_mask[distances_indices] = True + for index,bit in enumerate(self.start_mask): + if bit==1 and index!=0: # if index is 0, then index-1 is -1, index-2 is -2, etc., and we don't want to set that to 1 + # pairs crossing chains should be considered, even if they're close in sequence + # number+/-self.sequence_cutoff is the first to be considered (difference>=/=0) on the following line of code to remind ourselves of this fact. + # + # in addition to overly short sequence separations, we want to filter out contacts whose distances don't fall within our range + # + distances = distances[(distances0) & (distances>self.min_contact_distance)] + + # get density-based quantities rho and sigma + # these ultimately are functions of the distance matrix, but we already did part of the calculation somewhere else, + # and stored these intermediate values self.rho_r rho_b = np.expand_dims(self.rho_r, 1) #(n,1) rho1 = np.expand_dims(self.rho_r, 0) #(1,n) rho2 = np.expand_dims(self.rho_r, 1) #(n,1) - sigma_water = 0.25 * (1 - np.tanh(self.eta_sigma * (rho1 - self.rho_0))) * (1 - np.tanh(self.eta_sigma * (rho2 - self.rho_0))) #(n,n) sigma_protein = 1 - sigma_water #(n,n) - #Calculate theta and indicators + # compute indicator functions theta = 0.25 * (1 + np.tanh(self.eta * (distances - self.r_min))) * (1 + np.tanh(self.eta * (self.r_max - distances))) # (c,) thetaII = 0.25 * (1 + np.tanh(self.eta * (distances - self.r_minII))) * (1 + np.tanh(self.eta * (self.r_maxII - distances))) #(c,) - burial_indicator = np.tanh(self.burial_kappa * (rho_b - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b)) #(n,3) - - charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) + burial_indicator = np.tanh(self.burial_kappa * (rho_b - self.burial_ro_min)) + np.tanh(self.burial_kappa * (self.burial_ro_max - rho_b)) #(n,3) electrostatics_indicator = np.exp(-distances / self.electrostatics_screening_length) / distances - # decoy_data_columns=['decoy_i','i_resno','j_resno','ires_type','jres_type','aa1','aa2','rij','rho_i','rho_j','water_energy','burial_energy_i','burial_energy_j','electrostatic_energy','total_energies'] - # decoy_data=[] + # record pairs (i,j) corresponding to direct, water mediated, and protein mediated interactions + # assuming with our selections that the user hasn't done something silly + # like setting self.distance_cutoff_contact to something less than 9.5 + # or setting self.min_contact_distance to something greater than 4.5 + assert self.distance_matrix.shape[0] == self.distance_matrix.shape[1], f"self.distance_matrix (shape {self.distance_matrix.shape}) not square!" + n = self.distance_matrix.shape[0] + assert np.all(self.distance_matrix==self.distance_matrix.T), "self.distance_matrix was not symmetric!" + assert np.all(self.distance_matrix[np.diag_indices(n)] == 0), "main diagonal of self.distance_matrix has nonzero element(s)!" + tri_upper_indices = np.triu_indices(n, k=1) # k=1 excludes the main diagonal, which represents self-distances + valid_pairs = (self.distance_matrix[tri_upper_indices] < self.distance_cutoff_contact)\ + & (self.distance_matrix[tri_upper_indices] > self.min_contact_distance) + valid_pairs_direct = (self.distance_matrix[tri_upper_indices] < 6.5)\ + & (self.distance_matrix[tri_upper_indices] >= 4.5) + valid_pairs_long = (self.distance_matrix[tri_upper_indices] <= 9.5)\ + & (self.distance_matrix[tri_upper_indices] >= 6.5) + valid_pairs_orphan = (self.distance_matrix[tri_upper_indices] < 4.5)\ + & (self.distance_matrix[tri_upper_indices] > self.min_contact_distance) + # finally, select pairs whose frustration indices are considered but do not fall into short or long-range interactions + valid_pairs_orphan_long = (self.distance_matrix[tri_upper_indices] > 9.5)\ + & (self.distance_matrix[tri_upper_indices] < self.distance_cutoff_contact) + # finally, select pairs whose frustration indices are considered but do not fall into short or long-range interactions + indices1,indices2 = (tri_upper_indices[0][valid_pairs], tri_upper_indices[1][valid_pairs]) + direct_indices1,direct_indices2 = (tri_upper_indices[0][valid_pairs_direct], tri_upper_indices[1][valid_pairs_direct]) + long_indices1, long_indices2 = (tri_upper_indices[0][valid_pairs_long], tri_upper_indices[1][valid_pairs_long]) + orphan_indices1, orphan_indices2 = (tri_upper_indices[0][valid_pairs_orphan], tri_upper_indices[1][valid_pairs_orphan]) + orphan_long_indices1, orphan_long_indices2 = (tri_upper_indices[0][valid_pairs_orphan_long], tri_upper_indices[1][valid_pairs_orphan_long]) + wat_indices1 = [] + wat_indices2 = [] + prot_indices1 = [] + prot_indices2 = [] + for pair in zip(long_indices1,long_indices2): + if sigma_water[pair] > sigma_protein[pair]: + wat_indices1.append(pair[0]) + wat_indices2.append(pair[1]) + else: + prot_indices1.append(pair[0]) + prot_indices2.append(pair[1]) + self.config_indices1 = indices1 + self.config_indices2 = indices2 + self.direct_indices1 = direct_indices1 + self.direct_indices2 = direct_indices2 + self.wat_indices1 = wat_indices1 + self.wat_indices2 = wat_indices2 + self.prot_indices1 = prot_indices1 + self.prot_indices2 = prot_indices2 + self.orphan_indices1 = orphan_indices1 + self.orphan_indices2 = orphan_indices2 + self.orphan_long_indices1 = orphan_long_indices1 + self.orphan_long_indices2 = orphan_long_indices2 + + # STEP 2: COMPUTE PAIR ENERGIES (sum of direct, water-mediated, protein-mediated, electrostatics, and burial energies + # for all pairs (i,j)) configurational_energies=np.zeros((n,n)) + assert len(indices1)==len(indices2), f"indices lengths: {len(indices1)},{len(indices2)}" + # (indices1[k],indices2[k]) gives the kth valid pair (i,j) + n_contacts=len(indices1) for c in range(n_contacts): n1=indices1[c] n2=indices2[c] @@ -355,15 +736,29 @@ def compute_configurational_energies(self): water_mediated = sigma_water[n1,n2] * thetaII[c] * self.water_gamma[q1,q2] protein_mediated = sigma_protein[n1,n2] * thetaII[c] * self.protein_gamma[q1,q2] contact_energy = -self.k_contact * (direct+water_mediated+protein_mediated) + charges = np.array([0, 1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]) # D, E negative; R, K positive; all else neutral electrostatics_energy = self.k_electrostatics * electrostatics_indicator[c]*charges[q1]*charges[q2] energy=(burial_energy1+burial_energy2+contact_energy+electrostatics_energy) configurational_energies[n1,n2]=energy configurational_energies[n2,n1]=energy - # decoy_data+=[[c, n1, n2, q1, q2, _AA[q1],_AA[q2], distances[c], self.rho_r[n1], self.rho_r[n2], contact_energy/4.184, burial_energy1/4.184, burial_energy2/4.184, electrostatics_energy/4.184, energy/4.184]] - # import pandas as pd - return configurational_energies #, pd.DataFrame(decoy_data, columns=decoy_data_columns) - + + return configurational_energies + """ def configurational_frustration(self,aa_freq=None, correction=0, n_decoys=4000): - mean_decoy_energy, std_decoy_energy = self.compute_configurational_decoy_statistics(n_decoys=n_decoys,aa_freq=aa_freq) - return -(self.compute_configurational_energies()-mean_decoy_energy)/(std_decoy_energy+correction) \ No newline at end of file + mean_decoy_energy, std_decoy_energy = self.compute_configurational_decoy_statistics(n_decoys=n_decoys,aa_freq=aa_freq,) + assert len(mean_decoy_energy.shape)==1, mean_decoy_energy + assert len(std_decoy_energy.shape)==1, std_decoy_energy + assert mean_decoy_energy.shape == std_decoy_energy.shape, (mean_decoy_energy.shape,std_decoy_energy.shape) + corrected_mean = np.zeros((mean_decoy_energy.shape[0],mean_decoy_energy.shape[0])) + corrected_std = np.zeros((mean_decoy_energy.shape[0],mean_decoy_energy.shape[0])) + for i in range(mean_decoy_energy.shape[0]): + for j in range(mean_decoy_energy.shape[0]): + #print(mean_decoy_energy[i]) + #print(mean_decoy_energy[j]) + corrected_mean[i,j] = (mean_decoy_energy[i]+mean_decoy_energy[j])/2 + #corrected_std[i,j] = np.linalg.norm([std_decoy_energy[i],std_decoy_energy[j]])/np.sqrt(2) + corrected_std[i,j] = (std_decoy_energy[i]+std_decoy_energy[j])/2 + return -(self.compute_configurational_energies()-corrected_mean)/(corrected_std+correction) + # for multiple segments, should make this mean and variance a function of the means and variances of the segments of the pair + # not sure exactly how that should be done diff --git a/frustratometer/classes/Frustratometer.py b/frustratometer/classes/Frustratometer.py index d8cceec..fb8cde8 100644 --- a/frustratometer/classes/Frustratometer.py +++ b/frustratometer/classes/Frustratometer.py @@ -211,7 +211,10 @@ def scores(self): """ return frustration.compute_scores(self.potts_model) - def frustration(self, sequence:str = None, kind:str = 'singleresidue', mask:np.array = None, aa_freq:np.array = None, correction:int = 0) -> np.array: + def frustration(self, sequence:str = None, kind:str = 'singleresidue', + mask:np.array = None, aa_freq:np.array = None, + correction:int = 0, n_decoys=4000, + ) -> np.array: """ Calculates frustration index values. @@ -225,6 +228,8 @@ def frustration(self, sequence:str = None, kind:str = 'singleresidue', mask:np.a A 2D Boolean array that determines which residue pairs should be considered in the energy computation. The mask should have dimensions (L, L), where L is the length of the sequence. aa_freq: np.array Array of frequencies of all 21 possible amino acids within sequence + n_decoys: int + Number of decoys Returns ------- @@ -243,8 +248,10 @@ def frustration(self, sequence:str = None, kind:str = 'singleresidue', mask:np.a return frustration_values elif kind in ['mutational', 'configurational', 'contact']: if kind == 'configurational' and 'configurational_frustration' in dir(self): - #TODO: Correct this function for different aa_freq than WT - return self.configurational_frustration(None, correction) + #TODO: Correct this function for different aa_freq than WT --- think this has been done already? + frustration_values = self.configurational_frustration(aa_freq=aa_freq, correction=correction, n_decoys=n_decoys,) + assert np.all(frustration_values==frustration_values.T), f"configurational frustration matrix was not symmetric! Max difference: {np.max(frustration_values-frustration_values.T)}" + return frustration_values if aa_freq is None: aa_freq = self.contact_freq frustration_values=frustration.compute_pair_frustration(decoy_fluctuation, aa_freq, correction) @@ -321,7 +328,8 @@ def vmd(self, sequence: str = None, single:Union[str,np.array] = 'singleresidue' tcl_script = frustration.write_tcl_script(self.pdb_file, self.chain, self.mask, self.distance_matrix, self.distance_cutoff, -self.frustration(kind=single, sequence=sequence, aa_freq=aa_freq), -self.frustration(kind=pair, sequence=sequence, aa_freq=aa_freq), - max_connections=max_connections, movie_name=movie_name, still_image_name=still_image_name) + max_connections=max_connections, movie_name=movie_name, still_image_name=still_image_name, + min_contact_distance=self.min_contact_distance) frustration.call_vmd(self.pdb_file, tcl_script) def view_pair_frustration(self, sequence:str = None, pair:str = 'mutational', aa_freq:np.array = None): @@ -338,6 +346,8 @@ def view_pair_frustration(self, sequence:str = None, pair:str = 'mutational', aa aa_freq: np.array Array of frequencies of all 21 possible amino acids within sequence """ + if type(self.chain) == list: + raise NotImplementedError("This function not supported for multichain systems") import py3Dmol if sequence is None: diff --git a/frustratometer/classes/Structure.py b/frustratometer/classes/Structure.py index cf71c2f..1021e4e 100644 --- a/frustratometer/classes/Structure.py +++ b/frustratometer/classes/Structure.py @@ -14,7 +14,7 @@ class Structure: def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_selection: str = None, aligned_sequence: str = None, filtered_aligned_sequence: str = None, - distance_matrix_method:str = 'CB', pdb_directory: Path = Path.cwd(), repair_pdb:bool = True)->object: + distance_matrix_method:str = 'CB', pdb_directory: Path = Path.cwd(), repair_pdb:bool = True, return_distance_midpoints:bool = False)->object: """ Generates structure object. Both PDB and CIF format files are accepted as input. @@ -55,6 +55,11 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s If True, provided pdb file will be repaired with missing residues inserted and heteroatoms removed. Note that a pdb file will be produced, regardless of input file format. + return_distance_midpoints: bool + Whether to return a matrix of the same shape as distance_matrix representing the same contacts as distance_matrix + that indicates the absolute coordinates of the midpoint between the pair of atoms. This helps us compute the pair distribution + functions of the different classes of contacts. So this matrix isn't really a matrix because each "element" has 3 channels: x, y, and z + Returns ------- Structure object @@ -77,7 +82,7 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s self.pdbID=pdb_file.stem self.pdb_file=pdb_file - self.chain=chain + self.chain=chain # will be None if no chain supplied self.distance_matrix_method=distance_matrix_method self.filtered_aligned_sequence=filtered_aligned_sequence self.aligned_sequence=aligned_sequence @@ -88,18 +93,18 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s self.init_index_shift=0 if repair_pdb: - fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) + fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) # for this function, chain can be str or list (or None) self.pdb_file=str(pdb_directory/f"{self.pdbID}_cleaned.pdb") if ".pdb" in str(pdb_file) or repair_pdb==True: - self.structure = prody.parsePDB(str(self.pdb_file), chain=self.chain).select(f"protein") + self.structure = prody.parsePDB(str(self.pdb_file), chain=self.chain).select(f"protein") # for this function, chain should be a string containing the chain ids like "AB" or "A B" else: - self.structure=prody.parseMMCIF(str(self.pdb_file),chain=self.chain).select(f"protein") + self.structure=prody.parseMMCIF(str(self.pdb_file),chain=self.chain).select(f"protein") # for this function, chain should be a string containing the chain ids like "AB" or "A B" else: assert len(self.seq_selection.replace("to"," to ").replace(":"," : ").split())>=4, "Please correctly input your residue selection" if self.chain==None: - raise ValueError("Please provide a chain name") + raise ValueError("self.chain==None. Please provide chain name(s)") self.init_index=int(self.seq_selection.replace("to"," to ").replace(":"," : ").split()[1].replace("`","")) self.fin_index=int(self.seq_selection.replace("to"," to ").replace(":"," : ").split()[3].replace("`","")) @@ -116,7 +121,7 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s with open(pdb_file,"r") as f: for line in f: - if line.split()[0]=="ATOM" and line.split()[4+shift]==self.chain: + if line.split()[0]=="ATOM" and (line.split()[4+shift] in self.chain): try: res_index=''.join(i for i in line.split()[5+index_shift] if i.isdigit()) next_res_index=''.join(i for i in next(f).split()[5+index_shift] if i.isdigit()) @@ -133,27 +138,35 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s self.init_index_shift=self.init_index-self.pdb_init_index self.fin_index_shift=self.fin_index-self.pdb_init_index+1 if repair_pdb: - fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) + fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) # for this function, chain can be str or list (or None) self.pdb_file=f"{pdb_directory}/{self.pdbID}_cleaned.pdb" self.select_gap_indices=[i for i in gap_indices if self.init_index<=i<=self.fin_index] self.fin_index_shift-=len(self.select_gap_indices) - self.seq_selection=f"resnum `{self.init_index_shift+1}to{self.fin_index_shift}`" + #self.seq_selection=f"resnum `{self.init_index_shift+1}to{self.fin_index_shift}`" # WE'RE KEEPING IDs NOW SO DON'T WANT TO DO THIS!!!! elif "resindex" in self.seq_selection: self.init_index_shift=self.init_index self.fin_index_shift=self.fin_index+1 if repair_pdb: - fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) + fixer=pdb.repair_pdb(pdb_file, chain, pdb_directory) # for this function, chain can be str or list (or None) self.pdb_file=f"{pdb_directory}/{self.pdbID}_cleaned.pdb" - self.chain="A" + # self.chain="A" I don't know why we would want to change the chain ID here if ".pdb" in str(pdb_file) or repair_pdb==True: self.structure = prody.parsePDB(str(self.pdb_file), chain=self.chain).select(f"protein and {self.seq_selection}") else: self.structure=prody.parseMMCIF(str(self.pdb_file),chain=self.chain).select(f"protein and {self.seq_selection}") - self.sequence=pdb.get_sequence(self.pdb_file,self.chain) - self.distance_matrix=pdb.get_distance_matrix(pdb_file=self.pdb_file,chain=self.chain, - method=self.distance_matrix_method) + self.sequence, self.start_mask = pdb.get_sequence(self.pdb_file,self.chain,return_start_mask=True) # this function can now accept chain as list or string + if return_distance_midpoints: + self.distance_matrix, self.midpoint_matrix = pdb.get_distance_matrix(pdb_file=self.pdb_file,chain=self.chain, # for this function, chain should be a string containing the chain ids + method=self.distance_matrix_method, # separated by a space, like "A B" + return_distance_midpoints=True) + else: + self.distance_matrix=pdb.get_distance_matrix(pdb_file=self.pdb_file,chain=self.chain, # for this function, chain should be a string containing the chain ids + method=self.distance_matrix_method, # separated by a space, like "A B" + return_distance_midpoints=False) + self.midpoint_matrix = None + self.full_pdb_distance_matrix=self.distance_matrix self.z_coordinates=self.structure.select('((name CB) or (resname GLY and name CA))').getCoords() @@ -180,7 +193,7 @@ def __init__(self, pdb_file: Union[Path,str], chain: Union[str,None]=None, seq_s else: self.full_to_aligned_index_dict=dict(zip(range(self.init_index_shift,self.fin_index_shift+1), range(len(self.sequence)))) self.mapped_distance_matrix=self.distance_matrix - + @classmethod def full_pdb(cls,pdb_file: Union[Path,str], chain: Union[str,None]=None, aligned_sequence: str = None, filtered_aligned_sequence: str = None, distance_matrix_method:str = 'CB', pdb_directory: Path = Path.cwd(), repair_pdb:bool = True): diff --git a/frustratometer/frustration/frustration.py b/frustratometer/frustration/frustration.py index 6f2b9ba..43a10fa 100644 --- a/frustratometer/frustration/frustration.py +++ b/frustratometer/frustration/frustration.py @@ -8,7 +8,9 @@ def compute_mask(distance_matrix: np.array, maximum_contact_distance: Union[float, None] = None, - minimum_sequence_separation: Union[int, None] = None) -> np.array: + minimum_sequence_separation: Union[int, None] = None, + maximum_sequence_separation: Union[int, None] = None, + start_mask: list = None) -> np.array: """ Computes a 2D Boolean mask from a given distance matrix based on a distance cutoff and a sequence separation cutoff. @@ -25,6 +27,15 @@ def compute_mask(distance_matrix: np.array, A minimum sequence distance threshold. Pairs of residues with sequence indices differing by at least this value are marked as True in the mask. If None, the sequence distance criterion is ignored. Default is None. + maximum_sequence_separation : int, optional + Maximum sequence distance threshold. Pairs of residues with sequence indices + differing by no more than this value are marked as True in the mask. If None, + the sequence distance criterion is ignore. Default is None. + start_mask: list, optional + A list where the value at each index indicates whether the same index in the + protein structure is the first amino acid in a chain (1 for True, 0 for False). + This is needed to accurately evaluate the minimum sequence separation (it shouldn't + apply for residues in different chains) Returns ------- @@ -42,13 +53,23 @@ def compute_mask(distance_matrix: np.array, [ True False True] [False True False]] - .. todo:: Add chain information for sequence separation + .. todo:: Add chain information for sequence separation--hope this fixed it :) """ seq_len = len(distance_matrix) mask = np.ones([seq_len, seq_len]) if minimum_sequence_separation is not None: sequence_distance = sdist.squareform(sdist.pdist(np.arange(seq_len)[:, np.newaxis])) mask *= sequence_distance >= minimum_sequence_separation + if start_mask: # adjust mask to allow interactions between close in sequence residues that are part of different chains + for i in range(0,mask.shape[0]): + for j in range(0,mask.shape[1]): + if sum(start_mask[:i+1])!=sum(start_mask[:j+1]) and abs(i-j) Union[Path, str]: + pair_frustration: np.array, tcl_script: Union[Path, str] ='frustration.tcl',max_connections: int =None, movie_name: Union[Path, str] =None, still_image_name: Union[Path, str] =None, + min_contact_distance=3.5) -> Union[Path, str]: """ Writes a tcl script that can be run with VMD to superimpose the frustration patterns onto the corresponding PDB structure. @@ -866,7 +968,8 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist chain : str Select chain from pdb mask : np.array - A 2D Boolean array that determines which residue pairs should be considered in the energy computation. The mask should have dimensions (L, L), where L is the length of the sequence. + A 2D Boolean array that determines which residue pairs should be drawn + The mask should have dimensions (L, L), where L is the length of the sequence. distance_matrix : np.array LxL array for sequence of length L, describing distances between contacts distance_cutoff : float @@ -890,14 +993,24 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist tcl_script : Path or str tcl script file """ + if type(chain) == list: # chain could also be None + chain = "".join(chain) + fo = open(tcl_script, 'w+') single_frustration = np.nan_to_num(single_frustration,nan=0,posinf=0,neginf=0) pair_frustration = np.nan_to_num(pair_frustration,nan=0,posinf=0,neginf=0) structure = prody.parsePDB(str(pdb_file)) - selection = structure.select('protein', chain=chain) - residues = np.unique(selection.getResnums()) + if chain: + selection = structure.select(f'protein and chain {chain}')#, chain=chain) + else: + selection = structure.select('protein') + try: + residues = np.unique(selection.getResindices()) + except AttributeError: + print(chain) + raise fo.write(f'[atomselect top all] set beta 0\n') # Single residue frustration @@ -907,7 +1020,17 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist # Mutational frustration: r1, r2 = np.meshgrid(residues, residues, indexing='ij') - sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(),distance_matrix.ravel(), mask.ravel()]).T + try: + sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(),distance_matrix.ravel(), mask.ravel()]).T + except ValueError: + print(chain) + print(r1.shape) + print(r2.shape) + print(pair_frustration.shape) + print(distance_matrix.shape) + print(mask.shape) + raise + #Filter with mask and distance if distance_cutoff: mask_dist=(sel_frustration[:, -2] <= distance_cutoff) @@ -929,14 +1052,14 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist r2=int(r2) if abs(r1-r2) == 1: # don't draw interactions between residues adjacent in sequence continue - pos1 = selection.select(f'resid {r1} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] - pos2 = selection.select(f'resid {r2} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] + pos1 = selection.select(f'resindex {r1} and (name CB or (resname GLY and name CA))').getCoords()[0] # chain is unnecessary because resindex is unique + pos2 = selection.select(f'resindex {r2} and (name CB or (resname GLY and name CA))').getCoords()[0] # chain is unnecessary because resindex is unique distance = np.linalg.norm(pos1 - pos2) - if d > 9.5 or d < 3.5: + if d > 9.5 or d < min_contact_distance: continue - fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') - fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') - if 3.5 <= distance <= 6.5: + fo.write(f'lassign [[atomselect top "residue {r1} and name CA"] get {{x y z}}] pos1\n') # chain is unnecessary because resindex is unique + fo.write(f'lassign [[atomselect top "residue {r2} and name CA"] get {{x y z}}] pos2\n') # chain is unnecessary because resindex is unique + if min_contact_distance <= distance <= 6.5: fo.write(f'draw line $pos1 $pos2 style solid width 2\n') else: fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') @@ -951,11 +1074,13 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist for (r1, r2, f ,d, m) in frustrated: r1=int(r1) r2=int(r2) - if d > 9.5 or d < 3.5: + if abs(r1-r2) == 1: # don't draw interactions between residues adjacent in sequence + continue + if d > 9.5 or d < min_contact_distance: continue - fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') - fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') - if 3.5 <= d <= 6.5: + fo.write(f'lassign [[atomselect top "residue {r1} and name CA"] get {{x y z}}] pos1\n') + fo.write(f'lassign [[atomselect top "residue {r2} and name CA"] get {{x y z}}] pos2\n') + if min_contact_distance <= d <= 6.5: fo.write(f'draw line $pos1 $pos2 style solid width 2\n') else: fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') @@ -1032,6 +1157,826 @@ def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, dist fo.close() return tcl_script +def write_tcl_script_v2(pdb_file: Union[Path,str], chain: str, solid_mask: np.array, dashed_mask: np.array, + single_frustration: np.array, pair_frustration: np.array, + tcl_script: Union[Path, str] ='frustration.tcl', movie_name: Union[Path, str] =None, still_image_name: Union[Path, str] =None, + ) -> Union[Path, str]: + """ + Writes a tcl script that can be run with VMD to superimpose the frustration patterns onto the corresponding PDB structure. + + Maybe we can eventually integrate this method into the AWSEM class and add an attribute to the AWSEM class + to keep track of the residue index in our original pdb file corresponding to residue index 0 in our subselection. + Then we could use this attribute to write the correct numbers to the tcl script (which is intended to be used with the original pdb file) + without having to read the pdb file again in this method. We would also need another way to get atomic coordinates to write + the correct coordinates for the ends of the line segments in vmd (currently we get them from the prody structure) + + Parameters + ---------- + pdb_file : Path or str + pdb file name + chain : str + Select chain from pdb + solid_mask : np.array + A 2D Boolean array that determines which residue pairs should be drawn with a solid line + The mask should have dimensions (L, L), where L is the length of the sequence. + dashed_mask : np.array + A 2D Boolean array that determines which residue pairs should be drawn with a dashed line + The mask should have dimensions (L, L), where L is the length of the sequence. + single_frustration : np.array + Array containing single residue frustration index values + pair_frustration : np.array + Array containing pair (ex. configurational, mutational, contact) frustration index values + tcl_script : Path or str + Output tcl script file with static structure + movie_name : Path or str + Output movie file with rotating structure + still_image_name : Path or str + Output image file with still image + + + Returns + ------- + tcl_script : Path or str + tcl script file + """ + + # check input + solid_unique = np.unique(solid_mask.astype(int)) + dashed_unique = np.unique(dashed_mask.astype(int)) + if not np.all(solid_unique==np.array([0,1])): + raise ValueError("found values not equal to 0 or 1 or bools in solid_mask") + if not np.all(dashed_unique==np.array([0,1])): + raise ValueError("found values not equal to 0 or 1 or bool in dashed_mask") + if solid_mask.shape != dashed_mask.shape: + raise ValueError(f"solid_mask.shape was {solid_mask.shape} and dashed_mask.shape was {dashed_mask.shape},\ + but they should be the same!") + if not (len(solid_mask.shape)==2 or solid_mask.shape[0]!=solid_mask.shape[1]): + raise ValueError("solid_mask must be a 2D, square np.ndarray") + if not (len(dashed_mask.shape)==2 or dashed_mask.shape[0]!=dashed_mask.shape[1]): + raise ValueError("dashed_mask must be a 2D, square np.ndarray") + if not dashed_mask.shape == solid_mask.shape: + raise ValueError(f"dashed_mask (shape {dashed_mask.shape}) and solid_mask (shape {solid_mask.shape}) must have the same shape") + if not np.all(solid_mask==solid_mask.T): + solid_mask += solid_mask.T + if np.max(solid_mask) > 1: + raise ValueError("solid_mask was not symmetric") + else: # we probably just filled in upper or lower triangle but not both + pass + if not np.all(dashed_mask==dashed_mask.T): + dashed_mask += dashed_mask.T + if np.max(dashed_mask) > 1: + raise ValueError("dashed_mask was not symmetric") + else: # we probably just filled in upper or lower triangle but not both + pass + if np.max(solid_mask+dashed_mask) > 1: + raise ValueError(f"found one or more index where both solid_mask and dashed_mask were nonzero!\ + We can't draw both a solid and a dashed line between the same two residues.") + + if type(chain) == list: # chain could also be None + chain = "".join(chain) + + fo = open(tcl_script, 'w+') + single_frustration = np.nan_to_num(single_frustration,nan=0,posinf=0,neginf=0) + pair_frustration = np.nan_to_num(pair_frustration,nan=0,posinf=0,neginf=0) + + structure = prody.parsePDB(str(pdb_file)) + if chain: + selection = structure.select(f'protein and chain {chain}')#, chain=chain) + else: + selection = structure.select('protein') + try: + residues = np.unique(selection.getResindices()) + except AttributeError: + print(chain) + raise + + fo.write(f'[atomselect top all] set beta 0\n') + # Single residue frustration + for r, f in zip(residues, single_frustration): + fo.write(f'[atomselect top "chain {chain} and residue {int(r)}"] set beta {f}\n') + + # pair frustration (mutational or configuration, depending on the matrix that was passed in) + r1, r2 = np.meshgrid(residues, residues, indexing='ij') + try: + sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(), solid_mask.ravel(), dashed_mask.ravel()]).T + # so each row of the matrix is an instance (pair) and each column is a feature (r1, r2, etc.) + except ValueError: + print(chain) + print(r1.shape) + print(r2.shape) + print(pair_frustration.shape) + print(solid_mask.shape) + print(dashed_mask.shape) + raise + + # sort indices to be drawn by line style and frustration class, + # and reorder according to the same criterion (frustration index) used in the older version of this function + minimally_frustrated = sel_frustration[((sel_frustration[:,-2] == 1) | (sel_frustration[:,-1] == 1)) & (sel_frustration[:,2] < -0.78)] + minimally_frustrated = minimally_frustrated[np.argsort(minimally_frustrated[:,2])] + highly_frustrated = sel_frustration[((sel_frustration[:,-2] == 1) | (sel_frustration[:,-1] == 1)) & (sel_frustration[:,2] > 1)] + highly_frustrated = highly_frustrated[np.argsort(highly_frustrated[:,2])] + + # draw lines + fo.write('draw color green\n') + draw_write_loop(minimally_frustrated, fo) + fo.write("draw color red\n") + draw_write_loop(highly_frustrated, fo) + + # boilerplate + fo.write('''mol delrep top 0 + mol color Beta + mol representation NewCartoon 0.300000 10.000000 4.100000 0 + mol selection all + mol material Opaque + mol addrep top + color scale method GWR + ''') + if movie_name: + fo.write('''axes location Off + color Display Background white + display resize 800 800 + display projection Orthographic + display depthcue off + display resetview + display resize [expr [lindex [display get size] 0]/2*2] [expr [lindex [display get size] 1]/2*2] ;#Resize display to even height and width + display update ui + + # Set up the movie directory and base file name + mkdir movie_tmp + set workdir "movie_tmp" + ''' + f'set basename "{movie_name}"' + ''' + set numframes 360 + set framerate 25 + + # Function to rotate the molecule and capture frames + proc captureFrames {} { + global workdir basename numframes + for {set i 0} {$i < $numframes} {incr i} { + # Rotate the molecule around the Y-axis + rotate y by 1 + + # Capture the frame + set output [format "%s/$basename.%05d.tga" $workdir $i] + render snapshot $output + } + } + + # Function to convert frames to MP4 + proc convertToMP4 {} { + global workdir basename numframes framerate + + set mybasefilename [format "%s/%s" $workdir $basename] + set outputFile [format "%s.mp4" $basename] + + # Construct and execute the ffmpeg command + + set command "ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile" + puts "Executing: $command" + exec ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile >&@ stdout + } + + # Main script execution + captureFrames + convertToMP4 + + # Cleanup the TGA files if desired + for {set i 0} {$i < $numframes} {incr i} { + set output [format "%s/$basename.%05d.tga" $workdir $i] + exec rm $output + } + exit + ''') + elif still_image_name: + fo.write(f'set output "{still_image_name}"' + ''' + render snapshot $output + exit + ''') + fo.close() + return tcl_script + + +def draw_write_loop(frustration_info, fo): + """ + Just moving some code that gets called twice outside of write_tcl_script_v2 + """ + for (r1, r2, f, solid_bool , dashed_bool) in frustration_info: + # check bool mask values + if solid_bool and dashed_bool: + raise AssertionError(f"solid_bool: {solid_bool}, dashed_bool: {dashed_bool}\ + I expected this to be caught by the input checks at the beginning of this function!") + elif (not solid_bool) and (not dashed_bool): + raise AssertionError("solid_bool and dashed_bool False! This should have been filtered out already") + elif solid_bool and not dashed_bool: + line_style = "solid" + elif dashed_bool and not solid_bool: + line_style = "dashed" + else: + raise AssertionError(f"logical issue with if-elif-else block! solid_bool: {solid_bool}, dashed_bool: {dashed_bool}") + r1=int(r1) + r2=int(r2) + fo.write(f'lassign [[atomselect top "residue {r1} and name CA"] get {{x y z}}] pos1\n') # chain is unnecessary because residue is unique + fo.write(f'lassign [[atomselect top "residue {r2} and name CA"] get {{x y z}}] pos2\n') # chain is unnecessary because residue is unique + fo.write(f'draw line $pos1 $pos2 style {line_style} width 2\n') + + +def write_line_draw_commands(fo,info): + """ + Small function to avoid repeating code + + fo: opened file object + info: zip(residue indices, residue indices, frustration_indices, draw solid line bools, draw dashed line bools) + + Returns: + None + """ + for (r1, r2, f, solid_line, dashed_line) in info: + r1=int(r1) + r2=int(r2) + if not (solid_line or dashed_line): # the masks are telling us to skip these + continue + fo.write(f'lassign [[atomselect top "residue {r1} and name CA"] get {{x y z}}] pos1\n') # chain is unnecessary because residue is a unique index + fo.write(f'lassign [[atomselect top "residue {r2} and name CA"] get {{x y z}}] pos2\n') # chain is unnecessary because residue is a unique index + if solid_line: # conventionally used for shorter distances (0-6.5 or 3.5-6.5 or 4.5-6.5) + fo.write(f'draw line $pos1 $pos2 style solid width 2\n') + elif dashed_line: # conventionally used for longer distances (6.5-9.5) + fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') + else: + raise AssertionError(f"unexpected else block. solid_line was {solid_line} and dashed_line was {dashed_line}\ + (one of them should be True if we've reached this point in the code)") + +def mask_based_write_tcl_script(solid_mask: np.array, dashed_mask: np.array, start_residue_index: int, + single_frustration: np.array,pair_frustration: np.array, + tcl_script: Union[Path, str] ='frustration.tcl', + movie_name: Union[Path, str] =None, still_image_name: Union[Path, str] =None, + show_minimally: bool = True, show_highly: bool = True, show_neutral: bool = False, + ) -> Union[Path, str]: + """ + Writes a tcl script that can be run with VMD to superimpose the frustration patterns onto the corresponding PDB structure. + + This function removes the distance and sequence separation constraints in write_tcl_script and instead relies on the mask + for all information about which pairs to include and which pairs to exclude. This allows us to pass in the same unified mask + used to determine which pairs (i,j) the frustration statistics were computed for, ensuring that our frustratograms accurately + represent our calculated proportions of minimally and highly frustrated contacts. + + Parameters + ---------- + solid_mask : np.array + A 2D Boolean array indicating each pair (i,j) for which a solid line is to be drawn in the frustratogram, + conditioned on the frustration index (i,j) falling into a bin (category) that is to be shown. + Typically, neutral contacts are not shown, so a line is typically not drawn between i and j if their frustration + index falls in the neutral range, regardless of the values of solid_mask[i,j] and dashed_mask[i,j] + The mask should have dimensions (L, L), where L is the length of the sequence in the entire protein + or the subselection (usually, a chain) that was extracted from a larger system when initializing the Structure. + dashed_mask: np.array + A 2D Boolean array indicating each pair (i,j) for which a dashed line is to be drawn in the frustratogram, + subject to the same qualification described above for solid_mask. + start_residue_index: int + Residue index of the first residue in our subselection, mask[0], in the complete structure file that + was used to initialize the Structure class + single_frustration : np.array + Array containing single residue frustration index values + pair_frustration : np.array + Array containing pair (ex. configurational, mutational, contact) frustration index values + tcl_script : Path or str + Output tcl script file with static structure + movie_name : Path or str + Output movie file with rotating structure + still_image_name : Path or str + Output image file with still image + show_minimally: bool = True + Draw lines for minimally frustrated contacts + show_highly: bool = True + Draw lines for highly frustrated contacts + show_neutral: bool = False + Draw lines for neutral contacts + + Returns + ------- + tcl_script : Path or str + tcl script file + """ + + # check input + if np.max(solid_mask+dashed_mask) > 1: + raise ValueError("Found at least one pair (i,j) where both solid and dashed lines are set to be drawn!") + + # open output file the old fashoined way + fo = open(tcl_script, 'w+')\ + + # clean data + single_frustration = np.nan_to_num(single_frustration,nan=0,posinf=0,neginf=0) + pair_frustration = np.nan_to_num(pair_frustration,nan=0,posinf=0,neginf=0) + + # adjust residue indices if necessary + assert single_frustration.shape[0] == pair_frustration.shape[0] == pair_frustration.shape[1] + residues = np.arange(start_residue_index, start_residue_index+single_frustration.shape[0]) + + # initialize all residue colors at neutral (0) beta value + fo.write(f'[atomselect top all] set beta 0\n') + + # modify beta values to indicate single residue frustration (will all be 0 if we chose not to calculate single residue frustration) + for r, f in zip(residues, single_frustration): + fo.write(f'[atomselect top "chain {chain} and residue {int(r)}"] set beta {f}\n') + + # pair frustration (either mutational or configurational) + r1, r2 = np.meshgrid(residues, residues, indexing='ij') + try: + sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(), solid_mask.ravel(), dashed_mask.ravel()]).T + except ValueError: + print(r1.shape) + print(r2.shape) + print(pair_frustration.shape) + print(mask.shape) + raise + # minimally frustrated + minimally_frustrated = sel_frustration[sel_frustration[:, 2] < -0.78] + sort_index = np.argsort(minimally_frustrated[:, 2]) + minimally_frustrated = minimally_frustrated[sort_index] + fo.write('draw color green\n') + if show_minimally: + write_line_draw_commands(fo,minimally_frustrated) + # neutral + neutral = sel_frustration[(sel_frustration[:, 2] > -0.78) & (sel_frustration[:, 2] < 1)] + sort_index = np.argsort(minimally_frustrated[:, 2]) + minimally_frustrated = minimally_frustrated[sort_index] + fo.write('draw color yellow\n') + if show_neutral: + write_line_draw_commands(fo,neutral) + # highly frustrated + frustrated = sel_frustration[sel_frustration[:, 2] > 1] + sort_index = np.argsort(frustrated[:, 2])[::-1] # i don't know why we reverse the order of elements in this case + frustrated = frustrated[sort_index] + fo.write('draw color red\n') + if show_highly: + write_line_draw_commands(fo,frustrated) + + # boilerplate vmd visualization commands + fo.write('''mol delrep top 0 + mol color Beta + mol representation NewCartoon 0.300000 10.000000 4.100000 0 + mol selection all + mol material Opaque + mol addrep top + color scale method GWR + ''') + if movie_name: + fo.write('''axes location Off + color Display Background white + display resize 800 800 + display projection Orthographic + display depthcue off + display resetview + display resize [expr [lindex [display get size] 0]/2*2] [expr [lindex [display get size] 1]/2*2] ;#Resize display to even height and width + display update ui + + # Set up the movie directory and base file name + mkdir movie_tmp + set workdir "movie_tmp" + ''' + f'set basename "{movie_name}"' + ''' + set numframes 360 + set framerate 25 + + # Function to rotate the molecule and capture frames + proc captureFrames {} { + global workdir basename numframes + for {set i 0} {$i < $numframes} {incr i} { + # Rotate the molecule around the Y-axis + rotate y by 1 + + # Capture the frame + set output [format "%s/$basename.%05d.tga" $workdir $i] + render snapshot $output + } + } + + # Function to convert frames to MP4 + proc convertToMP4 {} { + global workdir basename numframes framerate + + set mybasefilename [format "%s/%s" $workdir $basename] + set outputFile [format "%s.mp4" $basename] + + # Construct and execute the ffmpeg command + + set command "ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile" + puts "Executing: $command" + exec ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile >&@ stdout + } + + # Main script execution + captureFrames + convertToMP4 + + # Cleanup the TGA files if desired + for {set i 0} {$i < $numframes} {incr i} { + set output [format "%s/$basename.%05d.tga" $workdir $i] + exec rm $output + } + exit + ''') + elif still_image_name: + fo.write(f'set output "{still_image_name}"' + ''' + render snapshot $output + exit + ''') + + # close tcl script file the old fashioned way + fo.close() + + # return tcl_script as a string, but we don't usually capture or use the return value + return tcl_script + + + +#def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, distance_matrix: np.array, distance_cutoff: float, single_frustration: np.array, +# pair_frustration: np.array, tcl_script: Union[Path, str] ='frustration.tcl',max_connections: int =None, movie_name: Union[Path, str] =None, still_image_name: Union[Path, str] =None) -> Union[Path, str]: + """ + Writes a tcl script that can be run with VMD to superimpose the frustration patterns onto the corresponding PDB structure. + + Parameters + ---------- + pdb_file : Path or str + pdb file name + chain : str + Select chain from pdb + mask : np.array + A 2D Boolean array that determines which residue pairs should be considered in the energy computation. The mask should have dimensions (L, L), where L is the length of the sequence. + distance_matrix : np.array + LxL array for sequence of length L, describing distances between contacts + distance_cutoff : float + Maximum distance at which a contact occurs + single_frustration : np.array + Array containing single residue frustration index values + pair_frustration : np.array + Array containing pair (ex. configurational, mutational, contact) frustration index values + tcl_script : Path or str + Output tcl script file with static structure + max_connections : int + Maximum number of pair frustration values visualized in tcl file + movie_name : Path or str + Output movie file with rotating structure + still_image_name : Path or str + Output image file with still image + + + Returns + ------- + tcl_script : Path or str + tcl script file + """ + """ + fo = open(tcl_script, 'w+') + single_frustration = np.nan_to_num(single_frustration,nan=0,posinf=0,neginf=0) + pair_frustration = np.nan_to_num(pair_frustration,nan=0,posinf=0,neginf=0) + + if chain == None: + chain_selection = '".*"' + else: + chain_selection = chain + + structure = prody.parsePDB(str(pdb_file)) + + # do single residue frustration for each chain and pair frustration within each chain + for chain in structure.iterChains(): + selection = structure.select('protein', chain=chain) + residues = np.unique(selection.getResindices()) + + fo.write(f'[atomselect top all] set beta 0\n') + # Single residue frustration + for r, f in zip(residues, single_frustration): + # print(f) + fo.write(f'[atomselect top "chain {chain} and residue {int(r)}"] set beta {f}\n') + + # Mutational frustration: + r1, r2 = np.meshgrid(residues, residues, indexing='ij') + try: + sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(),distance_matrix.ravel(), mask.ravel()]).T + except ValueError: + print(r1.shape) + print(r2.shape) + print(pair_frustration.shape) + print(distance_matrix.shape) + print(mask.shape) + raise + #Filter with mask and distance + if distance_cutoff: + mask_dist=(sel_frustration[:, -2] <= distance_cutoff) + else: + mask_dist=np.ones(len(sel_frustration),dtype=bool) + sel_frustration = sel_frustration[mask_dist & (sel_frustration[:, -1] > 0)] + + minimally_frustrated = sel_frustration[sel_frustration[:, 2] < -0.78] + #minimally_frustrated = sel_frustration[sel_frustration[:, 2] < -1.78] + sort_index = np.argsort(minimally_frustrated[:, 2]) + minimally_frustrated = minimally_frustrated[sort_index] + if max_connections: + #minimally_frustrated = minimally_frustrated[:max_connections] + raise NotImplementedError("need to fix this because we changed to support multichain files") + + fo.write('draw color green\n') + for (r1, r2, f, d ,m) in minimally_frustrated: + r1=int(r1) + r2=int(r2) + if abs(r1-r2) == 1: # don't draw interactions between residues adjacent in sequence + continue + pos1 = selection.select(f'resindex {r1} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] + pos2 = selection.select(f'resindex {r2} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] + distance = np.linalg.norm(pos1 - pos2) + if d > 9.5 or d < 3.5: + continue + fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') + fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') + if 3.5 <= distance <= 6.5: + fo.write(f'draw line $pos1 $pos2 style solid width 2\n') + else: + fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') + + frustrated = sel_frustration[sel_frustration[:, 2] > 1] + #frustrated = sel_frustration[sel_frustration[:, 2] > 0] + sort_index = np.argsort(frustrated[:, 2])[::-1] + frustrated = frustrated[sort_index] + if max_connections: + frustrated = frustrated[:max_connections] + fo.write('draw color red\n') + for (r1, r2, f ,d, m) in frustrated: + r1=int(r1) + r2=int(r2) + if d > 9.5 or d < 3.5: + continue + fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') + fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') + if 3.5 <= d <= 6.5: + fo.write(f'draw line $pos1 $pos2 style solid width 2\n') + else: + fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') + + fo.write('''mol delrep top 0 + mol color Beta + mol representation NewCartoon 0.300000 10.000000 4.100000 0 + mol selection all + mol material Opaque + mol addrep top + color scale method GWR + ''') + + if movie_name: + fo.write('''axes location Off + color Display Background white + display resize 800 800 + display projection Orthographic + display depthcue off + display resetview + display resize [expr [lindex [display get size] 0]/2*2] [expr [lindex [display get size] 1]/2*2] ;#Resize display to even height and width + display update ui + + # Set up the movie directory and base file name + mkdir movie_tmp + set workdir "movie_tmp" + ''' + f'set basename "{movie_name}"' + ''' + set numframes 360 + set framerate 25 + + # Function to rotate the molecule and capture frames + proc captureFrames {} { + global workdir basename numframes + for {set i 0} {$i < $numframes} {incr i} { + # Rotate the molecule around the Y-axis + rotate y by 1 + + # Capture the frame + set output [format "%s/$basename.%05d.tga" $workdir $i] + render snapshot $output + } + } + + # Function to convert frames to MP4 + proc convertToMP4 {} { + global workdir basename numframes framerate + + set mybasefilename [format "%s/%s" $workdir $basename] + set outputFile [format "%s.mp4" $basename] + + # Construct and execute the ffmpeg command + + set command "ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile" + puts "Executing: $command" + exec ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile >&@ stdout + } + + # Main script execution + captureFrames + convertToMP4 + + # Cleanup the TGA files if desired + for {set i 0} {$i < $numframes} {incr i} { + set output [format "%s/$basename.%05d.tga" $workdir $i] + exec rm $output + } + exit + ''') + elif still_image_name: + fo.write(f'set output "{still_image_name}"' + ''' + render snapshot $output + exit + ''') + fo.close() + return tcl_script +""" + +#def write_tcl_script(pdb_file: Union[Path,str], chain: str, mask: np.array, distance_matrix: np.array, distance_cutoff: float, single_frustration: np.array, +# pair_frustration: np.array, tcl_script: Union[Path, str] ='frustration.tcl',max_connections: int =None, movie_name: Union[Path, str] =None, still_image_name: Union[Path, str] =None) -> Union[Path, str]: + """ + Writes a tcl script that can be run with VMD to superimpose the frustration patterns onto the corresponding PDB structure. + + Parameters + ---------- + pdb_file : Path or str + pdb file name + chain : str + Select chain from pdb + mask : np.array + A 2D Boolean array that determines which residue pairs should be considered in the energy computation. The mask should have dimensions (L, L), where L is the length of the sequence. + distance_matrix : np.array + LxL array for sequence of length L, describing distances between contacts + distance_cutoff : float + Maximum distance at which a contact occurs + single_frustration : np.array + Array containing single residue frustration index values + pair_frustration : np.array + Array containing pair (ex. configurational, mutational, contact) frustration index values + tcl_script : Path or str + Output tcl script file with static structure + max_connections : int + Maximum number of pair frustration values visualized in tcl file + movie_name : Path or str + Output movie file with rotating structure + still_image_name : Path or str + Output image file with still image + + + Returns + ------- + tcl_script : Path or str + tcl script file + """ + """ + fo = open(tcl_script, 'w+') + single_frustration = np.nan_to_num(single_frustration,nan=0,posinf=0,neginf=0) + pair_frustration = np.nan_to_num(pair_frustration,nan=0,posinf=0,neginf=0) + + if chain == None: + chain_selection = '".*"' + else: + chain_selection = chain + + structure = prody.parsePDB(str(pdb_file)) + + # do single residue frustration for each chain and pair frustration within each chain + for chain in structure.iterChains(): + selection = structure.select('protein', chain=chain) + residues = np.unique(selection.getResindices()) + + fo.write(f'[atomselect top all] set beta 0\n') + # Single residue frustration + for r, f in zip(residues, single_frustration): + # print(f) + fo.write(f'[atomselect top "chain {chain} and residue {int(r)}"] set beta {f}\n') + + # Mutational frustration: + r1, r2 = np.meshgrid(residues, residues, indexing='ij') + try: + sel_frustration = np.array([r1.ravel(), r2.ravel(), pair_frustration.ravel(),distance_matrix.ravel(), mask.ravel()]).T + except ValueError: + print(r1.shape) + print(r2.shape) + print(pair_frustration.shape) + print(distance_matrix.shape) + print(mask.shape) + raise + #Filter with mask and distance + if distance_cutoff: + mask_dist=(sel_frustration[:, -2] <= distance_cutoff) + else: + mask_dist=np.ones(len(sel_frustration),dtype=bool) + sel_frustration = sel_frustration[mask_dist & (sel_frustration[:, -1] > 0)] + + minimally_frustrated = sel_frustration[sel_frustration[:, 2] < -0.78] + #minimally_frustrated = sel_frustration[sel_frustration[:, 2] < -1.78] + sort_index = np.argsort(minimally_frustrated[:, 2]) + minimally_frustrated = minimally_frustrated[sort_index] + if max_connections: + #minimally_frustrated = minimally_frustrated[:max_connections] + raise NotImplementedError("need to fix this because we changed to support multichain files") + + fo.write('draw color green\n') + for (r1, r2, f, d ,m) in minimally_frustrated: + r1=int(r1) + r2=int(r2) + if abs(r1-r2) == 1: # don't draw interactions between residues adjacent in sequence + continue + pos1 = selection.select(f'resindex {r1} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] + pos2 = selection.select(f'resindex {r2} and chain {chain} and (name CB or (resname GLY and name CA))').getCoords()[0] + distance = np.linalg.norm(pos1 - pos2) + if d > 9.5 or d < 3.5: + continue + fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') + fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') + if 3.5 <= distance <= 6.5: + fo.write(f'draw line $pos1 $pos2 style solid width 2\n') + else: + fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') + + frustrated = sel_frustration[sel_frustration[:, 2] > 1] + #frustrated = sel_frustration[sel_frustration[:, 2] > 0] + sort_index = np.argsort(frustrated[:, 2])[::-1] + frustrated = frustrated[sort_index] + if max_connections: + frustrated = frustrated[:max_connections] + fo.write('draw color red\n') + for (r1, r2, f ,d, m) in frustrated: + r1=int(r1) + r2=int(r2) + if d > 9.5 or d < 3.5: + continue + fo.write(f'lassign [[atomselect top "resid {r1} and name CA and chain {chain}"] get {{x y z}}] pos1\n') + fo.write(f'lassign [[atomselect top "resid {r2} and name CA and chain {chain}"] get {{x y z}}] pos2\n') + if 3.5 <= d <= 6.5: + fo.write(f'draw line $pos1 $pos2 style solid width 2\n') + else: + fo.write(f'draw line $pos1 $pos2 style dashed width 2\n') + + fo.write('''mol delrep top 0 + mol color Beta + mol representation NewCartoon 0.300000 10.000000 4.100000 0 + mol selection all + mol material Opaque + mol addrep top + color scale method GWR + ''') + + if movie_name: + fo.write('''axes location Off + color Display Background white + display resize 800 800 + display projection Orthographic + display depthcue off + display resetview + display resize [expr [lindex [display get size] 0]/2*2] [expr [lindex [display get size] 1]/2*2] ;#Resize display to even height and width + display update ui + + # Set up the movie directory and base file name + mkdir movie_tmp + set workdir "movie_tmp" + ''' + f'set basename "{movie_name}"' + ''' + set numframes 360 + set framerate 25 + + # Function to rotate the molecule and capture frames + proc captureFrames {} { + global workdir basename numframes + for {set i 0} {$i < $numframes} {incr i} { + # Rotate the molecule around the Y-axis + rotate y by 1 + + # Capture the frame + set output [format "%s/$basename.%05d.tga" $workdir $i] + render snapshot $output + } + } + + # Function to convert frames to MP4 + proc convertToMP4 {} { + global workdir basename numframes framerate + + set mybasefilename [format "%s/%s" $workdir $basename] + set outputFile [format "%s.mp4" $basename] + + # Construct and execute the ffmpeg command + + set command "ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile" + puts "Executing: $command" + exec ffmpeg -y -framerate $framerate -i $mybasefilename.%05d.tga -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p $outputFile >&@ stdout + } + + # Main script execution + captureFrames + convertToMP4 + + # Cleanup the TGA files if desired + for {set i 0} {$i < $numframes} {incr i} { + set output [format "%s/$basename.%05d.tga" $workdir $i] + exec rm $output + } + exit + ''') + elif still_image_name: + fo.write(f'set output "{still_image_name}"' + ''' + render snapshot $output + exit + ''') + fo.close() + return tcl_script +""" def call_vmd(pdb_file: Union[Path,str], tcl_script: Union[Path,str]): """ diff --git a/frustratometer/pdb/fix.py b/frustratometer/pdb/fix.py index 142656c..e8c0185 100644 --- a/frustratometer/pdb/fix.py +++ b/frustratometer/pdb/fix.py @@ -13,7 +13,7 @@ def repair_pdb(pdb_file: str, chain: str, pdb_directory: Path= Path.cwd()) -> PD pdb_file: str, PDB file location. chain: str, - Chain ID + Chain ID -- can be formatted as str or list (or None) pdb_directory: str, PDB file location @@ -51,5 +51,19 @@ def repair_pdb(pdb_file: str, chain: str, pdb_directory: Path= Path.cwd()) -> PD print("Unable to add missing atoms") fixer.addMissingHydrogens(7.0) - PDBFile.writeFile(fixer.topology, fixer.positions, open(f"{pdb_directory}/{pdbID}_cleaned.pdb", 'w')) + + # renumber residues so that each chain starts at 1 + new_top = type(fixer.topology)() # an openmm.app.Topology accesed without needing to import it separately + for old_chain in fixer.topology.chains(): + new_chain = new_top.addChain(id=old_chain.id) + for old_residue in old_chain.residues(): + new_residue = new_top.addResidue(old_residue.name,new_chain,id=None) # allow the class to choose residue id + for old_atom in old_residue.atoms(): + new_atom = new_top.addAtom(old_atom.name,old_atom.element,new_residue,id=old_atom.id) + + # use keepIds=True when writing to preserve chain IDs + # changing it to False causes test_multichain_density to fail for structure_file1-density_file1 + # because chains a, b, c, ... get renamed to A, B, C, ... and end up getting confused + # with the real chains A, B, C, ... + PDBFile.writeFile(new_top, fixer.positions, open(f"{pdb_directory}/{pdbID}_cleaned.pdb", 'w'),keepIds=True) return fixer \ No newline at end of file diff --git a/frustratometer/pdb/pdb.py b/frustratometer/pdb/pdb.py index 853e6e6..2feeb65 100644 --- a/frustratometer/pdb/pdb.py +++ b/frustratometer/pdb/pdb.py @@ -37,7 +37,8 @@ def download(pdbID: str,directory: Union[Path,str]=Path.cwd()) -> Path: return pdb_file def get_sequence(pdb_file: str, - chain: str + chain: str, + return_start_mask: bool=False ) -> str: """ Get a protein sequence from a pdb file @@ -46,8 +47,10 @@ def get_sequence(pdb_file: str, ---------- pdb_file : str, PDB file location. - chain: str, - Chain ID of the selected protein. + chain: str or list, + Chain ID(s) of the selected protein. + return_start_mask: bool, + Return binary mask list indicating whether each position is the start of a chain Returns ------- @@ -58,37 +61,63 @@ def get_sequence(pdb_file: str, Get a protein sequence from a PDB file :param pdb: PDB file location - :param chain: chain name of PDB file to get sequence + :param chain: chain name(s) of PDB file to get sequence :return: protein sequence """ - if ".cif" in str(pdb_file): - parser = MMCIFParser() - else: - parser = PDBParser() - structure = parser.get_structure('name', pdb_file) + if ".cif" in str(pdb_file): # BIOPYTHON + parser = MMCIFParser() # BIOPYTHON + else: # BIOPYTHON + parser = PDBParser() # BIOPYTHON + structure = parser.get_structure('name', pdb_file) #BIOPYTHON + #structure = prody.parsePDB(str(pdb_file)) # PRODY + #hv = structure.getHierView() # PRODY if chain==None: - all_chains=[i.get_id() for i in structure.get_chains()] + all_chains=[i.get_id() for i in structure.get_chains()] # BIOPYTHON + #all_chains = [structure_chain.getChid() for structure_chain in hv] # PRODY else: - all_chains=[chain] + if type(chain) == list: + all_chains = chain + elif type(chain) == str: + all_chains = [id for id in chain if id != " "] # remove spaces if present in string + else: + raise TypeError(f"chain must be list or str but was {type(chain)}") sequence = "" - for chain in all_chains: - c = structure[0][chain] + start_mask = [] + for single_chain in all_chains: + c = structure[0][single_chain] # BIOPYTHON + #c = hv[single_chain] # PRODY chain_seq = "" for residue in c: - is_regular_res = residue.has_id('CA') and residue.has_id('O') - res_id = residue.get_id()[0] - if (res_id==' ' or res_id=='H_MSE' or res_id=='H_M3L' or res_id=='H_CAS') and is_regular_res: - residue_name = residue.get_resname() + is_regular_res = residue.has_id('CA') and residue.has_id('O') # BIOPYTHON + #atom_names = [atom.getName() for atom in residue] # PRODY + #is_regular_res = ("CA" in atom_names and "O" in atom_names) # PRODY + res_id = residue.get_id()[0] #BIOPYTHON + if (res_id==' ' or res_id=='H_MSE' or res_id=='H_M3L' or res_id=='H_CAS') and is_regular_res: # BIOPYTHON + # i don't know what H_HSE, H_M3L, and H_CAS are doing + # because they aren't in three_to_one, so those should throw an error + # long story short, I don't think we have to worry about them when switching from biopython to prody + #if is_regular_res: # PRODY + residue_name = residue.get_resname() # BIOPYTHON + #residue_name = residue.getResname() # PRODY chain_seq += three_to_one[residue_name] + if chain_seq == "": # empty chain, like a nucleic acid chain (see 8ZWK) + continue # FYI, currently, a non-empty chain with certain invalid residues will throw an error at the three_to_one[residue_name] above sequence += chain_seq - return sequence + start_mask.append(1) + for _ in range(1,len(chain_seq)): + start_mask.append(0) + if return_start_mask: + return (sequence,start_mask) + else: + return sequence def get_distance_matrix(pdb_file: Union[Path,str], chain: str, - method: str = 'CB' + method: str = 'CB', + return_distance_midpoints: bool = False, ) -> np.array: """ Calculate the distance matrix of the specified atoms in a PDB file. @@ -106,6 +135,10 @@ def get_distance_matrix(pdb_file: Union[Path,str], 'CA' for using only the CA atom, 'minimum' for using the minimum distance between all atoms in each residue, 'CB_force' computes a new coordinate for the CB atom based on the CA, C, and N atoms and uses CB distance even for glycine. + return_distance_midpoints: bool + Whether to return a matrix of the same shape as distance_matrix representing the same contacts as distance_matrix + that indicates the absolute coordinates of the midpoint between the pair of atoms. This helps us compute the pair distribution + functions of the different classes of contacts. So this matrix isn't really a matrix because each "element" has 3 channels: x, y, and z Returns: np.array: The distance matrix of the selected atoms. @@ -121,7 +154,7 @@ def get_distance_matrix(pdb_file: Union[Path,str], if method == 'CA': coords = structure.select('protein and name CA' + chain_selection).getCoords() elif method == 'CB': - coords = structure.select('(protein and (name CB) or (resname GLY and name CA))' + chain_selection).getCoords() + coords = structure.select('(protein and (name CB) or (resname GLY IGL and name CA))' + chain_selection).getCoords() elif method == 'minimum': selection = structure.select('protein' + chain_selection) coords = selection.getCoords() @@ -163,8 +196,20 @@ def get_distance_matrix(pdb_file: Union[Path,str], if len(coords) == 0: raise IndexError('Empty selection for distance map') + # coords should be a numpy array of shape (N,3) distance_matrix = sdist.squareform(sdist.pdist(coords)) - return distance_matrix + assert distance_matrix.shape[0] == distance_matrix.shape[1] + if return_distance_midpoints: + midpoint_matrix = np.zeros((distance_matrix.shape[0],distance_matrix.shape[1],3)) + for i in range(distance_matrix.shape[0]): + for j in range(distance_matrix.shape[1]): + midpoint_matrix[i,j,:] = (coords[None,i,:] + coords[None,j,:])/2 + # check that indexing is consistent with distance_matrix + assert np.allclose(np.linalg.norm(coords[i,:]-coords[j,:]),distance_matrix[i,j]) + assert np.allclose(midpoint_matrix,midpoint_matrix.transpose(1,0,2)) # check symmetry + return distance_matrix, midpoint_matrix + else: + return distance_matrix def full_to_filtered_aligned_mapping(aligned_sequence: str, diff --git a/tests/data/0_3nve.pdb b/tests/data/0_3nve.pdb new file mode 100644 index 0000000..692615d --- /dev/null +++ b/tests/data/0_3nve.pdb @@ -0,0 +1,206 @@ +REMARK 1 CREATED WITH OPENMM 8.1.1, 2025-02-24 +ATOM 1 N MET A 1 3.903 -2.905 17.087 1.00 0.00 N +ATOM 2 CA MET A 1 4.600 -3.303 15.832 1.00 0.00 C +ATOM 3 C MET A 1 3.926 -2.684 14.561 1.00 0.00 C +ATOM 4 O MET A 1 2.703 -2.549 14.516 1.00 0.00 O +ATOM 5 CB MET A 1 4.647 -4.821 15.833 1.00 0.00 C +ATOM 6 CG MET A 1 5.035 -5.510 14.578 1.00 0.00 C +ATOM 7 SD MET A 1 3.551 -5.948 13.644 1.00 0.00 S +ATOM 8 CE MET A 1 2.658 -7.016 14.851 1.00 0.00 C +ATOM 9 N MET A 2 4.747 -2.339 13.561 1.00 0.00 N +ATOM 10 CA MET A 2 4.298 -1.822 12.260 1.00 0.00 C +ATOM 11 C MET A 2 4.918 -2.579 11.102 1.00 0.00 C +ATOM 12 O MET A 2 6.098 -2.616 10.949 1.00 0.00 O +ATOM 13 CB MET A 2 4.590 -0.360 12.139 1.00 0.00 C +ATOM 14 CG MET A 2 3.684 0.416 12.995 1.00 0.00 C +ATOM 15 SD MET A 2 3.836 2.185 13.062 1.00 0.00 S +ATOM 16 CE MET A 2 2.789 2.754 11.688 1.00 0.00 C +ATOM 17 N HIS A 3 4.096 -3.268 10.330 1.00 0.00 N +ATOM 18 CA HIS A 3 4.559 -3.978 9.158 1.00 0.00 C +ATOM 19 C HIS A 3 3.941 -3.442 7.874 1.00 0.00 C +ATOM 20 O HIS A 3 2.724 -3.287 7.734 1.00 0.00 O +ATOM 21 CB HIS A 3 4.302 -5.432 9.277 1.00 0.00 C +ATOM 22 CG HIS A 3 4.878 -6.238 8.159 1.00 0.00 C +ATOM 23 ND1 HIS A 3 6.005 -7.017 8.309 1.00 0.00 N +ATOM 24 CD2 HIS A 3 4.491 -6.390 6.866 1.00 0.00 C +ATOM 25 CE1 HIS A 3 6.292 -7.600 7.160 1.00 0.00 C +ATOM 26 NE2 HIS A 3 5.384 -7.248 6.274 1.00 0.00 N +ATOM 27 N PHE A 4 4.839 -3.148 6.957 1.00 0.00 N +ATOM 28 CA PHE A 4 4.536 -2.682 5.614 1.00 0.00 C +ATOM 29 C PHE A 4 5.024 -3.646 4.526 1.00 0.00 C +ATOM 30 O PHE A 4 6.203 -3.840 4.384 1.00 0.00 O +ATOM 31 CB PHE A 4 5.185 -1.324 5.363 1.00 0.00 C +ATOM 32 CG PHE A 4 4.824 -0.267 6.346 1.00 0.00 C +ATOM 33 CD1 PHE A 4 3.832 0.708 6.030 1.00 0.00 C +ATOM 34 CD2 PHE A 4 5.519 -0.210 7.596 1.00 0.00 C +ATOM 35 CE1 PHE A 4 3.522 1.689 6.948 1.00 0.00 C +ATOM 36 CE2 PHE A 4 5.232 0.794 8.538 1.00 0.00 C +ATOM 37 CZ PHE A 4 4.245 1.740 8.227 1.00 0.00 C +ATOM 38 N GLY A 5 4.101 -4.219 3.775 1.00 0.00 N +ATOM 39 CA GLY A 5 4.404 -5.225 2.773 1.00 0.00 C +ATOM 40 C GLY A 5 3.610 -5.177 1.467 1.00 0.00 C +ATOM 41 O GLY A 5 2.795 -4.297 1.244 1.00 0.00 O +ATOM 42 N ASN A 6 3.849 -6.176 0.613 1.00 0.00 N +ATOM 43 CA ASN A 6 3.133 -6.392 -0.667 1.00 0.00 C +ATOM 44 C ASN A 6 1.810 -7.093 -0.501 1.00 0.00 C +ATOM 45 O ASN A 6 1.574 -7.693 0.569 1.00 0.00 O +ATOM 46 CB ASN A 6 4.002 -7.237 -1.573 1.00 0.00 C +ATOM 47 CG ASN A 6 5.295 -6.514 -1.939 1.00 0.00 C +ATOM 48 OD1 ASN A 6 5.253 -5.293 -2.159 1.00 0.00 O +ATOM 49 ND2 ASN A 6 6.438 -7.246 -2.011 1.00 0.00 N +ATOM 50 OXT ASN A 6 0.986 -7.085 -1.430 1.00 0.00 O +TER 51 ASN A 6 +ATOM 52 N MET B 1 3.903 8.879 17.087 1.00 0.00 N +ATOM 53 CA MET B 1 4.600 8.481 15.832 1.00 0.00 C +ATOM 54 C MET B 1 3.926 9.100 14.561 1.00 0.00 C +ATOM 55 O MET B 1 2.703 9.235 14.516 1.00 0.00 O +ATOM 56 CB MET B 1 4.647 6.963 15.833 1.00 0.00 C +ATOM 57 CG MET B 1 5.035 6.274 14.578 1.00 0.00 C +ATOM 58 SD MET B 1 3.551 5.836 13.644 1.00 0.00 S +ATOM 59 CE MET B 1 2.658 4.768 14.851 1.00 0.00 C +ATOM 60 N MET B 2 4.747 9.445 13.561 1.00 0.00 N +ATOM 61 CA MET B 2 4.298 9.962 12.260 1.00 0.00 C +ATOM 62 C MET B 2 4.918 9.205 11.102 1.00 0.00 C +ATOM 63 O MET B 2 6.098 9.168 10.949 1.00 0.00 O +ATOM 64 CB MET B 2 4.590 11.424 12.139 1.00 0.00 C +ATOM 65 CG MET B 2 3.684 12.200 12.995 1.00 0.00 C +ATOM 66 SD MET B 2 3.836 13.969 13.062 1.00 0.00 S +ATOM 67 CE MET B 2 2.789 14.538 11.688 1.00 0.00 C +ATOM 68 N HIS B 3 4.096 8.516 10.330 1.00 0.00 N +ATOM 69 CA HIS B 3 4.559 7.806 9.158 1.00 0.00 C +ATOM 70 C HIS B 3 3.941 8.342 7.874 1.00 0.00 C +ATOM 71 O HIS B 3 2.724 8.497 7.734 1.00 0.00 O +ATOM 72 CB HIS B 3 4.302 6.352 9.277 1.00 0.00 C +ATOM 73 CG HIS B 3 4.878 5.546 8.159 1.00 0.00 C +ATOM 74 ND1 HIS B 3 6.005 4.767 8.309 1.00 0.00 N +ATOM 75 CD2 HIS B 3 4.491 5.394 6.866 1.00 0.00 C +ATOM 76 CE1 HIS B 3 6.292 4.184 7.160 1.00 0.00 C +ATOM 77 NE2 HIS B 3 5.384 4.536 6.274 1.00 0.00 N +ATOM 78 N PHE B 4 4.839 8.636 6.957 1.00 0.00 N +ATOM 79 CA PHE B 4 4.536 9.102 5.614 1.00 0.00 C +ATOM 80 C PHE B 4 5.024 8.138 4.526 1.00 0.00 C +ATOM 81 O PHE B 4 6.203 7.944 4.384 1.00 0.00 O +ATOM 82 CB PHE B 4 5.185 10.460 5.363 1.00 0.00 C +ATOM 83 CG PHE B 4 4.824 11.517 6.346 1.00 0.00 C +ATOM 84 CD1 PHE B 4 3.832 12.492 6.030 1.00 0.00 C +ATOM 85 CD2 PHE B 4 5.519 11.574 7.596 1.00 0.00 C +ATOM 86 CE1 PHE B 4 3.522 13.473 6.948 1.00 0.00 C +ATOM 87 CE2 PHE B 4 5.232 12.578 8.538 1.00 0.00 C +ATOM 88 CZ PHE B 4 4.245 13.524 8.227 1.00 0.00 C +ATOM 89 N GLY B 5 4.101 7.565 3.775 1.00 0.00 N +ATOM 90 CA GLY B 5 4.404 6.559 2.773 1.00 0.00 C +ATOM 91 C GLY B 5 3.610 6.607 1.467 1.00 0.00 C +ATOM 92 O GLY B 5 2.795 7.487 1.244 1.00 0.00 O +ATOM 93 N ASN B 6 3.849 5.608 0.613 1.00 0.00 N +ATOM 94 CA ASN B 6 3.133 5.392 -0.667 1.00 0.00 C +ATOM 95 C ASN B 6 1.810 4.691 -0.501 1.00 0.00 C +ATOM 96 O ASN B 6 1.574 4.091 0.569 1.00 0.00 O +ATOM 97 CB ASN B 6 4.002 4.547 -1.573 1.00 0.00 C +ATOM 98 CG ASN B 6 5.295 5.270 -1.939 1.00 0.00 C +ATOM 99 OD1 ASN B 6 5.253 6.491 -2.159 1.00 0.00 O +ATOM 100 ND2 ASN B 6 6.438 4.538 -2.011 1.00 0.00 N +ATOM 101 OXT ASN B 6 0.986 4.699 -1.430 1.00 0.00 O +TER 102 ASN B 6 +ATOM 103 N MET C 1 0.025 -3.943 1.633 1.00 0.00 N +ATOM 104 CA MET C 1 -0.593 -4.388 2.907 1.00 0.00 C +ATOM 105 C MET C 1 0.086 -3.636 4.038 1.00 0.00 C +ATOM 106 O MET C 1 1.295 -3.345 3.987 1.00 0.00 O +ATOM 107 CB MET C 1 -0.402 -5.873 3.027 1.00 0.00 C +ATOM 108 CG MET C 1 -0.916 -6.560 4.222 1.00 0.00 C +ATOM 109 SD MET C 1 0.040 -6.413 5.754 1.00 0.00 S +ATOM 110 CE MET C 1 1.680 -6.781 5.249 1.00 0.00 C +ATOM 111 N MET C 2 -0.672 -3.307 5.073 1.00 0.00 N +ATOM 112 CA MET C 2 -0.060 -2.705 6.308 1.00 0.00 C +ATOM 113 C MET C 2 -0.754 -3.318 7.508 1.00 0.00 C +ATOM 114 O MET C 2 -1.994 -3.477 7.521 1.00 0.00 O +ATOM 115 CB MET C 2 -0.220 -1.195 6.377 1.00 0.00 C +ATOM 116 CG MET C 2 0.330 -0.439 5.221 1.00 0.00 C +ATOM 117 SD MET C 2 -0.002 1.330 5.258 1.00 0.00 S +ATOM 118 CE MET C 2 -1.767 1.398 4.953 1.00 0.00 C +ATOM 119 N HIS C 3 0.050 -3.707 8.473 1.00 0.00 N +ATOM 120 CA HIS C 3 -0.447 -4.180 9.746 1.00 0.00 C +ATOM 121 C HIS C 3 0.190 -3.393 10.869 1.00 0.00 C +ATOM 122 O HIS C 3 1.396 -3.480 11.070 1.00 0.00 O +ATOM 123 CB HIS C 3 -0.134 -5.623 9.909 1.00 0.00 C +ATOM 124 CG HIS C 3 -0.855 -6.278 11.054 1.00 0.00 C +ATOM 125 ND1 HIS C 3 -2.097 -6.866 10.924 1.00 0.00 N +ATOM 126 CD2 HIS C 3 -0.508 -6.438 12.360 1.00 0.00 C +ATOM 127 CE1 HIS C 3 -2.471 -7.367 12.086 1.00 0.00 C +ATOM 128 NE2 HIS C 3 -1.535 -7.112 12.977 1.00 0.00 N +ATOM 129 N PHE C 4 -0.633 -2.621 11.590 1.00 0.00 N +ATOM 130 CA PHE C 4 -0.215 -1.933 12.825 1.00 0.00 C +ATOM 131 C PHE C 4 -0.847 -2.590 14.033 1.00 0.00 C +ATOM 132 O PHE C 4 -2.101 -2.655 14.173 1.00 0.00 O +ATOM 133 CB PHE C 4 -0.551 -0.472 12.796 1.00 0.00 C +ATOM 134 CG PHE C 4 -0.188 0.226 11.526 1.00 0.00 C +ATOM 135 CD1 PHE C 4 0.855 -0.217 10.720 1.00 0.00 C +ATOM 136 CD2 PHE C 4 -0.923 1.327 11.103 1.00 0.00 C +ATOM 137 CE1 PHE C 4 1.151 0.421 9.521 1.00 0.00 C +ATOM 138 CE2 PHE C 4 -0.604 1.990 9.891 1.00 0.00 C +ATOM 139 CZ PHE C 4 0.422 1.546 9.129 1.00 0.00 C +ATOM 140 N GLY C 5 -0.003 -3.149 14.883 1.00 0.00 N +ATOM 141 CA GLY C 5 -0.519 -3.937 16.011 1.00 0.00 C +ATOM 142 C GLY C 5 0.367 -3.922 17.197 1.00 0.00 C +ATOM 143 O GLY C 5 1.225 -3.113 17.247 1.00 0.00 O +ATOM 144 N ASN C 6 0.104 -4.747 18.202 1.00 0.00 N +ATOM 145 CA ASN C 6 0.963 -4.704 19.400 1.00 0.00 C +ATOM 146 C ASN C 6 1.878 -5.905 19.319 1.00 0.00 C +ATOM 147 O ASN C 6 1.669 -6.847 18.564 1.00 0.00 O +ATOM 148 CB ASN C 6 0.177 -4.660 20.728 1.00 0.00 C +ATOM 149 CG ASN C 6 -0.689 -3.409 20.892 1.00 0.00 C +ATOM 150 OD1 ASN C 6 -0.212 -2.242 21.032 1.00 0.00 O +ATOM 151 ND2 ASN C 6 -2.014 -3.652 20.859 1.00 0.00 N +ATOM 152 OXT ASN C 6 2.877 -5.944 19.973 1.00 0.00 O +TER 153 ASN C 6 +ATOM 154 N MET D 1 0.025 7.841 1.633 1.00 0.00 N +ATOM 155 CA MET D 1 -0.593 7.396 2.907 1.00 0.00 C +ATOM 156 C MET D 1 0.086 8.148 4.038 1.00 0.00 C +ATOM 157 O MET D 1 1.295 8.439 3.987 1.00 0.00 O +ATOM 158 CB MET D 1 -0.402 5.911 3.027 1.00 0.00 C +ATOM 159 CG MET D 1 -0.916 5.224 4.222 1.00 0.00 C +ATOM 160 SD MET D 1 0.040 5.371 5.754 1.00 0.00 S +ATOM 161 CE MET D 1 1.680 5.003 5.249 1.00 0.00 C +ATOM 162 N MET D 2 -0.672 8.477 5.073 1.00 0.00 N +ATOM 163 CA MET D 2 -0.060 9.079 6.308 1.00 0.00 C +ATOM 164 C MET D 2 -0.754 8.466 7.508 1.00 0.00 C +ATOM 165 O MET D 2 -1.994 8.307 7.521 1.00 0.00 O +ATOM 166 CB MET D 2 -0.220 10.589 6.377 1.00 0.00 C +ATOM 167 CG MET D 2 0.330 11.345 5.221 1.00 0.00 C +ATOM 168 SD MET D 2 -0.002 13.114 5.258 1.00 0.00 S +ATOM 169 CE MET D 2 -1.767 13.182 4.953 1.00 0.00 C +ATOM 170 N HIS D 3 0.050 8.077 8.473 1.00 0.00 N +ATOM 171 CA HIS D 3 -0.447 7.604 9.746 1.00 0.00 C +ATOM 172 C HIS D 3 0.190 8.391 10.869 1.00 0.00 C +ATOM 173 O HIS D 3 1.396 8.304 11.070 1.00 0.00 O +ATOM 174 CB HIS D 3 -0.134 6.161 9.909 1.00 0.00 C +ATOM 175 CG HIS D 3 -0.855 5.506 11.054 1.00 0.00 C +ATOM 176 ND1 HIS D 3 -2.097 4.918 10.924 1.00 0.00 N +ATOM 177 CD2 HIS D 3 -0.508 5.346 12.360 1.00 0.00 C +ATOM 178 CE1 HIS D 3 -2.471 4.417 12.086 1.00 0.00 C +ATOM 179 NE2 HIS D 3 -1.535 4.672 12.977 1.00 0.00 N +ATOM 180 N PHE D 4 -0.633 9.163 11.590 1.00 0.00 N +ATOM 181 CA PHE D 4 -0.215 9.851 12.825 1.00 0.00 C +ATOM 182 C PHE D 4 -0.847 9.194 14.033 1.00 0.00 C +ATOM 183 O PHE D 4 -2.101 9.129 14.173 1.00 0.00 O +ATOM 184 CB PHE D 4 -0.551 11.312 12.796 1.00 0.00 C +ATOM 185 CG PHE D 4 -0.188 12.010 11.526 1.00 0.00 C +ATOM 186 CD1 PHE D 4 0.855 11.567 10.720 1.00 0.00 C +ATOM 187 CD2 PHE D 4 -0.923 13.111 11.103 1.00 0.00 C +ATOM 188 CE1 PHE D 4 1.151 12.205 9.521 1.00 0.00 C +ATOM 189 CE2 PHE D 4 -0.604 13.774 9.891 1.00 0.00 C +ATOM 190 CZ PHE D 4 0.422 13.330 9.129 1.00 0.00 C +ATOM 191 N GLY D 5 -0.003 8.635 14.883 1.00 0.00 N +ATOM 192 CA GLY D 5 -0.519 7.847 16.011 1.00 0.00 C +ATOM 193 C GLY D 5 0.367 7.862 17.197 1.00 0.00 C +ATOM 194 O GLY D 5 1.225 8.671 17.247 1.00 0.00 O +ATOM 195 N ASN D 6 0.104 7.037 18.202 1.00 0.00 N +ATOM 196 CA ASN D 6 0.963 7.080 19.400 1.00 0.00 C +ATOM 197 C ASN D 6 1.878 5.879 19.319 1.00 0.00 C +ATOM 198 O ASN D 6 1.669 4.937 18.564 1.00 0.00 O +ATOM 199 CB ASN D 6 0.177 7.124 20.728 1.00 0.00 C +ATOM 200 CG ASN D 6 -0.689 8.375 20.892 1.00 0.00 C +ATOM 201 OD1 ASN D 6 -0.212 9.542 21.032 1.00 0.00 O +ATOM 202 ND2 ASN D 6 -2.014 8.132 20.859 1.00 0.00 N +ATOM 203 OXT ASN D 6 2.877 5.840 19.973 1.00 0.00 O +TER 204 ASN D 6 +END diff --git a/tests/data/0_3nve_rho.npy b/tests/data/0_3nve_rho.npy new file mode 100644 index 0000000..b05d614 Binary files /dev/null and b/tests/data/0_3nve_rho.npy differ diff --git a/tests/data/24_3nve.pdb b/tests/data/24_3nve.pdb new file mode 100644 index 0000000..3736e7e --- /dev/null +++ b/tests/data/24_3nve.pdb @@ -0,0 +1,2654 @@ +REMARK 1 CREATED WITH OPENMM 8.1.1, 2025-02-24 +ATOM 1 N MET A 1 3.903 -2.905 17.087 1.00 0.00 N +ATOM 2 CA MET A 1 4.600 -3.303 15.832 1.00 0.00 C +ATOM 3 C MET A 1 3.926 -2.684 14.561 1.00 0.00 C +ATOM 4 O MET A 1 2.703 -2.549 14.516 1.00 0.00 O +ATOM 5 CB MET A 1 4.647 -4.821 15.833 1.00 0.00 C +ATOM 6 CG MET A 1 5.035 -5.510 14.578 1.00 0.00 C +ATOM 7 SD MET A 1 3.551 -5.948 13.644 1.00 0.00 S +ATOM 8 CE MET A 1 2.658 -7.016 14.851 1.00 0.00 C +ATOM 9 N MET A 2 4.747 -2.339 13.561 1.00 0.00 N +ATOM 10 CA MET A 2 4.298 -1.822 12.260 1.00 0.00 C +ATOM 11 C MET A 2 4.918 -2.579 11.102 1.00 0.00 C +ATOM 12 O MET A 2 6.098 -2.616 10.949 1.00 0.00 O +ATOM 13 CB MET A 2 4.590 -0.360 12.139 1.00 0.00 C +ATOM 14 CG MET A 2 3.684 0.416 12.995 1.00 0.00 C +ATOM 15 SD MET A 2 3.836 2.185 13.062 1.00 0.00 S +ATOM 16 CE MET A 2 2.789 2.754 11.688 1.00 0.00 C +ATOM 17 N HIS A 3 4.096 -3.268 10.330 1.00 0.00 N +ATOM 18 CA HIS A 3 4.559 -3.978 9.158 1.00 0.00 C +ATOM 19 C HIS A 3 3.941 -3.442 7.874 1.00 0.00 C +ATOM 20 O HIS A 3 2.724 -3.287 7.734 1.00 0.00 O +ATOM 21 CB HIS A 3 4.302 -5.432 9.277 1.00 0.00 C +ATOM 22 CG HIS A 3 4.878 -6.238 8.159 1.00 0.00 C +ATOM 23 ND1 HIS A 3 6.005 -7.017 8.309 1.00 0.00 N +ATOM 24 CD2 HIS A 3 4.491 -6.390 6.866 1.00 0.00 C +ATOM 25 CE1 HIS A 3 6.292 -7.600 7.160 1.00 0.00 C +ATOM 26 NE2 HIS A 3 5.384 -7.248 6.274 1.00 0.00 N +ATOM 27 N PHE A 4 4.839 -3.148 6.957 1.00 0.00 N +ATOM 28 CA PHE A 4 4.536 -2.682 5.614 1.00 0.00 C +ATOM 29 C PHE A 4 5.024 -3.646 4.526 1.00 0.00 C +ATOM 30 O PHE A 4 6.203 -3.840 4.384 1.00 0.00 O +ATOM 31 CB PHE A 4 5.185 -1.324 5.363 1.00 0.00 C +ATOM 32 CG PHE A 4 4.824 -0.267 6.346 1.00 0.00 C +ATOM 33 CD1 PHE A 4 3.832 0.708 6.030 1.00 0.00 C +ATOM 34 CD2 PHE A 4 5.519 -0.210 7.596 1.00 0.00 C +ATOM 35 CE1 PHE A 4 3.522 1.689 6.948 1.00 0.00 C +ATOM 36 CE2 PHE A 4 5.232 0.794 8.538 1.00 0.00 C +ATOM 37 CZ PHE A 4 4.245 1.740 8.227 1.00 0.00 C +ATOM 38 N GLY A 5 4.101 -4.219 3.775 1.00 0.00 N +ATOM 39 CA GLY A 5 4.404 -5.225 2.773 1.00 0.00 C +ATOM 40 C GLY A 5 3.610 -5.177 1.467 1.00 0.00 C +ATOM 41 O GLY A 5 2.795 -4.297 1.244 1.00 0.00 O +ATOM 42 N ASN A 6 3.849 -6.176 0.613 1.00 0.00 N +ATOM 43 CA ASN A 6 3.133 -6.392 -0.667 1.00 0.00 C +ATOM 44 C ASN A 6 1.810 -7.093 -0.501 1.00 0.00 C +ATOM 45 O ASN A 6 1.574 -7.693 0.569 1.00 0.00 O +ATOM 46 CB ASN A 6 4.002 -7.237 -1.573 1.00 0.00 C +ATOM 47 CG ASN A 6 5.295 -6.514 -1.939 1.00 0.00 C +ATOM 48 OD1 ASN A 6 5.253 -5.293 -2.159 1.00 0.00 O +ATOM 49 ND2 ASN A 6 6.438 -7.246 -2.011 1.00 0.00 N +ATOM 50 OXT ASN A 6 0.986 -7.085 -1.430 1.00 0.00 O +TER 51 ASN A 6 +ATOM 52 N MET B 1 13.416 -2.905 17.087 1.00 0.00 N +ATOM 53 CA MET B 1 14.113 -3.303 15.832 1.00 0.00 C +ATOM 54 C MET B 1 13.439 -2.684 14.561 1.00 0.00 C +ATOM 55 O MET B 1 12.216 -2.549 14.516 1.00 0.00 O +ATOM 56 CB MET B 1 14.160 -4.821 15.833 1.00 0.00 C +ATOM 57 CG MET B 1 14.548 -5.510 14.578 1.00 0.00 C +ATOM 58 SD MET B 1 13.064 -5.948 13.644 1.00 0.00 S +ATOM 59 CE MET B 1 12.171 -7.016 14.851 1.00 0.00 C +ATOM 60 N MET B 2 14.260 -2.339 13.561 1.00 0.00 N +ATOM 61 CA MET B 2 13.811 -1.822 12.260 1.00 0.00 C +ATOM 62 C MET B 2 14.431 -2.579 11.102 1.00 0.00 C +ATOM 63 O MET B 2 15.611 -2.616 10.949 1.00 0.00 O +ATOM 64 CB MET B 2 14.103 -0.360 12.139 1.00 0.00 C +ATOM 65 CG MET B 2 13.197 0.416 12.995 1.00 0.00 C +ATOM 66 SD MET B 2 13.349 2.185 13.062 1.00 0.00 S +ATOM 67 CE MET B 2 12.302 2.754 11.688 1.00 0.00 C +ATOM 68 N HIS B 3 13.609 -3.268 10.330 1.00 0.00 N +ATOM 69 CA HIS B 3 14.072 -3.978 9.158 1.00 0.00 C +ATOM 70 C HIS B 3 13.454 -3.442 7.874 1.00 0.00 C +ATOM 71 O HIS B 3 12.237 -3.287 7.734 1.00 0.00 O +ATOM 72 CB HIS B 3 13.815 -5.432 9.277 1.00 0.00 C +ATOM 73 CG HIS B 3 14.391 -6.238 8.159 1.00 0.00 C +ATOM 74 ND1 HIS B 3 15.518 -7.017 8.309 1.00 0.00 N +ATOM 75 CD2 HIS B 3 14.004 -6.390 6.866 1.00 0.00 C +ATOM 76 CE1 HIS B 3 15.805 -7.600 7.160 1.00 0.00 C +ATOM 77 NE2 HIS B 3 14.897 -7.248 6.274 1.00 0.00 N +ATOM 78 N PHE B 4 14.352 -3.148 6.957 1.00 0.00 N +ATOM 79 CA PHE B 4 14.049 -2.682 5.614 1.00 0.00 C +ATOM 80 C PHE B 4 14.537 -3.646 4.526 1.00 0.00 C +ATOM 81 O PHE B 4 15.716 -3.840 4.384 1.00 0.00 O +ATOM 82 CB PHE B 4 14.698 -1.324 5.363 1.00 0.00 C +ATOM 83 CG PHE B 4 14.337 -0.267 6.346 1.00 0.00 C +ATOM 84 CD1 PHE B 4 13.345 0.708 6.030 1.00 0.00 C +ATOM 85 CD2 PHE B 4 15.032 -0.210 7.596 1.00 0.00 C +ATOM 86 CE1 PHE B 4 13.035 1.689 6.948 1.00 0.00 C +ATOM 87 CE2 PHE B 4 14.745 0.794 8.538 1.00 0.00 C +ATOM 88 CZ PHE B 4 13.758 1.740 8.227 1.00 0.00 C +ATOM 89 N GLY B 5 13.614 -4.219 3.775 1.00 0.00 N +ATOM 90 CA GLY B 5 13.917 -5.225 2.773 1.00 0.00 C +ATOM 91 C GLY B 5 13.123 -5.177 1.467 1.00 0.00 C +ATOM 92 O GLY B 5 12.308 -4.297 1.244 1.00 0.00 O +ATOM 93 N ASN B 6 13.362 -6.176 0.613 1.00 0.00 N +ATOM 94 CA ASN B 6 12.646 -6.392 -0.667 1.00 0.00 C +ATOM 95 C ASN B 6 11.323 -7.093 -0.501 1.00 0.00 C +ATOM 96 O ASN B 6 11.087 -7.693 0.569 1.00 0.00 O +ATOM 97 CB ASN B 6 13.515 -7.237 -1.573 1.00 0.00 C +ATOM 98 CG ASN B 6 14.808 -6.514 -1.939 1.00 0.00 C +ATOM 99 OD1 ASN B 6 14.766 -5.293 -2.159 1.00 0.00 O +ATOM 100 ND2 ASN B 6 15.951 -7.246 -2.011 1.00 0.00 N +ATOM 101 OXT ASN B 6 10.499 -7.085 -1.430 1.00 0.00 O +TER 102 ASN B 6 +ATOM 103 N MET C 1 22.929 -2.905 17.087 1.00 0.00 N +ATOM 104 CA MET C 1 23.626 -3.303 15.832 1.00 0.00 C +ATOM 105 C MET C 1 22.952 -2.684 14.561 1.00 0.00 C +ATOM 106 O MET C 1 21.729 -2.549 14.516 1.00 0.00 O +ATOM 107 CB MET C 1 23.673 -4.821 15.833 1.00 0.00 C +ATOM 108 CG MET C 1 24.061 -5.510 14.578 1.00 0.00 C +ATOM 109 SD MET C 1 22.577 -5.948 13.644 1.00 0.00 S +ATOM 110 CE MET C 1 21.684 -7.016 14.851 1.00 0.00 C +ATOM 111 N MET C 2 23.773 -2.339 13.561 1.00 0.00 N +ATOM 112 CA MET C 2 23.324 -1.822 12.260 1.00 0.00 C +ATOM 113 C MET C 2 23.944 -2.579 11.102 1.00 0.00 C +ATOM 114 O MET C 2 25.124 -2.616 10.949 1.00 0.00 O +ATOM 115 CB MET C 2 23.616 -0.360 12.139 1.00 0.00 C +ATOM 116 CG MET C 2 22.710 0.416 12.995 1.00 0.00 C +ATOM 117 SD MET C 2 22.862 2.185 13.062 1.00 0.00 S +ATOM 118 CE MET C 2 21.815 2.754 11.688 1.00 0.00 C +ATOM 119 N HIS C 3 23.122 -3.268 10.330 1.00 0.00 N +ATOM 120 CA HIS C 3 23.585 -3.978 9.158 1.00 0.00 C +ATOM 121 C HIS C 3 22.967 -3.442 7.874 1.00 0.00 C +ATOM 122 O HIS C 3 21.750 -3.287 7.734 1.00 0.00 O +ATOM 123 CB HIS C 3 23.328 -5.432 9.277 1.00 0.00 C +ATOM 124 CG HIS C 3 23.904 -6.238 8.159 1.00 0.00 C +ATOM 125 ND1 HIS C 3 25.031 -7.017 8.309 1.00 0.00 N +ATOM 126 CD2 HIS C 3 23.517 -6.390 6.866 1.00 0.00 C +ATOM 127 CE1 HIS C 3 25.318 -7.600 7.160 1.00 0.00 C +ATOM 128 NE2 HIS C 3 24.410 -7.248 6.274 1.00 0.00 N +ATOM 129 N PHE C 4 23.865 -3.148 6.957 1.00 0.00 N +ATOM 130 CA PHE C 4 23.562 -2.682 5.614 1.00 0.00 C +ATOM 131 C PHE C 4 24.050 -3.646 4.526 1.00 0.00 C +ATOM 132 O PHE C 4 25.229 -3.840 4.384 1.00 0.00 O +ATOM 133 CB PHE C 4 24.211 -1.324 5.363 1.00 0.00 C +ATOM 134 CG PHE C 4 23.850 -0.267 6.346 1.00 0.00 C +ATOM 135 CD1 PHE C 4 22.858 0.708 6.030 1.00 0.00 C +ATOM 136 CD2 PHE C 4 24.545 -0.210 7.596 1.00 0.00 C +ATOM 137 CE1 PHE C 4 22.548 1.689 6.948 1.00 0.00 C +ATOM 138 CE2 PHE C 4 24.258 0.794 8.538 1.00 0.00 C +ATOM 139 CZ PHE C 4 23.271 1.740 8.227 1.00 0.00 C +ATOM 140 N GLY C 5 23.127 -4.219 3.775 1.00 0.00 N +ATOM 141 CA GLY C 5 23.430 -5.225 2.773 1.00 0.00 C +ATOM 142 C GLY C 5 22.636 -5.177 1.467 1.00 0.00 C +ATOM 143 O GLY C 5 21.821 -4.297 1.244 1.00 0.00 O +ATOM 144 N ASN C 6 22.875 -6.176 0.613 1.00 0.00 N +ATOM 145 CA ASN C 6 22.159 -6.392 -0.667 1.00 0.00 C +ATOM 146 C ASN C 6 20.836 -7.093 -0.501 1.00 0.00 C +ATOM 147 O ASN C 6 20.600 -7.693 0.569 1.00 0.00 O +ATOM 148 CB ASN C 6 23.028 -7.237 -1.573 1.00 0.00 C +ATOM 149 CG ASN C 6 24.321 -6.514 -1.939 1.00 0.00 C +ATOM 150 OD1 ASN C 6 24.279 -5.293 -2.159 1.00 0.00 O +ATOM 151 ND2 ASN C 6 25.464 -7.246 -2.011 1.00 0.00 N +ATOM 152 OXT ASN C 6 20.012 -7.085 -1.430 1.00 0.00 O +TER 153 ASN C 6 +ATOM 154 N MET D 1 32.442 -2.905 17.087 1.00 0.00 N +ATOM 155 CA MET D 1 33.139 -3.303 15.832 1.00 0.00 C +ATOM 156 C MET D 1 32.465 -2.684 14.561 1.00 0.00 C +ATOM 157 O MET D 1 31.242 -2.549 14.516 1.00 0.00 O +ATOM 158 CB MET D 1 33.186 -4.821 15.833 1.00 0.00 C +ATOM 159 CG MET D 1 33.574 -5.510 14.578 1.00 0.00 C +ATOM 160 SD MET D 1 32.090 -5.948 13.644 1.00 0.00 S +ATOM 161 CE MET D 1 31.197 -7.016 14.851 1.00 0.00 C +ATOM 162 N MET D 2 33.286 -2.339 13.561 1.00 0.00 N +ATOM 163 CA MET D 2 32.837 -1.822 12.260 1.00 0.00 C +ATOM 164 C MET D 2 33.457 -2.579 11.102 1.00 0.00 C +ATOM 165 O MET D 2 34.637 -2.616 10.949 1.00 0.00 O +ATOM 166 CB MET D 2 33.129 -0.360 12.139 1.00 0.00 C +ATOM 167 CG MET D 2 32.223 0.416 12.995 1.00 0.00 C +ATOM 168 SD MET D 2 32.375 2.185 13.062 1.00 0.00 S +ATOM 169 CE MET D 2 31.328 2.754 11.688 1.00 0.00 C +ATOM 170 N HIS D 3 32.635 -3.268 10.330 1.00 0.00 N +ATOM 171 CA HIS D 3 33.098 -3.978 9.158 1.00 0.00 C +ATOM 172 C HIS D 3 32.480 -3.442 7.874 1.00 0.00 C +ATOM 173 O HIS D 3 31.263 -3.287 7.734 1.00 0.00 O +ATOM 174 CB HIS D 3 32.841 -5.432 9.277 1.00 0.00 C +ATOM 175 CG HIS D 3 33.417 -6.238 8.159 1.00 0.00 C +ATOM 176 ND1 HIS D 3 34.544 -7.017 8.309 1.00 0.00 N +ATOM 177 CD2 HIS D 3 33.030 -6.390 6.866 1.00 0.00 C +ATOM 178 CE1 HIS D 3 34.831 -7.600 7.160 1.00 0.00 C +ATOM 179 NE2 HIS D 3 33.923 -7.248 6.274 1.00 0.00 N +ATOM 180 N PHE D 4 33.378 -3.148 6.957 1.00 0.00 N +ATOM 181 CA PHE D 4 33.075 -2.682 5.614 1.00 0.00 C +ATOM 182 C PHE D 4 33.563 -3.646 4.526 1.00 0.00 C +ATOM 183 O PHE D 4 34.742 -3.840 4.384 1.00 0.00 O +ATOM 184 CB PHE D 4 33.724 -1.324 5.363 1.00 0.00 C +ATOM 185 CG PHE D 4 33.363 -0.267 6.346 1.00 0.00 C +ATOM 186 CD1 PHE D 4 32.371 0.708 6.030 1.00 0.00 C +ATOM 187 CD2 PHE D 4 34.058 -0.210 7.596 1.00 0.00 C +ATOM 188 CE1 PHE D 4 32.061 1.689 6.948 1.00 0.00 C +ATOM 189 CE2 PHE D 4 33.771 0.794 8.538 1.00 0.00 C +ATOM 190 CZ PHE D 4 32.784 1.740 8.227 1.00 0.00 C +ATOM 191 N GLY D 5 32.640 -4.219 3.775 1.00 0.00 N +ATOM 192 CA GLY D 5 32.943 -5.225 2.773 1.00 0.00 C +ATOM 193 C GLY D 5 32.149 -5.177 1.467 1.00 0.00 C +ATOM 194 O GLY D 5 31.334 -4.297 1.244 1.00 0.00 O +ATOM 195 N ASN D 6 32.388 -6.176 0.613 1.00 0.00 N +ATOM 196 CA ASN D 6 31.672 -6.392 -0.667 1.00 0.00 C +ATOM 197 C ASN D 6 30.349 -7.093 -0.501 1.00 0.00 C +ATOM 198 O ASN D 6 30.113 -7.693 0.569 1.00 0.00 O +ATOM 199 CB ASN D 6 32.541 -7.237 -1.573 1.00 0.00 C +ATOM 200 CG ASN D 6 33.834 -6.514 -1.939 1.00 0.00 C +ATOM 201 OD1 ASN D 6 33.792 -5.293 -2.159 1.00 0.00 O +ATOM 202 ND2 ASN D 6 34.977 -7.246 -2.011 1.00 0.00 N +ATOM 203 OXT ASN D 6 29.525 -7.085 -1.430 1.00 0.00 O +TER 204 ASN D 6 +ATOM 205 N MET E 25 41.955 -2.905 17.087 1.00 0.00 N +ATOM 206 CA MET E 25 42.652 -3.303 15.832 1.00 0.00 C +ATOM 207 C MET E 25 41.978 -2.684 14.561 1.00 0.00 C +ATOM 208 O MET E 25 40.755 -2.549 14.516 1.00 0.00 O +ATOM 209 CB MET E 25 42.699 -4.821 15.833 1.00 0.00 C +ATOM 210 CG MET E 25 43.087 -5.510 14.578 1.00 0.00 C +ATOM 211 SD MET E 25 41.603 -5.948 13.644 1.00 0.00 S +ATOM 212 CE MET E 25 40.710 -7.016 14.851 1.00 0.00 C +ATOM 213 N MET E 26 42.799 -2.339 13.561 1.00 0.00 N +ATOM 214 CA MET E 26 42.350 -1.822 12.260 1.00 0.00 C +ATOM 215 C MET E 26 42.970 -2.579 11.102 1.00 0.00 C +ATOM 216 O MET E 26 44.150 -2.616 10.949 1.00 0.00 O +ATOM 217 CB MET E 26 42.642 -0.360 12.139 1.00 0.00 C +ATOM 218 CG MET E 26 41.736 0.416 12.995 1.00 0.00 C +ATOM 219 SD MET E 26 41.888 2.185 13.062 1.00 0.00 S +ATOM 220 CE MET E 26 40.841 2.754 11.688 1.00 0.00 C +ATOM 221 N HIS E 27 42.148 -3.268 10.330 1.00 0.00 N +ATOM 222 CA HIS E 27 42.611 -3.978 9.158 1.00 0.00 C +ATOM 223 C HIS E 27 41.993 -3.442 7.874 1.00 0.00 C +ATOM 224 O HIS E 27 40.776 -3.287 7.734 1.00 0.00 O +ATOM 225 CB HIS E 27 42.354 -5.432 9.277 1.00 0.00 C +ATOM 226 CG HIS E 27 42.930 -6.238 8.159 1.00 0.00 C +ATOM 227 ND1 HIS E 27 44.057 -7.017 8.309 1.00 0.00 N +ATOM 228 CD2 HIS E 27 42.543 -6.390 6.866 1.00 0.00 C +ATOM 229 CE1 HIS E 27 44.344 -7.600 7.160 1.00 0.00 C +ATOM 230 NE2 HIS E 27 43.436 -7.248 6.274 1.00 0.00 N +ATOM 231 N PHE E 28 42.891 -3.148 6.957 1.00 0.00 N +ATOM 232 CA PHE E 28 42.588 -2.682 5.614 1.00 0.00 C +ATOM 233 C PHE E 28 43.076 -3.646 4.526 1.00 0.00 C +ATOM 234 O PHE E 28 44.255 -3.840 4.384 1.00 0.00 O +ATOM 235 CB PHE E 28 43.237 -1.324 5.363 1.00 0.00 C +ATOM 236 CG PHE E 28 42.876 -0.267 6.346 1.00 0.00 C +ATOM 237 CD1 PHE E 28 41.884 0.708 6.030 1.00 0.00 C +ATOM 238 CD2 PHE E 28 43.571 -0.210 7.596 1.00 0.00 C +ATOM 239 CE1 PHE E 28 41.574 1.689 6.948 1.00 0.00 C +ATOM 240 CE2 PHE E 28 43.284 0.794 8.538 1.00 0.00 C +ATOM 241 CZ PHE E 28 42.297 1.740 8.227 1.00 0.00 C +ATOM 242 N GLY E 29 42.153 -4.219 3.775 1.00 0.00 N +ATOM 243 CA GLY E 29 42.456 -5.225 2.773 1.00 0.00 C +ATOM 244 C GLY E 29 41.662 -5.177 1.467 1.00 0.00 C +ATOM 245 O GLY E 29 40.847 -4.297 1.244 1.00 0.00 O +ATOM 246 N ASN E 30 41.901 -6.176 0.613 1.00 0.00 N +ATOM 247 CA ASN E 30 41.185 -6.392 -0.667 1.00 0.00 C +ATOM 248 C ASN E 30 39.862 -7.093 -0.501 1.00 0.00 C +ATOM 249 O ASN E 30 39.626 -7.693 0.569 1.00 0.00 O +ATOM 250 CB ASN E 30 42.054 -7.237 -1.573 1.00 0.00 C +ATOM 251 CG ASN E 30 43.347 -6.514 -1.939 1.00 0.00 C +ATOM 252 OD1 ASN E 30 43.305 -5.293 -2.159 1.00 0.00 O +ATOM 253 ND2 ASN E 30 44.490 -7.246 -2.011 1.00 0.00 N +ATOM 254 OXT ASN E 30 39.038 -7.085 -1.430 1.00 0.00 O +TER 255 ASN E 30 +ATOM 256 N MET F 31 51.468 -2.905 17.087 1.00 0.00 N +ATOM 257 CA MET F 31 52.165 -3.303 15.832 1.00 0.00 C +ATOM 258 C MET F 31 51.491 -2.684 14.561 1.00 0.00 C +ATOM 259 O MET F 31 50.268 -2.549 14.516 1.00 0.00 O +ATOM 260 CB MET F 31 52.212 -4.821 15.833 1.00 0.00 C +ATOM 261 CG MET F 31 52.600 -5.510 14.578 1.00 0.00 C +ATOM 262 SD MET F 31 51.116 -5.948 13.644 1.00 0.00 S +ATOM 263 CE MET F 31 50.223 -7.016 14.851 1.00 0.00 C +ATOM 264 N MET F 32 52.312 -2.339 13.561 1.00 0.00 N +ATOM 265 CA MET F 32 51.863 -1.822 12.260 1.00 0.00 C +ATOM 266 C MET F 32 52.483 -2.579 11.102 1.00 0.00 C +ATOM 267 O MET F 32 53.663 -2.616 10.949 1.00 0.00 O +ATOM 268 CB MET F 32 52.155 -0.360 12.139 1.00 0.00 C +ATOM 269 CG MET F 32 51.249 0.416 12.995 1.00 0.00 C +ATOM 270 SD MET F 32 51.401 2.185 13.062 1.00 0.00 S +ATOM 271 CE MET F 32 50.354 2.754 11.688 1.00 0.00 C +ATOM 272 N HIS F 33 51.661 -3.268 10.330 1.00 0.00 N +ATOM 273 CA HIS F 33 52.124 -3.978 9.158 1.00 0.00 C +ATOM 274 C HIS F 33 51.506 -3.442 7.874 1.00 0.00 C +ATOM 275 O HIS F 33 50.289 -3.287 7.734 1.00 0.00 O +ATOM 276 CB HIS F 33 51.867 -5.432 9.277 1.00 0.00 C +ATOM 277 CG HIS F 33 52.443 -6.238 8.159 1.00 0.00 C +ATOM 278 ND1 HIS F 33 53.570 -7.017 8.309 1.00 0.00 N +ATOM 279 CD2 HIS F 33 52.056 -6.390 6.866 1.00 0.00 C +ATOM 280 CE1 HIS F 33 53.857 -7.600 7.160 1.00 0.00 C +ATOM 281 NE2 HIS F 33 52.949 -7.248 6.274 1.00 0.00 N +ATOM 282 N PHE F 34 52.404 -3.148 6.957 1.00 0.00 N +ATOM 283 CA PHE F 34 52.101 -2.682 5.614 1.00 0.00 C +ATOM 284 C PHE F 34 52.589 -3.646 4.526 1.00 0.00 C +ATOM 285 O PHE F 34 53.768 -3.840 4.384 1.00 0.00 O +ATOM 286 CB PHE F 34 52.750 -1.324 5.363 1.00 0.00 C +ATOM 287 CG PHE F 34 52.389 -0.267 6.346 1.00 0.00 C +ATOM 288 CD1 PHE F 34 51.397 0.708 6.030 1.00 0.00 C +ATOM 289 CD2 PHE F 34 53.084 -0.210 7.596 1.00 0.00 C +ATOM 290 CE1 PHE F 34 51.087 1.689 6.948 1.00 0.00 C +ATOM 291 CE2 PHE F 34 52.797 0.794 8.538 1.00 0.00 C +ATOM 292 CZ PHE F 34 51.810 1.740 8.227 1.00 0.00 C +ATOM 293 N GLY F 35 51.666 -4.219 3.775 1.00 0.00 N +ATOM 294 CA GLY F 35 51.969 -5.225 2.773 1.00 0.00 C +ATOM 295 C GLY F 35 51.175 -5.177 1.467 1.00 0.00 C +ATOM 296 O GLY F 35 50.360 -4.297 1.244 1.00 0.00 O +ATOM 297 N ASN F 36 51.414 -6.176 0.613 1.00 0.00 N +ATOM 298 CA ASN F 36 50.698 -6.392 -0.667 1.00 0.00 C +ATOM 299 C ASN F 36 49.375 -7.093 -0.501 1.00 0.00 C +ATOM 300 O ASN F 36 49.139 -7.693 0.569 1.00 0.00 O +ATOM 301 CB ASN F 36 51.567 -7.237 -1.573 1.00 0.00 C +ATOM 302 CG ASN F 36 52.860 -6.514 -1.939 1.00 0.00 C +ATOM 303 OD1 ASN F 36 52.818 -5.293 -2.159 1.00 0.00 O +ATOM 304 ND2 ASN F 36 54.003 -7.246 -2.011 1.00 0.00 N +ATOM 305 OXT ASN F 36 48.551 -7.085 -1.430 1.00 0.00 O +TER 306 ASN F 36 +ATOM 307 N MET G 37 60.981 -2.905 17.087 1.00 0.00 N +ATOM 308 CA MET G 37 61.678 -3.303 15.832 1.00 0.00 C +ATOM 309 C MET G 37 61.004 -2.684 14.561 1.00 0.00 C +ATOM 310 O MET G 37 59.781 -2.549 14.516 1.00 0.00 O +ATOM 311 CB MET G 37 61.725 -4.821 15.833 1.00 0.00 C +ATOM 312 CG MET G 37 62.113 -5.510 14.578 1.00 0.00 C +ATOM 313 SD MET G 37 60.629 -5.948 13.644 1.00 0.00 S +ATOM 314 CE MET G 37 59.736 -7.016 14.851 1.00 0.00 C +ATOM 315 N MET G 38 61.825 -2.339 13.561 1.00 0.00 N +ATOM 316 CA MET G 38 61.376 -1.822 12.260 1.00 0.00 C +ATOM 317 C MET G 38 61.996 -2.579 11.102 1.00 0.00 C +ATOM 318 O MET G 38 63.176 -2.616 10.949 1.00 0.00 O +ATOM 319 CB MET G 38 61.668 -0.360 12.139 1.00 0.00 C +ATOM 320 CG MET G 38 60.762 0.416 12.995 1.00 0.00 C +ATOM 321 SD MET G 38 60.914 2.185 13.062 1.00 0.00 S +ATOM 322 CE MET G 38 59.867 2.754 11.688 1.00 0.00 C +ATOM 323 N HIS G 39 61.174 -3.268 10.330 1.00 0.00 N +ATOM 324 CA HIS G 39 61.637 -3.978 9.158 1.00 0.00 C +ATOM 325 C HIS G 39 61.019 -3.442 7.874 1.00 0.00 C +ATOM 326 O HIS G 39 59.802 -3.287 7.734 1.00 0.00 O +ATOM 327 CB HIS G 39 61.380 -5.432 9.277 1.00 0.00 C +ATOM 328 CG HIS G 39 61.956 -6.238 8.159 1.00 0.00 C +ATOM 329 ND1 HIS G 39 63.083 -7.017 8.309 1.00 0.00 N +ATOM 330 CD2 HIS G 39 61.569 -6.390 6.866 1.00 0.00 C +ATOM 331 CE1 HIS G 39 63.370 -7.600 7.160 1.00 0.00 C +ATOM 332 NE2 HIS G 39 62.462 -7.248 6.274 1.00 0.00 N +ATOM 333 N PHE G 40 61.917 -3.148 6.957 1.00 0.00 N +ATOM 334 CA PHE G 40 61.614 -2.682 5.614 1.00 0.00 C +ATOM 335 C PHE G 40 62.102 -3.646 4.526 1.00 0.00 C +ATOM 336 O PHE G 40 63.281 -3.840 4.384 1.00 0.00 O +ATOM 337 CB PHE G 40 62.263 -1.324 5.363 1.00 0.00 C +ATOM 338 CG PHE G 40 61.902 -0.267 6.346 1.00 0.00 C +ATOM 339 CD1 PHE G 40 60.910 0.708 6.030 1.00 0.00 C +ATOM 340 CD2 PHE G 40 62.597 -0.210 7.596 1.00 0.00 C +ATOM 341 CE1 PHE G 40 60.600 1.689 6.948 1.00 0.00 C +ATOM 342 CE2 PHE G 40 62.310 0.794 8.538 1.00 0.00 C +ATOM 343 CZ PHE G 40 61.323 1.740 8.227 1.00 0.00 C +ATOM 344 N GLY G 41 61.179 -4.219 3.775 1.00 0.00 N +ATOM 345 CA GLY G 41 61.482 -5.225 2.773 1.00 0.00 C +ATOM 346 C GLY G 41 60.688 -5.177 1.467 1.00 0.00 C +ATOM 347 O GLY G 41 59.873 -4.297 1.244 1.00 0.00 O +ATOM 348 N ASN G 42 60.927 -6.176 0.613 1.00 0.00 N +ATOM 349 CA ASN G 42 60.211 -6.392 -0.667 1.00 0.00 C +ATOM 350 C ASN G 42 58.888 -7.093 -0.501 1.00 0.00 C +ATOM 351 O ASN G 42 58.652 -7.693 0.569 1.00 0.00 O +ATOM 352 CB ASN G 42 61.080 -7.237 -1.573 1.00 0.00 C +ATOM 353 CG ASN G 42 62.373 -6.514 -1.939 1.00 0.00 C +ATOM 354 OD1 ASN G 42 62.331 -5.293 -2.159 1.00 0.00 O +ATOM 355 ND2 ASN G 42 63.516 -7.246 -2.011 1.00 0.00 N +ATOM 356 OXT ASN G 42 58.064 -7.085 -1.430 1.00 0.00 O +TER 357 ASN G 42 +ATOM 358 N MET H 43 70.494 -2.905 17.087 1.00 0.00 N +ATOM 359 CA MET H 43 71.191 -3.303 15.832 1.00 0.00 C +ATOM 360 C MET H 43 70.517 -2.684 14.561 1.00 0.00 C +ATOM 361 O MET H 43 69.294 -2.549 14.516 1.00 0.00 O +ATOM 362 CB MET H 43 71.238 -4.821 15.833 1.00 0.00 C +ATOM 363 CG MET H 43 71.626 -5.510 14.578 1.00 0.00 C +ATOM 364 SD MET H 43 70.142 -5.948 13.644 1.00 0.00 S +ATOM 365 CE MET H 43 69.249 -7.016 14.851 1.00 0.00 C +ATOM 366 N MET H 44 71.338 -2.339 13.561 1.00 0.00 N +ATOM 367 CA MET H 44 70.889 -1.822 12.260 1.00 0.00 C +ATOM 368 C MET H 44 71.509 -2.579 11.102 1.00 0.00 C +ATOM 369 O MET H 44 72.689 -2.616 10.949 1.00 0.00 O +ATOM 370 CB MET H 44 71.181 -0.360 12.139 1.00 0.00 C +ATOM 371 CG MET H 44 70.275 0.416 12.995 1.00 0.00 C +ATOM 372 SD MET H 44 70.427 2.185 13.062 1.00 0.00 S +ATOM 373 CE MET H 44 69.380 2.754 11.688 1.00 0.00 C +ATOM 374 N HIS H 45 70.687 -3.268 10.330 1.00 0.00 N +ATOM 375 CA HIS H 45 71.150 -3.978 9.158 1.00 0.00 C +ATOM 376 C HIS H 45 70.532 -3.442 7.874 1.00 0.00 C +ATOM 377 O HIS H 45 69.315 -3.287 7.734 1.00 0.00 O +ATOM 378 CB HIS H 45 70.893 -5.432 9.277 1.00 0.00 C +ATOM 379 CG HIS H 45 71.469 -6.238 8.159 1.00 0.00 C +ATOM 380 ND1 HIS H 45 72.596 -7.017 8.309 1.00 0.00 N +ATOM 381 CD2 HIS H 45 71.082 -6.390 6.866 1.00 0.00 C +ATOM 382 CE1 HIS H 45 72.883 -7.600 7.160 1.00 0.00 C +ATOM 383 NE2 HIS H 45 71.975 -7.248 6.274 1.00 0.00 N +ATOM 384 N PHE H 46 71.430 -3.148 6.957 1.00 0.00 N +ATOM 385 CA PHE H 46 71.127 -2.682 5.614 1.00 0.00 C +ATOM 386 C PHE H 46 71.615 -3.646 4.526 1.00 0.00 C +ATOM 387 O PHE H 46 72.794 -3.840 4.384 1.00 0.00 O +ATOM 388 CB PHE H 46 71.776 -1.324 5.363 1.00 0.00 C +ATOM 389 CG PHE H 46 71.415 -0.267 6.346 1.00 0.00 C +ATOM 390 CD1 PHE H 46 70.423 0.708 6.030 1.00 0.00 C +ATOM 391 CD2 PHE H 46 72.110 -0.210 7.596 1.00 0.00 C +ATOM 392 CE1 PHE H 46 70.113 1.689 6.948 1.00 0.00 C +ATOM 393 CE2 PHE H 46 71.823 0.794 8.538 1.00 0.00 C +ATOM 394 CZ PHE H 46 70.836 1.740 8.227 1.00 0.00 C +ATOM 395 N GLY H 47 70.692 -4.219 3.775 1.00 0.00 N +ATOM 396 CA GLY H 47 70.995 -5.225 2.773 1.00 0.00 C +ATOM 397 C GLY H 47 70.201 -5.177 1.467 1.00 0.00 C +ATOM 398 O GLY H 47 69.386 -4.297 1.244 1.00 0.00 O +ATOM 399 N ASN H 48 70.440 -6.176 0.613 1.00 0.00 N +ATOM 400 CA ASN H 48 69.724 -6.392 -0.667 1.00 0.00 C +ATOM 401 C ASN H 48 68.401 -7.093 -0.501 1.00 0.00 C +ATOM 402 O ASN H 48 68.165 -7.693 0.569 1.00 0.00 O +ATOM 403 CB ASN H 48 70.593 -7.237 -1.573 1.00 0.00 C +ATOM 404 CG ASN H 48 71.886 -6.514 -1.939 1.00 0.00 C +ATOM 405 OD1 ASN H 48 71.844 -5.293 -2.159 1.00 0.00 O +ATOM 406 ND2 ASN H 48 73.029 -7.246 -2.011 1.00 0.00 N +ATOM 407 OXT ASN H 48 67.577 -7.085 -1.430 1.00 0.00 O +TER 408 ASN H 48 +ATOM 409 N MET I 49 80.007 -2.905 17.087 1.00 0.00 N +ATOM 410 CA MET I 49 80.704 -3.303 15.832 1.00 0.00 C +ATOM 411 C MET I 49 80.030 -2.684 14.561 1.00 0.00 C +ATOM 412 O MET I 49 78.807 -2.549 14.516 1.00 0.00 O +ATOM 413 CB MET I 49 80.751 -4.821 15.833 1.00 0.00 C +ATOM 414 CG MET I 49 81.139 -5.510 14.578 1.00 0.00 C +ATOM 415 SD MET I 49 79.655 -5.948 13.644 1.00 0.00 S +ATOM 416 CE MET I 49 78.762 -7.016 14.851 1.00 0.00 C +ATOM 417 N MET I 50 80.851 -2.339 13.561 1.00 0.00 N +ATOM 418 CA MET I 50 80.402 -1.822 12.260 1.00 0.00 C +ATOM 419 C MET I 50 81.022 -2.579 11.102 1.00 0.00 C +ATOM 420 O MET I 50 82.202 -2.616 10.949 1.00 0.00 O +ATOM 421 CB MET I 50 80.694 -0.360 12.139 1.00 0.00 C +ATOM 422 CG MET I 50 79.788 0.416 12.995 1.00 0.00 C +ATOM 423 SD MET I 50 79.940 2.185 13.062 1.00 0.00 S +ATOM 424 CE MET I 50 78.893 2.754 11.688 1.00 0.00 C +ATOM 425 N HIS I 51 80.200 -3.268 10.330 1.00 0.00 N +ATOM 426 CA HIS I 51 80.663 -3.978 9.158 1.00 0.00 C +ATOM 427 C HIS I 51 80.045 -3.442 7.874 1.00 0.00 C +ATOM 428 O HIS I 51 78.828 -3.287 7.734 1.00 0.00 O +ATOM 429 CB HIS I 51 80.406 -5.432 9.277 1.00 0.00 C +ATOM 430 CG HIS I 51 80.982 -6.238 8.159 1.00 0.00 C +ATOM 431 ND1 HIS I 51 82.109 -7.017 8.309 1.00 0.00 N +ATOM 432 CD2 HIS I 51 80.595 -6.390 6.866 1.00 0.00 C +ATOM 433 CE1 HIS I 51 82.396 -7.600 7.160 1.00 0.00 C +ATOM 434 NE2 HIS I 51 81.488 -7.248 6.274 1.00 0.00 N +ATOM 435 N PHE I 52 80.943 -3.148 6.957 1.00 0.00 N +ATOM 436 CA PHE I 52 80.640 -2.682 5.614 1.00 0.00 C +ATOM 437 C PHE I 52 81.128 -3.646 4.526 1.00 0.00 C +ATOM 438 O PHE I 52 82.307 -3.840 4.384 1.00 0.00 O +ATOM 439 CB PHE I 52 81.289 -1.324 5.363 1.00 0.00 C +ATOM 440 CG PHE I 52 80.928 -0.267 6.346 1.00 0.00 C +ATOM 441 CD1 PHE I 52 79.936 0.708 6.030 1.00 0.00 C +ATOM 442 CD2 PHE I 52 81.623 -0.210 7.596 1.00 0.00 C +ATOM 443 CE1 PHE I 52 79.626 1.689 6.948 1.00 0.00 C +ATOM 444 CE2 PHE I 52 81.336 0.794 8.538 1.00 0.00 C +ATOM 445 CZ PHE I 52 80.349 1.740 8.227 1.00 0.00 C +ATOM 446 N GLY I 53 80.205 -4.219 3.775 1.00 0.00 N +ATOM 447 CA GLY I 53 80.508 -5.225 2.773 1.00 0.00 C +ATOM 448 C GLY I 53 79.714 -5.177 1.467 1.00 0.00 C +ATOM 449 O GLY I 53 78.899 -4.297 1.244 1.00 0.00 O +ATOM 450 N ASN I 54 79.953 -6.176 0.613 1.00 0.00 N +ATOM 451 CA ASN I 54 79.237 -6.392 -0.667 1.00 0.00 C +ATOM 452 C ASN I 54 77.914 -7.093 -0.501 1.00 0.00 C +ATOM 453 O ASN I 54 77.678 -7.693 0.569 1.00 0.00 O +ATOM 454 CB ASN I 54 80.106 -7.237 -1.573 1.00 0.00 C +ATOM 455 CG ASN I 54 81.399 -6.514 -1.939 1.00 0.00 C +ATOM 456 OD1 ASN I 54 81.357 -5.293 -2.159 1.00 0.00 O +ATOM 457 ND2 ASN I 54 82.542 -7.246 -2.011 1.00 0.00 N +ATOM 458 OXT ASN I 54 77.090 -7.085 -1.430 1.00 0.00 O +TER 459 ASN I 54 +ATOM 460 N MET J 55 89.520 -2.905 17.087 1.00 0.00 N +ATOM 461 CA MET J 55 90.217 -3.303 15.832 1.00 0.00 C +ATOM 462 C MET J 55 89.543 -2.684 14.561 1.00 0.00 C +ATOM 463 O MET J 55 88.320 -2.549 14.516 1.00 0.00 O +ATOM 464 CB MET J 55 90.264 -4.821 15.833 1.00 0.00 C +ATOM 465 CG MET J 55 90.652 -5.510 14.578 1.00 0.00 C +ATOM 466 SD MET J 55 89.168 -5.948 13.644 1.00 0.00 S +ATOM 467 CE MET J 55 88.275 -7.016 14.851 1.00 0.00 C +ATOM 468 N MET J 56 90.364 -2.339 13.561 1.00 0.00 N +ATOM 469 CA MET J 56 89.915 -1.822 12.260 1.00 0.00 C +ATOM 470 C MET J 56 90.535 -2.579 11.102 1.00 0.00 C +ATOM 471 O MET J 56 91.715 -2.616 10.949 1.00 0.00 O +ATOM 472 CB MET J 56 90.207 -0.360 12.139 1.00 0.00 C +ATOM 473 CG MET J 56 89.301 0.416 12.995 1.00 0.00 C +ATOM 474 SD MET J 56 89.453 2.185 13.062 1.00 0.00 S +ATOM 475 CE MET J 56 88.406 2.754 11.688 1.00 0.00 C +ATOM 476 N HIS J 57 89.713 -3.268 10.330 1.00 0.00 N +ATOM 477 CA HIS J 57 90.176 -3.978 9.158 1.00 0.00 C +ATOM 478 C HIS J 57 89.558 -3.442 7.874 1.00 0.00 C +ATOM 479 O HIS J 57 88.341 -3.287 7.734 1.00 0.00 O +ATOM 480 CB HIS J 57 89.919 -5.432 9.277 1.00 0.00 C +ATOM 481 CG HIS J 57 90.495 -6.238 8.159 1.00 0.00 C +ATOM 482 ND1 HIS J 57 91.622 -7.017 8.309 1.00 0.00 N +ATOM 483 CD2 HIS J 57 90.108 -6.390 6.866 1.00 0.00 C +ATOM 484 CE1 HIS J 57 91.909 -7.600 7.160 1.00 0.00 C +ATOM 485 NE2 HIS J 57 91.001 -7.248 6.274 1.00 0.00 N +ATOM 486 N PHE J 58 90.456 -3.148 6.957 1.00 0.00 N +ATOM 487 CA PHE J 58 90.153 -2.682 5.614 1.00 0.00 C +ATOM 488 C PHE J 58 90.641 -3.646 4.526 1.00 0.00 C +ATOM 489 O PHE J 58 91.820 -3.840 4.384 1.00 0.00 O +ATOM 490 CB PHE J 58 90.802 -1.324 5.363 1.00 0.00 C +ATOM 491 CG PHE J 58 90.441 -0.267 6.346 1.00 0.00 C +ATOM 492 CD1 PHE J 58 89.449 0.708 6.030 1.00 0.00 C +ATOM 493 CD2 PHE J 58 91.136 -0.210 7.596 1.00 0.00 C +ATOM 494 CE1 PHE J 58 89.139 1.689 6.948 1.00 0.00 C +ATOM 495 CE2 PHE J 58 90.849 0.794 8.538 1.00 0.00 C +ATOM 496 CZ PHE J 58 89.862 1.740 8.227 1.00 0.00 C +ATOM 497 N GLY J 59 89.718 -4.219 3.775 1.00 0.00 N +ATOM 498 CA GLY J 59 90.021 -5.225 2.773 1.00 0.00 C +ATOM 499 C GLY J 59 89.227 -5.177 1.467 1.00 0.00 C +ATOM 500 O GLY J 59 88.412 -4.297 1.244 1.00 0.00 O +ATOM 501 N ASN J 60 89.466 -6.176 0.613 1.00 0.00 N +ATOM 502 CA ASN J 60 88.750 -6.392 -0.667 1.00 0.00 C +ATOM 503 C ASN J 60 87.427 -7.093 -0.501 1.00 0.00 C +ATOM 504 O ASN J 60 87.191 -7.693 0.569 1.00 0.00 O +ATOM 505 CB ASN J 60 89.619 -7.237 -1.573 1.00 0.00 C +ATOM 506 CG ASN J 60 90.912 -6.514 -1.939 1.00 0.00 C +ATOM 507 OD1 ASN J 60 90.870 -5.293 -2.159 1.00 0.00 O +ATOM 508 ND2 ASN J 60 92.055 -7.246 -2.011 1.00 0.00 N +ATOM 509 OXT ASN J 60 86.603 -7.085 -1.430 1.00 0.00 O +TER 510 ASN J 60 +ATOM 511 N MET K 61 99.033 -2.905 17.087 1.00 0.00 N +ATOM 512 CA MET K 61 99.730 -3.303 15.832 1.00 0.00 C +ATOM 513 C MET K 61 99.056 -2.684 14.561 1.00 0.00 C +ATOM 514 O MET K 61 97.833 -2.549 14.516 1.00 0.00 O +ATOM 515 CB MET K 61 99.777 -4.821 15.833 1.00 0.00 C +ATOM 516 CG MET K 61 100.165 -5.510 14.578 1.00 0.00 C +ATOM 517 SD MET K 61 98.681 -5.948 13.644 1.00 0.00 S +ATOM 518 CE MET K 61 97.788 -7.016 14.851 1.00 0.00 C +ATOM 519 N MET K 62 99.877 -2.339 13.561 1.00 0.00 N +ATOM 520 CA MET K 62 99.428 -1.822 12.260 1.00 0.00 C +ATOM 521 C MET K 62 100.048 -2.579 11.102 1.00 0.00 C +ATOM 522 O MET K 62 101.228 -2.616 10.949 1.00 0.00 O +ATOM 523 CB MET K 62 99.720 -0.360 12.139 1.00 0.00 C +ATOM 524 CG MET K 62 98.814 0.416 12.995 1.00 0.00 C +ATOM 525 SD MET K 62 98.966 2.185 13.062 1.00 0.00 S +ATOM 526 CE MET K 62 97.919 2.754 11.688 1.00 0.00 C +ATOM 527 N HIS K 63 99.226 -3.268 10.330 1.00 0.00 N +ATOM 528 CA HIS K 63 99.689 -3.978 9.158 1.00 0.00 C +ATOM 529 C HIS K 63 99.071 -3.442 7.874 1.00 0.00 C +ATOM 530 O HIS K 63 97.854 -3.287 7.734 1.00 0.00 O +ATOM 531 CB HIS K 63 99.432 -5.432 9.277 1.00 0.00 C +ATOM 532 CG HIS K 63 100.008 -6.238 8.159 1.00 0.00 C +ATOM 533 ND1 HIS K 63 101.135 -7.017 8.309 1.00 0.00 N +ATOM 534 CD2 HIS K 63 99.621 -6.390 6.866 1.00 0.00 C +ATOM 535 CE1 HIS K 63 101.422 -7.600 7.160 1.00 0.00 C +ATOM 536 NE2 HIS K 63 100.514 -7.248 6.274 1.00 0.00 N +ATOM 537 N PHE K 64 99.969 -3.148 6.957 1.00 0.00 N +ATOM 538 CA PHE K 64 99.666 -2.682 5.614 1.00 0.00 C +ATOM 539 C PHE K 64 100.154 -3.646 4.526 1.00 0.00 C +ATOM 540 O PHE K 64 101.333 -3.840 4.384 1.00 0.00 O +ATOM 541 CB PHE K 64 100.315 -1.324 5.363 1.00 0.00 C +ATOM 542 CG PHE K 64 99.954 -0.267 6.346 1.00 0.00 C +ATOM 543 CD1 PHE K 64 98.962 0.708 6.030 1.00 0.00 C +ATOM 544 CD2 PHE K 64 100.649 -0.210 7.596 1.00 0.00 C +ATOM 545 CE1 PHE K 64 98.652 1.689 6.948 1.00 0.00 C +ATOM 546 CE2 PHE K 64 100.362 0.794 8.538 1.00 0.00 C +ATOM 547 CZ PHE K 64 99.375 1.740 8.227 1.00 0.00 C +ATOM 548 N GLY K 65 99.231 -4.219 3.775 1.00 0.00 N +ATOM 549 CA GLY K 65 99.534 -5.225 2.773 1.00 0.00 C +ATOM 550 C GLY K 65 98.740 -5.177 1.467 1.00 0.00 C +ATOM 551 O GLY K 65 97.925 -4.297 1.244 1.00 0.00 O +ATOM 552 N ASN K 66 98.979 -6.176 0.613 1.00 0.00 N +ATOM 553 CA ASN K 66 98.263 -6.392 -0.667 1.00 0.00 C +ATOM 554 C ASN K 66 96.940 -7.093 -0.501 1.00 0.00 C +ATOM 555 O ASN K 66 96.704 -7.693 0.569 1.00 0.00 O +ATOM 556 CB ASN K 66 99.132 -7.237 -1.573 1.00 0.00 C +ATOM 557 CG ASN K 66 100.425 -6.514 -1.939 1.00 0.00 C +ATOM 558 OD1 ASN K 66 100.383 -5.293 -2.159 1.00 0.00 O +ATOM 559 ND2 ASN K 66 101.568 -7.246 -2.011 1.00 0.00 N +ATOM 560 OXT ASN K 66 96.116 -7.085 -1.430 1.00 0.00 O +TER 561 ASN K 66 +ATOM 562 N MET L 67 108.546 -2.905 17.087 1.00 0.00 N +ATOM 563 CA MET L 67 109.243 -3.303 15.832 1.00 0.00 C +ATOM 564 C MET L 67 108.569 -2.684 14.561 1.00 0.00 C +ATOM 565 O MET L 67 107.346 -2.549 14.516 1.00 0.00 O +ATOM 566 CB MET L 67 109.290 -4.821 15.833 1.00 0.00 C +ATOM 567 CG MET L 67 109.678 -5.510 14.578 1.00 0.00 C +ATOM 568 SD MET L 67 108.194 -5.948 13.644 1.00 0.00 S +ATOM 569 CE MET L 67 107.301 -7.016 14.851 1.00 0.00 C +ATOM 570 N MET L 68 109.390 -2.339 13.561 1.00 0.00 N +ATOM 571 CA MET L 68 108.941 -1.822 12.260 1.00 0.00 C +ATOM 572 C MET L 68 109.561 -2.579 11.102 1.00 0.00 C +ATOM 573 O MET L 68 110.741 -2.616 10.949 1.00 0.00 O +ATOM 574 CB MET L 68 109.233 -0.360 12.139 1.00 0.00 C +ATOM 575 CG MET L 68 108.327 0.416 12.995 1.00 0.00 C +ATOM 576 SD MET L 68 108.479 2.185 13.062 1.00 0.00 S +ATOM 577 CE MET L 68 107.432 2.754 11.688 1.00 0.00 C +ATOM 578 N HIS L 69 108.739 -3.268 10.330 1.00 0.00 N +ATOM 579 CA HIS L 69 109.202 -3.978 9.158 1.00 0.00 C +ATOM 580 C HIS L 69 108.584 -3.442 7.874 1.00 0.00 C +ATOM 581 O HIS L 69 107.367 -3.287 7.734 1.00 0.00 O +ATOM 582 CB HIS L 69 108.945 -5.432 9.277 1.00 0.00 C +ATOM 583 CG HIS L 69 109.521 -6.238 8.159 1.00 0.00 C +ATOM 584 ND1 HIS L 69 110.648 -7.017 8.309 1.00 0.00 N +ATOM 585 CD2 HIS L 69 109.134 -6.390 6.866 1.00 0.00 C +ATOM 586 CE1 HIS L 69 110.935 -7.600 7.160 1.00 0.00 C +ATOM 587 NE2 HIS L 69 110.027 -7.248 6.274 1.00 0.00 N +ATOM 588 N PHE L 70 109.482 -3.148 6.957 1.00 0.00 N +ATOM 589 CA PHE L 70 109.179 -2.682 5.614 1.00 0.00 C +ATOM 590 C PHE L 70 109.667 -3.646 4.526 1.00 0.00 C +ATOM 591 O PHE L 70 110.846 -3.840 4.384 1.00 0.00 O +ATOM 592 CB PHE L 70 109.828 -1.324 5.363 1.00 0.00 C +ATOM 593 CG PHE L 70 109.467 -0.267 6.346 1.00 0.00 C +ATOM 594 CD1 PHE L 70 108.475 0.708 6.030 1.00 0.00 C +ATOM 595 CD2 PHE L 70 110.162 -0.210 7.596 1.00 0.00 C +ATOM 596 CE1 PHE L 70 108.165 1.689 6.948 1.00 0.00 C +ATOM 597 CE2 PHE L 70 109.875 0.794 8.538 1.00 0.00 C +ATOM 598 CZ PHE L 70 108.888 1.740 8.227 1.00 0.00 C +ATOM 599 N GLY L 71 108.744 -4.219 3.775 1.00 0.00 N +ATOM 600 CA GLY L 71 109.047 -5.225 2.773 1.00 0.00 C +ATOM 601 C GLY L 71 108.253 -5.177 1.467 1.00 0.00 C +ATOM 602 O GLY L 71 107.438 -4.297 1.244 1.00 0.00 O +ATOM 603 N ASN L 72 108.492 -6.176 0.613 1.00 0.00 N +ATOM 604 CA ASN L 72 107.776 -6.392 -0.667 1.00 0.00 C +ATOM 605 C ASN L 72 106.453 -7.093 -0.501 1.00 0.00 C +ATOM 606 O ASN L 72 106.217 -7.693 0.569 1.00 0.00 O +ATOM 607 CB ASN L 72 108.645 -7.237 -1.573 1.00 0.00 C +ATOM 608 CG ASN L 72 109.938 -6.514 -1.939 1.00 0.00 C +ATOM 609 OD1 ASN L 72 109.896 -5.293 -2.159 1.00 0.00 O +ATOM 610 ND2 ASN L 72 111.081 -7.246 -2.011 1.00 0.00 N +ATOM 611 OXT ASN L 72 105.629 -7.085 -1.430 1.00 0.00 O +TER 612 ASN L 72 +ATOM 613 N MET M 73 118.059 -2.905 17.087 1.00 0.00 N +ATOM 614 CA MET M 73 118.756 -3.303 15.832 1.00 0.00 C +ATOM 615 C MET M 73 118.082 -2.684 14.561 1.00 0.00 C +ATOM 616 O MET M 73 116.859 -2.549 14.516 1.00 0.00 O +ATOM 617 CB MET M 73 118.803 -4.821 15.833 1.00 0.00 C +ATOM 618 CG MET M 73 119.191 -5.510 14.578 1.00 0.00 C +ATOM 619 SD MET M 73 117.707 -5.948 13.644 1.00 0.00 S +ATOM 620 CE MET M 73 116.814 -7.016 14.851 1.00 0.00 C +ATOM 621 N MET M 74 118.903 -2.339 13.561 1.00 0.00 N +ATOM 622 CA MET M 74 118.454 -1.822 12.260 1.00 0.00 C +ATOM 623 C MET M 74 119.074 -2.579 11.102 1.00 0.00 C +ATOM 624 O MET M 74 120.254 -2.616 10.949 1.00 0.00 O +ATOM 625 CB MET M 74 118.746 -0.360 12.139 1.00 0.00 C +ATOM 626 CG MET M 74 117.840 0.416 12.995 1.00 0.00 C +ATOM 627 SD MET M 74 117.992 2.185 13.062 1.00 0.00 S +ATOM 628 CE MET M 74 116.945 2.754 11.688 1.00 0.00 C +ATOM 629 N HIS M 75 118.252 -3.268 10.330 1.00 0.00 N +ATOM 630 CA HIS M 75 118.715 -3.978 9.158 1.00 0.00 C +ATOM 631 C HIS M 75 118.097 -3.442 7.874 1.00 0.00 C +ATOM 632 O HIS M 75 116.880 -3.287 7.734 1.00 0.00 O +ATOM 633 CB HIS M 75 118.458 -5.432 9.277 1.00 0.00 C +ATOM 634 CG HIS M 75 119.034 -6.238 8.159 1.00 0.00 C +ATOM 635 ND1 HIS M 75 120.161 -7.017 8.309 1.00 0.00 N +ATOM 636 CD2 HIS M 75 118.647 -6.390 6.866 1.00 0.00 C +ATOM 637 CE1 HIS M 75 120.448 -7.600 7.160 1.00 0.00 C +ATOM 638 NE2 HIS M 75 119.540 -7.248 6.274 1.00 0.00 N +ATOM 639 N PHE M 76 118.995 -3.148 6.957 1.00 0.00 N +ATOM 640 CA PHE M 76 118.692 -2.682 5.614 1.00 0.00 C +ATOM 641 C PHE M 76 119.180 -3.646 4.526 1.00 0.00 C +ATOM 642 O PHE M 76 120.359 -3.840 4.384 1.00 0.00 O +ATOM 643 CB PHE M 76 119.341 -1.324 5.363 1.00 0.00 C +ATOM 644 CG PHE M 76 118.980 -0.267 6.346 1.00 0.00 C +ATOM 645 CD1 PHE M 76 117.988 0.708 6.030 1.00 0.00 C +ATOM 646 CD2 PHE M 76 119.675 -0.210 7.596 1.00 0.00 C +ATOM 647 CE1 PHE M 76 117.678 1.689 6.948 1.00 0.00 C +ATOM 648 CE2 PHE M 76 119.388 0.794 8.538 1.00 0.00 C +ATOM 649 CZ PHE M 76 118.401 1.740 8.227 1.00 0.00 C +ATOM 650 N GLY M 77 118.257 -4.219 3.775 1.00 0.00 N +ATOM 651 CA GLY M 77 118.560 -5.225 2.773 1.00 0.00 C +ATOM 652 C GLY M 77 117.766 -5.177 1.467 1.00 0.00 C +ATOM 653 O GLY M 77 116.951 -4.297 1.244 1.00 0.00 O +ATOM 654 N ASN M 78 118.005 -6.176 0.613 1.00 0.00 N +ATOM 655 CA ASN M 78 117.289 -6.392 -0.667 1.00 0.00 C +ATOM 656 C ASN M 78 115.966 -7.093 -0.501 1.00 0.00 C +ATOM 657 O ASN M 78 115.730 -7.693 0.569 1.00 0.00 O +ATOM 658 CB ASN M 78 118.158 -7.237 -1.573 1.00 0.00 C +ATOM 659 CG ASN M 78 119.451 -6.514 -1.939 1.00 0.00 C +ATOM 660 OD1 ASN M 78 119.409 -5.293 -2.159 1.00 0.00 O +ATOM 661 ND2 ASN M 78 120.594 -7.246 -2.011 1.00 0.00 N +ATOM 662 OXT ASN M 78 115.142 -7.085 -1.430 1.00 0.00 O +TER 663 ASN M 78 +ATOM 664 N MET N 79 3.903 8.879 17.087 1.00 0.00 N +ATOM 665 CA MET N 79 4.600 8.481 15.832 1.00 0.00 C +ATOM 666 C MET N 79 3.926 9.100 14.561 1.00 0.00 C +ATOM 667 O MET N 79 2.703 9.235 14.516 1.00 0.00 O +ATOM 668 CB MET N 79 4.647 6.963 15.833 1.00 0.00 C +ATOM 669 CG MET N 79 5.035 6.274 14.578 1.00 0.00 C +ATOM 670 SD MET N 79 3.551 5.836 13.644 1.00 0.00 S +ATOM 671 CE MET N 79 2.658 4.768 14.851 1.00 0.00 C +ATOM 672 N MET N 80 4.747 9.445 13.561 1.00 0.00 N +ATOM 673 CA MET N 80 4.298 9.962 12.260 1.00 0.00 C +ATOM 674 C MET N 80 4.918 9.205 11.102 1.00 0.00 C +ATOM 675 O MET N 80 6.098 9.168 10.949 1.00 0.00 O +ATOM 676 CB MET N 80 4.590 11.424 12.139 1.00 0.00 C +ATOM 677 CG MET N 80 3.684 12.200 12.995 1.00 0.00 C +ATOM 678 SD MET N 80 3.836 13.969 13.062 1.00 0.00 S +ATOM 679 CE MET N 80 2.789 14.538 11.688 1.00 0.00 C +ATOM 680 N HIS N 81 4.096 8.516 10.330 1.00 0.00 N +ATOM 681 CA HIS N 81 4.559 7.806 9.158 1.00 0.00 C +ATOM 682 C HIS N 81 3.941 8.342 7.874 1.00 0.00 C +ATOM 683 O HIS N 81 2.724 8.497 7.734 1.00 0.00 O +ATOM 684 CB HIS N 81 4.302 6.352 9.277 1.00 0.00 C +ATOM 685 CG HIS N 81 4.878 5.546 8.159 1.00 0.00 C +ATOM 686 ND1 HIS N 81 6.005 4.767 8.309 1.00 0.00 N +ATOM 687 CD2 HIS N 81 4.491 5.394 6.866 1.00 0.00 C +ATOM 688 CE1 HIS N 81 6.292 4.184 7.160 1.00 0.00 C +ATOM 689 NE2 HIS N 81 5.384 4.536 6.274 1.00 0.00 N +ATOM 690 N PHE N 82 4.839 8.636 6.957 1.00 0.00 N +ATOM 691 CA PHE N 82 4.536 9.102 5.614 1.00 0.00 C +ATOM 692 C PHE N 82 5.024 8.138 4.526 1.00 0.00 C +ATOM 693 O PHE N 82 6.203 7.944 4.384 1.00 0.00 O +ATOM 694 CB PHE N 82 5.185 10.460 5.363 1.00 0.00 C +ATOM 695 CG PHE N 82 4.824 11.517 6.346 1.00 0.00 C +ATOM 696 CD1 PHE N 82 3.832 12.492 6.030 1.00 0.00 C +ATOM 697 CD2 PHE N 82 5.519 11.574 7.596 1.00 0.00 C +ATOM 698 CE1 PHE N 82 3.522 13.473 6.948 1.00 0.00 C +ATOM 699 CE2 PHE N 82 5.232 12.578 8.538 1.00 0.00 C +ATOM 700 CZ PHE N 82 4.245 13.524 8.227 1.00 0.00 C +ATOM 701 N GLY N 83 4.101 7.565 3.775 1.00 0.00 N +ATOM 702 CA GLY N 83 4.404 6.559 2.773 1.00 0.00 C +ATOM 703 C GLY N 83 3.610 6.607 1.467 1.00 0.00 C +ATOM 704 O GLY N 83 2.795 7.487 1.244 1.00 0.00 O +ATOM 705 N ASN N 84 3.849 5.608 0.613 1.00 0.00 N +ATOM 706 CA ASN N 84 3.133 5.392 -0.667 1.00 0.00 C +ATOM 707 C ASN N 84 1.810 4.691 -0.501 1.00 0.00 C +ATOM 708 O ASN N 84 1.574 4.091 0.569 1.00 0.00 O +ATOM 709 CB ASN N 84 4.002 4.547 -1.573 1.00 0.00 C +ATOM 710 CG ASN N 84 5.295 5.270 -1.939 1.00 0.00 C +ATOM 711 OD1 ASN N 84 5.253 6.491 -2.159 1.00 0.00 O +ATOM 712 ND2 ASN N 84 6.438 4.538 -2.011 1.00 0.00 N +ATOM 713 OXT ASN N 84 0.986 4.699 -1.430 1.00 0.00 O +TER 714 ASN N 84 +ATOM 715 N MET O 85 13.416 8.879 17.087 1.00 0.00 N +ATOM 716 CA MET O 85 14.113 8.481 15.832 1.00 0.00 C +ATOM 717 C MET O 85 13.439 9.100 14.561 1.00 0.00 C +ATOM 718 O MET O 85 12.216 9.235 14.516 1.00 0.00 O +ATOM 719 CB MET O 85 14.160 6.963 15.833 1.00 0.00 C +ATOM 720 CG MET O 85 14.548 6.274 14.578 1.00 0.00 C +ATOM 721 SD MET O 85 13.064 5.836 13.644 1.00 0.00 S +ATOM 722 CE MET O 85 12.171 4.768 14.851 1.00 0.00 C +ATOM 723 N MET O 86 14.260 9.445 13.561 1.00 0.00 N +ATOM 724 CA MET O 86 13.811 9.962 12.260 1.00 0.00 C +ATOM 725 C MET O 86 14.431 9.205 11.102 1.00 0.00 C +ATOM 726 O MET O 86 15.611 9.168 10.949 1.00 0.00 O +ATOM 727 CB MET O 86 14.103 11.424 12.139 1.00 0.00 C +ATOM 728 CG MET O 86 13.197 12.200 12.995 1.00 0.00 C +ATOM 729 SD MET O 86 13.349 13.969 13.062 1.00 0.00 S +ATOM 730 CE MET O 86 12.302 14.538 11.688 1.00 0.00 C +ATOM 731 N HIS O 87 13.609 8.516 10.330 1.00 0.00 N +ATOM 732 CA HIS O 87 14.072 7.806 9.158 1.00 0.00 C +ATOM 733 C HIS O 87 13.454 8.342 7.874 1.00 0.00 C +ATOM 734 O HIS O 87 12.237 8.497 7.734 1.00 0.00 O +ATOM 735 CB HIS O 87 13.815 6.352 9.277 1.00 0.00 C +ATOM 736 CG HIS O 87 14.391 5.546 8.159 1.00 0.00 C +ATOM 737 ND1 HIS O 87 15.518 4.767 8.309 1.00 0.00 N +ATOM 738 CD2 HIS O 87 14.004 5.394 6.866 1.00 0.00 C +ATOM 739 CE1 HIS O 87 15.805 4.184 7.160 1.00 0.00 C +ATOM 740 NE2 HIS O 87 14.897 4.536 6.274 1.00 0.00 N +ATOM 741 N PHE O 88 14.352 8.636 6.957 1.00 0.00 N +ATOM 742 CA PHE O 88 14.049 9.102 5.614 1.00 0.00 C +ATOM 743 C PHE O 88 14.537 8.138 4.526 1.00 0.00 C +ATOM 744 O PHE O 88 15.716 7.944 4.384 1.00 0.00 O +ATOM 745 CB PHE O 88 14.698 10.460 5.363 1.00 0.00 C +ATOM 746 CG PHE O 88 14.337 11.517 6.346 1.00 0.00 C +ATOM 747 CD1 PHE O 88 13.345 12.492 6.030 1.00 0.00 C +ATOM 748 CD2 PHE O 88 15.032 11.574 7.596 1.00 0.00 C +ATOM 749 CE1 PHE O 88 13.035 13.473 6.948 1.00 0.00 C +ATOM 750 CE2 PHE O 88 14.745 12.578 8.538 1.00 0.00 C +ATOM 751 CZ PHE O 88 13.758 13.524 8.227 1.00 0.00 C +ATOM 752 N GLY O 89 13.614 7.565 3.775 1.00 0.00 N +ATOM 753 CA GLY O 89 13.917 6.559 2.773 1.00 0.00 C +ATOM 754 C GLY O 89 13.123 6.607 1.467 1.00 0.00 C +ATOM 755 O GLY O 89 12.308 7.487 1.244 1.00 0.00 O +ATOM 756 N ASN O 90 13.362 5.608 0.613 1.00 0.00 N +ATOM 757 CA ASN O 90 12.646 5.392 -0.667 1.00 0.00 C +ATOM 758 C ASN O 90 11.323 4.691 -0.501 1.00 0.00 C +ATOM 759 O ASN O 90 11.087 4.091 0.569 1.00 0.00 O +ATOM 760 CB ASN O 90 13.515 4.547 -1.573 1.00 0.00 C +ATOM 761 CG ASN O 90 14.808 5.270 -1.939 1.00 0.00 C +ATOM 762 OD1 ASN O 90 14.766 6.491 -2.159 1.00 0.00 O +ATOM 763 ND2 ASN O 90 15.951 4.538 -2.011 1.00 0.00 N +ATOM 764 OXT ASN O 90 10.499 4.699 -1.430 1.00 0.00 O +TER 765 ASN O 90 +ATOM 766 N MET P 91 22.929 8.879 17.087 1.00 0.00 N +ATOM 767 CA MET P 91 23.626 8.481 15.832 1.00 0.00 C +ATOM 768 C MET P 91 22.952 9.100 14.561 1.00 0.00 C +ATOM 769 O MET P 91 21.729 9.235 14.516 1.00 0.00 O +ATOM 770 CB MET P 91 23.673 6.963 15.833 1.00 0.00 C +ATOM 771 CG MET P 91 24.061 6.274 14.578 1.00 0.00 C +ATOM 772 SD MET P 91 22.577 5.836 13.644 1.00 0.00 S +ATOM 773 CE MET P 91 21.684 4.768 14.851 1.00 0.00 C +ATOM 774 N MET P 92 23.773 9.445 13.561 1.00 0.00 N +ATOM 775 CA MET P 92 23.324 9.962 12.260 1.00 0.00 C +ATOM 776 C MET P 92 23.944 9.205 11.102 1.00 0.00 C +ATOM 777 O MET P 92 25.124 9.168 10.949 1.00 0.00 O +ATOM 778 CB MET P 92 23.616 11.424 12.139 1.00 0.00 C +ATOM 779 CG MET P 92 22.710 12.200 12.995 1.00 0.00 C +ATOM 780 SD MET P 92 22.862 13.969 13.062 1.00 0.00 S +ATOM 781 CE MET P 92 21.815 14.538 11.688 1.00 0.00 C +ATOM 782 N HIS P 93 23.122 8.516 10.330 1.00 0.00 N +ATOM 783 CA HIS P 93 23.585 7.806 9.158 1.00 0.00 C +ATOM 784 C HIS P 93 22.967 8.342 7.874 1.00 0.00 C +ATOM 785 O HIS P 93 21.750 8.497 7.734 1.00 0.00 O +ATOM 786 CB HIS P 93 23.328 6.352 9.277 1.00 0.00 C +ATOM 787 CG HIS P 93 23.904 5.546 8.159 1.00 0.00 C +ATOM 788 ND1 HIS P 93 25.031 4.767 8.309 1.00 0.00 N +ATOM 789 CD2 HIS P 93 23.517 5.394 6.866 1.00 0.00 C +ATOM 790 CE1 HIS P 93 25.318 4.184 7.160 1.00 0.00 C +ATOM 791 NE2 HIS P 93 24.410 4.536 6.274 1.00 0.00 N +ATOM 792 N PHE P 94 23.865 8.636 6.957 1.00 0.00 N +ATOM 793 CA PHE P 94 23.562 9.102 5.614 1.00 0.00 C +ATOM 794 C PHE P 94 24.050 8.138 4.526 1.00 0.00 C +ATOM 795 O PHE P 94 25.229 7.944 4.384 1.00 0.00 O +ATOM 796 CB PHE P 94 24.211 10.460 5.363 1.00 0.00 C +ATOM 797 CG PHE P 94 23.850 11.517 6.346 1.00 0.00 C +ATOM 798 CD1 PHE P 94 22.858 12.492 6.030 1.00 0.00 C +ATOM 799 CD2 PHE P 94 24.545 11.574 7.596 1.00 0.00 C +ATOM 800 CE1 PHE P 94 22.548 13.473 6.948 1.00 0.00 C +ATOM 801 CE2 PHE P 94 24.258 12.578 8.538 1.00 0.00 C +ATOM 802 CZ PHE P 94 23.271 13.524 8.227 1.00 0.00 C +ATOM 803 N GLY P 95 23.127 7.565 3.775 1.00 0.00 N +ATOM 804 CA GLY P 95 23.430 6.559 2.773 1.00 0.00 C +ATOM 805 C GLY P 95 22.636 6.607 1.467 1.00 0.00 C +ATOM 806 O GLY P 95 21.821 7.487 1.244 1.00 0.00 O +ATOM 807 N ASN P 96 22.875 5.608 0.613 1.00 0.00 N +ATOM 808 CA ASN P 96 22.159 5.392 -0.667 1.00 0.00 C +ATOM 809 C ASN P 96 20.836 4.691 -0.501 1.00 0.00 C +ATOM 810 O ASN P 96 20.600 4.091 0.569 1.00 0.00 O +ATOM 811 CB ASN P 96 23.028 4.547 -1.573 1.00 0.00 C +ATOM 812 CG ASN P 96 24.321 5.270 -1.939 1.00 0.00 C +ATOM 813 OD1 ASN P 96 24.279 6.491 -2.159 1.00 0.00 O +ATOM 814 ND2 ASN P 96 25.464 4.538 -2.011 1.00 0.00 N +ATOM 815 OXT ASN P 96 20.012 4.699 -1.430 1.00 0.00 O +TER 816 ASN P 96 +ATOM 817 N MET Q 97 32.442 8.879 17.087 1.00 0.00 N +ATOM 818 CA MET Q 97 33.139 8.481 15.832 1.00 0.00 C +ATOM 819 C MET Q 97 32.465 9.100 14.561 1.00 0.00 C +ATOM 820 O MET Q 97 31.242 9.235 14.516 1.00 0.00 O +ATOM 821 CB MET Q 97 33.186 6.963 15.833 1.00 0.00 C +ATOM 822 CG MET Q 97 33.574 6.274 14.578 1.00 0.00 C +ATOM 823 SD MET Q 97 32.090 5.836 13.644 1.00 0.00 S +ATOM 824 CE MET Q 97 31.197 4.768 14.851 1.00 0.00 C +ATOM 825 N MET Q 98 33.286 9.445 13.561 1.00 0.00 N +ATOM 826 CA MET Q 98 32.837 9.962 12.260 1.00 0.00 C +ATOM 827 C MET Q 98 33.457 9.205 11.102 1.00 0.00 C +ATOM 828 O MET Q 98 34.637 9.168 10.949 1.00 0.00 O +ATOM 829 CB MET Q 98 33.129 11.424 12.139 1.00 0.00 C +ATOM 830 CG MET Q 98 32.223 12.200 12.995 1.00 0.00 C +ATOM 831 SD MET Q 98 32.375 13.969 13.062 1.00 0.00 S +ATOM 832 CE MET Q 98 31.328 14.538 11.688 1.00 0.00 C +ATOM 833 N HIS Q 99 32.635 8.516 10.330 1.00 0.00 N +ATOM 834 CA HIS Q 99 33.098 7.806 9.158 1.00 0.00 C +ATOM 835 C HIS Q 99 32.480 8.342 7.874 1.00 0.00 C +ATOM 836 O HIS Q 99 31.263 8.497 7.734 1.00 0.00 O +ATOM 837 CB HIS Q 99 32.841 6.352 9.277 1.00 0.00 C +ATOM 838 CG HIS Q 99 33.417 5.546 8.159 1.00 0.00 C +ATOM 839 ND1 HIS Q 99 34.544 4.767 8.309 1.00 0.00 N +ATOM 840 CD2 HIS Q 99 33.030 5.394 6.866 1.00 0.00 C +ATOM 841 CE1 HIS Q 99 34.831 4.184 7.160 1.00 0.00 C +ATOM 842 NE2 HIS Q 99 33.923 4.536 6.274 1.00 0.00 N +ATOM 843 N PHE Q 100 33.378 8.636 6.957 1.00 0.00 N +ATOM 844 CA PHE Q 100 33.075 9.102 5.614 1.00 0.00 C +ATOM 845 C PHE Q 100 33.563 8.138 4.526 1.00 0.00 C +ATOM 846 O PHE Q 100 34.742 7.944 4.384 1.00 0.00 O +ATOM 847 CB PHE Q 100 33.724 10.460 5.363 1.00 0.00 C +ATOM 848 CG PHE Q 100 33.363 11.517 6.346 1.00 0.00 C +ATOM 849 CD1 PHE Q 100 32.371 12.492 6.030 1.00 0.00 C +ATOM 850 CD2 PHE Q 100 34.058 11.574 7.596 1.00 0.00 C +ATOM 851 CE1 PHE Q 100 32.061 13.473 6.948 1.00 0.00 C +ATOM 852 CE2 PHE Q 100 33.771 12.578 8.538 1.00 0.00 C +ATOM 853 CZ PHE Q 100 32.784 13.524 8.227 1.00 0.00 C +ATOM 854 N GLY Q 101 32.640 7.565 3.775 1.00 0.00 N +ATOM 855 CA GLY Q 101 32.943 6.559 2.773 1.00 0.00 C +ATOM 856 C GLY Q 101 32.149 6.607 1.467 1.00 0.00 C +ATOM 857 O GLY Q 101 31.334 7.487 1.244 1.00 0.00 O +ATOM 858 N ASN Q 102 32.388 5.608 0.613 1.00 0.00 N +ATOM 859 CA ASN Q 102 31.672 5.392 -0.667 1.00 0.00 C +ATOM 860 C ASN Q 102 30.349 4.691 -0.501 1.00 0.00 C +ATOM 861 O ASN Q 102 30.113 4.091 0.569 1.00 0.00 O +ATOM 862 CB ASN Q 102 32.541 4.547 -1.573 1.00 0.00 C +ATOM 863 CG ASN Q 102 33.834 5.270 -1.939 1.00 0.00 C +ATOM 864 OD1 ASN Q 102 33.792 6.491 -2.159 1.00 0.00 O +ATOM 865 ND2 ASN Q 102 34.977 4.538 -2.011 1.00 0.00 N +ATOM 866 OXT ASN Q 102 29.525 4.699 -1.430 1.00 0.00 O +TER 867 ASN Q 102 +ATOM 868 N MET R 103 41.955 8.879 17.087 1.00 0.00 N +ATOM 869 CA MET R 103 42.652 8.481 15.832 1.00 0.00 C +ATOM 870 C MET R 103 41.978 9.100 14.561 1.00 0.00 C +ATOM 871 O MET R 103 40.755 9.235 14.516 1.00 0.00 O +ATOM 872 CB MET R 103 42.699 6.963 15.833 1.00 0.00 C +ATOM 873 CG MET R 103 43.087 6.274 14.578 1.00 0.00 C +ATOM 874 SD MET R 103 41.603 5.836 13.644 1.00 0.00 S +ATOM 875 CE MET R 103 40.710 4.768 14.851 1.00 0.00 C +ATOM 876 N MET R 104 42.799 9.445 13.561 1.00 0.00 N +ATOM 877 CA MET R 104 42.350 9.962 12.260 1.00 0.00 C +ATOM 878 C MET R 104 42.970 9.205 11.102 1.00 0.00 C +ATOM 879 O MET R 104 44.150 9.168 10.949 1.00 0.00 O +ATOM 880 CB MET R 104 42.642 11.424 12.139 1.00 0.00 C +ATOM 881 CG MET R 104 41.736 12.200 12.995 1.00 0.00 C +ATOM 882 SD MET R 104 41.888 13.969 13.062 1.00 0.00 S +ATOM 883 CE MET R 104 40.841 14.538 11.688 1.00 0.00 C +ATOM 884 N HIS R 105 42.148 8.516 10.330 1.00 0.00 N +ATOM 885 CA HIS R 105 42.611 7.806 9.158 1.00 0.00 C +ATOM 886 C HIS R 105 41.993 8.342 7.874 1.00 0.00 C +ATOM 887 O HIS R 105 40.776 8.497 7.734 1.00 0.00 O +ATOM 888 CB HIS R 105 42.354 6.352 9.277 1.00 0.00 C +ATOM 889 CG HIS R 105 42.930 5.546 8.159 1.00 0.00 C +ATOM 890 ND1 HIS R 105 44.057 4.767 8.309 1.00 0.00 N +ATOM 891 CD2 HIS R 105 42.543 5.394 6.866 1.00 0.00 C +ATOM 892 CE1 HIS R 105 44.344 4.184 7.160 1.00 0.00 C +ATOM 893 NE2 HIS R 105 43.436 4.536 6.274 1.00 0.00 N +ATOM 894 N PHE R 106 42.891 8.636 6.957 1.00 0.00 N +ATOM 895 CA PHE R 106 42.588 9.102 5.614 1.00 0.00 C +ATOM 896 C PHE R 106 43.076 8.138 4.526 1.00 0.00 C +ATOM 897 O PHE R 106 44.255 7.944 4.384 1.00 0.00 O +ATOM 898 CB PHE R 106 43.237 10.460 5.363 1.00 0.00 C +ATOM 899 CG PHE R 106 42.876 11.517 6.346 1.00 0.00 C +ATOM 900 CD1 PHE R 106 41.884 12.492 6.030 1.00 0.00 C +ATOM 901 CD2 PHE R 106 43.571 11.574 7.596 1.00 0.00 C +ATOM 902 CE1 PHE R 106 41.574 13.473 6.948 1.00 0.00 C +ATOM 903 CE2 PHE R 106 43.284 12.578 8.538 1.00 0.00 C +ATOM 904 CZ PHE R 106 42.297 13.524 8.227 1.00 0.00 C +ATOM 905 N GLY R 107 42.153 7.565 3.775 1.00 0.00 N +ATOM 906 CA GLY R 107 42.456 6.559 2.773 1.00 0.00 C +ATOM 907 C GLY R 107 41.662 6.607 1.467 1.00 0.00 C +ATOM 908 O GLY R 107 40.847 7.487 1.244 1.00 0.00 O +ATOM 909 N ASN R 108 41.901 5.608 0.613 1.00 0.00 N +ATOM 910 CA ASN R 108 41.185 5.392 -0.667 1.00 0.00 C +ATOM 911 C ASN R 108 39.862 4.691 -0.501 1.00 0.00 C +ATOM 912 O ASN R 108 39.626 4.091 0.569 1.00 0.00 O +ATOM 913 CB ASN R 108 42.054 4.547 -1.573 1.00 0.00 C +ATOM 914 CG ASN R 108 43.347 5.270 -1.939 1.00 0.00 C +ATOM 915 OD1 ASN R 108 43.305 6.491 -2.159 1.00 0.00 O +ATOM 916 ND2 ASN R 108 44.490 4.538 -2.011 1.00 0.00 N +ATOM 917 OXT ASN R 108 39.038 4.699 -1.430 1.00 0.00 O +TER 918 ASN R 108 +ATOM 919 N MET S 109 51.468 8.879 17.087 1.00 0.00 N +ATOM 920 CA MET S 109 52.165 8.481 15.832 1.00 0.00 C +ATOM 921 C MET S 109 51.491 9.100 14.561 1.00 0.00 C +ATOM 922 O MET S 109 50.268 9.235 14.516 1.00 0.00 O +ATOM 923 CB MET S 109 52.212 6.963 15.833 1.00 0.00 C +ATOM 924 CG MET S 109 52.600 6.274 14.578 1.00 0.00 C +ATOM 925 SD MET S 109 51.116 5.836 13.644 1.00 0.00 S +ATOM 926 CE MET S 109 50.223 4.768 14.851 1.00 0.00 C +ATOM 927 N MET S 110 52.312 9.445 13.561 1.00 0.00 N +ATOM 928 CA MET S 110 51.863 9.962 12.260 1.00 0.00 C +ATOM 929 C MET S 110 52.483 9.205 11.102 1.00 0.00 C +ATOM 930 O MET S 110 53.663 9.168 10.949 1.00 0.00 O +ATOM 931 CB MET S 110 52.155 11.424 12.139 1.00 0.00 C +ATOM 932 CG MET S 110 51.249 12.200 12.995 1.00 0.00 C +ATOM 933 SD MET S 110 51.401 13.969 13.062 1.00 0.00 S +ATOM 934 CE MET S 110 50.354 14.538 11.688 1.00 0.00 C +ATOM 935 N HIS S 111 51.661 8.516 10.330 1.00 0.00 N +ATOM 936 CA HIS S 111 52.124 7.806 9.158 1.00 0.00 C +ATOM 937 C HIS S 111 51.506 8.342 7.874 1.00 0.00 C +ATOM 938 O HIS S 111 50.289 8.497 7.734 1.00 0.00 O +ATOM 939 CB HIS S 111 51.867 6.352 9.277 1.00 0.00 C +ATOM 940 CG HIS S 111 52.443 5.546 8.159 1.00 0.00 C +ATOM 941 ND1 HIS S 111 53.570 4.767 8.309 1.00 0.00 N +ATOM 942 CD2 HIS S 111 52.056 5.394 6.866 1.00 0.00 C +ATOM 943 CE1 HIS S 111 53.857 4.184 7.160 1.00 0.00 C +ATOM 944 NE2 HIS S 111 52.949 4.536 6.274 1.00 0.00 N +ATOM 945 N PHE S 112 52.404 8.636 6.957 1.00 0.00 N +ATOM 946 CA PHE S 112 52.101 9.102 5.614 1.00 0.00 C +ATOM 947 C PHE S 112 52.589 8.138 4.526 1.00 0.00 C +ATOM 948 O PHE S 112 53.768 7.944 4.384 1.00 0.00 O +ATOM 949 CB PHE S 112 52.750 10.460 5.363 1.00 0.00 C +ATOM 950 CG PHE S 112 52.389 11.517 6.346 1.00 0.00 C +ATOM 951 CD1 PHE S 112 51.397 12.492 6.030 1.00 0.00 C +ATOM 952 CD2 PHE S 112 53.084 11.574 7.596 1.00 0.00 C +ATOM 953 CE1 PHE S 112 51.087 13.473 6.948 1.00 0.00 C +ATOM 954 CE2 PHE S 112 52.797 12.578 8.538 1.00 0.00 C +ATOM 955 CZ PHE S 112 51.810 13.524 8.227 1.00 0.00 C +ATOM 956 N GLY S 113 51.666 7.565 3.775 1.00 0.00 N +ATOM 957 CA GLY S 113 51.969 6.559 2.773 1.00 0.00 C +ATOM 958 C GLY S 113 51.175 6.607 1.467 1.00 0.00 C +ATOM 959 O GLY S 113 50.360 7.487 1.244 1.00 0.00 O +ATOM 960 N ASN S 114 51.414 5.608 0.613 1.00 0.00 N +ATOM 961 CA ASN S 114 50.698 5.392 -0.667 1.00 0.00 C +ATOM 962 C ASN S 114 49.375 4.691 -0.501 1.00 0.00 C +ATOM 963 O ASN S 114 49.139 4.091 0.569 1.00 0.00 O +ATOM 964 CB ASN S 114 51.567 4.547 -1.573 1.00 0.00 C +ATOM 965 CG ASN S 114 52.860 5.270 -1.939 1.00 0.00 C +ATOM 966 OD1 ASN S 114 52.818 6.491 -2.159 1.00 0.00 O +ATOM 967 ND2 ASN S 114 54.003 4.538 -2.011 1.00 0.00 N +ATOM 968 OXT ASN S 114 48.551 4.699 -1.430 1.00 0.00 O +TER 969 ASN S 114 +ATOM 970 N MET T 115 60.981 8.879 17.087 1.00 0.00 N +ATOM 971 CA MET T 115 61.678 8.481 15.832 1.00 0.00 C +ATOM 972 C MET T 115 61.004 9.100 14.561 1.00 0.00 C +ATOM 973 O MET T 115 59.781 9.235 14.516 1.00 0.00 O +ATOM 974 CB MET T 115 61.725 6.963 15.833 1.00 0.00 C +ATOM 975 CG MET T 115 62.113 6.274 14.578 1.00 0.00 C +ATOM 976 SD MET T 115 60.629 5.836 13.644 1.00 0.00 S +ATOM 977 CE MET T 115 59.736 4.768 14.851 1.00 0.00 C +ATOM 978 N MET T 116 61.825 9.445 13.561 1.00 0.00 N +ATOM 979 CA MET T 116 61.376 9.962 12.260 1.00 0.00 C +ATOM 980 C MET T 116 61.996 9.205 11.102 1.00 0.00 C +ATOM 981 O MET T 116 63.176 9.168 10.949 1.00 0.00 O +ATOM 982 CB MET T 116 61.668 11.424 12.139 1.00 0.00 C +ATOM 983 CG MET T 116 60.762 12.200 12.995 1.00 0.00 C +ATOM 984 SD MET T 116 60.914 13.969 13.062 1.00 0.00 S +ATOM 985 CE MET T 116 59.867 14.538 11.688 1.00 0.00 C +ATOM 986 N HIS T 117 61.174 8.516 10.330 1.00 0.00 N +ATOM 987 CA HIS T 117 61.637 7.806 9.158 1.00 0.00 C +ATOM 988 C HIS T 117 61.019 8.342 7.874 1.00 0.00 C +ATOM 989 O HIS T 117 59.802 8.497 7.734 1.00 0.00 O +ATOM 990 CB HIS T 117 61.380 6.352 9.277 1.00 0.00 C +ATOM 991 CG HIS T 117 61.956 5.546 8.159 1.00 0.00 C +ATOM 992 ND1 HIS T 117 63.083 4.767 8.309 1.00 0.00 N +ATOM 993 CD2 HIS T 117 61.569 5.394 6.866 1.00 0.00 C +ATOM 994 CE1 HIS T 117 63.370 4.184 7.160 1.00 0.00 C +ATOM 995 NE2 HIS T 117 62.462 4.536 6.274 1.00 0.00 N +ATOM 996 N PHE T 118 61.917 8.636 6.957 1.00 0.00 N +ATOM 997 CA PHE T 118 61.614 9.102 5.614 1.00 0.00 C +ATOM 998 C PHE T 118 62.102 8.138 4.526 1.00 0.00 C +ATOM 999 O PHE T 118 63.281 7.944 4.384 1.00 0.00 O +ATOM 1000 CB PHE T 118 62.263 10.460 5.363 1.00 0.00 C +ATOM 1001 CG PHE T 118 61.902 11.517 6.346 1.00 0.00 C +ATOM 1002 CD1 PHE T 118 60.910 12.492 6.030 1.00 0.00 C +ATOM 1003 CD2 PHE T 118 62.597 11.574 7.596 1.00 0.00 C +ATOM 1004 CE1 PHE T 118 60.600 13.473 6.948 1.00 0.00 C +ATOM 1005 CE2 PHE T 118 62.310 12.578 8.538 1.00 0.00 C +ATOM 1006 CZ PHE T 118 61.323 13.524 8.227 1.00 0.00 C +ATOM 1007 N GLY T 119 61.179 7.565 3.775 1.00 0.00 N +ATOM 1008 CA GLY T 119 61.482 6.559 2.773 1.00 0.00 C +ATOM 1009 C GLY T 119 60.688 6.607 1.467 1.00 0.00 C +ATOM 1010 O GLY T 119 59.873 7.487 1.244 1.00 0.00 O +ATOM 1011 N ASN T 120 60.927 5.608 0.613 1.00 0.00 N +ATOM 1012 CA ASN T 120 60.211 5.392 -0.667 1.00 0.00 C +ATOM 1013 C ASN T 120 58.888 4.691 -0.501 1.00 0.00 C +ATOM 1014 O ASN T 120 58.652 4.091 0.569 1.00 0.00 O +ATOM 1015 CB ASN T 120 61.080 4.547 -1.573 1.00 0.00 C +ATOM 1016 CG ASN T 120 62.373 5.270 -1.939 1.00 0.00 C +ATOM 1017 OD1 ASN T 120 62.331 6.491 -2.159 1.00 0.00 O +ATOM 1018 ND2 ASN T 120 63.516 4.538 -2.011 1.00 0.00 N +ATOM 1019 OXT ASN T 120 58.064 4.699 -1.430 1.00 0.00 O +TER 1020 ASN T 120 +ATOM 1021 N MET U 121 70.494 8.879 17.087 1.00 0.00 N +ATOM 1022 CA MET U 121 71.191 8.481 15.832 1.00 0.00 C +ATOM 1023 C MET U 121 70.517 9.100 14.561 1.00 0.00 C +ATOM 1024 O MET U 121 69.294 9.235 14.516 1.00 0.00 O +ATOM 1025 CB MET U 121 71.238 6.963 15.833 1.00 0.00 C +ATOM 1026 CG MET U 121 71.626 6.274 14.578 1.00 0.00 C +ATOM 1027 SD MET U 121 70.142 5.836 13.644 1.00 0.00 S +ATOM 1028 CE MET U 121 69.249 4.768 14.851 1.00 0.00 C +ATOM 1029 N MET U 122 71.338 9.445 13.561 1.00 0.00 N +ATOM 1030 CA MET U 122 70.889 9.962 12.260 1.00 0.00 C +ATOM 1031 C MET U 122 71.509 9.205 11.102 1.00 0.00 C +ATOM 1032 O MET U 122 72.689 9.168 10.949 1.00 0.00 O +ATOM 1033 CB MET U 122 71.181 11.424 12.139 1.00 0.00 C +ATOM 1034 CG MET U 122 70.275 12.200 12.995 1.00 0.00 C +ATOM 1035 SD MET U 122 70.427 13.969 13.062 1.00 0.00 S +ATOM 1036 CE MET U 122 69.380 14.538 11.688 1.00 0.00 C +ATOM 1037 N HIS U 123 70.687 8.516 10.330 1.00 0.00 N +ATOM 1038 CA HIS U 123 71.150 7.806 9.158 1.00 0.00 C +ATOM 1039 C HIS U 123 70.532 8.342 7.874 1.00 0.00 C +ATOM 1040 O HIS U 123 69.315 8.497 7.734 1.00 0.00 O +ATOM 1041 CB HIS U 123 70.893 6.352 9.277 1.00 0.00 C +ATOM 1042 CG HIS U 123 71.469 5.546 8.159 1.00 0.00 C +ATOM 1043 ND1 HIS U 123 72.596 4.767 8.309 1.00 0.00 N +ATOM 1044 CD2 HIS U 123 71.082 5.394 6.866 1.00 0.00 C +ATOM 1045 CE1 HIS U 123 72.883 4.184 7.160 1.00 0.00 C +ATOM 1046 NE2 HIS U 123 71.975 4.536 6.274 1.00 0.00 N +ATOM 1047 N PHE U 124 71.430 8.636 6.957 1.00 0.00 N +ATOM 1048 CA PHE U 124 71.127 9.102 5.614 1.00 0.00 C +ATOM 1049 C PHE U 124 71.615 8.138 4.526 1.00 0.00 C +ATOM 1050 O PHE U 124 72.794 7.944 4.384 1.00 0.00 O +ATOM 1051 CB PHE U 124 71.776 10.460 5.363 1.00 0.00 C +ATOM 1052 CG PHE U 124 71.415 11.517 6.346 1.00 0.00 C +ATOM 1053 CD1 PHE U 124 70.423 12.492 6.030 1.00 0.00 C +ATOM 1054 CD2 PHE U 124 72.110 11.574 7.596 1.00 0.00 C +ATOM 1055 CE1 PHE U 124 70.113 13.473 6.948 1.00 0.00 C +ATOM 1056 CE2 PHE U 124 71.823 12.578 8.538 1.00 0.00 C +ATOM 1057 CZ PHE U 124 70.836 13.524 8.227 1.00 0.00 C +ATOM 1058 N GLY U 125 70.692 7.565 3.775 1.00 0.00 N +ATOM 1059 CA GLY U 125 70.995 6.559 2.773 1.00 0.00 C +ATOM 1060 C GLY U 125 70.201 6.607 1.467 1.00 0.00 C +ATOM 1061 O GLY U 125 69.386 7.487 1.244 1.00 0.00 O +ATOM 1062 N ASN U 126 70.440 5.608 0.613 1.00 0.00 N +ATOM 1063 CA ASN U 126 69.724 5.392 -0.667 1.00 0.00 C +ATOM 1064 C ASN U 126 68.401 4.691 -0.501 1.00 0.00 C +ATOM 1065 O ASN U 126 68.165 4.091 0.569 1.00 0.00 O +ATOM 1066 CB ASN U 126 70.593 4.547 -1.573 1.00 0.00 C +ATOM 1067 CG ASN U 126 71.886 5.270 -1.939 1.00 0.00 C +ATOM 1068 OD1 ASN U 126 71.844 6.491 -2.159 1.00 0.00 O +ATOM 1069 ND2 ASN U 126 73.029 4.538 -2.011 1.00 0.00 N +ATOM 1070 OXT ASN U 126 67.577 4.699 -1.430 1.00 0.00 O +TER 1071 ASN U 126 +ATOM 1072 N MET V 127 80.007 8.879 17.087 1.00 0.00 N +ATOM 1073 CA MET V 127 80.704 8.481 15.832 1.00 0.00 C +ATOM 1074 C MET V 127 80.030 9.100 14.561 1.00 0.00 C +ATOM 1075 O MET V 127 78.807 9.235 14.516 1.00 0.00 O +ATOM 1076 CB MET V 127 80.751 6.963 15.833 1.00 0.00 C +ATOM 1077 CG MET V 127 81.139 6.274 14.578 1.00 0.00 C +ATOM 1078 SD MET V 127 79.655 5.836 13.644 1.00 0.00 S +ATOM 1079 CE MET V 127 78.762 4.768 14.851 1.00 0.00 C +ATOM 1080 N MET V 128 80.851 9.445 13.561 1.00 0.00 N +ATOM 1081 CA MET V 128 80.402 9.962 12.260 1.00 0.00 C +ATOM 1082 C MET V 128 81.022 9.205 11.102 1.00 0.00 C +ATOM 1083 O MET V 128 82.202 9.168 10.949 1.00 0.00 O +ATOM 1084 CB MET V 128 80.694 11.424 12.139 1.00 0.00 C +ATOM 1085 CG MET V 128 79.788 12.200 12.995 1.00 0.00 C +ATOM 1086 SD MET V 128 79.940 13.969 13.062 1.00 0.00 S +ATOM 1087 CE MET V 128 78.893 14.538 11.688 1.00 0.00 C +ATOM 1088 N HIS V 129 80.200 8.516 10.330 1.00 0.00 N +ATOM 1089 CA HIS V 129 80.663 7.806 9.158 1.00 0.00 C +ATOM 1090 C HIS V 129 80.045 8.342 7.874 1.00 0.00 C +ATOM 1091 O HIS V 129 78.828 8.497 7.734 1.00 0.00 O +ATOM 1092 CB HIS V 129 80.406 6.352 9.277 1.00 0.00 C +ATOM 1093 CG HIS V 129 80.982 5.546 8.159 1.00 0.00 C +ATOM 1094 ND1 HIS V 129 82.109 4.767 8.309 1.00 0.00 N +ATOM 1095 CD2 HIS V 129 80.595 5.394 6.866 1.00 0.00 C +ATOM 1096 CE1 HIS V 129 82.396 4.184 7.160 1.00 0.00 C +ATOM 1097 NE2 HIS V 129 81.488 4.536 6.274 1.00 0.00 N +ATOM 1098 N PHE V 130 80.943 8.636 6.957 1.00 0.00 N +ATOM 1099 CA PHE V 130 80.640 9.102 5.614 1.00 0.00 C +ATOM 1100 C PHE V 130 81.128 8.138 4.526 1.00 0.00 C +ATOM 1101 O PHE V 130 82.307 7.944 4.384 1.00 0.00 O +ATOM 1102 CB PHE V 130 81.289 10.460 5.363 1.00 0.00 C +ATOM 1103 CG PHE V 130 80.928 11.517 6.346 1.00 0.00 C +ATOM 1104 CD1 PHE V 130 79.936 12.492 6.030 1.00 0.00 C +ATOM 1105 CD2 PHE V 130 81.623 11.574 7.596 1.00 0.00 C +ATOM 1106 CE1 PHE V 130 79.626 13.473 6.948 1.00 0.00 C +ATOM 1107 CE2 PHE V 130 81.336 12.578 8.538 1.00 0.00 C +ATOM 1108 CZ PHE V 130 80.349 13.524 8.227 1.00 0.00 C +ATOM 1109 N GLY V 131 80.205 7.565 3.775 1.00 0.00 N +ATOM 1110 CA GLY V 131 80.508 6.559 2.773 1.00 0.00 C +ATOM 1111 C GLY V 131 79.714 6.607 1.467 1.00 0.00 C +ATOM 1112 O GLY V 131 78.899 7.487 1.244 1.00 0.00 O +ATOM 1113 N ASN V 132 79.953 5.608 0.613 1.00 0.00 N +ATOM 1114 CA ASN V 132 79.237 5.392 -0.667 1.00 0.00 C +ATOM 1115 C ASN V 132 77.914 4.691 -0.501 1.00 0.00 C +ATOM 1116 O ASN V 132 77.678 4.091 0.569 1.00 0.00 O +ATOM 1117 CB ASN V 132 80.106 4.547 -1.573 1.00 0.00 C +ATOM 1118 CG ASN V 132 81.399 5.270 -1.939 1.00 0.00 C +ATOM 1119 OD1 ASN V 132 81.357 6.491 -2.159 1.00 0.00 O +ATOM 1120 ND2 ASN V 132 82.542 4.538 -2.011 1.00 0.00 N +ATOM 1121 OXT ASN V 132 77.090 4.699 -1.430 1.00 0.00 O +TER 1122 ASN V 132 +ATOM 1123 N MET W 133 89.520 8.879 17.087 1.00 0.00 N +ATOM 1124 CA MET W 133 90.217 8.481 15.832 1.00 0.00 C +ATOM 1125 C MET W 133 89.543 9.100 14.561 1.00 0.00 C +ATOM 1126 O MET W 133 88.320 9.235 14.516 1.00 0.00 O +ATOM 1127 CB MET W 133 90.264 6.963 15.833 1.00 0.00 C +ATOM 1128 CG MET W 133 90.652 6.274 14.578 1.00 0.00 C +ATOM 1129 SD MET W 133 89.168 5.836 13.644 1.00 0.00 S +ATOM 1130 CE MET W 133 88.275 4.768 14.851 1.00 0.00 C +ATOM 1131 N MET W 134 90.364 9.445 13.561 1.00 0.00 N +ATOM 1132 CA MET W 134 89.915 9.962 12.260 1.00 0.00 C +ATOM 1133 C MET W 134 90.535 9.205 11.102 1.00 0.00 C +ATOM 1134 O MET W 134 91.715 9.168 10.949 1.00 0.00 O +ATOM 1135 CB MET W 134 90.207 11.424 12.139 1.00 0.00 C +ATOM 1136 CG MET W 134 89.301 12.200 12.995 1.00 0.00 C +ATOM 1137 SD MET W 134 89.453 13.969 13.062 1.00 0.00 S +ATOM 1138 CE MET W 134 88.406 14.538 11.688 1.00 0.00 C +ATOM 1139 N HIS W 135 89.713 8.516 10.330 1.00 0.00 N +ATOM 1140 CA HIS W 135 90.176 7.806 9.158 1.00 0.00 C +ATOM 1141 C HIS W 135 89.558 8.342 7.874 1.00 0.00 C +ATOM 1142 O HIS W 135 88.341 8.497 7.734 1.00 0.00 O +ATOM 1143 CB HIS W 135 89.919 6.352 9.277 1.00 0.00 C +ATOM 1144 CG HIS W 135 90.495 5.546 8.159 1.00 0.00 C +ATOM 1145 ND1 HIS W 135 91.622 4.767 8.309 1.00 0.00 N +ATOM 1146 CD2 HIS W 135 90.108 5.394 6.866 1.00 0.00 C +ATOM 1147 CE1 HIS W 135 91.909 4.184 7.160 1.00 0.00 C +ATOM 1148 NE2 HIS W 135 91.001 4.536 6.274 1.00 0.00 N +ATOM 1149 N PHE W 136 90.456 8.636 6.957 1.00 0.00 N +ATOM 1150 CA PHE W 136 90.153 9.102 5.614 1.00 0.00 C +ATOM 1151 C PHE W 136 90.641 8.138 4.526 1.00 0.00 C +ATOM 1152 O PHE W 136 91.820 7.944 4.384 1.00 0.00 O +ATOM 1153 CB PHE W 136 90.802 10.460 5.363 1.00 0.00 C +ATOM 1154 CG PHE W 136 90.441 11.517 6.346 1.00 0.00 C +ATOM 1155 CD1 PHE W 136 89.449 12.492 6.030 1.00 0.00 C +ATOM 1156 CD2 PHE W 136 91.136 11.574 7.596 1.00 0.00 C +ATOM 1157 CE1 PHE W 136 89.139 13.473 6.948 1.00 0.00 C +ATOM 1158 CE2 PHE W 136 90.849 12.578 8.538 1.00 0.00 C +ATOM 1159 CZ PHE W 136 89.862 13.524 8.227 1.00 0.00 C +ATOM 1160 N GLY W 137 89.718 7.565 3.775 1.00 0.00 N +ATOM 1161 CA GLY W 137 90.021 6.559 2.773 1.00 0.00 C +ATOM 1162 C GLY W 137 89.227 6.607 1.467 1.00 0.00 C +ATOM 1163 O GLY W 137 88.412 7.487 1.244 1.00 0.00 O +ATOM 1164 N ASN W 138 89.466 5.608 0.613 1.00 0.00 N +ATOM 1165 CA ASN W 138 88.750 5.392 -0.667 1.00 0.00 C +ATOM 1166 C ASN W 138 87.427 4.691 -0.501 1.00 0.00 C +ATOM 1167 O ASN W 138 87.191 4.091 0.569 1.00 0.00 O +ATOM 1168 CB ASN W 138 89.619 4.547 -1.573 1.00 0.00 C +ATOM 1169 CG ASN W 138 90.912 5.270 -1.939 1.00 0.00 C +ATOM 1170 OD1 ASN W 138 90.870 6.491 -2.159 1.00 0.00 O +ATOM 1171 ND2 ASN W 138 92.055 4.538 -2.011 1.00 0.00 N +ATOM 1172 OXT ASN W 138 86.603 4.699 -1.430 1.00 0.00 O +TER 1173 ASN W 138 +ATOM 1174 N MET X 139 99.033 8.879 17.087 1.00 0.00 N +ATOM 1175 CA MET X 139 99.730 8.481 15.832 1.00 0.00 C +ATOM 1176 C MET X 139 99.056 9.100 14.561 1.00 0.00 C +ATOM 1177 O MET X 139 97.833 9.235 14.516 1.00 0.00 O +ATOM 1178 CB MET X 139 99.777 6.963 15.833 1.00 0.00 C +ATOM 1179 CG MET X 139 100.165 6.274 14.578 1.00 0.00 C +ATOM 1180 SD MET X 139 98.681 5.836 13.644 1.00 0.00 S +ATOM 1181 CE MET X 139 97.788 4.768 14.851 1.00 0.00 C +ATOM 1182 N MET X 140 99.877 9.445 13.561 1.00 0.00 N +ATOM 1183 CA MET X 140 99.428 9.962 12.260 1.00 0.00 C +ATOM 1184 C MET X 140 100.048 9.205 11.102 1.00 0.00 C +ATOM 1185 O MET X 140 101.228 9.168 10.949 1.00 0.00 O +ATOM 1186 CB MET X 140 99.720 11.424 12.139 1.00 0.00 C +ATOM 1187 CG MET X 140 98.814 12.200 12.995 1.00 0.00 C +ATOM 1188 SD MET X 140 98.966 13.969 13.062 1.00 0.00 S +ATOM 1189 CE MET X 140 97.919 14.538 11.688 1.00 0.00 C +ATOM 1190 N HIS X 141 99.226 8.516 10.330 1.00 0.00 N +ATOM 1191 CA HIS X 141 99.689 7.806 9.158 1.00 0.00 C +ATOM 1192 C HIS X 141 99.071 8.342 7.874 1.00 0.00 C +ATOM 1193 O HIS X 141 97.854 8.497 7.734 1.00 0.00 O +ATOM 1194 CB HIS X 141 99.432 6.352 9.277 1.00 0.00 C +ATOM 1195 CG HIS X 141 100.008 5.546 8.159 1.00 0.00 C +ATOM 1196 ND1 HIS X 141 101.135 4.767 8.309 1.00 0.00 N +ATOM 1197 CD2 HIS X 141 99.621 5.394 6.866 1.00 0.00 C +ATOM 1198 CE1 HIS X 141 101.422 4.184 7.160 1.00 0.00 C +ATOM 1199 NE2 HIS X 141 100.514 4.536 6.274 1.00 0.00 N +ATOM 1200 N PHE X 142 99.969 8.636 6.957 1.00 0.00 N +ATOM 1201 CA PHE X 142 99.666 9.102 5.614 1.00 0.00 C +ATOM 1202 C PHE X 142 100.154 8.138 4.526 1.00 0.00 C +ATOM 1203 O PHE X 142 101.333 7.944 4.384 1.00 0.00 O +ATOM 1204 CB PHE X 142 100.315 10.460 5.363 1.00 0.00 C +ATOM 1205 CG PHE X 142 99.954 11.517 6.346 1.00 0.00 C +ATOM 1206 CD1 PHE X 142 98.962 12.492 6.030 1.00 0.00 C +ATOM 1207 CD2 PHE X 142 100.649 11.574 7.596 1.00 0.00 C +ATOM 1208 CE1 PHE X 142 98.652 13.473 6.948 1.00 0.00 C +ATOM 1209 CE2 PHE X 142 100.362 12.578 8.538 1.00 0.00 C +ATOM 1210 CZ PHE X 142 99.375 13.524 8.227 1.00 0.00 C +ATOM 1211 N GLY X 143 99.231 7.565 3.775 1.00 0.00 N +ATOM 1212 CA GLY X 143 99.534 6.559 2.773 1.00 0.00 C +ATOM 1213 C GLY X 143 98.740 6.607 1.467 1.00 0.00 C +ATOM 1214 O GLY X 143 97.925 7.487 1.244 1.00 0.00 O +ATOM 1215 N ASN X 144 98.979 5.608 0.613 1.00 0.00 N +ATOM 1216 CA ASN X 144 98.263 5.392 -0.667 1.00 0.00 C +ATOM 1217 C ASN X 144 96.940 4.691 -0.501 1.00 0.00 C +ATOM 1218 O ASN X 144 96.704 4.091 0.569 1.00 0.00 O +ATOM 1219 CB ASN X 144 99.132 4.547 -1.573 1.00 0.00 C +ATOM 1220 CG ASN X 144 100.425 5.270 -1.939 1.00 0.00 C +ATOM 1221 OD1 ASN X 144 100.383 6.491 -2.159 1.00 0.00 O +ATOM 1222 ND2 ASN X 144 101.568 4.538 -2.011 1.00 0.00 N +ATOM 1223 OXT ASN X 144 96.116 4.699 -1.430 1.00 0.00 O +TER 1224 ASN X 144 +ATOM 1225 N MET Y 145 108.546 8.879 17.087 1.00 0.00 N +ATOM 1226 CA MET Y 145 109.243 8.481 15.832 1.00 0.00 C +ATOM 1227 C MET Y 145 108.569 9.100 14.561 1.00 0.00 C +ATOM 1228 O MET Y 145 107.346 9.235 14.516 1.00 0.00 O +ATOM 1229 CB MET Y 145 109.290 6.963 15.833 1.00 0.00 C +ATOM 1230 CG MET Y 145 109.678 6.274 14.578 1.00 0.00 C +ATOM 1231 SD MET Y 145 108.194 5.836 13.644 1.00 0.00 S +ATOM 1232 CE MET Y 145 107.301 4.768 14.851 1.00 0.00 C +ATOM 1233 N MET Y 146 109.390 9.445 13.561 1.00 0.00 N +ATOM 1234 CA MET Y 146 108.941 9.962 12.260 1.00 0.00 C +ATOM 1235 C MET Y 146 109.561 9.205 11.102 1.00 0.00 C +ATOM 1236 O MET Y 146 110.741 9.168 10.949 1.00 0.00 O +ATOM 1237 CB MET Y 146 109.233 11.424 12.139 1.00 0.00 C +ATOM 1238 CG MET Y 146 108.327 12.200 12.995 1.00 0.00 C +ATOM 1239 SD MET Y 146 108.479 13.969 13.062 1.00 0.00 S +ATOM 1240 CE MET Y 146 107.432 14.538 11.688 1.00 0.00 C +ATOM 1241 N HIS Y 147 108.739 8.516 10.330 1.00 0.00 N +ATOM 1242 CA HIS Y 147 109.202 7.806 9.158 1.00 0.00 C +ATOM 1243 C HIS Y 147 108.584 8.342 7.874 1.00 0.00 C +ATOM 1244 O HIS Y 147 107.367 8.497 7.734 1.00 0.00 O +ATOM 1245 CB HIS Y 147 108.945 6.352 9.277 1.00 0.00 C +ATOM 1246 CG HIS Y 147 109.521 5.546 8.159 1.00 0.00 C +ATOM 1247 ND1 HIS Y 147 110.648 4.767 8.309 1.00 0.00 N +ATOM 1248 CD2 HIS Y 147 109.134 5.394 6.866 1.00 0.00 C +ATOM 1249 CE1 HIS Y 147 110.935 4.184 7.160 1.00 0.00 C +ATOM 1250 NE2 HIS Y 147 110.027 4.536 6.274 1.00 0.00 N +ATOM 1251 N PHE Y 148 109.482 8.636 6.957 1.00 0.00 N +ATOM 1252 CA PHE Y 148 109.179 9.102 5.614 1.00 0.00 C +ATOM 1253 C PHE Y 148 109.667 8.138 4.526 1.00 0.00 C +ATOM 1254 O PHE Y 148 110.846 7.944 4.384 1.00 0.00 O +ATOM 1255 CB PHE Y 148 109.828 10.460 5.363 1.00 0.00 C +ATOM 1256 CG PHE Y 148 109.467 11.517 6.346 1.00 0.00 C +ATOM 1257 CD1 PHE Y 148 108.475 12.492 6.030 1.00 0.00 C +ATOM 1258 CD2 PHE Y 148 110.162 11.574 7.596 1.00 0.00 C +ATOM 1259 CE1 PHE Y 148 108.165 13.473 6.948 1.00 0.00 C +ATOM 1260 CE2 PHE Y 148 109.875 12.578 8.538 1.00 0.00 C +ATOM 1261 CZ PHE Y 148 108.888 13.524 8.227 1.00 0.00 C +ATOM 1262 N GLY Y 149 108.744 7.565 3.775 1.00 0.00 N +ATOM 1263 CA GLY Y 149 109.047 6.559 2.773 1.00 0.00 C +ATOM 1264 C GLY Y 149 108.253 6.607 1.467 1.00 0.00 C +ATOM 1265 O GLY Y 149 107.438 7.487 1.244 1.00 0.00 O +ATOM 1266 N ASN Y 150 108.492 5.608 0.613 1.00 0.00 N +ATOM 1267 CA ASN Y 150 107.776 5.392 -0.667 1.00 0.00 C +ATOM 1268 C ASN Y 150 106.453 4.691 -0.501 1.00 0.00 C +ATOM 1269 O ASN Y 150 106.217 4.091 0.569 1.00 0.00 O +ATOM 1270 CB ASN Y 150 108.645 4.547 -1.573 1.00 0.00 C +ATOM 1271 CG ASN Y 150 109.938 5.270 -1.939 1.00 0.00 C +ATOM 1272 OD1 ASN Y 150 109.896 6.491 -2.159 1.00 0.00 O +ATOM 1273 ND2 ASN Y 150 111.081 4.538 -2.011 1.00 0.00 N +ATOM 1274 OXT ASN Y 150 105.629 4.699 -1.430 1.00 0.00 O +TER 1275 ASN Y 150 +ATOM 1276 N MET Z 151 118.059 8.879 17.087 1.00 0.00 N +ATOM 1277 CA MET Z 151 118.756 8.481 15.832 1.00 0.00 C +ATOM 1278 C MET Z 151 118.082 9.100 14.561 1.00 0.00 C +ATOM 1279 O MET Z 151 116.859 9.235 14.516 1.00 0.00 O +ATOM 1280 CB MET Z 151 118.803 6.963 15.833 1.00 0.00 C +ATOM 1281 CG MET Z 151 119.191 6.274 14.578 1.00 0.00 C +ATOM 1282 SD MET Z 151 117.707 5.836 13.644 1.00 0.00 S +ATOM 1283 CE MET Z 151 116.814 4.768 14.851 1.00 0.00 C +ATOM 1284 N MET Z 152 118.903 9.445 13.561 1.00 0.00 N +ATOM 1285 CA MET Z 152 118.454 9.962 12.260 1.00 0.00 C +ATOM 1286 C MET Z 152 119.074 9.205 11.102 1.00 0.00 C +ATOM 1287 O MET Z 152 120.254 9.168 10.949 1.00 0.00 O +ATOM 1288 CB MET Z 152 118.746 11.424 12.139 1.00 0.00 C +ATOM 1289 CG MET Z 152 117.840 12.200 12.995 1.00 0.00 C +ATOM 1290 SD MET Z 152 117.992 13.969 13.062 1.00 0.00 S +ATOM 1291 CE MET Z 152 116.945 14.538 11.688 1.00 0.00 C +ATOM 1292 N HIS Z 153 118.252 8.516 10.330 1.00 0.00 N +ATOM 1293 CA HIS Z 153 118.715 7.806 9.158 1.00 0.00 C +ATOM 1294 C HIS Z 153 118.097 8.342 7.874 1.00 0.00 C +ATOM 1295 O HIS Z 153 116.880 8.497 7.734 1.00 0.00 O +ATOM 1296 CB HIS Z 153 118.458 6.352 9.277 1.00 0.00 C +ATOM 1297 CG HIS Z 153 119.034 5.546 8.159 1.00 0.00 C +ATOM 1298 ND1 HIS Z 153 120.161 4.767 8.309 1.00 0.00 N +ATOM 1299 CD2 HIS Z 153 118.647 5.394 6.866 1.00 0.00 C +ATOM 1300 CE1 HIS Z 153 120.448 4.184 7.160 1.00 0.00 C +ATOM 1301 NE2 HIS Z 153 119.540 4.536 6.274 1.00 0.00 N +ATOM 1302 N PHE Z 154 118.995 8.636 6.957 1.00 0.00 N +ATOM 1303 CA PHE Z 154 118.692 9.102 5.614 1.00 0.00 C +ATOM 1304 C PHE Z 154 119.180 8.138 4.526 1.00 0.00 C +ATOM 1305 O PHE Z 154 120.359 7.944 4.384 1.00 0.00 O +ATOM 1306 CB PHE Z 154 119.341 10.460 5.363 1.00 0.00 C +ATOM 1307 CG PHE Z 154 118.980 11.517 6.346 1.00 0.00 C +ATOM 1308 CD1 PHE Z 154 117.988 12.492 6.030 1.00 0.00 C +ATOM 1309 CD2 PHE Z 154 119.675 11.574 7.596 1.00 0.00 C +ATOM 1310 CE1 PHE Z 154 117.678 13.473 6.948 1.00 0.00 C +ATOM 1311 CE2 PHE Z 154 119.388 12.578 8.538 1.00 0.00 C +ATOM 1312 CZ PHE Z 154 118.401 13.524 8.227 1.00 0.00 C +ATOM 1313 N GLY Z 155 118.257 7.565 3.775 1.00 0.00 N +ATOM 1314 CA GLY Z 155 118.560 6.559 2.773 1.00 0.00 C +ATOM 1315 C GLY Z 155 117.766 6.607 1.467 1.00 0.00 C +ATOM 1316 O GLY Z 155 116.951 7.487 1.244 1.00 0.00 O +ATOM 1317 N ASN Z 156 118.005 5.608 0.613 1.00 0.00 N +ATOM 1318 CA ASN Z 156 117.289 5.392 -0.667 1.00 0.00 C +ATOM 1319 C ASN Z 156 115.966 4.691 -0.501 1.00 0.00 C +ATOM 1320 O ASN Z 156 115.730 4.091 0.569 1.00 0.00 O +ATOM 1321 CB ASN Z 156 118.158 4.547 -1.573 1.00 0.00 C +ATOM 1322 CG ASN Z 156 119.451 5.270 -1.939 1.00 0.00 C +ATOM 1323 OD1 ASN Z 156 119.409 6.491 -2.159 1.00 0.00 O +ATOM 1324 ND2 ASN Z 156 120.594 4.538 -2.011 1.00 0.00 N +ATOM 1325 OXT ASN Z 156 115.142 4.699 -1.430 1.00 0.00 O +TER 1326 ASN Z 156 +ATOM 1327 N MET a 157 0.025 -3.943 1.633 1.00 0.00 N +ATOM 1328 CA MET a 157 -0.593 -4.388 2.907 1.00 0.00 C +ATOM 1329 C MET a 157 0.086 -3.636 4.038 1.00 0.00 C +ATOM 1330 O MET a 157 1.295 -3.345 3.987 1.00 0.00 O +ATOM 1331 CB MET a 157 -0.402 -5.873 3.027 1.00 0.00 C +ATOM 1332 CG MET a 157 -0.916 -6.560 4.222 1.00 0.00 C +ATOM 1333 SD MET a 157 0.040 -6.413 5.754 1.00 0.00 S +ATOM 1334 CE MET a 157 1.680 -6.781 5.249 1.00 0.00 C +ATOM 1335 N MET a 158 -0.672 -3.307 5.073 1.00 0.00 N +ATOM 1336 CA MET a 158 -0.060 -2.705 6.308 1.00 0.00 C +ATOM 1337 C MET a 158 -0.754 -3.318 7.508 1.00 0.00 C +ATOM 1338 O MET a 158 -1.994 -3.477 7.521 1.00 0.00 O +ATOM 1339 CB MET a 158 -0.220 -1.195 6.377 1.00 0.00 C +ATOM 1340 CG MET a 158 0.330 -0.439 5.221 1.00 0.00 C +ATOM 1341 SD MET a 158 -0.002 1.330 5.258 1.00 0.00 S +ATOM 1342 CE MET a 158 -1.767 1.398 4.953 1.00 0.00 C +ATOM 1343 N HIS a 159 0.050 -3.707 8.473 1.00 0.00 N +ATOM 1344 CA HIS a 159 -0.447 -4.180 9.746 1.00 0.00 C +ATOM 1345 C HIS a 159 0.190 -3.393 10.869 1.00 0.00 C +ATOM 1346 O HIS a 159 1.396 -3.480 11.070 1.00 0.00 O +ATOM 1347 CB HIS a 159 -0.134 -5.623 9.909 1.00 0.00 C +ATOM 1348 CG HIS a 159 -0.855 -6.278 11.054 1.00 0.00 C +ATOM 1349 ND1 HIS a 159 -2.097 -6.866 10.924 1.00 0.00 N +ATOM 1350 CD2 HIS a 159 -0.508 -6.438 12.360 1.00 0.00 C +ATOM 1351 CE1 HIS a 159 -2.471 -7.367 12.086 1.00 0.00 C +ATOM 1352 NE2 HIS a 159 -1.535 -7.112 12.977 1.00 0.00 N +ATOM 1353 N PHE a 160 -0.633 -2.621 11.590 1.00 0.00 N +ATOM 1354 CA PHE a 160 -0.215 -1.933 12.825 1.00 0.00 C +ATOM 1355 C PHE a 160 -0.847 -2.590 14.033 1.00 0.00 C +ATOM 1356 O PHE a 160 -2.101 -2.655 14.173 1.00 0.00 O +ATOM 1357 CB PHE a 160 -0.551 -0.472 12.796 1.00 0.00 C +ATOM 1358 CG PHE a 160 -0.188 0.226 11.526 1.00 0.00 C +ATOM 1359 CD1 PHE a 160 0.855 -0.217 10.720 1.00 0.00 C +ATOM 1360 CD2 PHE a 160 -0.923 1.327 11.103 1.00 0.00 C +ATOM 1361 CE1 PHE a 160 1.151 0.421 9.521 1.00 0.00 C +ATOM 1362 CE2 PHE a 160 -0.604 1.990 9.891 1.00 0.00 C +ATOM 1363 CZ PHE a 160 0.422 1.546 9.129 1.00 0.00 C +ATOM 1364 N GLY a 161 -0.003 -3.149 14.883 1.00 0.00 N +ATOM 1365 CA GLY a 161 -0.519 -3.937 16.011 1.00 0.00 C +ATOM 1366 C GLY a 161 0.367 -3.922 17.197 1.00 0.00 C +ATOM 1367 O GLY a 161 1.225 -3.113 17.247 1.00 0.00 O +ATOM 1368 N ASN a 162 0.104 -4.747 18.202 1.00 0.00 N +ATOM 1369 CA ASN a 162 0.963 -4.704 19.400 1.00 0.00 C +ATOM 1370 C ASN a 162 1.878 -5.905 19.319 1.00 0.00 C +ATOM 1371 O ASN a 162 1.669 -6.847 18.564 1.00 0.00 O +ATOM 1372 CB ASN a 162 0.177 -4.660 20.728 1.00 0.00 C +ATOM 1373 CG ASN a 162 -0.689 -3.409 20.892 1.00 0.00 C +ATOM 1374 OD1 ASN a 162 -0.212 -2.242 21.032 1.00 0.00 O +ATOM 1375 ND2 ASN a 162 -2.014 -3.652 20.859 1.00 0.00 N +ATOM 1376 OXT ASN a 162 2.877 -5.944 19.973 1.00 0.00 O +TER 1377 ASN a 162 +ATOM 1378 N MET b 163 9.538 -3.943 1.633 1.00 0.00 N +ATOM 1379 CA MET b 163 8.920 -4.388 2.907 1.00 0.00 C +ATOM 1380 C MET b 163 9.599 -3.636 4.038 1.00 0.00 C +ATOM 1381 O MET b 163 10.808 -3.345 3.987 1.00 0.00 O +ATOM 1382 CB MET b 163 9.111 -5.873 3.027 1.00 0.00 C +ATOM 1383 CG MET b 163 8.597 -6.560 4.222 1.00 0.00 C +ATOM 1384 SD MET b 163 9.553 -6.413 5.754 1.00 0.00 S +ATOM 1385 CE MET b 163 11.193 -6.781 5.249 1.00 0.00 C +ATOM 1386 N MET b 164 8.841 -3.307 5.073 1.00 0.00 N +ATOM 1387 CA MET b 164 9.453 -2.705 6.308 1.00 0.00 C +ATOM 1388 C MET b 164 8.759 -3.318 7.508 1.00 0.00 C +ATOM 1389 O MET b 164 7.519 -3.477 7.521 1.00 0.00 O +ATOM 1390 CB MET b 164 9.293 -1.195 6.377 1.00 0.00 C +ATOM 1391 CG MET b 164 9.843 -0.439 5.221 1.00 0.00 C +ATOM 1392 SD MET b 164 9.511 1.330 5.258 1.00 0.00 S +ATOM 1393 CE MET b 164 7.746 1.398 4.953 1.00 0.00 C +ATOM 1394 N HIS b 165 9.563 -3.707 8.473 1.00 0.00 N +ATOM 1395 CA HIS b 165 9.066 -4.180 9.746 1.00 0.00 C +ATOM 1396 C HIS b 165 9.703 -3.393 10.869 1.00 0.00 C +ATOM 1397 O HIS b 165 10.909 -3.480 11.070 1.00 0.00 O +ATOM 1398 CB HIS b 165 9.379 -5.623 9.909 1.00 0.00 C +ATOM 1399 CG HIS b 165 8.658 -6.278 11.054 1.00 0.00 C +ATOM 1400 ND1 HIS b 165 7.416 -6.866 10.924 1.00 0.00 N +ATOM 1401 CD2 HIS b 165 9.005 -6.438 12.360 1.00 0.00 C +ATOM 1402 CE1 HIS b 165 7.042 -7.367 12.086 1.00 0.00 C +ATOM 1403 NE2 HIS b 165 7.978 -7.112 12.977 1.00 0.00 N +ATOM 1404 N PHE b 166 8.880 -2.621 11.590 1.00 0.00 N +ATOM 1405 CA PHE b 166 9.298 -1.933 12.825 1.00 0.00 C +ATOM 1406 C PHE b 166 8.666 -2.590 14.033 1.00 0.00 C +ATOM 1407 O PHE b 166 7.412 -2.655 14.173 1.00 0.00 O +ATOM 1408 CB PHE b 166 8.962 -0.472 12.796 1.00 0.00 C +ATOM 1409 CG PHE b 166 9.325 0.226 11.526 1.00 0.00 C +ATOM 1410 CD1 PHE b 166 10.368 -0.217 10.720 1.00 0.00 C +ATOM 1411 CD2 PHE b 166 8.590 1.327 11.103 1.00 0.00 C +ATOM 1412 CE1 PHE b 166 10.664 0.421 9.521 1.00 0.00 C +ATOM 1413 CE2 PHE b 166 8.909 1.990 9.891 1.00 0.00 C +ATOM 1414 CZ PHE b 166 9.935 1.546 9.129 1.00 0.00 C +ATOM 1415 N GLY b 167 9.510 -3.149 14.883 1.00 0.00 N +ATOM 1416 CA GLY b 167 8.994 -3.937 16.011 1.00 0.00 C +ATOM 1417 C GLY b 167 9.880 -3.922 17.197 1.00 0.00 C +ATOM 1418 O GLY b 167 10.738 -3.113 17.247 1.00 0.00 O +ATOM 1419 N ASN b 168 9.617 -4.747 18.202 1.00 0.00 N +ATOM 1420 CA ASN b 168 10.476 -4.704 19.400 1.00 0.00 C +ATOM 1421 C ASN b 168 11.391 -5.905 19.319 1.00 0.00 C +ATOM 1422 O ASN b 168 11.182 -6.847 18.564 1.00 0.00 O +ATOM 1423 CB ASN b 168 9.690 -4.660 20.728 1.00 0.00 C +ATOM 1424 CG ASN b 168 8.824 -3.409 20.892 1.00 0.00 C +ATOM 1425 OD1 ASN b 168 9.301 -2.242 21.032 1.00 0.00 O +ATOM 1426 ND2 ASN b 168 7.499 -3.652 20.859 1.00 0.00 N +ATOM 1427 OXT ASN b 168 12.390 -5.944 19.973 1.00 0.00 O +TER 1428 ASN b 168 +ATOM 1429 N MET c 169 19.051 -3.943 1.633 1.00 0.00 N +ATOM 1430 CA MET c 169 18.433 -4.388 2.907 1.00 0.00 C +ATOM 1431 C MET c 169 19.112 -3.636 4.038 1.00 0.00 C +ATOM 1432 O MET c 169 20.321 -3.345 3.987 1.00 0.00 O +ATOM 1433 CB MET c 169 18.624 -5.873 3.027 1.00 0.00 C +ATOM 1434 CG MET c 169 18.110 -6.560 4.222 1.00 0.00 C +ATOM 1435 SD MET c 169 19.066 -6.413 5.754 1.00 0.00 S +ATOM 1436 CE MET c 169 20.706 -6.781 5.249 1.00 0.00 C +ATOM 1437 N MET c 170 18.354 -3.307 5.073 1.00 0.00 N +ATOM 1438 CA MET c 170 18.966 -2.705 6.308 1.00 0.00 C +ATOM 1439 C MET c 170 18.272 -3.318 7.508 1.00 0.00 C +ATOM 1440 O MET c 170 17.032 -3.477 7.521 1.00 0.00 O +ATOM 1441 CB MET c 170 18.806 -1.195 6.377 1.00 0.00 C +ATOM 1442 CG MET c 170 19.356 -0.439 5.221 1.00 0.00 C +ATOM 1443 SD MET c 170 19.024 1.330 5.258 1.00 0.00 S +ATOM 1444 CE MET c 170 17.259 1.398 4.953 1.00 0.00 C +ATOM 1445 N HIS c 171 19.076 -3.707 8.473 1.00 0.00 N +ATOM 1446 CA HIS c 171 18.579 -4.180 9.746 1.00 0.00 C +ATOM 1447 C HIS c 171 19.216 -3.393 10.869 1.00 0.00 C +ATOM 1448 O HIS c 171 20.422 -3.480 11.070 1.00 0.00 O +ATOM 1449 CB HIS c 171 18.892 -5.623 9.909 1.00 0.00 C +ATOM 1450 CG HIS c 171 18.171 -6.278 11.054 1.00 0.00 C +ATOM 1451 ND1 HIS c 171 16.929 -6.866 10.924 1.00 0.00 N +ATOM 1452 CD2 HIS c 171 18.518 -6.438 12.360 1.00 0.00 C +ATOM 1453 CE1 HIS c 171 16.555 -7.367 12.086 1.00 0.00 C +ATOM 1454 NE2 HIS c 171 17.491 -7.112 12.977 1.00 0.00 N +ATOM 1455 N PHE c 172 18.393 -2.621 11.590 1.00 0.00 N +ATOM 1456 CA PHE c 172 18.811 -1.933 12.825 1.00 0.00 C +ATOM 1457 C PHE c 172 18.179 -2.590 14.033 1.00 0.00 C +ATOM 1458 O PHE c 172 16.925 -2.655 14.173 1.00 0.00 O +ATOM 1459 CB PHE c 172 18.475 -0.472 12.796 1.00 0.00 C +ATOM 1460 CG PHE c 172 18.838 0.226 11.526 1.00 0.00 C +ATOM 1461 CD1 PHE c 172 19.881 -0.217 10.720 1.00 0.00 C +ATOM 1462 CD2 PHE c 172 18.103 1.327 11.103 1.00 0.00 C +ATOM 1463 CE1 PHE c 172 20.177 0.421 9.521 1.00 0.00 C +ATOM 1464 CE2 PHE c 172 18.422 1.990 9.891 1.00 0.00 C +ATOM 1465 CZ PHE c 172 19.448 1.546 9.129 1.00 0.00 C +ATOM 1466 N GLY c 173 19.023 -3.149 14.883 1.00 0.00 N +ATOM 1467 CA GLY c 173 18.507 -3.937 16.011 1.00 0.00 C +ATOM 1468 C GLY c 173 19.393 -3.922 17.197 1.00 0.00 C +ATOM 1469 O GLY c 173 20.251 -3.113 17.247 1.00 0.00 O +ATOM 1470 N ASN c 174 19.130 -4.747 18.202 1.00 0.00 N +ATOM 1471 CA ASN c 174 19.989 -4.704 19.400 1.00 0.00 C +ATOM 1472 C ASN c 174 20.904 -5.905 19.319 1.00 0.00 C +ATOM 1473 O ASN c 174 20.695 -6.847 18.564 1.00 0.00 O +ATOM 1474 CB ASN c 174 19.203 -4.660 20.728 1.00 0.00 C +ATOM 1475 CG ASN c 174 18.337 -3.409 20.892 1.00 0.00 C +ATOM 1476 OD1 ASN c 174 18.814 -2.242 21.032 1.00 0.00 O +ATOM 1477 ND2 ASN c 174 17.012 -3.652 20.859 1.00 0.00 N +ATOM 1478 OXT ASN c 174 21.903 -5.944 19.973 1.00 0.00 O +TER 1479 ASN c 174 +ATOM 1480 N MET d 175 28.564 -3.943 1.633 1.00 0.00 N +ATOM 1481 CA MET d 175 27.946 -4.388 2.907 1.00 0.00 C +ATOM 1482 C MET d 175 28.625 -3.636 4.038 1.00 0.00 C +ATOM 1483 O MET d 175 29.834 -3.345 3.987 1.00 0.00 O +ATOM 1484 CB MET d 175 28.137 -5.873 3.027 1.00 0.00 C +ATOM 1485 CG MET d 175 27.623 -6.560 4.222 1.00 0.00 C +ATOM 1486 SD MET d 175 28.579 -6.413 5.754 1.00 0.00 S +ATOM 1487 CE MET d 175 30.219 -6.781 5.249 1.00 0.00 C +ATOM 1488 N MET d 176 27.867 -3.307 5.073 1.00 0.00 N +ATOM 1489 CA MET d 176 28.479 -2.705 6.308 1.00 0.00 C +ATOM 1490 C MET d 176 27.785 -3.318 7.508 1.00 0.00 C +ATOM 1491 O MET d 176 26.545 -3.477 7.521 1.00 0.00 O +ATOM 1492 CB MET d 176 28.319 -1.195 6.377 1.00 0.00 C +ATOM 1493 CG MET d 176 28.869 -0.439 5.221 1.00 0.00 C +ATOM 1494 SD MET d 176 28.537 1.330 5.258 1.00 0.00 S +ATOM 1495 CE MET d 176 26.772 1.398 4.953 1.00 0.00 C +ATOM 1496 N HIS d 177 28.589 -3.707 8.473 1.00 0.00 N +ATOM 1497 CA HIS d 177 28.092 -4.180 9.746 1.00 0.00 C +ATOM 1498 C HIS d 177 28.729 -3.393 10.869 1.00 0.00 C +ATOM 1499 O HIS d 177 29.935 -3.480 11.070 1.00 0.00 O +ATOM 1500 CB HIS d 177 28.405 -5.623 9.909 1.00 0.00 C +ATOM 1501 CG HIS d 177 27.684 -6.278 11.054 1.00 0.00 C +ATOM 1502 ND1 HIS d 177 26.442 -6.866 10.924 1.00 0.00 N +ATOM 1503 CD2 HIS d 177 28.031 -6.438 12.360 1.00 0.00 C +ATOM 1504 CE1 HIS d 177 26.068 -7.367 12.086 1.00 0.00 C +ATOM 1505 NE2 HIS d 177 27.004 -7.112 12.977 1.00 0.00 N +ATOM 1506 N PHE d 178 27.906 -2.621 11.590 1.00 0.00 N +ATOM 1507 CA PHE d 178 28.324 -1.933 12.825 1.00 0.00 C +ATOM 1508 C PHE d 178 27.692 -2.590 14.033 1.00 0.00 C +ATOM 1509 O PHE d 178 26.438 -2.655 14.173 1.00 0.00 O +ATOM 1510 CB PHE d 178 27.988 -0.472 12.796 1.00 0.00 C +ATOM 1511 CG PHE d 178 28.351 0.226 11.526 1.00 0.00 C +ATOM 1512 CD1 PHE d 178 29.394 -0.217 10.720 1.00 0.00 C +ATOM 1513 CD2 PHE d 178 27.616 1.327 11.103 1.00 0.00 C +ATOM 1514 CE1 PHE d 178 29.690 0.421 9.521 1.00 0.00 C +ATOM 1515 CE2 PHE d 178 27.935 1.990 9.891 1.00 0.00 C +ATOM 1516 CZ PHE d 178 28.961 1.546 9.129 1.00 0.00 C +ATOM 1517 N GLY d 179 28.536 -3.149 14.883 1.00 0.00 N +ATOM 1518 CA GLY d 179 28.020 -3.937 16.011 1.00 0.00 C +ATOM 1519 C GLY d 179 28.906 -3.922 17.197 1.00 0.00 C +ATOM 1520 O GLY d 179 29.764 -3.113 17.247 1.00 0.00 O +ATOM 1521 N ASN d 180 28.643 -4.747 18.202 1.00 0.00 N +ATOM 1522 CA ASN d 180 29.502 -4.704 19.400 1.00 0.00 C +ATOM 1523 C ASN d 180 30.417 -5.905 19.319 1.00 0.00 C +ATOM 1524 O ASN d 180 30.208 -6.847 18.564 1.00 0.00 O +ATOM 1525 CB ASN d 180 28.716 -4.660 20.728 1.00 0.00 C +ATOM 1526 CG ASN d 180 27.850 -3.409 20.892 1.00 0.00 C +ATOM 1527 OD1 ASN d 180 28.327 -2.242 21.032 1.00 0.00 O +ATOM 1528 ND2 ASN d 180 26.525 -3.652 20.859 1.00 0.00 N +ATOM 1529 OXT ASN d 180 31.416 -5.944 19.973 1.00 0.00 O +TER 1530 ASN d 180 +ATOM 1531 N MET e 181 38.077 -3.943 1.633 1.00 0.00 N +ATOM 1532 CA MET e 181 37.459 -4.388 2.907 1.00 0.00 C +ATOM 1533 C MET e 181 38.138 -3.636 4.038 1.00 0.00 C +ATOM 1534 O MET e 181 39.347 -3.345 3.987 1.00 0.00 O +ATOM 1535 CB MET e 181 37.650 -5.873 3.027 1.00 0.00 C +ATOM 1536 CG MET e 181 37.136 -6.560 4.222 1.00 0.00 C +ATOM 1537 SD MET e 181 38.092 -6.413 5.754 1.00 0.00 S +ATOM 1538 CE MET e 181 39.732 -6.781 5.249 1.00 0.00 C +ATOM 1539 N MET e 182 37.380 -3.307 5.073 1.00 0.00 N +ATOM 1540 CA MET e 182 37.992 -2.705 6.308 1.00 0.00 C +ATOM 1541 C MET e 182 37.298 -3.318 7.508 1.00 0.00 C +ATOM 1542 O MET e 182 36.058 -3.477 7.521 1.00 0.00 O +ATOM 1543 CB MET e 182 37.832 -1.195 6.377 1.00 0.00 C +ATOM 1544 CG MET e 182 38.382 -0.439 5.221 1.00 0.00 C +ATOM 1545 SD MET e 182 38.050 1.330 5.258 1.00 0.00 S +ATOM 1546 CE MET e 182 36.285 1.398 4.953 1.00 0.00 C +ATOM 1547 N HIS e 183 38.102 -3.707 8.473 1.00 0.00 N +ATOM 1548 CA HIS e 183 37.605 -4.180 9.746 1.00 0.00 C +ATOM 1549 C HIS e 183 38.242 -3.393 10.869 1.00 0.00 C +ATOM 1550 O HIS e 183 39.448 -3.480 11.070 1.00 0.00 O +ATOM 1551 CB HIS e 183 37.918 -5.623 9.909 1.00 0.00 C +ATOM 1552 CG HIS e 183 37.197 -6.278 11.054 1.00 0.00 C +ATOM 1553 ND1 HIS e 183 35.955 -6.866 10.924 1.00 0.00 N +ATOM 1554 CD2 HIS e 183 37.544 -6.438 12.360 1.00 0.00 C +ATOM 1555 CE1 HIS e 183 35.581 -7.367 12.086 1.00 0.00 C +ATOM 1556 NE2 HIS e 183 36.517 -7.112 12.977 1.00 0.00 N +ATOM 1557 N PHE e 184 37.419 -2.621 11.590 1.00 0.00 N +ATOM 1558 CA PHE e 184 37.837 -1.933 12.825 1.00 0.00 C +ATOM 1559 C PHE e 184 37.205 -2.590 14.033 1.00 0.00 C +ATOM 1560 O PHE e 184 35.951 -2.655 14.173 1.00 0.00 O +ATOM 1561 CB PHE e 184 37.501 -0.472 12.796 1.00 0.00 C +ATOM 1562 CG PHE e 184 37.864 0.226 11.526 1.00 0.00 C +ATOM 1563 CD1 PHE e 184 38.907 -0.217 10.720 1.00 0.00 C +ATOM 1564 CD2 PHE e 184 37.129 1.327 11.103 1.00 0.00 C +ATOM 1565 CE1 PHE e 184 39.203 0.421 9.521 1.00 0.00 C +ATOM 1566 CE2 PHE e 184 37.448 1.990 9.891 1.00 0.00 C +ATOM 1567 CZ PHE e 184 38.474 1.546 9.129 1.00 0.00 C +ATOM 1568 N GLY e 185 38.049 -3.149 14.883 1.00 0.00 N +ATOM 1569 CA GLY e 185 37.533 -3.937 16.011 1.00 0.00 C +ATOM 1570 C GLY e 185 38.419 -3.922 17.197 1.00 0.00 C +ATOM 1571 O GLY e 185 39.277 -3.113 17.247 1.00 0.00 O +ATOM 1572 N ASN e 186 38.156 -4.747 18.202 1.00 0.00 N +ATOM 1573 CA ASN e 186 39.015 -4.704 19.400 1.00 0.00 C +ATOM 1574 C ASN e 186 39.930 -5.905 19.319 1.00 0.00 C +ATOM 1575 O ASN e 186 39.721 -6.847 18.564 1.00 0.00 O +ATOM 1576 CB ASN e 186 38.229 -4.660 20.728 1.00 0.00 C +ATOM 1577 CG ASN e 186 37.363 -3.409 20.892 1.00 0.00 C +ATOM 1578 OD1 ASN e 186 37.840 -2.242 21.032 1.00 0.00 O +ATOM 1579 ND2 ASN e 186 36.038 -3.652 20.859 1.00 0.00 N +ATOM 1580 OXT ASN e 186 40.929 -5.944 19.973 1.00 0.00 O +TER 1581 ASN e 186 +ATOM 1582 N MET f 187 47.590 -3.943 1.633 1.00 0.00 N +ATOM 1583 CA MET f 187 46.972 -4.388 2.907 1.00 0.00 C +ATOM 1584 C MET f 187 47.651 -3.636 4.038 1.00 0.00 C +ATOM 1585 O MET f 187 48.860 -3.345 3.987 1.00 0.00 O +ATOM 1586 CB MET f 187 47.163 -5.873 3.027 1.00 0.00 C +ATOM 1587 CG MET f 187 46.649 -6.560 4.222 1.00 0.00 C +ATOM 1588 SD MET f 187 47.605 -6.413 5.754 1.00 0.00 S +ATOM 1589 CE MET f 187 49.245 -6.781 5.249 1.00 0.00 C +ATOM 1590 N MET f 188 46.893 -3.307 5.073 1.00 0.00 N +ATOM 1591 CA MET f 188 47.505 -2.705 6.308 1.00 0.00 C +ATOM 1592 C MET f 188 46.811 -3.318 7.508 1.00 0.00 C +ATOM 1593 O MET f 188 45.571 -3.477 7.521 1.00 0.00 O +ATOM 1594 CB MET f 188 47.345 -1.195 6.377 1.00 0.00 C +ATOM 1595 CG MET f 188 47.895 -0.439 5.221 1.00 0.00 C +ATOM 1596 SD MET f 188 47.563 1.330 5.258 1.00 0.00 S +ATOM 1597 CE MET f 188 45.798 1.398 4.953 1.00 0.00 C +ATOM 1598 N HIS f 189 47.615 -3.707 8.473 1.00 0.00 N +ATOM 1599 CA HIS f 189 47.118 -4.180 9.746 1.00 0.00 C +ATOM 1600 C HIS f 189 47.755 -3.393 10.869 1.00 0.00 C +ATOM 1601 O HIS f 189 48.961 -3.480 11.070 1.00 0.00 O +ATOM 1602 CB HIS f 189 47.431 -5.623 9.909 1.00 0.00 C +ATOM 1603 CG HIS f 189 46.710 -6.278 11.054 1.00 0.00 C +ATOM 1604 ND1 HIS f 189 45.468 -6.866 10.924 1.00 0.00 N +ATOM 1605 CD2 HIS f 189 47.057 -6.438 12.360 1.00 0.00 C +ATOM 1606 CE1 HIS f 189 45.094 -7.367 12.086 1.00 0.00 C +ATOM 1607 NE2 HIS f 189 46.030 -7.112 12.977 1.00 0.00 N +ATOM 1608 N PHE f 190 46.932 -2.621 11.590 1.00 0.00 N +ATOM 1609 CA PHE f 190 47.350 -1.933 12.825 1.00 0.00 C +ATOM 1610 C PHE f 190 46.718 -2.590 14.033 1.00 0.00 C +ATOM 1611 O PHE f 190 45.464 -2.655 14.173 1.00 0.00 O +ATOM 1612 CB PHE f 190 47.014 -0.472 12.796 1.00 0.00 C +ATOM 1613 CG PHE f 190 47.377 0.226 11.526 1.00 0.00 C +ATOM 1614 CD1 PHE f 190 48.420 -0.217 10.720 1.00 0.00 C +ATOM 1615 CD2 PHE f 190 46.642 1.327 11.103 1.00 0.00 C +ATOM 1616 CE1 PHE f 190 48.716 0.421 9.521 1.00 0.00 C +ATOM 1617 CE2 PHE f 190 46.961 1.990 9.891 1.00 0.00 C +ATOM 1618 CZ PHE f 190 47.987 1.546 9.129 1.00 0.00 C +ATOM 1619 N GLY f 191 47.562 -3.149 14.883 1.00 0.00 N +ATOM 1620 CA GLY f 191 47.046 -3.937 16.011 1.00 0.00 C +ATOM 1621 C GLY f 191 47.932 -3.922 17.197 1.00 0.00 C +ATOM 1622 O GLY f 191 48.790 -3.113 17.247 1.00 0.00 O +ATOM 1623 N ASN f 192 47.669 -4.747 18.202 1.00 0.00 N +ATOM 1624 CA ASN f 192 48.528 -4.704 19.400 1.00 0.00 C +ATOM 1625 C ASN f 192 49.443 -5.905 19.319 1.00 0.00 C +ATOM 1626 O ASN f 192 49.234 -6.847 18.564 1.00 0.00 O +ATOM 1627 CB ASN f 192 47.742 -4.660 20.728 1.00 0.00 C +ATOM 1628 CG ASN f 192 46.876 -3.409 20.892 1.00 0.00 C +ATOM 1629 OD1 ASN f 192 47.353 -2.242 21.032 1.00 0.00 O +ATOM 1630 ND2 ASN f 192 45.551 -3.652 20.859 1.00 0.00 N +ATOM 1631 OXT ASN f 192 50.442 -5.944 19.973 1.00 0.00 O +TER 1632 ASN f 192 +ATOM 1633 N MET g 193 57.103 -3.943 1.633 1.00 0.00 N +ATOM 1634 CA MET g 193 56.485 -4.388 2.907 1.00 0.00 C +ATOM 1635 C MET g 193 57.164 -3.636 4.038 1.00 0.00 C +ATOM 1636 O MET g 193 58.373 -3.345 3.987 1.00 0.00 O +ATOM 1637 CB MET g 193 56.676 -5.873 3.027 1.00 0.00 C +ATOM 1638 CG MET g 193 56.162 -6.560 4.222 1.00 0.00 C +ATOM 1639 SD MET g 193 57.118 -6.413 5.754 1.00 0.00 S +ATOM 1640 CE MET g 193 58.758 -6.781 5.249 1.00 0.00 C +ATOM 1641 N MET g 194 56.406 -3.307 5.073 1.00 0.00 N +ATOM 1642 CA MET g 194 57.018 -2.705 6.308 1.00 0.00 C +ATOM 1643 C MET g 194 56.324 -3.318 7.508 1.00 0.00 C +ATOM 1644 O MET g 194 55.084 -3.477 7.521 1.00 0.00 O +ATOM 1645 CB MET g 194 56.858 -1.195 6.377 1.00 0.00 C +ATOM 1646 CG MET g 194 57.408 -0.439 5.221 1.00 0.00 C +ATOM 1647 SD MET g 194 57.076 1.330 5.258 1.00 0.00 S +ATOM 1648 CE MET g 194 55.311 1.398 4.953 1.00 0.00 C +ATOM 1649 N HIS g 195 57.128 -3.707 8.473 1.00 0.00 N +ATOM 1650 CA HIS g 195 56.631 -4.180 9.746 1.00 0.00 C +ATOM 1651 C HIS g 195 57.268 -3.393 10.869 1.00 0.00 C +ATOM 1652 O HIS g 195 58.474 -3.480 11.070 1.00 0.00 O +ATOM 1653 CB HIS g 195 56.944 -5.623 9.909 1.00 0.00 C +ATOM 1654 CG HIS g 195 56.223 -6.278 11.054 1.00 0.00 C +ATOM 1655 ND1 HIS g 195 54.981 -6.866 10.924 1.00 0.00 N +ATOM 1656 CD2 HIS g 195 56.570 -6.438 12.360 1.00 0.00 C +ATOM 1657 CE1 HIS g 195 54.607 -7.367 12.086 1.00 0.00 C +ATOM 1658 NE2 HIS g 195 55.543 -7.112 12.977 1.00 0.00 N +ATOM 1659 N PHE g 196 56.445 -2.621 11.590 1.00 0.00 N +ATOM 1660 CA PHE g 196 56.863 -1.933 12.825 1.00 0.00 C +ATOM 1661 C PHE g 196 56.231 -2.590 14.033 1.00 0.00 C +ATOM 1662 O PHE g 196 54.977 -2.655 14.173 1.00 0.00 O +ATOM 1663 CB PHE g 196 56.527 -0.472 12.796 1.00 0.00 C +ATOM 1664 CG PHE g 196 56.890 0.226 11.526 1.00 0.00 C +ATOM 1665 CD1 PHE g 196 57.933 -0.217 10.720 1.00 0.00 C +ATOM 1666 CD2 PHE g 196 56.155 1.327 11.103 1.00 0.00 C +ATOM 1667 CE1 PHE g 196 58.229 0.421 9.521 1.00 0.00 C +ATOM 1668 CE2 PHE g 196 56.474 1.990 9.891 1.00 0.00 C +ATOM 1669 CZ PHE g 196 57.500 1.546 9.129 1.00 0.00 C +ATOM 1670 N GLY g 197 57.075 -3.149 14.883 1.00 0.00 N +ATOM 1671 CA GLY g 197 56.559 -3.937 16.011 1.00 0.00 C +ATOM 1672 C GLY g 197 57.445 -3.922 17.197 1.00 0.00 C +ATOM 1673 O GLY g 197 58.303 -3.113 17.247 1.00 0.00 O +ATOM 1674 N ASN g 198 57.182 -4.747 18.202 1.00 0.00 N +ATOM 1675 CA ASN g 198 58.041 -4.704 19.400 1.00 0.00 C +ATOM 1676 C ASN g 198 58.956 -5.905 19.319 1.00 0.00 C +ATOM 1677 O ASN g 198 58.747 -6.847 18.564 1.00 0.00 O +ATOM 1678 CB ASN g 198 57.255 -4.660 20.728 1.00 0.00 C +ATOM 1679 CG ASN g 198 56.389 -3.409 20.892 1.00 0.00 C +ATOM 1680 OD1 ASN g 198 56.866 -2.242 21.032 1.00 0.00 O +ATOM 1681 ND2 ASN g 198 55.064 -3.652 20.859 1.00 0.00 N +ATOM 1682 OXT ASN g 198 59.955 -5.944 19.973 1.00 0.00 O +TER 1683 ASN g 198 +ATOM 1684 N MET h 199 66.616 -3.943 1.633 1.00 0.00 N +ATOM 1685 CA MET h 199 65.998 -4.388 2.907 1.00 0.00 C +ATOM 1686 C MET h 199 66.677 -3.636 4.038 1.00 0.00 C +ATOM 1687 O MET h 199 67.886 -3.345 3.987 1.00 0.00 O +ATOM 1688 CB MET h 199 66.189 -5.873 3.027 1.00 0.00 C +ATOM 1689 CG MET h 199 65.675 -6.560 4.222 1.00 0.00 C +ATOM 1690 SD MET h 199 66.631 -6.413 5.754 1.00 0.00 S +ATOM 1691 CE MET h 199 68.271 -6.781 5.249 1.00 0.00 C +ATOM 1692 N MET h 200 65.919 -3.307 5.073 1.00 0.00 N +ATOM 1693 CA MET h 200 66.531 -2.705 6.308 1.00 0.00 C +ATOM 1694 C MET h 200 65.837 -3.318 7.508 1.00 0.00 C +ATOM 1695 O MET h 200 64.597 -3.477 7.521 1.00 0.00 O +ATOM 1696 CB MET h 200 66.371 -1.195 6.377 1.00 0.00 C +ATOM 1697 CG MET h 200 66.921 -0.439 5.221 1.00 0.00 C +ATOM 1698 SD MET h 200 66.589 1.330 5.258 1.00 0.00 S +ATOM 1699 CE MET h 200 64.824 1.398 4.953 1.00 0.00 C +ATOM 1700 N HIS h 201 66.641 -3.707 8.473 1.00 0.00 N +ATOM 1701 CA HIS h 201 66.144 -4.180 9.746 1.00 0.00 C +ATOM 1702 C HIS h 201 66.781 -3.393 10.869 1.00 0.00 C +ATOM 1703 O HIS h 201 67.987 -3.480 11.070 1.00 0.00 O +ATOM 1704 CB HIS h 201 66.457 -5.623 9.909 1.00 0.00 C +ATOM 1705 CG HIS h 201 65.736 -6.278 11.054 1.00 0.00 C +ATOM 1706 ND1 HIS h 201 64.494 -6.866 10.924 1.00 0.00 N +ATOM 1707 CD2 HIS h 201 66.083 -6.438 12.360 1.00 0.00 C +ATOM 1708 CE1 HIS h 201 64.120 -7.367 12.086 1.00 0.00 C +ATOM 1709 NE2 HIS h 201 65.056 -7.112 12.977 1.00 0.00 N +ATOM 1710 N PHE h 202 65.958 -2.621 11.590 1.00 0.00 N +ATOM 1711 CA PHE h 202 66.376 -1.933 12.825 1.00 0.00 C +ATOM 1712 C PHE h 202 65.744 -2.590 14.033 1.00 0.00 C +ATOM 1713 O PHE h 202 64.490 -2.655 14.173 1.00 0.00 O +ATOM 1714 CB PHE h 202 66.040 -0.472 12.796 1.00 0.00 C +ATOM 1715 CG PHE h 202 66.403 0.226 11.526 1.00 0.00 C +ATOM 1716 CD1 PHE h 202 67.446 -0.217 10.720 1.00 0.00 C +ATOM 1717 CD2 PHE h 202 65.668 1.327 11.103 1.00 0.00 C +ATOM 1718 CE1 PHE h 202 67.742 0.421 9.521 1.00 0.00 C +ATOM 1719 CE2 PHE h 202 65.987 1.990 9.891 1.00 0.00 C +ATOM 1720 CZ PHE h 202 67.013 1.546 9.129 1.00 0.00 C +ATOM 1721 N GLY h 203 66.588 -3.149 14.883 1.00 0.00 N +ATOM 1722 CA GLY h 203 66.072 -3.937 16.011 1.00 0.00 C +ATOM 1723 C GLY h 203 66.958 -3.922 17.197 1.00 0.00 C +ATOM 1724 O GLY h 203 67.816 -3.113 17.247 1.00 0.00 O +ATOM 1725 N ASN h 204 66.695 -4.747 18.202 1.00 0.00 N +ATOM 1726 CA ASN h 204 67.554 -4.704 19.400 1.00 0.00 C +ATOM 1727 C ASN h 204 68.469 -5.905 19.319 1.00 0.00 C +ATOM 1728 O ASN h 204 68.260 -6.847 18.564 1.00 0.00 O +ATOM 1729 CB ASN h 204 66.768 -4.660 20.728 1.00 0.00 C +ATOM 1730 CG ASN h 204 65.902 -3.409 20.892 1.00 0.00 C +ATOM 1731 OD1 ASN h 204 66.379 -2.242 21.032 1.00 0.00 O +ATOM 1732 ND2 ASN h 204 64.577 -3.652 20.859 1.00 0.00 N +ATOM 1733 OXT ASN h 204 69.468 -5.944 19.973 1.00 0.00 O +TER 1734 ASN h 204 +ATOM 1735 N MET i 205 76.129 -3.943 1.633 1.00 0.00 N +ATOM 1736 CA MET i 205 75.511 -4.388 2.907 1.00 0.00 C +ATOM 1737 C MET i 205 76.190 -3.636 4.038 1.00 0.00 C +ATOM 1738 O MET i 205 77.399 -3.345 3.987 1.00 0.00 O +ATOM 1739 CB MET i 205 75.702 -5.873 3.027 1.00 0.00 C +ATOM 1740 CG MET i 205 75.188 -6.560 4.222 1.00 0.00 C +ATOM 1741 SD MET i 205 76.144 -6.413 5.754 1.00 0.00 S +ATOM 1742 CE MET i 205 77.784 -6.781 5.249 1.00 0.00 C +ATOM 1743 N MET i 206 75.432 -3.307 5.073 1.00 0.00 N +ATOM 1744 CA MET i 206 76.044 -2.705 6.308 1.00 0.00 C +ATOM 1745 C MET i 206 75.350 -3.318 7.508 1.00 0.00 C +ATOM 1746 O MET i 206 74.110 -3.477 7.521 1.00 0.00 O +ATOM 1747 CB MET i 206 75.884 -1.195 6.377 1.00 0.00 C +ATOM 1748 CG MET i 206 76.434 -0.439 5.221 1.00 0.00 C +ATOM 1749 SD MET i 206 76.102 1.330 5.258 1.00 0.00 S +ATOM 1750 CE MET i 206 74.337 1.398 4.953 1.00 0.00 C +ATOM 1751 N HIS i 207 76.154 -3.707 8.473 1.00 0.00 N +ATOM 1752 CA HIS i 207 75.657 -4.180 9.746 1.00 0.00 C +ATOM 1753 C HIS i 207 76.294 -3.393 10.869 1.00 0.00 C +ATOM 1754 O HIS i 207 77.500 -3.480 11.070 1.00 0.00 O +ATOM 1755 CB HIS i 207 75.970 -5.623 9.909 1.00 0.00 C +ATOM 1756 CG HIS i 207 75.249 -6.278 11.054 1.00 0.00 C +ATOM 1757 ND1 HIS i 207 74.007 -6.866 10.924 1.00 0.00 N +ATOM 1758 CD2 HIS i 207 75.596 -6.438 12.360 1.00 0.00 C +ATOM 1759 CE1 HIS i 207 73.633 -7.367 12.086 1.00 0.00 C +ATOM 1760 NE2 HIS i 207 74.569 -7.112 12.977 1.00 0.00 N +ATOM 1761 N PHE i 208 75.471 -2.621 11.590 1.00 0.00 N +ATOM 1762 CA PHE i 208 75.889 -1.933 12.825 1.00 0.00 C +ATOM 1763 C PHE i 208 75.257 -2.590 14.033 1.00 0.00 C +ATOM 1764 O PHE i 208 74.003 -2.655 14.173 1.00 0.00 O +ATOM 1765 CB PHE i 208 75.553 -0.472 12.796 1.00 0.00 C +ATOM 1766 CG PHE i 208 75.916 0.226 11.526 1.00 0.00 C +ATOM 1767 CD1 PHE i 208 76.959 -0.217 10.720 1.00 0.00 C +ATOM 1768 CD2 PHE i 208 75.181 1.327 11.103 1.00 0.00 C +ATOM 1769 CE1 PHE i 208 77.255 0.421 9.521 1.00 0.00 C +ATOM 1770 CE2 PHE i 208 75.500 1.990 9.891 1.00 0.00 C +ATOM 1771 CZ PHE i 208 76.526 1.546 9.129 1.00 0.00 C +ATOM 1772 N GLY i 209 76.101 -3.149 14.883 1.00 0.00 N +ATOM 1773 CA GLY i 209 75.585 -3.937 16.011 1.00 0.00 C +ATOM 1774 C GLY i 209 76.471 -3.922 17.197 1.00 0.00 C +ATOM 1775 O GLY i 209 77.329 -3.113 17.247 1.00 0.00 O +ATOM 1776 N ASN i 210 76.208 -4.747 18.202 1.00 0.00 N +ATOM 1777 CA ASN i 210 77.067 -4.704 19.400 1.00 0.00 C +ATOM 1778 C ASN i 210 77.982 -5.905 19.319 1.00 0.00 C +ATOM 1779 O ASN i 210 77.773 -6.847 18.564 1.00 0.00 O +ATOM 1780 CB ASN i 210 76.281 -4.660 20.728 1.00 0.00 C +ATOM 1781 CG ASN i 210 75.415 -3.409 20.892 1.00 0.00 C +ATOM 1782 OD1 ASN i 210 75.892 -2.242 21.032 1.00 0.00 O +ATOM 1783 ND2 ASN i 210 74.090 -3.652 20.859 1.00 0.00 N +ATOM 1784 OXT ASN i 210 78.981 -5.944 19.973 1.00 0.00 O +TER 1785 ASN i 210 +ATOM 1786 N MET j 211 85.642 -3.943 1.633 1.00 0.00 N +ATOM 1787 CA MET j 211 85.024 -4.388 2.907 1.00 0.00 C +ATOM 1788 C MET j 211 85.703 -3.636 4.038 1.00 0.00 C +ATOM 1789 O MET j 211 86.912 -3.345 3.987 1.00 0.00 O +ATOM 1790 CB MET j 211 85.215 -5.873 3.027 1.00 0.00 C +ATOM 1791 CG MET j 211 84.701 -6.560 4.222 1.00 0.00 C +ATOM 1792 SD MET j 211 85.657 -6.413 5.754 1.00 0.00 S +ATOM 1793 CE MET j 211 87.297 -6.781 5.249 1.00 0.00 C +ATOM 1794 N MET j 212 84.945 -3.307 5.073 1.00 0.00 N +ATOM 1795 CA MET j 212 85.557 -2.705 6.308 1.00 0.00 C +ATOM 1796 C MET j 212 84.863 -3.318 7.508 1.00 0.00 C +ATOM 1797 O MET j 212 83.623 -3.477 7.521 1.00 0.00 O +ATOM 1798 CB MET j 212 85.397 -1.195 6.377 1.00 0.00 C +ATOM 1799 CG MET j 212 85.947 -0.439 5.221 1.00 0.00 C +ATOM 1800 SD MET j 212 85.615 1.330 5.258 1.00 0.00 S +ATOM 1801 CE MET j 212 83.850 1.398 4.953 1.00 0.00 C +ATOM 1802 N HIS j 213 85.667 -3.707 8.473 1.00 0.00 N +ATOM 1803 CA HIS j 213 85.170 -4.180 9.746 1.00 0.00 C +ATOM 1804 C HIS j 213 85.807 -3.393 10.869 1.00 0.00 C +ATOM 1805 O HIS j 213 87.013 -3.480 11.070 1.00 0.00 O +ATOM 1806 CB HIS j 213 85.483 -5.623 9.909 1.00 0.00 C +ATOM 1807 CG HIS j 213 84.762 -6.278 11.054 1.00 0.00 C +ATOM 1808 ND1 HIS j 213 83.520 -6.866 10.924 1.00 0.00 N +ATOM 1809 CD2 HIS j 213 85.109 -6.438 12.360 1.00 0.00 C +ATOM 1810 CE1 HIS j 213 83.146 -7.367 12.086 1.00 0.00 C +ATOM 1811 NE2 HIS j 213 84.082 -7.112 12.977 1.00 0.00 N +ATOM 1812 N PHE j 214 84.984 -2.621 11.590 1.00 0.00 N +ATOM 1813 CA PHE j 214 85.402 -1.933 12.825 1.00 0.00 C +ATOM 1814 C PHE j 214 84.770 -2.590 14.033 1.00 0.00 C +ATOM 1815 O PHE j 214 83.516 -2.655 14.173 1.00 0.00 O +ATOM 1816 CB PHE j 214 85.066 -0.472 12.796 1.00 0.00 C +ATOM 1817 CG PHE j 214 85.429 0.226 11.526 1.00 0.00 C +ATOM 1818 CD1 PHE j 214 86.472 -0.217 10.720 1.00 0.00 C +ATOM 1819 CD2 PHE j 214 84.694 1.327 11.103 1.00 0.00 C +ATOM 1820 CE1 PHE j 214 86.768 0.421 9.521 1.00 0.00 C +ATOM 1821 CE2 PHE j 214 85.013 1.990 9.891 1.00 0.00 C +ATOM 1822 CZ PHE j 214 86.039 1.546 9.129 1.00 0.00 C +ATOM 1823 N GLY j 215 85.614 -3.149 14.883 1.00 0.00 N +ATOM 1824 CA GLY j 215 85.098 -3.937 16.011 1.00 0.00 C +ATOM 1825 C GLY j 215 85.984 -3.922 17.197 1.00 0.00 C +ATOM 1826 O GLY j 215 86.842 -3.113 17.247 1.00 0.00 O +ATOM 1827 N ASN j 216 85.721 -4.747 18.202 1.00 0.00 N +ATOM 1828 CA ASN j 216 86.580 -4.704 19.400 1.00 0.00 C +ATOM 1829 C ASN j 216 87.495 -5.905 19.319 1.00 0.00 C +ATOM 1830 O ASN j 216 87.286 -6.847 18.564 1.00 0.00 O +ATOM 1831 CB ASN j 216 85.794 -4.660 20.728 1.00 0.00 C +ATOM 1832 CG ASN j 216 84.928 -3.409 20.892 1.00 0.00 C +ATOM 1833 OD1 ASN j 216 85.405 -2.242 21.032 1.00 0.00 O +ATOM 1834 ND2 ASN j 216 83.603 -3.652 20.859 1.00 0.00 N +ATOM 1835 OXT ASN j 216 88.494 -5.944 19.973 1.00 0.00 O +TER 1836 ASN j 216 +ATOM 1837 N MET k 217 95.155 -3.943 1.633 1.00 0.00 N +ATOM 1838 CA MET k 217 94.537 -4.388 2.907 1.00 0.00 C +ATOM 1839 C MET k 217 95.216 -3.636 4.038 1.00 0.00 C +ATOM 1840 O MET k 217 96.425 -3.345 3.987 1.00 0.00 O +ATOM 1841 CB MET k 217 94.728 -5.873 3.027 1.00 0.00 C +ATOM 1842 CG MET k 217 94.214 -6.560 4.222 1.00 0.00 C +ATOM 1843 SD MET k 217 95.170 -6.413 5.754 1.00 0.00 S +ATOM 1844 CE MET k 217 96.810 -6.781 5.249 1.00 0.00 C +ATOM 1845 N MET k 218 94.458 -3.307 5.073 1.00 0.00 N +ATOM 1846 CA MET k 218 95.070 -2.705 6.308 1.00 0.00 C +ATOM 1847 C MET k 218 94.376 -3.318 7.508 1.00 0.00 C +ATOM 1848 O MET k 218 93.136 -3.477 7.521 1.00 0.00 O +ATOM 1849 CB MET k 218 94.910 -1.195 6.377 1.00 0.00 C +ATOM 1850 CG MET k 218 95.460 -0.439 5.221 1.00 0.00 C +ATOM 1851 SD MET k 218 95.128 1.330 5.258 1.00 0.00 S +ATOM 1852 CE MET k 218 93.363 1.398 4.953 1.00 0.00 C +ATOM 1853 N HIS k 219 95.180 -3.707 8.473 1.00 0.00 N +ATOM 1854 CA HIS k 219 94.683 -4.180 9.746 1.00 0.00 C +ATOM 1855 C HIS k 219 95.320 -3.393 10.869 1.00 0.00 C +ATOM 1856 O HIS k 219 96.526 -3.480 11.070 1.00 0.00 O +ATOM 1857 CB HIS k 219 94.996 -5.623 9.909 1.00 0.00 C +ATOM 1858 CG HIS k 219 94.275 -6.278 11.054 1.00 0.00 C +ATOM 1859 ND1 HIS k 219 93.033 -6.866 10.924 1.00 0.00 N +ATOM 1860 CD2 HIS k 219 94.622 -6.438 12.360 1.00 0.00 C +ATOM 1861 CE1 HIS k 219 92.659 -7.367 12.086 1.00 0.00 C +ATOM 1862 NE2 HIS k 219 93.595 -7.112 12.977 1.00 0.00 N +ATOM 1863 N PHE k 220 94.497 -2.621 11.590 1.00 0.00 N +ATOM 1864 CA PHE k 220 94.915 -1.933 12.825 1.00 0.00 C +ATOM 1865 C PHE k 220 94.283 -2.590 14.033 1.00 0.00 C +ATOM 1866 O PHE k 220 93.029 -2.655 14.173 1.00 0.00 O +ATOM 1867 CB PHE k 220 94.579 -0.472 12.796 1.00 0.00 C +ATOM 1868 CG PHE k 220 94.942 0.226 11.526 1.00 0.00 C +ATOM 1869 CD1 PHE k 220 95.985 -0.217 10.720 1.00 0.00 C +ATOM 1870 CD2 PHE k 220 94.207 1.327 11.103 1.00 0.00 C +ATOM 1871 CE1 PHE k 220 96.281 0.421 9.521 1.00 0.00 C +ATOM 1872 CE2 PHE k 220 94.526 1.990 9.891 1.00 0.00 C +ATOM 1873 CZ PHE k 220 95.552 1.546 9.129 1.00 0.00 C +ATOM 1874 N GLY k 221 95.127 -3.149 14.883 1.00 0.00 N +ATOM 1875 CA GLY k 221 94.611 -3.937 16.011 1.00 0.00 C +ATOM 1876 C GLY k 221 95.497 -3.922 17.197 1.00 0.00 C +ATOM 1877 O GLY k 221 96.355 -3.113 17.247 1.00 0.00 O +ATOM 1878 N ASN k 222 95.234 -4.747 18.202 1.00 0.00 N +ATOM 1879 CA ASN k 222 96.093 -4.704 19.400 1.00 0.00 C +ATOM 1880 C ASN k 222 97.008 -5.905 19.319 1.00 0.00 C +ATOM 1881 O ASN k 222 96.799 -6.847 18.564 1.00 0.00 O +ATOM 1882 CB ASN k 222 95.307 -4.660 20.728 1.00 0.00 C +ATOM 1883 CG ASN k 222 94.441 -3.409 20.892 1.00 0.00 C +ATOM 1884 OD1 ASN k 222 94.918 -2.242 21.032 1.00 0.00 O +ATOM 1885 ND2 ASN k 222 93.116 -3.652 20.859 1.00 0.00 N +ATOM 1886 OXT ASN k 222 98.007 -5.944 19.973 1.00 0.00 O +TER 1887 ASN k 222 +ATOM 1888 N MET l 223 104.668 -3.943 1.633 1.00 0.00 N +ATOM 1889 CA MET l 223 104.050 -4.388 2.907 1.00 0.00 C +ATOM 1890 C MET l 223 104.729 -3.636 4.038 1.00 0.00 C +ATOM 1891 O MET l 223 105.938 -3.345 3.987 1.00 0.00 O +ATOM 1892 CB MET l 223 104.241 -5.873 3.027 1.00 0.00 C +ATOM 1893 CG MET l 223 103.727 -6.560 4.222 1.00 0.00 C +ATOM 1894 SD MET l 223 104.683 -6.413 5.754 1.00 0.00 S +ATOM 1895 CE MET l 223 106.323 -6.781 5.249 1.00 0.00 C +ATOM 1896 N MET l 224 103.971 -3.307 5.073 1.00 0.00 N +ATOM 1897 CA MET l 224 104.583 -2.705 6.308 1.00 0.00 C +ATOM 1898 C MET l 224 103.889 -3.318 7.508 1.00 0.00 C +ATOM 1899 O MET l 224 102.649 -3.477 7.521 1.00 0.00 O +ATOM 1900 CB MET l 224 104.423 -1.195 6.377 1.00 0.00 C +ATOM 1901 CG MET l 224 104.973 -0.439 5.221 1.00 0.00 C +ATOM 1902 SD MET l 224 104.641 1.330 5.258 1.00 0.00 S +ATOM 1903 CE MET l 224 102.876 1.398 4.953 1.00 0.00 C +ATOM 1904 N HIS l 225 104.693 -3.707 8.473 1.00 0.00 N +ATOM 1905 CA HIS l 225 104.196 -4.180 9.746 1.00 0.00 C +ATOM 1906 C HIS l 225 104.833 -3.393 10.869 1.00 0.00 C +ATOM 1907 O HIS l 225 106.039 -3.480 11.070 1.00 0.00 O +ATOM 1908 CB HIS l 225 104.509 -5.623 9.909 1.00 0.00 C +ATOM 1909 CG HIS l 225 103.788 -6.278 11.054 1.00 0.00 C +ATOM 1910 ND1 HIS l 225 102.546 -6.866 10.924 1.00 0.00 N +ATOM 1911 CD2 HIS l 225 104.135 -6.438 12.360 1.00 0.00 C +ATOM 1912 CE1 HIS l 225 102.172 -7.367 12.086 1.00 0.00 C +ATOM 1913 NE2 HIS l 225 103.108 -7.112 12.977 1.00 0.00 N +ATOM 1914 N PHE l 226 104.010 -2.621 11.590 1.00 0.00 N +ATOM 1915 CA PHE l 226 104.428 -1.933 12.825 1.00 0.00 C +ATOM 1916 C PHE l 226 103.796 -2.590 14.033 1.00 0.00 C +ATOM 1917 O PHE l 226 102.542 -2.655 14.173 1.00 0.00 O +ATOM 1918 CB PHE l 226 104.092 -0.472 12.796 1.00 0.00 C +ATOM 1919 CG PHE l 226 104.455 0.226 11.526 1.00 0.00 C +ATOM 1920 CD1 PHE l 226 105.498 -0.217 10.720 1.00 0.00 C +ATOM 1921 CD2 PHE l 226 103.720 1.327 11.103 1.00 0.00 C +ATOM 1922 CE1 PHE l 226 105.794 0.421 9.521 1.00 0.00 C +ATOM 1923 CE2 PHE l 226 104.039 1.990 9.891 1.00 0.00 C +ATOM 1924 CZ PHE l 226 105.065 1.546 9.129 1.00 0.00 C +ATOM 1925 N GLY l 227 104.640 -3.149 14.883 1.00 0.00 N +ATOM 1926 CA GLY l 227 104.124 -3.937 16.011 1.00 0.00 C +ATOM 1927 C GLY l 227 105.010 -3.922 17.197 1.00 0.00 C +ATOM 1928 O GLY l 227 105.868 -3.113 17.247 1.00 0.00 O +ATOM 1929 N ASN l 228 104.747 -4.747 18.202 1.00 0.00 N +ATOM 1930 CA ASN l 228 105.606 -4.704 19.400 1.00 0.00 C +ATOM 1931 C ASN l 228 106.521 -5.905 19.319 1.00 0.00 C +ATOM 1932 O ASN l 228 106.312 -6.847 18.564 1.00 0.00 O +ATOM 1933 CB ASN l 228 104.820 -4.660 20.728 1.00 0.00 C +ATOM 1934 CG ASN l 228 103.954 -3.409 20.892 1.00 0.00 C +ATOM 1935 OD1 ASN l 228 104.431 -2.242 21.032 1.00 0.00 O +ATOM 1936 ND2 ASN l 228 102.629 -3.652 20.859 1.00 0.00 N +ATOM 1937 OXT ASN l 228 107.520 -5.944 19.973 1.00 0.00 O +TER 1938 ASN l 228 +ATOM 1939 N MET m 229 114.181 -3.943 1.633 1.00 0.00 N +ATOM 1940 CA MET m 229 113.563 -4.388 2.907 1.00 0.00 C +ATOM 1941 C MET m 229 114.242 -3.636 4.038 1.00 0.00 C +ATOM 1942 O MET m 229 115.451 -3.345 3.987 1.00 0.00 O +ATOM 1943 CB MET m 229 113.754 -5.873 3.027 1.00 0.00 C +ATOM 1944 CG MET m 229 113.240 -6.560 4.222 1.00 0.00 C +ATOM 1945 SD MET m 229 114.196 -6.413 5.754 1.00 0.00 S +ATOM 1946 CE MET m 229 115.836 -6.781 5.249 1.00 0.00 C +ATOM 1947 N MET m 230 113.484 -3.307 5.073 1.00 0.00 N +ATOM 1948 CA MET m 230 114.096 -2.705 6.308 1.00 0.00 C +ATOM 1949 C MET m 230 113.402 -3.318 7.508 1.00 0.00 C +ATOM 1950 O MET m 230 112.162 -3.477 7.521 1.00 0.00 O +ATOM 1951 CB MET m 230 113.936 -1.195 6.377 1.00 0.00 C +ATOM 1952 CG MET m 230 114.486 -0.439 5.221 1.00 0.00 C +ATOM 1953 SD MET m 230 114.154 1.330 5.258 1.00 0.00 S +ATOM 1954 CE MET m 230 112.389 1.398 4.953 1.00 0.00 C +ATOM 1955 N HIS m 231 114.206 -3.707 8.473 1.00 0.00 N +ATOM 1956 CA HIS m 231 113.709 -4.180 9.746 1.00 0.00 C +ATOM 1957 C HIS m 231 114.346 -3.393 10.869 1.00 0.00 C +ATOM 1958 O HIS m 231 115.552 -3.480 11.070 1.00 0.00 O +ATOM 1959 CB HIS m 231 114.022 -5.623 9.909 1.00 0.00 C +ATOM 1960 CG HIS m 231 113.301 -6.278 11.054 1.00 0.00 C +ATOM 1961 ND1 HIS m 231 112.059 -6.866 10.924 1.00 0.00 N +ATOM 1962 CD2 HIS m 231 113.648 -6.438 12.360 1.00 0.00 C +ATOM 1963 CE1 HIS m 231 111.685 -7.367 12.086 1.00 0.00 C +ATOM 1964 NE2 HIS m 231 112.621 -7.112 12.977 1.00 0.00 N +ATOM 1965 N PHE m 232 113.523 -2.621 11.590 1.00 0.00 N +ATOM 1966 CA PHE m 232 113.941 -1.933 12.825 1.00 0.00 C +ATOM 1967 C PHE m 232 113.309 -2.590 14.033 1.00 0.00 C +ATOM 1968 O PHE m 232 112.055 -2.655 14.173 1.00 0.00 O +ATOM 1969 CB PHE m 232 113.605 -0.472 12.796 1.00 0.00 C +ATOM 1970 CG PHE m 232 113.968 0.226 11.526 1.00 0.00 C +ATOM 1971 CD1 PHE m 232 115.011 -0.217 10.720 1.00 0.00 C +ATOM 1972 CD2 PHE m 232 113.233 1.327 11.103 1.00 0.00 C +ATOM 1973 CE1 PHE m 232 115.307 0.421 9.521 1.00 0.00 C +ATOM 1974 CE2 PHE m 232 113.552 1.990 9.891 1.00 0.00 C +ATOM 1975 CZ PHE m 232 114.578 1.546 9.129 1.00 0.00 C +ATOM 1976 N GLY m 233 114.153 -3.149 14.883 1.00 0.00 N +ATOM 1977 CA GLY m 233 113.637 -3.937 16.011 1.00 0.00 C +ATOM 1978 C GLY m 233 114.523 -3.922 17.197 1.00 0.00 C +ATOM 1979 O GLY m 233 115.381 -3.113 17.247 1.00 0.00 O +ATOM 1980 N ASN m 234 114.260 -4.747 18.202 1.00 0.00 N +ATOM 1981 CA ASN m 234 115.119 -4.704 19.400 1.00 0.00 C +ATOM 1982 C ASN m 234 116.034 -5.905 19.319 1.00 0.00 C +ATOM 1983 O ASN m 234 115.825 -6.847 18.564 1.00 0.00 O +ATOM 1984 CB ASN m 234 114.333 -4.660 20.728 1.00 0.00 C +ATOM 1985 CG ASN m 234 113.467 -3.409 20.892 1.00 0.00 C +ATOM 1986 OD1 ASN m 234 113.944 -2.242 21.032 1.00 0.00 O +ATOM 1987 ND2 ASN m 234 112.142 -3.652 20.859 1.00 0.00 N +ATOM 1988 OXT ASN m 234 117.033 -5.944 19.973 1.00 0.00 O +TER 1989 ASN m 234 +ATOM 1990 N MET n 235 0.025 7.841 1.633 1.00 0.00 N +ATOM 1991 CA MET n 235 -0.593 7.396 2.907 1.00 0.00 C +ATOM 1992 C MET n 235 0.086 8.148 4.038 1.00 0.00 C +ATOM 1993 O MET n 235 1.295 8.439 3.987 1.00 0.00 O +ATOM 1994 CB MET n 235 -0.402 5.911 3.027 1.00 0.00 C +ATOM 1995 CG MET n 235 -0.916 5.224 4.222 1.00 0.00 C +ATOM 1996 SD MET n 235 0.040 5.371 5.754 1.00 0.00 S +ATOM 1997 CE MET n 235 1.680 5.003 5.249 1.00 0.00 C +ATOM 1998 N MET n 236 -0.672 8.477 5.073 1.00 0.00 N +ATOM 1999 CA MET n 236 -0.060 9.079 6.308 1.00 0.00 C +ATOM 2000 C MET n 236 -0.754 8.466 7.508 1.00 0.00 C +ATOM 2001 O MET n 236 -1.994 8.307 7.521 1.00 0.00 O +ATOM 2002 CB MET n 236 -0.220 10.589 6.377 1.00 0.00 C +ATOM 2003 CG MET n 236 0.330 11.345 5.221 1.00 0.00 C +ATOM 2004 SD MET n 236 -0.002 13.114 5.258 1.00 0.00 S +ATOM 2005 CE MET n 236 -1.767 13.182 4.953 1.00 0.00 C +ATOM 2006 N HIS n 237 0.050 8.077 8.473 1.00 0.00 N +ATOM 2007 CA HIS n 237 -0.447 7.604 9.746 1.00 0.00 C +ATOM 2008 C HIS n 237 0.190 8.391 10.869 1.00 0.00 C +ATOM 2009 O HIS n 237 1.396 8.304 11.070 1.00 0.00 O +ATOM 2010 CB HIS n 237 -0.134 6.161 9.909 1.00 0.00 C +ATOM 2011 CG HIS n 237 -0.855 5.506 11.054 1.00 0.00 C +ATOM 2012 ND1 HIS n 237 -2.097 4.918 10.924 1.00 0.00 N +ATOM 2013 CD2 HIS n 237 -0.508 5.346 12.360 1.00 0.00 C +ATOM 2014 CE1 HIS n 237 -2.471 4.417 12.086 1.00 0.00 C +ATOM 2015 NE2 HIS n 237 -1.535 4.672 12.977 1.00 0.00 N +ATOM 2016 N PHE n 238 -0.633 9.163 11.590 1.00 0.00 N +ATOM 2017 CA PHE n 238 -0.215 9.851 12.825 1.00 0.00 C +ATOM 2018 C PHE n 238 -0.847 9.194 14.033 1.00 0.00 C +ATOM 2019 O PHE n 238 -2.101 9.129 14.173 1.00 0.00 O +ATOM 2020 CB PHE n 238 -0.551 11.312 12.796 1.00 0.00 C +ATOM 2021 CG PHE n 238 -0.188 12.010 11.526 1.00 0.00 C +ATOM 2022 CD1 PHE n 238 0.855 11.567 10.720 1.00 0.00 C +ATOM 2023 CD2 PHE n 238 -0.923 13.111 11.103 1.00 0.00 C +ATOM 2024 CE1 PHE n 238 1.151 12.205 9.521 1.00 0.00 C +ATOM 2025 CE2 PHE n 238 -0.604 13.774 9.891 1.00 0.00 C +ATOM 2026 CZ PHE n 238 0.422 13.330 9.129 1.00 0.00 C +ATOM 2027 N GLY n 239 -0.003 8.635 14.883 1.00 0.00 N +ATOM 2028 CA GLY n 239 -0.519 7.847 16.011 1.00 0.00 C +ATOM 2029 C GLY n 239 0.367 7.862 17.197 1.00 0.00 C +ATOM 2030 O GLY n 239 1.225 8.671 17.247 1.00 0.00 O +ATOM 2031 N ASN n 240 0.104 7.037 18.202 1.00 0.00 N +ATOM 2032 CA ASN n 240 0.963 7.080 19.400 1.00 0.00 C +ATOM 2033 C ASN n 240 1.878 5.879 19.319 1.00 0.00 C +ATOM 2034 O ASN n 240 1.669 4.937 18.564 1.00 0.00 O +ATOM 2035 CB ASN n 240 0.177 7.124 20.728 1.00 0.00 C +ATOM 2036 CG ASN n 240 -0.689 8.375 20.892 1.00 0.00 C +ATOM 2037 OD1 ASN n 240 -0.212 9.542 21.032 1.00 0.00 O +ATOM 2038 ND2 ASN n 240 -2.014 8.132 20.859 1.00 0.00 N +ATOM 2039 OXT ASN n 240 2.877 5.840 19.973 1.00 0.00 O +TER 2040 ASN n 240 +ATOM 2041 N MET o 241 9.538 7.841 1.633 1.00 0.00 N +ATOM 2042 CA MET o 241 8.920 7.396 2.907 1.00 0.00 C +ATOM 2043 C MET o 241 9.599 8.148 4.038 1.00 0.00 C +ATOM 2044 O MET o 241 10.808 8.439 3.987 1.00 0.00 O +ATOM 2045 CB MET o 241 9.111 5.911 3.027 1.00 0.00 C +ATOM 2046 CG MET o 241 8.597 5.224 4.222 1.00 0.00 C +ATOM 2047 SD MET o 241 9.553 5.371 5.754 1.00 0.00 S +ATOM 2048 CE MET o 241 11.193 5.003 5.249 1.00 0.00 C +ATOM 2049 N MET o 242 8.841 8.477 5.073 1.00 0.00 N +ATOM 2050 CA MET o 242 9.453 9.079 6.308 1.00 0.00 C +ATOM 2051 C MET o 242 8.759 8.466 7.508 1.00 0.00 C +ATOM 2052 O MET o 242 7.519 8.307 7.521 1.00 0.00 O +ATOM 2053 CB MET o 242 9.293 10.589 6.377 1.00 0.00 C +ATOM 2054 CG MET o 242 9.843 11.345 5.221 1.00 0.00 C +ATOM 2055 SD MET o 242 9.511 13.114 5.258 1.00 0.00 S +ATOM 2056 CE MET o 242 7.746 13.182 4.953 1.00 0.00 C +ATOM 2057 N HIS o 243 9.563 8.077 8.473 1.00 0.00 N +ATOM 2058 CA HIS o 243 9.066 7.604 9.746 1.00 0.00 C +ATOM 2059 C HIS o 243 9.703 8.391 10.869 1.00 0.00 C +ATOM 2060 O HIS o 243 10.909 8.304 11.070 1.00 0.00 O +ATOM 2061 CB HIS o 243 9.379 6.161 9.909 1.00 0.00 C +ATOM 2062 CG HIS o 243 8.658 5.506 11.054 1.00 0.00 C +ATOM 2063 ND1 HIS o 243 7.416 4.918 10.924 1.00 0.00 N +ATOM 2064 CD2 HIS o 243 9.005 5.346 12.360 1.00 0.00 C +ATOM 2065 CE1 HIS o 243 7.042 4.417 12.086 1.00 0.00 C +ATOM 2066 NE2 HIS o 243 7.978 4.672 12.977 1.00 0.00 N +ATOM 2067 N PHE o 244 8.880 9.163 11.590 1.00 0.00 N +ATOM 2068 CA PHE o 244 9.298 9.851 12.825 1.00 0.00 C +ATOM 2069 C PHE o 244 8.666 9.194 14.033 1.00 0.00 C +ATOM 2070 O PHE o 244 7.412 9.129 14.173 1.00 0.00 O +ATOM 2071 CB PHE o 244 8.962 11.312 12.796 1.00 0.00 C +ATOM 2072 CG PHE o 244 9.325 12.010 11.526 1.00 0.00 C +ATOM 2073 CD1 PHE o 244 10.368 11.567 10.720 1.00 0.00 C +ATOM 2074 CD2 PHE o 244 8.590 13.111 11.103 1.00 0.00 C +ATOM 2075 CE1 PHE o 244 10.664 12.205 9.521 1.00 0.00 C +ATOM 2076 CE2 PHE o 244 8.909 13.774 9.891 1.00 0.00 C +ATOM 2077 CZ PHE o 244 9.935 13.330 9.129 1.00 0.00 C +ATOM 2078 N GLY o 245 9.510 8.635 14.883 1.00 0.00 N +ATOM 2079 CA GLY o 245 8.994 7.847 16.011 1.00 0.00 C +ATOM 2080 C GLY o 245 9.880 7.862 17.197 1.00 0.00 C +ATOM 2081 O GLY o 245 10.738 8.671 17.247 1.00 0.00 O +ATOM 2082 N ASN o 246 9.617 7.037 18.202 1.00 0.00 N +ATOM 2083 CA ASN o 246 10.476 7.080 19.400 1.00 0.00 C +ATOM 2084 C ASN o 246 11.391 5.879 19.319 1.00 0.00 C +ATOM 2085 O ASN o 246 11.182 4.937 18.564 1.00 0.00 O +ATOM 2086 CB ASN o 246 9.690 7.124 20.728 1.00 0.00 C +ATOM 2087 CG ASN o 246 8.824 8.375 20.892 1.00 0.00 C +ATOM 2088 OD1 ASN o 246 9.301 9.542 21.032 1.00 0.00 O +ATOM 2089 ND2 ASN o 246 7.499 8.132 20.859 1.00 0.00 N +ATOM 2090 OXT ASN o 246 12.390 5.840 19.973 1.00 0.00 O +TER 2091 ASN o 246 +ATOM 2092 N MET p 247 19.051 7.841 1.633 1.00 0.00 N +ATOM 2093 CA MET p 247 18.433 7.396 2.907 1.00 0.00 C +ATOM 2094 C MET p 247 19.112 8.148 4.038 1.00 0.00 C +ATOM 2095 O MET p 247 20.321 8.439 3.987 1.00 0.00 O +ATOM 2096 CB MET p 247 18.624 5.911 3.027 1.00 0.00 C +ATOM 2097 CG MET p 247 18.110 5.224 4.222 1.00 0.00 C +ATOM 2098 SD MET p 247 19.066 5.371 5.754 1.00 0.00 S +ATOM 2099 CE MET p 247 20.706 5.003 5.249 1.00 0.00 C +ATOM 2100 N MET p 248 18.354 8.477 5.073 1.00 0.00 N +ATOM 2101 CA MET p 248 18.966 9.079 6.308 1.00 0.00 C +ATOM 2102 C MET p 248 18.272 8.466 7.508 1.00 0.00 C +ATOM 2103 O MET p 248 17.032 8.307 7.521 1.00 0.00 O +ATOM 2104 CB MET p 248 18.806 10.589 6.377 1.00 0.00 C +ATOM 2105 CG MET p 248 19.356 11.345 5.221 1.00 0.00 C +ATOM 2106 SD MET p 248 19.024 13.114 5.258 1.00 0.00 S +ATOM 2107 CE MET p 248 17.259 13.182 4.953 1.00 0.00 C +ATOM 2108 N HIS p 249 19.076 8.077 8.473 1.00 0.00 N +ATOM 2109 CA HIS p 249 18.579 7.604 9.746 1.00 0.00 C +ATOM 2110 C HIS p 249 19.216 8.391 10.869 1.00 0.00 C +ATOM 2111 O HIS p 249 20.422 8.304 11.070 1.00 0.00 O +ATOM 2112 CB HIS p 249 18.892 6.161 9.909 1.00 0.00 C +ATOM 2113 CG HIS p 249 18.171 5.506 11.054 1.00 0.00 C +ATOM 2114 ND1 HIS p 249 16.929 4.918 10.924 1.00 0.00 N +ATOM 2115 CD2 HIS p 249 18.518 5.346 12.360 1.00 0.00 C +ATOM 2116 CE1 HIS p 249 16.555 4.417 12.086 1.00 0.00 C +ATOM 2117 NE2 HIS p 249 17.491 4.672 12.977 1.00 0.00 N +ATOM 2118 N PHE p 250 18.393 9.163 11.590 1.00 0.00 N +ATOM 2119 CA PHE p 250 18.811 9.851 12.825 1.00 0.00 C +ATOM 2120 C PHE p 250 18.179 9.194 14.033 1.00 0.00 C +ATOM 2121 O PHE p 250 16.925 9.129 14.173 1.00 0.00 O +ATOM 2122 CB PHE p 250 18.475 11.312 12.796 1.00 0.00 C +ATOM 2123 CG PHE p 250 18.838 12.010 11.526 1.00 0.00 C +ATOM 2124 CD1 PHE p 250 19.881 11.567 10.720 1.00 0.00 C +ATOM 2125 CD2 PHE p 250 18.103 13.111 11.103 1.00 0.00 C +ATOM 2126 CE1 PHE p 250 20.177 12.205 9.521 1.00 0.00 C +ATOM 2127 CE2 PHE p 250 18.422 13.774 9.891 1.00 0.00 C +ATOM 2128 CZ PHE p 250 19.448 13.330 9.129 1.00 0.00 C +ATOM 2129 N GLY p 251 19.023 8.635 14.883 1.00 0.00 N +ATOM 2130 CA GLY p 251 18.507 7.847 16.011 1.00 0.00 C +ATOM 2131 C GLY p 251 19.393 7.862 17.197 1.00 0.00 C +ATOM 2132 O GLY p 251 20.251 8.671 17.247 1.00 0.00 O +ATOM 2133 N ASN p 252 19.130 7.037 18.202 1.00 0.00 N +ATOM 2134 CA ASN p 252 19.989 7.080 19.400 1.00 0.00 C +ATOM 2135 C ASN p 252 20.904 5.879 19.319 1.00 0.00 C +ATOM 2136 O ASN p 252 20.695 4.937 18.564 1.00 0.00 O +ATOM 2137 CB ASN p 252 19.203 7.124 20.728 1.00 0.00 C +ATOM 2138 CG ASN p 252 18.337 8.375 20.892 1.00 0.00 C +ATOM 2139 OD1 ASN p 252 18.814 9.542 21.032 1.00 0.00 O +ATOM 2140 ND2 ASN p 252 17.012 8.132 20.859 1.00 0.00 N +ATOM 2141 OXT ASN p 252 21.903 5.840 19.973 1.00 0.00 O +TER 2142 ASN p 252 +ATOM 2143 N MET q 253 28.564 7.841 1.633 1.00 0.00 N +ATOM 2144 CA MET q 253 27.946 7.396 2.907 1.00 0.00 C +ATOM 2145 C MET q 253 28.625 8.148 4.038 1.00 0.00 C +ATOM 2146 O MET q 253 29.834 8.439 3.987 1.00 0.00 O +ATOM 2147 CB MET q 253 28.137 5.911 3.027 1.00 0.00 C +ATOM 2148 CG MET q 253 27.623 5.224 4.222 1.00 0.00 C +ATOM 2149 SD MET q 253 28.579 5.371 5.754 1.00 0.00 S +ATOM 2150 CE MET q 253 30.219 5.003 5.249 1.00 0.00 C +ATOM 2151 N MET q 254 27.867 8.477 5.073 1.00 0.00 N +ATOM 2152 CA MET q 254 28.479 9.079 6.308 1.00 0.00 C +ATOM 2153 C MET q 254 27.785 8.466 7.508 1.00 0.00 C +ATOM 2154 O MET q 254 26.545 8.307 7.521 1.00 0.00 O +ATOM 2155 CB MET q 254 28.319 10.589 6.377 1.00 0.00 C +ATOM 2156 CG MET q 254 28.869 11.345 5.221 1.00 0.00 C +ATOM 2157 SD MET q 254 28.537 13.114 5.258 1.00 0.00 S +ATOM 2158 CE MET q 254 26.772 13.182 4.953 1.00 0.00 C +ATOM 2159 N HIS q 255 28.589 8.077 8.473 1.00 0.00 N +ATOM 2160 CA HIS q 255 28.092 7.604 9.746 1.00 0.00 C +ATOM 2161 C HIS q 255 28.729 8.391 10.869 1.00 0.00 C +ATOM 2162 O HIS q 255 29.935 8.304 11.070 1.00 0.00 O +ATOM 2163 CB HIS q 255 28.405 6.161 9.909 1.00 0.00 C +ATOM 2164 CG HIS q 255 27.684 5.506 11.054 1.00 0.00 C +ATOM 2165 ND1 HIS q 255 26.442 4.918 10.924 1.00 0.00 N +ATOM 2166 CD2 HIS q 255 28.031 5.346 12.360 1.00 0.00 C +ATOM 2167 CE1 HIS q 255 26.068 4.417 12.086 1.00 0.00 C +ATOM 2168 NE2 HIS q 255 27.004 4.672 12.977 1.00 0.00 N +ATOM 2169 N PHE q 256 27.906 9.163 11.590 1.00 0.00 N +ATOM 2170 CA PHE q 256 28.324 9.851 12.825 1.00 0.00 C +ATOM 2171 C PHE q 256 27.692 9.194 14.033 1.00 0.00 C +ATOM 2172 O PHE q 256 26.438 9.129 14.173 1.00 0.00 O +ATOM 2173 CB PHE q 256 27.988 11.312 12.796 1.00 0.00 C +ATOM 2174 CG PHE q 256 28.351 12.010 11.526 1.00 0.00 C +ATOM 2175 CD1 PHE q 256 29.394 11.567 10.720 1.00 0.00 C +ATOM 2176 CD2 PHE q 256 27.616 13.111 11.103 1.00 0.00 C +ATOM 2177 CE1 PHE q 256 29.690 12.205 9.521 1.00 0.00 C +ATOM 2178 CE2 PHE q 256 27.935 13.774 9.891 1.00 0.00 C +ATOM 2179 CZ PHE q 256 28.961 13.330 9.129 1.00 0.00 C +ATOM 2180 N GLY q 257 28.536 8.635 14.883 1.00 0.00 N +ATOM 2181 CA GLY q 257 28.020 7.847 16.011 1.00 0.00 C +ATOM 2182 C GLY q 257 28.906 7.862 17.197 1.00 0.00 C +ATOM 2183 O GLY q 257 29.764 8.671 17.247 1.00 0.00 O +ATOM 2184 N ASN q 258 28.643 7.037 18.202 1.00 0.00 N +ATOM 2185 CA ASN q 258 29.502 7.080 19.400 1.00 0.00 C +ATOM 2186 C ASN q 258 30.417 5.879 19.319 1.00 0.00 C +ATOM 2187 O ASN q 258 30.208 4.937 18.564 1.00 0.00 O +ATOM 2188 CB ASN q 258 28.716 7.124 20.728 1.00 0.00 C +ATOM 2189 CG ASN q 258 27.850 8.375 20.892 1.00 0.00 C +ATOM 2190 OD1 ASN q 258 28.327 9.542 21.032 1.00 0.00 O +ATOM 2191 ND2 ASN q 258 26.525 8.132 20.859 1.00 0.00 N +ATOM 2192 OXT ASN q 258 31.416 5.840 19.973 1.00 0.00 O +TER 2193 ASN q 258 +ATOM 2194 N MET r 259 38.077 7.841 1.633 1.00 0.00 N +ATOM 2195 CA MET r 259 37.459 7.396 2.907 1.00 0.00 C +ATOM 2196 C MET r 259 38.138 8.148 4.038 1.00 0.00 C +ATOM 2197 O MET r 259 39.347 8.439 3.987 1.00 0.00 O +ATOM 2198 CB MET r 259 37.650 5.911 3.027 1.00 0.00 C +ATOM 2199 CG MET r 259 37.136 5.224 4.222 1.00 0.00 C +ATOM 2200 SD MET r 259 38.092 5.371 5.754 1.00 0.00 S +ATOM 2201 CE MET r 259 39.732 5.003 5.249 1.00 0.00 C +ATOM 2202 N MET r 260 37.380 8.477 5.073 1.00 0.00 N +ATOM 2203 CA MET r 260 37.992 9.079 6.308 1.00 0.00 C +ATOM 2204 C MET r 260 37.298 8.466 7.508 1.00 0.00 C +ATOM 2205 O MET r 260 36.058 8.307 7.521 1.00 0.00 O +ATOM 2206 CB MET r 260 37.832 10.589 6.377 1.00 0.00 C +ATOM 2207 CG MET r 260 38.382 11.345 5.221 1.00 0.00 C +ATOM 2208 SD MET r 260 38.050 13.114 5.258 1.00 0.00 S +ATOM 2209 CE MET r 260 36.285 13.182 4.953 1.00 0.00 C +ATOM 2210 N HIS r 261 38.102 8.077 8.473 1.00 0.00 N +ATOM 2211 CA HIS r 261 37.605 7.604 9.746 1.00 0.00 C +ATOM 2212 C HIS r 261 38.242 8.391 10.869 1.00 0.00 C +ATOM 2213 O HIS r 261 39.448 8.304 11.070 1.00 0.00 O +ATOM 2214 CB HIS r 261 37.918 6.161 9.909 1.00 0.00 C +ATOM 2215 CG HIS r 261 37.197 5.506 11.054 1.00 0.00 C +ATOM 2216 ND1 HIS r 261 35.955 4.918 10.924 1.00 0.00 N +ATOM 2217 CD2 HIS r 261 37.544 5.346 12.360 1.00 0.00 C +ATOM 2218 CE1 HIS r 261 35.581 4.417 12.086 1.00 0.00 C +ATOM 2219 NE2 HIS r 261 36.517 4.672 12.977 1.00 0.00 N +ATOM 2220 N PHE r 262 37.419 9.163 11.590 1.00 0.00 N +ATOM 2221 CA PHE r 262 37.837 9.851 12.825 1.00 0.00 C +ATOM 2222 C PHE r 262 37.205 9.194 14.033 1.00 0.00 C +ATOM 2223 O PHE r 262 35.951 9.129 14.173 1.00 0.00 O +ATOM 2224 CB PHE r 262 37.501 11.312 12.796 1.00 0.00 C +ATOM 2225 CG PHE r 262 37.864 12.010 11.526 1.00 0.00 C +ATOM 2226 CD1 PHE r 262 38.907 11.567 10.720 1.00 0.00 C +ATOM 2227 CD2 PHE r 262 37.129 13.111 11.103 1.00 0.00 C +ATOM 2228 CE1 PHE r 262 39.203 12.205 9.521 1.00 0.00 C +ATOM 2229 CE2 PHE r 262 37.448 13.774 9.891 1.00 0.00 C +ATOM 2230 CZ PHE r 262 38.474 13.330 9.129 1.00 0.00 C +ATOM 2231 N GLY r 263 38.049 8.635 14.883 1.00 0.00 N +ATOM 2232 CA GLY r 263 37.533 7.847 16.011 1.00 0.00 C +ATOM 2233 C GLY r 263 38.419 7.862 17.197 1.00 0.00 C +ATOM 2234 O GLY r 263 39.277 8.671 17.247 1.00 0.00 O +ATOM 2235 N ASN r 264 38.156 7.037 18.202 1.00 0.00 N +ATOM 2236 CA ASN r 264 39.015 7.080 19.400 1.00 0.00 C +ATOM 2237 C ASN r 264 39.930 5.879 19.319 1.00 0.00 C +ATOM 2238 O ASN r 264 39.721 4.937 18.564 1.00 0.00 O +ATOM 2239 CB ASN r 264 38.229 7.124 20.728 1.00 0.00 C +ATOM 2240 CG ASN r 264 37.363 8.375 20.892 1.00 0.00 C +ATOM 2241 OD1 ASN r 264 37.840 9.542 21.032 1.00 0.00 O +ATOM 2242 ND2 ASN r 264 36.038 8.132 20.859 1.00 0.00 N +ATOM 2243 OXT ASN r 264 40.929 5.840 19.973 1.00 0.00 O +TER 2244 ASN r 264 +ATOM 2245 N MET s 265 47.590 7.841 1.633 1.00 0.00 N +ATOM 2246 CA MET s 265 46.972 7.396 2.907 1.00 0.00 C +ATOM 2247 C MET s 265 47.651 8.148 4.038 1.00 0.00 C +ATOM 2248 O MET s 265 48.860 8.439 3.987 1.00 0.00 O +ATOM 2249 CB MET s 265 47.163 5.911 3.027 1.00 0.00 C +ATOM 2250 CG MET s 265 46.649 5.224 4.222 1.00 0.00 C +ATOM 2251 SD MET s 265 47.605 5.371 5.754 1.00 0.00 S +ATOM 2252 CE MET s 265 49.245 5.003 5.249 1.00 0.00 C +ATOM 2253 N MET s 266 46.893 8.477 5.073 1.00 0.00 N +ATOM 2254 CA MET s 266 47.505 9.079 6.308 1.00 0.00 C +ATOM 2255 C MET s 266 46.811 8.466 7.508 1.00 0.00 C +ATOM 2256 O MET s 266 45.571 8.307 7.521 1.00 0.00 O +ATOM 2257 CB MET s 266 47.345 10.589 6.377 1.00 0.00 C +ATOM 2258 CG MET s 266 47.895 11.345 5.221 1.00 0.00 C +ATOM 2259 SD MET s 266 47.563 13.114 5.258 1.00 0.00 S +ATOM 2260 CE MET s 266 45.798 13.182 4.953 1.00 0.00 C +ATOM 2261 N HIS s 267 47.615 8.077 8.473 1.00 0.00 N +ATOM 2262 CA HIS s 267 47.118 7.604 9.746 1.00 0.00 C +ATOM 2263 C HIS s 267 47.755 8.391 10.869 1.00 0.00 C +ATOM 2264 O HIS s 267 48.961 8.304 11.070 1.00 0.00 O +ATOM 2265 CB HIS s 267 47.431 6.161 9.909 1.00 0.00 C +ATOM 2266 CG HIS s 267 46.710 5.506 11.054 1.00 0.00 C +ATOM 2267 ND1 HIS s 267 45.468 4.918 10.924 1.00 0.00 N +ATOM 2268 CD2 HIS s 267 47.057 5.346 12.360 1.00 0.00 C +ATOM 2269 CE1 HIS s 267 45.094 4.417 12.086 1.00 0.00 C +ATOM 2270 NE2 HIS s 267 46.030 4.672 12.977 1.00 0.00 N +ATOM 2271 N PHE s 268 46.932 9.163 11.590 1.00 0.00 N +ATOM 2272 CA PHE s 268 47.350 9.851 12.825 1.00 0.00 C +ATOM 2273 C PHE s 268 46.718 9.194 14.033 1.00 0.00 C +ATOM 2274 O PHE s 268 45.464 9.129 14.173 1.00 0.00 O +ATOM 2275 CB PHE s 268 47.014 11.312 12.796 1.00 0.00 C +ATOM 2276 CG PHE s 268 47.377 12.010 11.526 1.00 0.00 C +ATOM 2277 CD1 PHE s 268 48.420 11.567 10.720 1.00 0.00 C +ATOM 2278 CD2 PHE s 268 46.642 13.111 11.103 1.00 0.00 C +ATOM 2279 CE1 PHE s 268 48.716 12.205 9.521 1.00 0.00 C +ATOM 2280 CE2 PHE s 268 46.961 13.774 9.891 1.00 0.00 C +ATOM 2281 CZ PHE s 268 47.987 13.330 9.129 1.00 0.00 C +ATOM 2282 N GLY s 269 47.562 8.635 14.883 1.00 0.00 N +ATOM 2283 CA GLY s 269 47.046 7.847 16.011 1.00 0.00 C +ATOM 2284 C GLY s 269 47.932 7.862 17.197 1.00 0.00 C +ATOM 2285 O GLY s 269 48.790 8.671 17.247 1.00 0.00 O +ATOM 2286 N ASN s 270 47.669 7.037 18.202 1.00 0.00 N +ATOM 2287 CA ASN s 270 48.528 7.080 19.400 1.00 0.00 C +ATOM 2288 C ASN s 270 49.443 5.879 19.319 1.00 0.00 C +ATOM 2289 O ASN s 270 49.234 4.937 18.564 1.00 0.00 O +ATOM 2290 CB ASN s 270 47.742 7.124 20.728 1.00 0.00 C +ATOM 2291 CG ASN s 270 46.876 8.375 20.892 1.00 0.00 C +ATOM 2292 OD1 ASN s 270 47.353 9.542 21.032 1.00 0.00 O +ATOM 2293 ND2 ASN s 270 45.551 8.132 20.859 1.00 0.00 N +ATOM 2294 OXT ASN s 270 50.442 5.840 19.973 1.00 0.00 O +TER 2295 ASN s 270 +ATOM 2296 N MET t 271 57.103 7.841 1.633 1.00 0.00 N +ATOM 2297 CA MET t 271 56.485 7.396 2.907 1.00 0.00 C +ATOM 2298 C MET t 271 57.164 8.148 4.038 1.00 0.00 C +ATOM 2299 O MET t 271 58.373 8.439 3.987 1.00 0.00 O +ATOM 2300 CB MET t 271 56.676 5.911 3.027 1.00 0.00 C +ATOM 2301 CG MET t 271 56.162 5.224 4.222 1.00 0.00 C +ATOM 2302 SD MET t 271 57.118 5.371 5.754 1.00 0.00 S +ATOM 2303 CE MET t 271 58.758 5.003 5.249 1.00 0.00 C +ATOM 2304 N MET t 272 56.406 8.477 5.073 1.00 0.00 N +ATOM 2305 CA MET t 272 57.018 9.079 6.308 1.00 0.00 C +ATOM 2306 C MET t 272 56.324 8.466 7.508 1.00 0.00 C +ATOM 2307 O MET t 272 55.084 8.307 7.521 1.00 0.00 O +ATOM 2308 CB MET t 272 56.858 10.589 6.377 1.00 0.00 C +ATOM 2309 CG MET t 272 57.408 11.345 5.221 1.00 0.00 C +ATOM 2310 SD MET t 272 57.076 13.114 5.258 1.00 0.00 S +ATOM 2311 CE MET t 272 55.311 13.182 4.953 1.00 0.00 C +ATOM 2312 N HIS t 273 57.128 8.077 8.473 1.00 0.00 N +ATOM 2313 CA HIS t 273 56.631 7.604 9.746 1.00 0.00 C +ATOM 2314 C HIS t 273 57.268 8.391 10.869 1.00 0.00 C +ATOM 2315 O HIS t 273 58.474 8.304 11.070 1.00 0.00 O +ATOM 2316 CB HIS t 273 56.944 6.161 9.909 1.00 0.00 C +ATOM 2317 CG HIS t 273 56.223 5.506 11.054 1.00 0.00 C +ATOM 2318 ND1 HIS t 273 54.981 4.918 10.924 1.00 0.00 N +ATOM 2319 CD2 HIS t 273 56.570 5.346 12.360 1.00 0.00 C +ATOM 2320 CE1 HIS t 273 54.607 4.417 12.086 1.00 0.00 C +ATOM 2321 NE2 HIS t 273 55.543 4.672 12.977 1.00 0.00 N +ATOM 2322 N PHE t 274 56.445 9.163 11.590 1.00 0.00 N +ATOM 2323 CA PHE t 274 56.863 9.851 12.825 1.00 0.00 C +ATOM 2324 C PHE t 274 56.231 9.194 14.033 1.00 0.00 C +ATOM 2325 O PHE t 274 54.977 9.129 14.173 1.00 0.00 O +ATOM 2326 CB PHE t 274 56.527 11.312 12.796 1.00 0.00 C +ATOM 2327 CG PHE t 274 56.890 12.010 11.526 1.00 0.00 C +ATOM 2328 CD1 PHE t 274 57.933 11.567 10.720 1.00 0.00 C +ATOM 2329 CD2 PHE t 274 56.155 13.111 11.103 1.00 0.00 C +ATOM 2330 CE1 PHE t 274 58.229 12.205 9.521 1.00 0.00 C +ATOM 2331 CE2 PHE t 274 56.474 13.774 9.891 1.00 0.00 C +ATOM 2332 CZ PHE t 274 57.500 13.330 9.129 1.00 0.00 C +ATOM 2333 N GLY t 275 57.075 8.635 14.883 1.00 0.00 N +ATOM 2334 CA GLY t 275 56.559 7.847 16.011 1.00 0.00 C +ATOM 2335 C GLY t 275 57.445 7.862 17.197 1.00 0.00 C +ATOM 2336 O GLY t 275 58.303 8.671 17.247 1.00 0.00 O +ATOM 2337 N ASN t 276 57.182 7.037 18.202 1.00 0.00 N +ATOM 2338 CA ASN t 276 58.041 7.080 19.400 1.00 0.00 C +ATOM 2339 C ASN t 276 58.956 5.879 19.319 1.00 0.00 C +ATOM 2340 O ASN t 276 58.747 4.937 18.564 1.00 0.00 O +ATOM 2341 CB ASN t 276 57.255 7.124 20.728 1.00 0.00 C +ATOM 2342 CG ASN t 276 56.389 8.375 20.892 1.00 0.00 C +ATOM 2343 OD1 ASN t 276 56.866 9.542 21.032 1.00 0.00 O +ATOM 2344 ND2 ASN t 276 55.064 8.132 20.859 1.00 0.00 N +ATOM 2345 OXT ASN t 276 59.955 5.840 19.973 1.00 0.00 O +TER 2346 ASN t 276 +ATOM 2347 N MET u 277 66.616 7.841 1.633 1.00 0.00 N +ATOM 2348 CA MET u 277 65.998 7.396 2.907 1.00 0.00 C +ATOM 2349 C MET u 277 66.677 8.148 4.038 1.00 0.00 C +ATOM 2350 O MET u 277 67.886 8.439 3.987 1.00 0.00 O +ATOM 2351 CB MET u 277 66.189 5.911 3.027 1.00 0.00 C +ATOM 2352 CG MET u 277 65.675 5.224 4.222 1.00 0.00 C +ATOM 2353 SD MET u 277 66.631 5.371 5.754 1.00 0.00 S +ATOM 2354 CE MET u 277 68.271 5.003 5.249 1.00 0.00 C +ATOM 2355 N MET u 278 65.919 8.477 5.073 1.00 0.00 N +ATOM 2356 CA MET u 278 66.531 9.079 6.308 1.00 0.00 C +ATOM 2357 C MET u 278 65.837 8.466 7.508 1.00 0.00 C +ATOM 2358 O MET u 278 64.597 8.307 7.521 1.00 0.00 O +ATOM 2359 CB MET u 278 66.371 10.589 6.377 1.00 0.00 C +ATOM 2360 CG MET u 278 66.921 11.345 5.221 1.00 0.00 C +ATOM 2361 SD MET u 278 66.589 13.114 5.258 1.00 0.00 S +ATOM 2362 CE MET u 278 64.824 13.182 4.953 1.00 0.00 C +ATOM 2363 N HIS u 279 66.641 8.077 8.473 1.00 0.00 N +ATOM 2364 CA HIS u 279 66.144 7.604 9.746 1.00 0.00 C +ATOM 2365 C HIS u 279 66.781 8.391 10.869 1.00 0.00 C +ATOM 2366 O HIS u 279 67.987 8.304 11.070 1.00 0.00 O +ATOM 2367 CB HIS u 279 66.457 6.161 9.909 1.00 0.00 C +ATOM 2368 CG HIS u 279 65.736 5.506 11.054 1.00 0.00 C +ATOM 2369 ND1 HIS u 279 64.494 4.918 10.924 1.00 0.00 N +ATOM 2370 CD2 HIS u 279 66.083 5.346 12.360 1.00 0.00 C +ATOM 2371 CE1 HIS u 279 64.120 4.417 12.086 1.00 0.00 C +ATOM 2372 NE2 HIS u 279 65.056 4.672 12.977 1.00 0.00 N +ATOM 2373 N PHE u 280 65.958 9.163 11.590 1.00 0.00 N +ATOM 2374 CA PHE u 280 66.376 9.851 12.825 1.00 0.00 C +ATOM 2375 C PHE u 280 65.744 9.194 14.033 1.00 0.00 C +ATOM 2376 O PHE u 280 64.490 9.129 14.173 1.00 0.00 O +ATOM 2377 CB PHE u 280 66.040 11.312 12.796 1.00 0.00 C +ATOM 2378 CG PHE u 280 66.403 12.010 11.526 1.00 0.00 C +ATOM 2379 CD1 PHE u 280 67.446 11.567 10.720 1.00 0.00 C +ATOM 2380 CD2 PHE u 280 65.668 13.111 11.103 1.00 0.00 C +ATOM 2381 CE1 PHE u 280 67.742 12.205 9.521 1.00 0.00 C +ATOM 2382 CE2 PHE u 280 65.987 13.774 9.891 1.00 0.00 C +ATOM 2383 CZ PHE u 280 67.013 13.330 9.129 1.00 0.00 C +ATOM 2384 N GLY u 281 66.588 8.635 14.883 1.00 0.00 N +ATOM 2385 CA GLY u 281 66.072 7.847 16.011 1.00 0.00 C +ATOM 2386 C GLY u 281 66.958 7.862 17.197 1.00 0.00 C +ATOM 2387 O GLY u 281 67.816 8.671 17.247 1.00 0.00 O +ATOM 2388 N ASN u 282 66.695 7.037 18.202 1.00 0.00 N +ATOM 2389 CA ASN u 282 67.554 7.080 19.400 1.00 0.00 C +ATOM 2390 C ASN u 282 68.469 5.879 19.319 1.00 0.00 C +ATOM 2391 O ASN u 282 68.260 4.937 18.564 1.00 0.00 O +ATOM 2392 CB ASN u 282 66.768 7.124 20.728 1.00 0.00 C +ATOM 2393 CG ASN u 282 65.902 8.375 20.892 1.00 0.00 C +ATOM 2394 OD1 ASN u 282 66.379 9.542 21.032 1.00 0.00 O +ATOM 2395 ND2 ASN u 282 64.577 8.132 20.859 1.00 0.00 N +ATOM 2396 OXT ASN u 282 69.468 5.840 19.973 1.00 0.00 O +TER 2397 ASN u 282 +ATOM 2398 N MET v 283 76.129 7.841 1.633 1.00 0.00 N +ATOM 2399 CA MET v 283 75.511 7.396 2.907 1.00 0.00 C +ATOM 2400 C MET v 283 76.190 8.148 4.038 1.00 0.00 C +ATOM 2401 O MET v 283 77.399 8.439 3.987 1.00 0.00 O +ATOM 2402 CB MET v 283 75.702 5.911 3.027 1.00 0.00 C +ATOM 2403 CG MET v 283 75.188 5.224 4.222 1.00 0.00 C +ATOM 2404 SD MET v 283 76.144 5.371 5.754 1.00 0.00 S +ATOM 2405 CE MET v 283 77.784 5.003 5.249 1.00 0.00 C +ATOM 2406 N MET v 284 75.432 8.477 5.073 1.00 0.00 N +ATOM 2407 CA MET v 284 76.044 9.079 6.308 1.00 0.00 C +ATOM 2408 C MET v 284 75.350 8.466 7.508 1.00 0.00 C +ATOM 2409 O MET v 284 74.110 8.307 7.521 1.00 0.00 O +ATOM 2410 CB MET v 284 75.884 10.589 6.377 1.00 0.00 C +ATOM 2411 CG MET v 284 76.434 11.345 5.221 1.00 0.00 C +ATOM 2412 SD MET v 284 76.102 13.114 5.258 1.00 0.00 S +ATOM 2413 CE MET v 284 74.337 13.182 4.953 1.00 0.00 C +ATOM 2414 N HIS v 285 76.154 8.077 8.473 1.00 0.00 N +ATOM 2415 CA HIS v 285 75.657 7.604 9.746 1.00 0.00 C +ATOM 2416 C HIS v 285 76.294 8.391 10.869 1.00 0.00 C +ATOM 2417 O HIS v 285 77.500 8.304 11.070 1.00 0.00 O +ATOM 2418 CB HIS v 285 75.970 6.161 9.909 1.00 0.00 C +ATOM 2419 CG HIS v 285 75.249 5.506 11.054 1.00 0.00 C +ATOM 2420 ND1 HIS v 285 74.007 4.918 10.924 1.00 0.00 N +ATOM 2421 CD2 HIS v 285 75.596 5.346 12.360 1.00 0.00 C +ATOM 2422 CE1 HIS v 285 73.633 4.417 12.086 1.00 0.00 C +ATOM 2423 NE2 HIS v 285 74.569 4.672 12.977 1.00 0.00 N +ATOM 2424 N PHE v 286 75.471 9.163 11.590 1.00 0.00 N +ATOM 2425 CA PHE v 286 75.889 9.851 12.825 1.00 0.00 C +ATOM 2426 C PHE v 286 75.257 9.194 14.033 1.00 0.00 C +ATOM 2427 O PHE v 286 74.003 9.129 14.173 1.00 0.00 O +ATOM 2428 CB PHE v 286 75.553 11.312 12.796 1.00 0.00 C +ATOM 2429 CG PHE v 286 75.916 12.010 11.526 1.00 0.00 C +ATOM 2430 CD1 PHE v 286 76.959 11.567 10.720 1.00 0.00 C +ATOM 2431 CD2 PHE v 286 75.181 13.111 11.103 1.00 0.00 C +ATOM 2432 CE1 PHE v 286 77.255 12.205 9.521 1.00 0.00 C +ATOM 2433 CE2 PHE v 286 75.500 13.774 9.891 1.00 0.00 C +ATOM 2434 CZ PHE v 286 76.526 13.330 9.129 1.00 0.00 C +ATOM 2435 N GLY v 287 76.101 8.635 14.883 1.00 0.00 N +ATOM 2436 CA GLY v 287 75.585 7.847 16.011 1.00 0.00 C +ATOM 2437 C GLY v 287 76.471 7.862 17.197 1.00 0.00 C +ATOM 2438 O GLY v 287 77.329 8.671 17.247 1.00 0.00 O +ATOM 2439 N ASN v 288 76.208 7.037 18.202 1.00 0.00 N +ATOM 2440 CA ASN v 288 77.067 7.080 19.400 1.00 0.00 C +ATOM 2441 C ASN v 288 77.982 5.879 19.319 1.00 0.00 C +ATOM 2442 O ASN v 288 77.773 4.937 18.564 1.00 0.00 O +ATOM 2443 CB ASN v 288 76.281 7.124 20.728 1.00 0.00 C +ATOM 2444 CG ASN v 288 75.415 8.375 20.892 1.00 0.00 C +ATOM 2445 OD1 ASN v 288 75.892 9.542 21.032 1.00 0.00 O +ATOM 2446 ND2 ASN v 288 74.090 8.132 20.859 1.00 0.00 N +ATOM 2447 OXT ASN v 288 78.981 5.840 19.973 1.00 0.00 O +TER 2448 ASN v 288 +ATOM 2449 N MET w 289 85.642 7.841 1.633 1.00 0.00 N +ATOM 2450 CA MET w 289 85.024 7.396 2.907 1.00 0.00 C +ATOM 2451 C MET w 289 85.703 8.148 4.038 1.00 0.00 C +ATOM 2452 O MET w 289 86.912 8.439 3.987 1.00 0.00 O +ATOM 2453 CB MET w 289 85.215 5.911 3.027 1.00 0.00 C +ATOM 2454 CG MET w 289 84.701 5.224 4.222 1.00 0.00 C +ATOM 2455 SD MET w 289 85.657 5.371 5.754 1.00 0.00 S +ATOM 2456 CE MET w 289 87.297 5.003 5.249 1.00 0.00 C +ATOM 2457 N MET w 290 84.945 8.477 5.073 1.00 0.00 N +ATOM 2458 CA MET w 290 85.557 9.079 6.308 1.00 0.00 C +ATOM 2459 C MET w 290 84.863 8.466 7.508 1.00 0.00 C +ATOM 2460 O MET w 290 83.623 8.307 7.521 1.00 0.00 O +ATOM 2461 CB MET w 290 85.397 10.589 6.377 1.00 0.00 C +ATOM 2462 CG MET w 290 85.947 11.345 5.221 1.00 0.00 C +ATOM 2463 SD MET w 290 85.615 13.114 5.258 1.00 0.00 S +ATOM 2464 CE MET w 290 83.850 13.182 4.953 1.00 0.00 C +ATOM 2465 N HIS w 291 85.667 8.077 8.473 1.00 0.00 N +ATOM 2466 CA HIS w 291 85.170 7.604 9.746 1.00 0.00 C +ATOM 2467 C HIS w 291 85.807 8.391 10.869 1.00 0.00 C +ATOM 2468 O HIS w 291 87.013 8.304 11.070 1.00 0.00 O +ATOM 2469 CB HIS w 291 85.483 6.161 9.909 1.00 0.00 C +ATOM 2470 CG HIS w 291 84.762 5.506 11.054 1.00 0.00 C +ATOM 2471 ND1 HIS w 291 83.520 4.918 10.924 1.00 0.00 N +ATOM 2472 CD2 HIS w 291 85.109 5.346 12.360 1.00 0.00 C +ATOM 2473 CE1 HIS w 291 83.146 4.417 12.086 1.00 0.00 C +ATOM 2474 NE2 HIS w 291 84.082 4.672 12.977 1.00 0.00 N +ATOM 2475 N PHE w 292 84.984 9.163 11.590 1.00 0.00 N +ATOM 2476 CA PHE w 292 85.402 9.851 12.825 1.00 0.00 C +ATOM 2477 C PHE w 292 84.770 9.194 14.033 1.00 0.00 C +ATOM 2478 O PHE w 292 83.516 9.129 14.173 1.00 0.00 O +ATOM 2479 CB PHE w 292 85.066 11.312 12.796 1.00 0.00 C +ATOM 2480 CG PHE w 292 85.429 12.010 11.526 1.00 0.00 C +ATOM 2481 CD1 PHE w 292 86.472 11.567 10.720 1.00 0.00 C +ATOM 2482 CD2 PHE w 292 84.694 13.111 11.103 1.00 0.00 C +ATOM 2483 CE1 PHE w 292 86.768 12.205 9.521 1.00 0.00 C +ATOM 2484 CE2 PHE w 292 85.013 13.774 9.891 1.00 0.00 C +ATOM 2485 CZ PHE w 292 86.039 13.330 9.129 1.00 0.00 C +ATOM 2486 N GLY w 293 85.614 8.635 14.883 1.00 0.00 N +ATOM 2487 CA GLY w 293 85.098 7.847 16.011 1.00 0.00 C +ATOM 2488 C GLY w 293 85.984 7.862 17.197 1.00 0.00 C +ATOM 2489 O GLY w 293 86.842 8.671 17.247 1.00 0.00 O +ATOM 2490 N ASN w 294 85.721 7.037 18.202 1.00 0.00 N +ATOM 2491 CA ASN w 294 86.580 7.080 19.400 1.00 0.00 C +ATOM 2492 C ASN w 294 87.495 5.879 19.319 1.00 0.00 C +ATOM 2493 O ASN w 294 87.286 4.937 18.564 1.00 0.00 O +ATOM 2494 CB ASN w 294 85.794 7.124 20.728 1.00 0.00 C +ATOM 2495 CG ASN w 294 84.928 8.375 20.892 1.00 0.00 C +ATOM 2496 OD1 ASN w 294 85.405 9.542 21.032 1.00 0.00 O +ATOM 2497 ND2 ASN w 294 83.603 8.132 20.859 1.00 0.00 N +ATOM 2498 OXT ASN w 294 88.494 5.840 19.973 1.00 0.00 O +TER 2499 ASN w 294 +ATOM 2500 N MET x 295 95.155 7.841 1.633 1.00 0.00 N +ATOM 2501 CA MET x 295 94.537 7.396 2.907 1.00 0.00 C +ATOM 2502 C MET x 295 95.216 8.148 4.038 1.00 0.00 C +ATOM 2503 O MET x 295 96.425 8.439 3.987 1.00 0.00 O +ATOM 2504 CB MET x 295 94.728 5.911 3.027 1.00 0.00 C +ATOM 2505 CG MET x 295 94.214 5.224 4.222 1.00 0.00 C +ATOM 2506 SD MET x 295 95.170 5.371 5.754 1.00 0.00 S +ATOM 2507 CE MET x 295 96.810 5.003 5.249 1.00 0.00 C +ATOM 2508 N MET x 296 94.458 8.477 5.073 1.00 0.00 N +ATOM 2509 CA MET x 296 95.070 9.079 6.308 1.00 0.00 C +ATOM 2510 C MET x 296 94.376 8.466 7.508 1.00 0.00 C +ATOM 2511 O MET x 296 93.136 8.307 7.521 1.00 0.00 O +ATOM 2512 CB MET x 296 94.910 10.589 6.377 1.00 0.00 C +ATOM 2513 CG MET x 296 95.460 11.345 5.221 1.00 0.00 C +ATOM 2514 SD MET x 296 95.128 13.114 5.258 1.00 0.00 S +ATOM 2515 CE MET x 296 93.363 13.182 4.953 1.00 0.00 C +ATOM 2516 N HIS x 297 95.180 8.077 8.473 1.00 0.00 N +ATOM 2517 CA HIS x 297 94.683 7.604 9.746 1.00 0.00 C +ATOM 2518 C HIS x 297 95.320 8.391 10.869 1.00 0.00 C +ATOM 2519 O HIS x 297 96.526 8.304 11.070 1.00 0.00 O +ATOM 2520 CB HIS x 297 94.996 6.161 9.909 1.00 0.00 C +ATOM 2521 CG HIS x 297 94.275 5.506 11.054 1.00 0.00 C +ATOM 2522 ND1 HIS x 297 93.033 4.918 10.924 1.00 0.00 N +ATOM 2523 CD2 HIS x 297 94.622 5.346 12.360 1.00 0.00 C +ATOM 2524 CE1 HIS x 297 92.659 4.417 12.086 1.00 0.00 C +ATOM 2525 NE2 HIS x 297 93.595 4.672 12.977 1.00 0.00 N +ATOM 2526 N PHE x 298 94.497 9.163 11.590 1.00 0.00 N +ATOM 2527 CA PHE x 298 94.915 9.851 12.825 1.00 0.00 C +ATOM 2528 C PHE x 298 94.283 9.194 14.033 1.00 0.00 C +ATOM 2529 O PHE x 298 93.029 9.129 14.173 1.00 0.00 O +ATOM 2530 CB PHE x 298 94.579 11.312 12.796 1.00 0.00 C +ATOM 2531 CG PHE x 298 94.942 12.010 11.526 1.00 0.00 C +ATOM 2532 CD1 PHE x 298 95.985 11.567 10.720 1.00 0.00 C +ATOM 2533 CD2 PHE x 298 94.207 13.111 11.103 1.00 0.00 C +ATOM 2534 CE1 PHE x 298 96.281 12.205 9.521 1.00 0.00 C +ATOM 2535 CE2 PHE x 298 94.526 13.774 9.891 1.00 0.00 C +ATOM 2536 CZ PHE x 298 95.552 13.330 9.129 1.00 0.00 C +ATOM 2537 N GLY x 299 95.127 8.635 14.883 1.00 0.00 N +ATOM 2538 CA GLY x 299 94.611 7.847 16.011 1.00 0.00 C +ATOM 2539 C GLY x 299 95.497 7.862 17.197 1.00 0.00 C +ATOM 2540 O GLY x 299 96.355 8.671 17.247 1.00 0.00 O +ATOM 2541 N ASN x 300 95.234 7.037 18.202 1.00 0.00 N +ATOM 2542 CA ASN x 300 96.093 7.080 19.400 1.00 0.00 C +ATOM 2543 C ASN x 300 97.008 5.879 19.319 1.00 0.00 C +ATOM 2544 O ASN x 300 96.799 4.937 18.564 1.00 0.00 O +ATOM 2545 CB ASN x 300 95.307 7.124 20.728 1.00 0.00 C +ATOM 2546 CG ASN x 300 94.441 8.375 20.892 1.00 0.00 C +ATOM 2547 OD1 ASN x 300 94.918 9.542 21.032 1.00 0.00 O +ATOM 2548 ND2 ASN x 300 93.116 8.132 20.859 1.00 0.00 N +ATOM 2549 OXT ASN x 300 98.007 5.840 19.973 1.00 0.00 O +TER 2550 ASN x 300 +ATOM 2551 N MET y 301 104.668 7.841 1.633 1.00 0.00 N +ATOM 2552 CA MET y 301 104.050 7.396 2.907 1.00 0.00 C +ATOM 2553 C MET y 301 104.729 8.148 4.038 1.00 0.00 C +ATOM 2554 O MET y 301 105.938 8.439 3.987 1.00 0.00 O +ATOM 2555 CB MET y 301 104.241 5.911 3.027 1.00 0.00 C +ATOM 2556 CG MET y 301 103.727 5.224 4.222 1.00 0.00 C +ATOM 2557 SD MET y 301 104.683 5.371 5.754 1.00 0.00 S +ATOM 2558 CE MET y 301 106.323 5.003 5.249 1.00 0.00 C +ATOM 2559 N MET y 302 103.971 8.477 5.073 1.00 0.00 N +ATOM 2560 CA MET y 302 104.583 9.079 6.308 1.00 0.00 C +ATOM 2561 C MET y 302 103.889 8.466 7.508 1.00 0.00 C +ATOM 2562 O MET y 302 102.649 8.307 7.521 1.00 0.00 O +ATOM 2563 CB MET y 302 104.423 10.589 6.377 1.00 0.00 C +ATOM 2564 CG MET y 302 104.973 11.345 5.221 1.00 0.00 C +ATOM 2565 SD MET y 302 104.641 13.114 5.258 1.00 0.00 S +ATOM 2566 CE MET y 302 102.876 13.182 4.953 1.00 0.00 C +ATOM 2567 N HIS y 303 104.693 8.077 8.473 1.00 0.00 N +ATOM 2568 CA HIS y 303 104.196 7.604 9.746 1.00 0.00 C +ATOM 2569 C HIS y 303 104.833 8.391 10.869 1.00 0.00 C +ATOM 2570 O HIS y 303 106.039 8.304 11.070 1.00 0.00 O +ATOM 2571 CB HIS y 303 104.509 6.161 9.909 1.00 0.00 C +ATOM 2572 CG HIS y 303 103.788 5.506 11.054 1.00 0.00 C +ATOM 2573 ND1 HIS y 303 102.546 4.918 10.924 1.00 0.00 N +ATOM 2574 CD2 HIS y 303 104.135 5.346 12.360 1.00 0.00 C +ATOM 2575 CE1 HIS y 303 102.172 4.417 12.086 1.00 0.00 C +ATOM 2576 NE2 HIS y 303 103.108 4.672 12.977 1.00 0.00 N +ATOM 2577 N PHE y 304 104.010 9.163 11.590 1.00 0.00 N +ATOM 2578 CA PHE y 304 104.428 9.851 12.825 1.00 0.00 C +ATOM 2579 C PHE y 304 103.796 9.194 14.033 1.00 0.00 C +ATOM 2580 O PHE y 304 102.542 9.129 14.173 1.00 0.00 O +ATOM 2581 CB PHE y 304 104.092 11.312 12.796 1.00 0.00 C +ATOM 2582 CG PHE y 304 104.455 12.010 11.526 1.00 0.00 C +ATOM 2583 CD1 PHE y 304 105.498 11.567 10.720 1.00 0.00 C +ATOM 2584 CD2 PHE y 304 103.720 13.111 11.103 1.00 0.00 C +ATOM 2585 CE1 PHE y 304 105.794 12.205 9.521 1.00 0.00 C +ATOM 2586 CE2 PHE y 304 104.039 13.774 9.891 1.00 0.00 C +ATOM 2587 CZ PHE y 304 105.065 13.330 9.129 1.00 0.00 C +ATOM 2588 N GLY y 305 104.640 8.635 14.883 1.00 0.00 N +ATOM 2589 CA GLY y 305 104.124 7.847 16.011 1.00 0.00 C +ATOM 2590 C GLY y 305 105.010 7.862 17.197 1.00 0.00 C +ATOM 2591 O GLY y 305 105.868 8.671 17.247 1.00 0.00 O +ATOM 2592 N ASN y 306 104.747 7.037 18.202 1.00 0.00 N +ATOM 2593 CA ASN y 306 105.606 7.080 19.400 1.00 0.00 C +ATOM 2594 C ASN y 306 106.521 5.879 19.319 1.00 0.00 C +ATOM 2595 O ASN y 306 106.312 4.937 18.564 1.00 0.00 O +ATOM 2596 CB ASN y 306 104.820 7.124 20.728 1.00 0.00 C +ATOM 2597 CG ASN y 306 103.954 8.375 20.892 1.00 0.00 C +ATOM 2598 OD1 ASN y 306 104.431 9.542 21.032 1.00 0.00 O +ATOM 2599 ND2 ASN y 306 102.629 8.132 20.859 1.00 0.00 N +ATOM 2600 OXT ASN y 306 107.520 5.840 19.973 1.00 0.00 O +TER 2601 ASN y 306 +ATOM 2602 N MET z 307 114.181 7.841 1.633 1.00 0.00 N +ATOM 2603 CA MET z 307 113.563 7.396 2.907 1.00 0.00 C +ATOM 2604 C MET z 307 114.242 8.148 4.038 1.00 0.00 C +ATOM 2605 O MET z 307 115.451 8.439 3.987 1.00 0.00 O +ATOM 2606 CB MET z 307 113.754 5.911 3.027 1.00 0.00 C +ATOM 2607 CG MET z 307 113.240 5.224 4.222 1.00 0.00 C +ATOM 2608 SD MET z 307 114.196 5.371 5.754 1.00 0.00 S +ATOM 2609 CE MET z 307 115.836 5.003 5.249 1.00 0.00 C +ATOM 2610 N MET z 308 113.484 8.477 5.073 1.00 0.00 N +ATOM 2611 CA MET z 308 114.096 9.079 6.308 1.00 0.00 C +ATOM 2612 C MET z 308 113.402 8.466 7.508 1.00 0.00 C +ATOM 2613 O MET z 308 112.162 8.307 7.521 1.00 0.00 O +ATOM 2614 CB MET z 308 113.936 10.589 6.377 1.00 0.00 C +ATOM 2615 CG MET z 308 114.486 11.345 5.221 1.00 0.00 C +ATOM 2616 SD MET z 308 114.154 13.114 5.258 1.00 0.00 S +ATOM 2617 CE MET z 308 112.389 13.182 4.953 1.00 0.00 C +ATOM 2618 N HIS z 309 114.206 8.077 8.473 1.00 0.00 N +ATOM 2619 CA HIS z 309 113.709 7.604 9.746 1.00 0.00 C +ATOM 2620 C HIS z 309 114.346 8.391 10.869 1.00 0.00 C +ATOM 2621 O HIS z 309 115.552 8.304 11.070 1.00 0.00 O +ATOM 2622 CB HIS z 309 114.022 6.161 9.909 1.00 0.00 C +ATOM 2623 CG HIS z 309 113.301 5.506 11.054 1.00 0.00 C +ATOM 2624 ND1 HIS z 309 112.059 4.918 10.924 1.00 0.00 N +ATOM 2625 CD2 HIS z 309 113.648 5.346 12.360 1.00 0.00 C +ATOM 2626 CE1 HIS z 309 111.685 4.417 12.086 1.00 0.00 C +ATOM 2627 NE2 HIS z 309 112.621 4.672 12.977 1.00 0.00 N +ATOM 2628 N PHE z 310 113.523 9.163 11.590 1.00 0.00 N +ATOM 2629 CA PHE z 310 113.941 9.851 12.825 1.00 0.00 C +ATOM 2630 C PHE z 310 113.309 9.194 14.033 1.00 0.00 C +ATOM 2631 O PHE z 310 112.055 9.129 14.173 1.00 0.00 O +ATOM 2632 CB PHE z 310 113.605 11.312 12.796 1.00 0.00 C +ATOM 2633 CG PHE z 310 113.968 12.010 11.526 1.00 0.00 C +ATOM 2634 CD1 PHE z 310 115.011 11.567 10.720 1.00 0.00 C +ATOM 2635 CD2 PHE z 310 113.233 13.111 11.103 1.00 0.00 C +ATOM 2636 CE1 PHE z 310 115.307 12.205 9.521 1.00 0.00 C +ATOM 2637 CE2 PHE z 310 113.552 13.774 9.891 1.00 0.00 C +ATOM 2638 CZ PHE z 310 114.578 13.330 9.129 1.00 0.00 C +ATOM 2639 N GLY z 311 114.153 8.635 14.883 1.00 0.00 N +ATOM 2640 CA GLY z 311 113.637 7.847 16.011 1.00 0.00 C +ATOM 2641 C GLY z 311 114.523 7.862 17.197 1.00 0.00 C +ATOM 2642 O GLY z 311 115.381 8.671 17.247 1.00 0.00 O +ATOM 2643 N ASN z 312 114.260 7.037 18.202 1.00 0.00 N +ATOM 2644 CA ASN z 312 115.119 7.080 19.400 1.00 0.00 C +ATOM 2645 C ASN z 312 116.034 5.879 19.319 1.00 0.00 C +ATOM 2646 O ASN z 312 115.825 4.937 18.564 1.00 0.00 O +ATOM 2647 CB ASN z 312 114.333 7.124 20.728 1.00 0.00 C +ATOM 2648 CG ASN z 312 113.467 8.375 20.892 1.00 0.00 C +ATOM 2649 OD1 ASN z 312 113.944 9.542 21.032 1.00 0.00 O +ATOM 2650 ND2 ASN z 312 112.142 8.132 20.859 1.00 0.00 N +ATOM 2651 OXT ASN z 312 117.033 5.840 19.973 1.00 0.00 O +TER 2652 ASN z 312 +END diff --git a/tests/data/24_3nve_rho.npy b/tests/data/24_3nve_rho.npy new file mode 100644 index 0000000..39ca834 Binary files /dev/null and b/tests/data/24_3nve_rho.npy differ diff --git a/tests/test_awsem_frustratometer.py b/tests/test_awsem_frustratometer.py index b1ff257..fc7e20b 100644 --- a/tests/test_awsem_frustratometer.py +++ b/tests/test_awsem_frustratometer.py @@ -41,6 +41,21 @@ def test_density_residues(test_data): print(f"Assertion failed: Maximum absolute tolerance found was {max_atol}, which exceeds the allowed tolerance.") raise AssertionError(f"Maximum absolute tolerance found was {max_atol}, which exceeds the allowed tolerance of 1E-3.") +@pytest.mark.parametrize("structure_file,density_file", [(test_data_path/f"0_3nve.pdb",test_data_path/f"0_3nve_rho.npy"),\ +(test_data_path/f"24_3nve.pdb",test_data_path/f"24_3nve_rho.npy")]) +def test_multichain_density(structure_file,density_file): + structure = frustratometer.Structure(structure_file) + sequence_separation = 2 + model = frustratometer.AWSEM(structure, distance_cutoff_contact=9.5, min_sequence_separation_rho=sequence_separation, k_electrostatics=0) + calculated_density = model.rho # rho is the N x N matrix of pairwise contributions to the density matrix + expected_density = np.load(density_file) + try: + assert np.allclose(calculated_density,expected_density,atol=1E-8) # should be no worse than machine precision, but this threshold is probably good enough + except AssertionError: + max_atol = np.max(np.abs(calculated_density-expected_density)) + print(f"Assertion failed: Maximum absolute difference found was {max_atol}, which exceeds the allowed tolerance.") + raise AssertionError(f"Maximum absolute difference found was {max_atol}, which exceeds the allowed tolerance of 1E-3.") + @pytest.mark.parametrize("test_data", tests_config.to_dict(orient="records")) def test_single_residue_frustration(test_data): structure = frustratometer.Structure(test_data_path/f"{test_data['pdb']}.pdb") @@ -96,9 +111,14 @@ def test_configurational_frustration(test_data): structure = frustratometer.Structure(test_data_path/f"{test_data['pdb']}.pdb") sequence_separation = 2 if test_data['seqsep'] == 3 else 13 + ########################################################################## + # i don't know (or forget) why we do this + # this causes what is currently test_data8 and test_data12 to always pass, + # which can be confusing when testing modifications to the main frustratometer code if test_data['k_electrostatics'] == 1000: assert True return + ########################################################################### model = frustratometer.AWSEM(structure, distance_cutoff_contact=9.5, min_sequence_separation_rho=sequence_separation,