El siguiente script de Python para ejecutar en Windows permite leer todos los ficheros con extensión *.pdb en la ruta c:\aaa y crear dentro de esa ruta tantas carpetas como ficheros *.pdb (también *.yob (si editas el script y cambias *.pdb por *.yob)) haya encontrado y las nombra con el nombre de cada fichero *.pdb pero sin la extensión *.pdb. Seguidamente copia en cada carpeta recién creada el fichero *.pdb cuyo nombre, sin extensión, coincida con el nombre de cada carpeta creada. Con todas estas nuevas carpetas y sus ficheros *.pdb/*.yob dentro de cada una de ellas se puede iniciar simulaciones de dinámica molecular.
import os
import shutil
def organizar_pdb_en_carpetas(ruta):
"""
Busca archivos .pdb en la ruta especificada, crea una carpeta por archivo (sin la extensión)
y copia cada archivo .pdb en su respectiva carpeta.
Parámetro:
- ruta (str): Ruta donde buscar los archivos .pdb y crear las carpetas.
"""
# Lista todos los archivos en la ruta especificada
archivos = [archivo for archivo in os.listdir(ruta) if archivo.endswith(".pdb")]
for archivo in archivos:
# Obtiene el nombre del archivo sin la extensión
nombre_carpeta = os.path.splitext(archivo)[0]
ruta_carpeta = os.path.join(ruta, nombre_carpeta)
# Crea la carpeta con el nombre del archivo (sin extensión)
os.makedirs(ruta_carpeta, exist_ok=True)
# Copia el archivo .pdb en la carpeta recién creada
ruta_archivo_origen = os.path.join(ruta, archivo)
ruta_archivo_destino = os.path.join(ruta_carpeta, archivo)
shutil.copy(ruta_archivo_origen, ruta_archivo_destino)
print(f"Archivo '{archivo}' copiado en carpeta '{nombre_carpeta}'.")
# Ejemplo de uso
ruta = "C:\\aaa" # Ruta en tu sistema Windows
organizar_pdb_en_carpetas(ruta)