Spaces:
Runtime error
Runtime error
import argparse | |
import os | |
import sys | |
sys.path.append(os.getcwd()) | |
import warnings | |
warnings.filterwarnings("ignore") | |
from tqdm import tqdm | |
from Bio.PDB import PDBParser | |
from Bio.PDB.DSSP import DSSP | |
def process(args): | |
pdbs = sorted(os.listdir(args.pdb_dir)) | |
bar = tqdm(pdbs) | |
wrong_pdb = [] | |
for pdb in bar: | |
if os.path.exists(os.path.join(args.out_dir, pdb[:-4])): | |
continue | |
bar.set_postfix_str(f"{pdb}") | |
file = os.path.join(args.pdb_dir, pdb) | |
parser = PDBParser(QUIET=True) | |
structure = parser.get_structure("pdb", file) | |
model = structure[0] | |
try: | |
dssp = DSSP(model, file) | |
with open(os.path.join(args.out_dir, pdb[:-4]), "w") as f: | |
ss = "" | |
for residue in dssp: | |
ss += residue[2] | |
ss = ss.replace("-", "L") | |
f.write(ss) | |
except: | |
wrong_pdb.append(pdb) | |
print(wrong_pdb) | |
if __name__ == "__main__": | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--pdb_dir", type=str, default="data/MDH/pdb/process/PDB") | |
parser.add_argument("--out_dir", type=str, default="data/MDH/pdb/process/SS") | |
args = parser.parse_args() | |
process(args) |