Spaces:
Runtime error
Runtime error
| import numpy as np | |
| import os | |
| import json | |
| from tqdm import tqdm | |
| pdbs = os.listdir('alphafold_pdb') | |
| for pdb in tqdm(pdbs): | |
| pdb_lines = open(f"alphafold_pdb/{pdb}").read().splitlines() | |
| def add_noise_and_save(variance, file_name): | |
| with open(file_name, "w") as file: | |
| for line in pdb_lines: | |
| if line.startswith("ATOM"): | |
| parts = line.split() | |
| try: | |
| coords = np.array([float(parts[6]), float(parts[7]), float(parts[8])]) | |
| noise = np.random.normal(0, variance, coords.shape) | |
| new_coords = coords + noise | |
| new_line = f"{line[:30]}{new_coords[0]:8.3f}{new_coords[1]:8.3f}{new_coords[2]:8.3f}{line[54:]}" | |
| file.write(new_line + "\n") | |
| except: | |
| file.write(line + "\n") | |
| else: | |
| file.write(line + "\n") | |
| variances = [0.5] | |
| for variance in variances: | |
| file_name = f"alphafold_pdb_noise_{variance}/{pdb}" | |
| try: | |
| add_noise_and_save(variance, file_name) | |
| except Exception as e: | |
| print(e) | |
| print(pdb) | |