es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Construyendo el nombre del archivo de salida a partir del nombre del archivo de entrada + sufijo en un bucle de Python.

Soy nuevo en Python y actualmente estoy enfrentando un problema que probablemente es fácil de resolver. Estoy usando un bucle for para hacer cálculos de manera iterativa en un gran número de archivos de entrada. El ciclo funciona, pero como estoy produciendo cuatro archivos de salida diferentes que contienen diferentes tipos de resultados de una entrada, me gustaría guardar el archivo de salida como (nombredelfichero de entrada) + (resultado) + (.extensión). Por ejemplo, si mi archivo de entrada se llama ‘1sl4.pdb’, me gustaría tener la salida como: ‘1sl4gnmzs.csv’. ¿Alguien tiene una buena idea para resolver esto? ¡Cualquier ayuda es apreciada!

Mejor,
Jonathan

Mi código se parece a esto:

paquetes

desde prody import *
desde numpy import *
importar numpy como np
desde matplotlib.pyplot import *
importar matplotlib.pyplot como plt
desde pandas importar *
importar pandas como pd
importar os
importar os.path

ion()

asignar directorio

directorio_pdb = ‘/home/lefebrej95/Documents/PDB’

datos_essa = []

iterar

para f en os.listdir(directorio_pdb):
si f.endswith (‘.pdb’): # selecciona el archivo que termina con pdb

átomos = parsePDB (directorio_pdb + '/' + f)
essa = ESSA ()
essa.setSystem (atoms)
essa.scanResidues ()

essa.getESSAZscores ()

datos seguros en .npy

essa.saveESSAZscores ()

datos seguros en .csv

essa.saveESSAZscorestoCSV ()

plt.clf ()

con style.context ({'figura.dpi': 100}):
    essa.showESSAProfile ()

trama segura a .png

    plt.savefig ()
    plt.show ()

datos seguros en .pdb

essa.writeESSAZscoresToPDB ()
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede usar la función os.path.splitext() para separar el nombre del archivo y la extensión del archivo de entrada. Luego, puede usar la concatenación de cadenas para crear el nombre del archivo de salida.

    Por ejemplo:

    asignar directorio

    pdb_directory = ‘/home/lefebrej95/Documents/PDB’

    data_essa = []

    iterar

    para f en os.listdir(pdb_directory):
    if f.endswith(‘.pdb’): # seleccionar archivo que termina con pdb

    # Separar el nombre del archivo y la extensión
    nombre de archivo, extensión de archivo = os.path.splitext(f)
    
    átomos = parsePDB(pdb_directory + '/' + f)
    essa = ESSA()
    essa.setSystem(atoms)
    essa.scanResidues()
    
    essa.getESSAZscores()
    

    guardar datos en .npy

    essa.saveESSAZscores(nombre de archivo + '_gnm_zs.npy')
    

    guardar datos en .csv

    essa.saveESSAZscorestoCSV(nombre de archivo + '_gnm_zs.csv')
    
    plt.clf()
    
    with style.context({'figure.dpi': 100}):
        essa.showESSAProfile()
    

    guardar gráfico en .png

        plt.savefig(nombre de archivo + '_gnm_zs.png')
        plt.show()
    

    guardar datos en .pdb

    essa.writeESSAZscoresToPDB(nombre de archivo + '_gnm_zs.pdb')
    

Comments are closed.