Crear tantas carpetas como ficheros PDB dentre de una ruta destinadas a hacer simulaciones de dinámica molecula.

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)








Última modificación: