import os import shutil import argparse from tqdm import tqdm if __name__ == '__main__': parser = argparse.ArgumentParser(description='data format converter') parser.add_argument("--input_dir", type=str, default=None, required=True) parser.add_argument("--output_dir", type=str, default=None, required=True) parser.add_argument("--format", type=str, default="REM2SSN", choices=['SSN2REM', 'REM2SSN'], required=True) args = parser.parse_args() os.makedirs(args.output_dir, exist_ok=True) if args.format == "REM2SSN": output_dir = os.path.join(args.output_dir, "DATASET") os.makedirs(output_dir, exist_ok=True) proteins = os.listdir(args.input_dir + "/aa_seq") for p in tqdm(proteins): protein_name = p.split(".")[0] out_protein_dir = os.path.join(output_dir, protein_name) os.makedirs(out_protein_dir, exist_ok=True) shutil.copyfile(f"{args.input_dir}/aa_seq/{protein_name}.fasta", f"{out_protein_dir}/{protein_name}.fasta") shutil.copyfile(f"{args.input_dir}/pdbs/{protein_name}.pdb", f"{out_protein_dir}/{protein_name}.pdb") shutil.copyfile(f"{args.input_dir}/substitutions/{protein_name}.csv", f"{out_protein_dir}/{protein_name}.csv") elif args.format == "SSN2REM": proteins = os.listdir(args.input_dir + "/DATASET") pdb_dir = os.path.join(args.output_dir, "pdbs") os.makedirs(pdb_dir, exist_ok=True) aa_seq_dir = os.path.join(args.output_dir, "aa_seq") os.makedirs(aa_seq_dir, exist_ok=True) substitutions_dir = os.path.join(args.output_dir, "substitutions") os.makedirs(substitutions_dir, exist_ok=True) for p in tqdm(proteins): protein_name = p out_protein_dir = os.path.join(args.output_dir, protein_name) os.makedirs(out_protein_dir, exist_ok=True) shutil.copyfile(f"{args.input_dir}/DATASET/{protein_name}/{protein_name}.fasta", f"{out_protein_dir}/{protein_name}.fasta") shutil.copyfile(f"{args.input_dir}/DATASET/{protein_name}/{protein_name}.pdb", f"{out_protein_dir}/{protein_name}.pdb") shutil.copyfile(f"{args.input_dir}/DATASET/{protein_name}/{protein_name}.csv", f"{out_protein_dir}/{protein_name}.csv")