Script de Python para crear tantas subcarpetas como ficheros *.yob existan dentro de una carpeta dada, y copiar dendro de cada una de ellas el fichero *.yob con el mismo nombre.
Cuando queremos iniciar varias simulaciones de dinámica molecular debemos tener cada fichero (pdb o yob) de estructura de proteína+ligando en una cartepa independiente. Este script crea esas carpetas y copia dentro de cada una de ellas el fichero *.yob con el mismo nombre.
import os
import shutil
# Ruta donde se buscarán los archivos .yob
ruta = r'D:\aaa'
# Listar todos los archivos en la ruta
archivos = os.listdir(ruta)
# Filtrar solo los archivos con extensión .yob
archivos_yob = [archivo for archivo in archivos if archivo.endswith('.yob')]
# Procesar cada archivo .yob
for archivo_yob in archivos_yob:
# Nombre del archivo sin la extensión .yob
nombre_carpeta = os.path.splitext(archivo_yob)[0]
# Ruta completa de la nueva carpeta
ruta_carpeta = os.path.join(ruta, nombre_carpeta)
# Crear la carpeta si no existe
os.makedirs(ruta_carpeta, exist_ok=True)
# Ruta completa del archivo .yob
ruta_archivo_yob = os.path.join(ruta, archivo_yob)
# Ruta destino dentro de la nueva carpeta
ruta_destino = os.path.join(ruta_carpeta, archivo_yob)
# Copiar el archivo .yob a la nueva carpeta
shutil.copy2(ruta_archivo_yob, ruta_destino)
print(f"Se han procesado {len(archivos_yob)} archivos .yob.")