Construcción de una librería de compuestos químicos comercialmente disponibles en MolPort en formato SDF y 3D destinada a simulaciones de molecular docking. A continuación se muestra scripts de Python para ejecutar en Windows, en mi caso por comodidad, desde Visial Studio Code y usando como kernel un entorno virtual creado con Miniconda3 que usa pandas, rdkit y otros módulos de Python.
Puedes empezar por solicitar un usuario a MolPort para que te deje acceso a su servidor FTP: altftp.molport.com de forma que puedas descargar los ficheros de texto con la información de los SMILES y Molport ID de las moleculas disponibles en cada momento a la venta, que lógicamente cambian, unas aparecen nuevas y otras dejan de estar disponibles. Para la construcción de esta versión de la base de datos que describo en este post, he descargado su base de datos completa, en forma de 102 ficheros comprimidos con tar.gz, cuya descompresión libera ficheros de texto con la información que ves en la figura inferior derecha.
Cada uno de los ficheros de texto descargado de MolPort tiene información en columnas seperadas por tabuladores. La primera tarea consiste en rescatar la información de las columnas: SMILES y MOLPORTID. Será muy util en este proceso largo y complejo guardar copias de los ficheros que generamos en cada paso. Algunos procesos tardan varias horas en ejecutarse completamente en una máquina con SO Windows 11 y procesador I7. Es probable que ejecutando en Linux se agilicen los tiempos de ejecuación pero será necesario adaptar los scripts de Python que están escritos para ejecutarse en Windows.
El siguiente script de Python, para ejecutar en Windows, busca en la carpeta D:\MolPort-database_v7\ todos los ficheros de texto con extensión *.txt y rescata de cada uno de ellos los valores de las columnas "SMILES" y "MOLPORTID". Genera de salida otro fichero de texto con el mismo nombre que el fichero de entrada más la cadena "-smiles". Ejemplo de nombre de fichero de entrada: fulldb_smiles-000-000-000--000-499-999.txt y de fichero de salida: fulldb_smiles-000-000-000--000-499-999-smiles.txt
Debes instalar pandas, si aún no lo tienes, usando desde la consola CMD (Administrador) la siguiente sintaxis:
pip install pandas
import os
import pandas as pd
# Ruta de la carpeta donde se encuentran los archivos
input_folder = r"D:\MolPort-database_v7"
# Iterar sobre todos los archivos en la carpeta
for file_name in os.listdir(input_folder):
if file_name.endswith(".txt"):
input_file_path = os.path.join(input_folder, file_name)
# Leer el archivo de entrada
try:
data = pd.read_csv(input_file_path, sep="\t") # Ajustar el separador si no es tabulación
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si las columnas "SMILES" y "MOLPORTID" existen
if "SMILES" in data.columns and "MOLPORTID" in data.columns:
output_data = data[["SMILES", "MOLPORTID"]]
output_file_name = f"{os.path.splitext(file_name)[0]}-smiles.txt"
output_file_path = os.path.join(input_folder, output_file_name)
# Guardar el archivo de salida
try:
output_data.to_csv(output_file_path, sep="\t", index=False)
print(f"Archivo generado: {output_file_path}")
except Exception as e:
print(f"Error al escribir el archivo {output_file_name}: {e}")
else:
print(f"El archivo {file_name} no contiene las columnas necesarias.")
Este ejemplo te muestra la información que has rescatado y te permite adevertir que MolPort te deja información que será necesario eliminar pensado en que vas a usar la base de datos para simulaciones de docking y necesitas ficheros SDF en los que cada molécula sea única, luego tendremos que eliminar iones, sales, etc. Los SMILES separados por "." (punto) indican que hay más de una molécula. Mi criterio es quedarme con la cadena de texto más grande de cada línea que tenga "." (punto) y eliminar todas las demás.
Necesito eliminar de cada fichero *-smiles.txt, generado con el script anterior, en la columna de SMILES aquellas cadenas de texto anteriores o posteriores a un punto "." La columna de SMILES tiene información que permite generar la estructura de moléculas en 3D y algunos valores de esta columna tienen más de una molécula, separadas por punto "."; por tanto, el script debe buscar en la ruta D:\MolPort-database_v7, en cada fichero cuyo nombre termine en "-smiles.txt" cadenas de texto que contengan punto "." , elimiminar todas las más pequeñas antes o después del "." y quedarse con la cadena más grande. De salida el script debe generar otro fichero de texto cuyo nombre sea el del fichero de entrada terminado en _sin-puntos.txt.
Ejemplo de nombre de fichero de entrada: fulldb_smiles-000-000-000--000-499-999-smiles.txt y de fichero de salida: fulldb_smiles-000-000-000--000-499-999_sin-puntos.txt. Vease la diferencia...
import os
import pandas as pd
# Ruta de la carpeta donde se encuentran los archivos
input_folder = r"D:\MolPort-database_v7"
# Iterar sobre todos los archivos en la carpeta
for file_name in os.listdir(input_folder):
if file_name.endswith("-smiles.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si la columna "SMILES" existe
if "SMILES" in data.columns:
smiles_column = data["SMILES"]
processed_smiles = []
removed_smiles = []
for entry in smiles_column:
if "." in entry:
# Dividir las cadenas por el punto y seleccionar la más larga
parts = entry.split(".")
largest_part = max(parts, key=len)
removed_parts = [part for part in parts if part != largest_part]
processed_smiles.append(largest_part)
removed_smiles.append(".".join(removed_parts))
else:
processed_smiles.append(entry)
removed_smiles.append("")
# Crear los DataFrames de salida
data["SMILES"] = processed_smiles
removed_data = pd.DataFrame({"SMILES Eliminado": removed_smiles})
# Generar nombres de archivo de salida
output_processed_file = os.path.join(input_folder, file_name.replace("-smiles.txt", "_sin-puntos.txt"))
output_removed_file = os.path.join(input_folder, file_name.replace("-smiles.txt", "_eliminado.txt"))
# Guardar los archivos de salida
try:
data.to_csv(output_processed_file, sep="\t", index=False)
removed_data.to_csv(output_removed_file, sep="\t", index=False)
print(f"Archivos generados: {output_processed_file}, {output_removed_file}")
except Exception as e:
print(f"Error al escribir archivos de salida para {file_name}: {e}")
else:
print(f"El archivo {file_name} no contiene la columna 'SMILES'.")
Necesitamos filtar esta libreria "monstruosa" y reducir el número de moléculas disponibles para simulaciones de molecular docking y para ello vamos a usar varios desciptores de esas moléculas que nos permitan descartar aquellas moléculas que no cumplan los rangos de valores de esos descriptores. Podemos tener en cuenta las reglas de Lipinski.
El siguiente script de Python, para ejecutar en Windows, busca en la ruta D:\MolPort-database_v7 todos los ficheros de texto cuyo nombre termine en _sin-puntos.txt y en los que en la primera columna encuentre SMILES y en la segunda MOLPORTID, para calcular el peso molecular de la molécula a la que da lugar cada smiles, los valores de logP, topological polar surface area: TPSA y número de enlaces rotables: RotatableBonds. Una vez calculados estos parámetros los colocará en columnas sucesivas, generando un nuevo fichero de salida cuyo nombre sea el del fichero de entrada añadiendo _MW_logP_TPSA_RotatableBonds.txt.
import os
import pandas as pd
from rdkit import Chem
from rdkit.Chem import Descriptors
# Ruta de la carpeta donde se encuentran los archivos
input_folder = r"D:\MolPort-database_v7"
# Iterar sobre todos los archivos en la carpeta
for file_name in os.listdir(input_folder):
if file_name.endswith("_sin-puntos.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si las columnas "SMILES" y "MOLPORTID" existen
if "SMILES" in data.columns and "MOLPORTID" in data.columns:
molecular_weights = []
logP_values = []
tpsa_values = []
# num_atoms_values = []
rotatable_bonds_values = []
for smiles in data["SMILES"]:
try:
# Convertir SMILES a una molécula RDKit
mol = Chem.MolFromSmiles(smiles)
if mol:
# Calcular descriptores
mw = Descriptors.MolWt(mol)
logP = Descriptors.MolLogP(mol)
tpsa = Descriptors.TPSA(mol)
rotatable_bonds = Descriptors.NumRotatableBonds(mol)
else:
mw = logP = tpsa = rotatable_bonds = None
except Exception as e:
print(f"Error al procesar SMILES {smiles} en archivo {file_name}: {e}")
mw = logP = tpsa = rotatable_bonds = None
molecular_weights.append(mw)
logP_values.append(logP)
tpsa_values.append(tpsa)
rotatable_bonds_values.append(rotatable_bonds)
# Agregar las columnas calculadas al DataFrame
data["MW"] = molecular_weights
data["logP"] = logP_values
data["TPSA"] = tpsa_values
data["RotatableBonds"] = rotatable_bonds_values
# Generar nombre de archivo de salida
output_file_path = os.path.join(input_folder, file_name.replace("_sin-puntos.txt", "_MW_logP_TPSA_RotatableBonds.txt"))
# Guardar el archivo de salida
try:
data.to_csv(output_file_path, sep="\t", index=False)
print(f"Archivo generado: {output_file_path}")
except Exception as e:
print(f"Error al escribir el archivo de salida para {file_name}: {e}")
else:
print(f"El archivo {file_name} no contiene las columnas necesarias 'SMILES' y 'MOLPORTID'.")
Cuando ya disponga de los ficheros de texto con los cuatro parámetros calculados: MW, logP, TPSA y RotatableBonds usaré el siguiente script de Python para filtrar compuestos con MW entre 300-750, logP menor o igual a 3, TPSA menor o igual a 140 y RotatableBonds menor o igual a 7.
El siguiente script de Python para ejecutar en Windows, lee todos los ficheros de texto en la ruta D:\MolPort-database_v7, cuyo nombre termine en "_MW_logP_TPSA_RotatableBonds.txt", que contienen seis columnas y en la primera columna tienen el valor de SMILES, en la tercera columna el peso molecular (MW), en la cuarta columna tiene el valor de logP, en la quinta columna tiene el valor de TPSA y detecta las moléculas con peso molecular mayor o igual a 300 y menor de 750, que además tengan un valor de logP menor o igual a 3, un valor de TPSA menor de 140 y 7 o menos enlaces rotables; generando un fichero de salida cuyo nombre sea el nombre el fichero de entrada sustituyendo "_MW_logP_TPSA_RotatableBonds.txt" por "_300-750_menor3_menor140_RotBonds7.txt"
import os
import pandas as pd
# Ruta de la carpeta donde se encuentran los archivos
input_folder = r"D:\MolPort-database_v7"
# Iterar sobre todos los archivos en la carpeta
for file_name in os.listdir(input_folder):
if file_name.endswith("_MW_logP_TPSA_RotatableBonds.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si las columnas necesarias existen
required_columns = ["SMILES", "MW", "logP", "TPSA", "RotatableBonds"]
if all(column in data.columns for column in required_columns):
try:
# Aplicar filtros
filtered_data = data[
(data["MW"] >= 300) & (data["MW"] < 750) &
(data["logP"] <= 3) &
(data["TPSA"] < 140) &
(data["RotatableBonds"] <= 7)
]
# Verificar si hay datos filtrados
if not filtered_data.empty:
# Generar nombre de archivo de salida
output_file_path = os.path.join(
input_folder,
file_name.replace("_MW_logP_TPSA_RotatableBonds.txt", "_300-750_menor3_menor140_RotBonds7.txt")
)
# Guardar el archivo de salida
filtered_data.to_csv(output_file_path, sep="\t", index=False)
print(f"Archivo generado: {output_file_path}")
else:
print(f"No se encontraron moléculas que cumplan los criterios en {file_name}.")
except Exception as e:
print(f"Error al filtrar o guardar datos para {file_name}: {e}")
else:
print(f"El archivo {file_name} no contiene las columnas necesarias {required_columns}.")
Las moléculas con carbonos asimétricos (4 sustituyentes diferentes o sea, con centros quirales) son un "dolor" en química médica... voy a separar las moléculas que llevo filtradas hasta este punto del proceso en "quirales" y "no quirales", de las primeras mi base de datos sólo contiene un estereosiómero de todos los posibles.
El siguiente script de Python para ejecutar en Windows, lee todos los ficheros de texto en la ruta D:\MolPort-database_v7 cuyo nombre termine en "_300-750_menor3_menor140_RotBonds7.txt" que contienen seis columnas y en la primera columna tienen el valor de SMILES, en la tercera columna el peso molecular (MW), en la cuarta columna tiene el valor de logP, en la quinta columna tiene el valor de TPSA y detecta las moléculas no quirales; generando un fichero de salida cuyo nombre sea el nombre el fichero de entrada en el que se sustituye "_300-750_menor3_menor140_RotBonds7.txt" por "_quiral.txt".
import os
import pandas as pd
from rdkit import Chem
# Ruta de entrada
directory = r"D:\\MolPort-database_v7"
# Función para detectar carbonos quirales
def detect_chiral(smiles):
try:
mol = Chem.MolFromSmiles(smiles)
if mol:
chiral_centers = Chem.FindMolChiralCenters(mol, includeUnassigned=True)
return len(chiral_centers) > 0
return False
except Exception as e:
print(f"Error procesando SMILES: {smiles}, {e}")
return False
# Procesar los archivos en la carpeta
for filename in os.listdir(directory):
if filename.endswith("_300-750_menor3_menor140_RotBonds7.txt"):
filepath = os.path.join(directory, filename)
# Leer el archivo en un DataFrame
try:
data = pd.read_csv(filepath, sep="\t", header=0)
# Comprobar que tiene las columnas esperadas
if "SMILES" in data.columns and "MOLPORTID" in data.columns:
# Filtrar moléculas quirales
chiral_molecules = data[data["SMILES"].apply(detect_chiral)]
# Generar el nombre del archivo de salida
output_filepath = os.path.join(directory, filename.replace("_300-750_menor3_menor140_RotBonds7.txt", "_quiral.txt"))
# Guardar el resultado en un nuevo archivo
if not chiral_molecules.empty:
chiral_molecules.to_csv(output_filepath, sep="\t", index=False)
print(f"Archivo generado: {output_filepath}")
else:
print(f"No se encontraron moléculas quirales en: {filename}")
else:
print(f"Archivo {filename} no contiene las columnas esperadas.")
except Exception as e:
print(f"Error procesando el archivo {filename}: {e}")
El script equivalente al anterior para detectar las moléculas no quirales.
import os
import pandas as pd
from rdkit import Chem
# Ruta de la carpeta donde se encuentran los archivos
input_folder = r"D:\MolPort-database_v7"
# Iterar sobre todos los archivos en la carpeta
for file_name in os.listdir(input_folder):
if file_name.endswith("_300-750_menor3_menor140_RotBonds7.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si la columna "SMILES" existe
if "SMILES" in data.columns:
non_chiral_rows = []
for _, row in data.iterrows():
smiles = row["SMILES"]
try:
# Convertir SMILES a una molécula RDKit
mol = Chem.MolFromSmiles(smiles)
if mol:
# Detectar si no tiene carbonos quirales
if not Chem.FindMolChiralCenters(mol, includeUnassigned=True):
non_chiral_rows.append(row)
except Exception as e:
print(f"Error al procesar SMILES {smiles} en archivo {file_name}: {e}")
# Crear un DataFrame con las filas no quirales
non_chiral_data = pd.DataFrame(non_chiral_rows)
# Generar el nombre del archivo de salida
output_file_path = os.path.join(input_folder, file_name.replace("_300-750_menor3_menor140_RotBonds7.txt", "_NO-quirales.txt"))
# Guardar el archivo de salida
try:
non_chiral_data.to_csv(output_file_path, sep="\t", index=False)
print(f"Archivo generado: {output_file_path}")
except Exception as e:
print(f"Error al escribir el archivo de salida para {file_name}: {e}")
else:
print(f"El archivo {file_name} no contiene la columna necesaria 'SMILES'.")
Para hacer simulaciones de acoplamiento molecular (docking) usando el software de YASARA necesitamos ficheros SDF que no contengan más de 3000 moléculas (pueden usarse ficheros con mayor número de moléculas pero la probabilidad de que el proceso se rompa es alta).
El siguiente script de Python lee en la ruta D:\MolPort-database_v7\07__filter_300-750_menor3_menor140_RotBonds7__kirales todos los ficheros cuyo nombre termine en _quiral.txt los divide en tantos ficheros de 3000 moléculas como sea necesario y los guarda, en la ruta D:\MolPort-database_v7\09_MP7_quiral_3000\, con las columnas SMILES y MOLPORTID.
import os
import pandas as pd
# Ruta de entrada y salida
input_folder = r"D:\MolPort-database_v7\07__filter_300-750_menor3_menor140_RotBonds7__kirales"
output_folder = r"D:\MolPort-database_v7\09_MP7_quiral_3000"
# Crear la carpeta de salida si no existe
os.makedirs(output_folder, exist_ok=True)
# Límite de moléculas por archivo
LIMIT = 3000
# Contador para los archivos de salida
file_counter = 1
# Buffer para acumular datos
accumulated_data = []
# Formatear el nombre del archivo de salida
def generate_output_filename(counter):
return os.path.join(output_folder, f"MP7-Q-{counter:04d}.txt")
# Función para guardar el buffer en un archivo
def save_to_file(data, counter):
output_file = generate_output_filename(counter)
with open(output_file, "w") as f:
for row in data:
f.write("\t".join(row) + "\n")
print(f"Archivo generado: {output_file}")
# Procesar los archivos de entrada
for file_name in os.listdir(input_folder):
if file_name.endswith("_quiral.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si las columnas SMILES y MOLPORTID existen
if "SMILES" in data.columns and "MOLPORTID" in data.columns:
for _, row in data.iterrows():
accumulated_data.append((row["SMILES"], row["MOLPORTID"]))
# Si alcanzamos el límite, guardar y resetear el buffer
if len(accumulated_data) >= LIMIT:
save_to_file(accumulated_data, file_counter)
file_counter += 1
accumulated_data = []
else:
print(f"El archivo {file_name} no contiene las columnas necesarias 'SMILES' y 'MOLPORTID'.")
# Guardar los datos restantes si hay alguno
if accumulated_data:
save_to_file(accumulated_data, file_counter)
El siguiente script de Python lee en la ruta D:\MolPort-database_v7\08__filter_300-750_menor3_menor140_RotBonds7__NO-kirales todos los ficheros cuyo nombre termine en _NO-quirales.txt los divide en tantos ficheros de 3000 moléculas como sea necesario y los guarda, en la ruta D:\MolPort-database_v7\10_MP7_no-quiral_3000\, con las columnas SMILES y MOLPORTID.
import os
import pandas as pd
# Ruta de entrada y salida
input_folder = r"D:\MolPort-database_v7\08__filter_300-750_menor3_menor140_RotBonds7__NO-kirales"
output_folder = r"D:\MolPort-database_v7\10_MP7_no-quiral_3000"
# Crear la carpeta de salida si no existe
os.makedirs(output_folder, exist_ok=True)
# Límite de moléculas por archivo
LIMIT = 3000
# Contador para los archivos de salida
file_counter = 1
# Buffer para acumular datos
accumulated_data = []
# Formatear el nombre del archivo de salida
def generate_output_filename(counter):
return os.path.join(output_folder, f"MP7-noQ-{counter:04d}.txt")
# Función para guardar el buffer en un archivo
def save_to_file(data, counter):
output_file = generate_output_filename(counter)
with open(output_file, "w") as f:
for row in data:
f.write("\t".join(row) + "\n")
print(f"Archivo generado: {output_file}")
# Procesar los archivos de entrada
for file_name in os.listdir(input_folder):
if file_name.endswith("_NO-quirales.txt"):
input_file_path = os.path.join(input_folder, file_name)
try:
# Leer el archivo de entrada
data = pd.read_csv(input_file_path, sep="\t")
except Exception as e:
print(f"Error al leer el archivo {file_name}: {e}")
continue
# Verificar si las columnas SMILES y MOLPORTID existen
if "SMILES" in data.columns and "MOLPORTID" in data.columns:
for _, row in data.iterrows():
accumulated_data.append((row["SMILES"], row["MOLPORTID"]))
# Si alcanzamos el límite, guardar y resetear el buffer
if len(accumulated_data) >= LIMIT:
save_to_file(accumulated_data, file_counter)
file_counter += 1
accumulated_data = []
else:
print(f"El archivo {file_name} no contiene las columnas necesarias 'SMILES' y 'MOLPORTID'.")
# Guardar los datos restantes si hay alguno
if accumulated_data:
save_to_file(accumulated_data, file_counter)
Ahora viene cuando observamos los números de vértigo: en la sección quirales tenemos 1678 ficheros de 3000 moléculas cada uno y 1 fichero con 2418 moléculas, todos ellos suman 5.0336.418 moléculas. En la sección no quirales tenemos 1633 ficheros de 3000 moléculas cada uno y 1 fichero con 1062 moléculas, todos ellos suman 4.900.062 moléculas.
Nuestra última tarea consiste en convertir esas 5.0336.418 + 4.900.062 moléculas en estructuras 3D protonadas, por ejemplo a pH 7.4 usando un script de YASARA.
libname='MP7-Q-0001'
Clear
for line in file (libname).txt
# Extraer SMILES y nombre
smiles,name=split line
# Construir SMILES
obj = BuildSMILES '(smiles)'
# Minimizar con NOVA para cerrar los enlaces largos que BuildSMILES dejó
# (La optimización QM no sabe dónde deben estar los enlaces)
Cell Auto,Extension=10
ph=7.4
ForceField NOVA,SetPar=yes
Experiment Minimization
Experiment On
Wait ExpEnd
# Optimizar con MOPAC para afinar la geometría
OptimizeObj (obj)
# Establecer el nombre del compuesto
CompoundMol Obj (obj),'(name)'
RemoveObj (obj)
# Guardar un único archivo SDF
AddObj all
SaveSDF !SimCell,(libname)
Pero YASARA es un poco lento ... y me parece mejor idea usar RDkit para conseguir convertir los ficheros de texto con SMILES y MOLPORTID en ficheros SDF con moléculas en 3D y utilizar MMFF94 como método de optimización geométrica. Para eso sirve el siguiente script de Python de ejecución en Windows y con los módulos pandas, numpy, RDkit y tqdm. El script descarta en la salida moléculas que contienen átomos no soportados antes de optimizar la geometría. Sólo las moléculas válidas se procesarán normalmente con hidrógenos añadidos y geometrías optimizadas.
import os
from rdkit import Chem
from rdkit.Chem import AllChem
from tqdm import tqdm
# Ruta de entrada y salida
ruta_entrada = r"D:\aaa"
ruta_salida = r"D:\aaa\salida_sdf"
# Crear la carpeta de salida si no existe
os.makedirs(ruta_salida, exist_ok=True)
# Función para optimizar geometría con MMFF94
def optimizar_con_mmff94(molecula):
try:
# Generar propiedades del campo de fuerza MMFF
props = AllChem.MMFFGetMoleculeProperties(molecula)
if props is None:
return None # Si no se pueden generar propiedades, devolver None
# Crear el campo de fuerza y optimizar
ff = AllChem.MMFFGetMoleculeForceField(molecula, props)
if ff is not None:
ff.Minimize()
return molecula
return None
except Exception as e:
print(f"Error durante la optimización con MMFF94: {e}")
return None
# Iterar sobre los archivos de la ruta de entrada
for archivo in os.listdir(ruta_entrada):
if archivo.endswith(".txt"):
ruta_archivo = os.path.join(ruta_entrada, archivo)
with open(ruta_archivo, 'r') as f:
lineas = f.readlines()
# Crear una lista para almacenar moléculas optimizadas
moleculas_optimizadas = []
print(f"Procesando archivo: {archivo}")
# Crear barra de progreso
for linea in tqdm(lineas, desc=f"Procesando moléculas en {archivo}", unit="mol"):
try:
smiles, nombre = linea.strip().split('\t')
molecula = Chem.MolFromSmiles(smiles)
if molecula is not None:
# Añadir hidrógenos
molecula = Chem.AddHs(molecula)
# Generar coordenadas 3D iniciales
if AllChem.EmbedMolecule(molecula, randomSeed=42) == 0:
# Optimizar con MMFF94
molecula_optimizada = optimizar_con_mmff94(molecula)
if molecula_optimizada is not None:
molecula_optimizada.SetProp("_Name", nombre)
moleculas_optimizadas.append(molecula_optimizada)
else:
print(f"No se pudo generar la molécula a partir de SMILES: {smiles}")
except Exception as e:
print(f"Error procesando la molécula {nombre} ({smiles}): {e}")
continue
# Escribir las moléculas optimizadas en formato SDF
if moleculas_optimizadas:
nombre_salida = os.path.splitext(archivo)[0] + ".sdf"
ruta_salida_archivo = os.path.join(ruta_salida, nombre_salida)
with Chem.SDWriter(ruta_salida_archivo) as escritor:
for mol in moleculas_optimizadas:
escritor.write(mol)
print(f"Procesado: {archivo}, moléculas optimizadas guardadas en {ruta_salida_archivo}")
El siguiente script de Python, para ejecutar en Linux, usa una lista contenida en la ruta /home/jant.encinar/py-linux/36_smiles-3D-sdf/lista_01.txt, con el nombre de los ficheros de texto en columnas separadas por tabulador, que contienen en la primera columna SMILES y en la segunda MOLPORTID, localizados en la misma ruta, para realizar la operación de conversión de SMILES a ficheros SDF con moléculas en 3D y utilizar MMFF94 como método de optimización geométrica.
# -*- coding: iso-8859-1 -*-
import os
from rdkit import Chem
from rdkit.Chem import AllChem
from tqdm import tqdm
# Rutas de entrada y salida
ruta_lista_archivos = "/home/jant.encinar/py-linux/36_smiles-3D-sdf/lista_01.txt"
ruta_salida = "/home/jant.encinar/py-linux/36_smiles-3D-sdf/salida_sdf"
# Crear la carpeta de salida si no existe
os.makedirs(ruta_salida, exist_ok=True)
# Función para optimizar geometría con MMFF94
def optimizar_con_mmff94(molecula):
try:
# Generar propiedades del campo de fuerza MMFF
props = AllChem.MMFFGetMoleculeProperties(molecula)
if props is None:
return None # Si no se pueden generar propiedades, devolver None
# Crear el campo de fuerza y optimizar
ff = AllChem.MMFFGetMoleculeForceField(molecula, props)
if ff is not None:
ff.Minimize()
return molecula
return None
except Exception as e:
print(f"Error durante la optimización con MMFF94: {e}")
return None
# Leer la lista de archivos
try:
with open(ruta_lista_archivos, 'r') as f:
lista_archivos = [linea.strip() for linea in f.readlines() if linea.strip()]
except FileNotFoundError:
print(f"No se encontró el archivo de lista: {ruta_lista_archivos}")
exit(1)
# Procesar cada archivo en la lista
for archivo in lista_archivos:
ruta_archivo = f"/home/jant.encinar/py-linux/36_smiles-3D-sdf/{archivo}.txt"
if not os.path.exists(ruta_archivo):
print(f"Archivo no encontrado: {ruta_archivo}")
continue
with open(ruta_archivo, 'r') as f:
lineas = f.readlines()
# Crear una lista para almacenar moléculas optimizadas
moleculas_optimizadas = []
print(f"Procesando archivo: {archivo}.txt")
# Crear barra de progreso
for linea in tqdm(lineas, desc=f"Procesando moléculas en {archivo}.txt", unit="mol"):
try:
smiles, nombre = linea.strip().split('\t')
molecula = Chem.MolFromSmiles(smiles)
if molecula is not None:
# Añadir hidrógenos
molecula = Chem.AddHs(molecula)
# Generar coordenadas 3D iniciales
if AllChem.EmbedMolecule(molecula, randomSeed=42) == 0:
# Optimizar con MMFF94
molecula_optimizada = optimizar_con_mmff94(molecula)
if molecula_optimizada is not None:
molecula_optimizada.SetProp("_Name", nombre)
moleculas_optimizadas.append(molecula_optimizada)
else:
print(f"No se pudo generar la molécula a partir de SMILES: {smiles}")
except Exception as e:
print(f"Error procesando la molécula {nombre} ({smiles}): {e}")
continue
# Escribir las moléculas optimizadas en formato SDF
if moleculas_optimizadas:
nombre_salida = f"{archivo}.sdf"
ruta_salida_archivo = os.path.join(ruta_salida, nombre_salida)
with Chem.SDWriter(ruta_salida_archivo) as escritor:
for mol in moleculas_optimizadas:
escritor.write(mol)
print(f"Procesado: {archivo}.txt, moléculas optimizadas guardadas en {ruta_salida_archivo}")
Antes de usar el script anterior, activa el entorno virtual (en mi caso se llama jant-molport) y ejecuta el script verifica.py para asegurarte de que tienen instalado pandas, numpy, tqdm y rdkit.
(base) [jant.encinar@castleblack 36_smiles-3D-sdf]$ conda install -c conda-forge rdkit
(base) [jant.encinar@castleblack 36_smiles-3D-sdf]$ conda update -n base -c conda-forge conda
(base) [jant.encinar@castleblack 36_smiles-3D-sdf]$ conda install -c conda-forge tqdm
(base) [jant.encinar@castleblack 36_smiles-3D-sdf]$ conda install pandas numpy
(base) [jant.encinar@castleblack 36_smiles-3D-sdf]$ conda activate jant-molport
(jant-molport) [jant.encinar@castleblack 36_smiles-3D-sdf]$ python3 verifica.py
Version instalada de pandas:
2.2.3
Version instalada de numpy:
2.2.0
Version instalada de tqdm:
4.67.1
Version instalada de RDkit:
2024.09.3
(jant-molport) [jant.encinar@castleblack 36_smiles-3D-sdf]$
Script verifica.py justo debajo...
import pandas as pd
import numpy as np
import tqdm
print("Version instalada de pandas")
print(pd.__version__)
print("Version instalada de numpy")
print(np.__version__)
print("Version instalada de tqdm")
print(tqdm.__version__)
from rdkit import rdBase
print("Version instalada de RDkit")
print(rdBase.rdkitVersion)
Con el siguiente script de Python para ejecutar en Windows vamos a contar el número de moléculas de nuestra libreria, tanto para cada fichero *.sdf como el total.
import os
from tqdm import tqdm # Para la barra de progreso
# Ruta donde se encuentran los archivos *.sdf
ruta_sdf = r"D:\MolPort-database_v7\11_MP7_quiral_sdf"
# Archivo de salida
archivo_salida = r"D:\MolPort-database_v7\11_MP7_quiral_sdf\_lista-sdf-quiral.txt"
def contar_moleculas_en_sdf(ruta_archivo):
"""Cuenta el número de moléculas en un archivo .sdf usando $$$$ como delimitador."""
try:
with open(ruta_archivo, 'r') as archivo:
contenido = archivo.read()
# Contar ocurrencias del delimitador $$$$
return contenido.count("$$$$")
except Exception as e:
print(f"Error leyendo {ruta_archivo}: {e}")
return 0
def procesar_archivos_sdf(ruta, salida):
"""Procesa todos los archivos .sdf en la ruta dada y genera un reporte."""
try:
# Lista de archivos en la ruta
archivos_sdf = [f for f in os.listdir(ruta) if f.endswith('.sdf')]
total_archivos = len(archivos_sdf)
# Verificar si hay archivos para procesar
if total_archivos == 0:
print("No se encontraron archivos .sdf en la ruta especificada.")
return
# Inicializar contador de moléculas totales
total_moleculas = 0
# Abrir archivo de salida para escribir resultados
with open(salida, 'w') as salida_file:
# Escribir encabezado
salida_file.write("Fichero\tNumero_de_moleculas\n")
# Procesar cada archivo .sdf con barra de progreso
for archivo in tqdm(archivos_sdf, desc="Procesando archivos", unit="archivo"):
ruta_completa = os.path.join(ruta, archivo)
num_moleculas = contar_moleculas_en_sdf(ruta_completa)
total_moleculas += num_moleculas
salida_file.write(f"{archivo}\t{num_moleculas}\n")
# Escribir total de moléculas al final del archivo
salida_file.write(f"\nTOTAL\t{total_moleculas}\n")
# Mostrar total en consola
print(f"\nProcesamiento completado. Total de moléculas: {total_moleculas}")
print(f"Reporte generado en: {salida}")
except Exception as e:
print(f"Error procesando archivos en {ruta}: {e}")
# Ejecutar la función principal
if __name__ == "__main__":
procesar_archivos_sdf(ruta_sdf, archivo_salida)
El siguiente script de Python crea tantos isómeros como sea posible de las moléculas contenidas en ficheros MP7-Q-****.sdf y, en la misma ruta, crea un fichero de salida con el mismo nombre que el del fichero de entrada pero añadiendo _isomeros.sdf.
import os
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem.EnumerateStereoisomers import EnumerateStereoisomers, StereoEnumerationOptions
from tqdm import tqdm
# Ruta donde se encuentran los archivos .sdf
ruta_sdf = r"D:\aaa"
def generar_isomeros_y_guardar(input_sdf, output_sdf):
"""Genera todos los isómeros de cada molécula en un archivo .sdf y los guarda en un nuevo archivo."""
try:
# Leer moléculas del archivo SDF
supl = Chem.SDMolSupplier(input_sdf, removeHs=False)
mols = [mol for mol in supl if mol is not None]
# Preparar archivo de salida
writer = Chem.SDWriter(output_sdf)
for mol_idx, mol in enumerate(tqdm(mols, desc=f"Procesando {os.path.basename(input_sdf)}", unit="mol")):
# Generar todos los isómeros posibles
options = StereoEnumerationOptions(onlyUnassigned=False)
isomeros = list(EnumerateStereoisomers(mol, options=options))
for iso_idx, isomero in enumerate(isomeros):
# Agregar hidrógenos y generar conformación 3D
isomero = Chem.AddHs(isomero)
AllChem.EmbedMolecule(isomero, randomSeed=42)
# Asignar nombre a cada isómero
isomero.SetProp("_Name", f"{mol.GetProp('_Name')}_{iso_idx + 1}" if mol.HasProp("_Name") else f"Mol_{mol_idx + 1}_{iso_idx + 1}")
# Escribir en el archivo de salida
writer.write(isomero)
writer.close()
except Exception as e:
print(f"Error procesando {input_sdf}: {e}")
def procesar_archivos_sdf(ruta):
"""Procesa todos los archivos .sdf en la ruta dada y genera los archivos de salida con isómeros."""
archivos_sdf = [f for f in os.listdir(ruta) if f.endswith('.sdf')]
if not archivos_sdf:
print("No se encontraron archivos .sdf en la ruta especificada.")
return
for archivo in archivos_sdf:
input_sdf = os.path.join(ruta, archivo)
output_sdf = os.path.join(ruta, f"{os.path.splitext(archivo)[0]}_isomeros.sdf")
print(f"\nGenerando isómeros para {archivo}...")
generar_isomeros_y_guardar(input_sdf, output_sdf)
# Ejecutar la función principal
if __name__ == "__main__":
procesar_archivos_sdf(ruta_sdf)
Una versión equivalente en Linux...
# -*- coding: utf-8 -*-
import os
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem.EnumerateStereoisomers import EnumerateStereoisomers, StereoEnumerationOptions
from tqdm import tqdm
# Ruta donde se encuentran los archivos .sdf
ruta_sdf = "/home/jant.encinar/runQuiral/Q12"
def generar_isomeros_y_guardar(input_sdf, output_sdf):
"""Genera todos los isomeros de cada molecula en un archivo .sdf y los guarda en un nuevo archivo."""
try:
# Leer moleculas del archivo SDF
supl = Chem.SDMolSupplier(input_sdf, removeHs=False)
mols = [mol for mol in supl if mol is not None]
# Preparar archivo de salida
writer = Chem.SDWriter(output_sdf)
for mol_idx, mol in enumerate(tqdm(mols, desc=f"Procesando {os.path.basename(input_sdf)}", unit="mol")):
# Generar todos los isomeros posibles
options = StereoEnumerationOptions(onlyUnassigned=False)
isomeros = list(EnumerateStereoisomers(mol, options=options))
for iso_idx, isomero in enumerate(isomeros):
# Agregar hidrogenos y generar conformacion 3D
isomero = Chem.AddHs(isomero)
AllChem.EmbedMolecule(isomero, randomSeed=42)
# Asignar nombre a cada isomero
isomero.SetProp("_Name", f"{mol.GetProp('_Name')}_{iso_idx + 1}" if mol.HasProp("_Name") else f"Mol_{mol_idx + 1}_{iso_idx + 1}")
# Escribir en el archivo de salida
writer.write(isomero)
writer.close()
except Exception as e:
print(f"Error procesando {input_sdf}: {e}")
def procesar_archivos_sdf(ruta):
"""Procesa todos los archivos .sdf en la ruta dada y genera los archivos de salida con isomeros."""
archivos_sdf = [f for f in os.listdir(ruta) if f.endswith('.sdf')]
if not archivos_sdf:
print("No se encontraron archivos .sdf en la ruta especificada.")
return
for archivo in archivos_sdf:
input_sdf = os.path.join(ruta, archivo)
output_sdf = os.path.join(ruta, f"{os.path.splitext(archivo)[0]}_isomeros.sdf")
print(f"\nGenerando isomeros para {archivo}...")
generar_isomeros_y_guardar(input_sdf, output_sdf)
# Ejecutar la funcion principal
if __name__ == "__main__":
procesar_archivos_sdf(ruta_sdf)
Una versión diferente en Linux...
# -*- coding: utf-8 -*-
import os
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem.EnumerateStereoisomers import EnumerateStereoisomers, StereoEnumerationOptions
from tqdm import tqdm
# Ruta donde se encuentran los archivos .sdf
ruta_sdf = "/home/jant.encinar/runQuiral/Q01"
def generar_isomeros_y_guardar(input_sdf, output_sdf):
"""Genera todos los isomeros de cada molecula en un archivo .sdf y los guarda en un nuevo archivo."""
try:
# Leer moleculas del archivo SDF
supl = Chem.SDMolSupplier(input_sdf, removeHs=False)
mols = [mol for mol in supl if mol is not None]
# Preparar archivo de salida
writer = Chem.SDWriter(output_sdf)
for mol_idx, mol in enumerate(tqdm(mols, desc=f"Procesando {os.path.basename(input_sdf)}", unit="mol")):
# Generar todos los isomeros posibles
options = StereoEnumerationOptions(onlyUnassigned=False)
isomeros = list(EnumerateStereoisomers(mol, options=options))
for iso_idx, isomero in enumerate(isomeros):
# Agregar hidrogenos y generar conformacion 3D
isomero = Chem.AddHs(isomero)
AllChem.EmbedMolecule(isomero, randomSeed=42)
# Asignar nombre a cada isomero
isomero.SetProp("_Name", f"{mol.GetProp('_Name')}_{iso_idx + 1}" if mol.HasProp("_Name") else f"Mol_{mol_idx + 1}_{iso_idx + 1}")
# Escribir en el archivo de salida
writer.write(isomero)
writer.close()
except Exception as e:
print(f"Error procesando {input_sdf}: {e}")
def procesar_archivos_sdf(ruta):
"""Procesa todos los archivos .sdf en la ruta dada y genera los archivos de salida con isomeros."""
archivos_sdf = [f for f in os.listdir(ruta) if f.endswith('.sdf')]
if not archivos_sdf:
print("No se encontraron archivos .sdf en la ruta especificada.")
return
for archivo in archivos_sdf:
input_sdf = os.path.join(ruta, archivo)
output_sdf = os.path.join(ruta, f"{os.path.splitext(archivo)[0]}_isomeros.sdf")
print(f"\nGenerando isomeros para {archivo}...")
generar_isomeros_y_guardar(input_sdf, output_sdf)
# Ejecutar la funcion principal
if __name__ == "__main__":
procesar_archivos_sdf(ruta_sdf)
Fichero Numero_de_moleculas
MP7-Q-0001_isomeros_3D.sdf 12696
MP7-Q-0002_isomeros_3D.sdf 7435
MP7-Q-0003_isomeros_3D.sdf 14922
MP7-Q-0004_isomeros_3D.sdf 9597
MP7-Q-0005_isomeros_3D.sdf 18442
MP7-Q-0006_isomeros_3D.sdf 19095
MP7-Q-0007_isomeros_3D.sdf 13696
MP7-Q-0008_isomeros_3D.sdf 8015
MP7-Q-0009_isomeros_3D.sdf 10909
MP7-Q-0010_isomeros_3D.sdf 8912
MP7-Q-0011_isomeros_3D.sdf 28627
MP7-Q-0012_isomeros_3D.sdf 20861
MP7-Q-0013_isomeros_3D.sdf 20326
MP7-Q-0014_isomeros_3D.sdf 11064
MP7-Q-0015_isomeros_3D.sdf 9808
MP7-Q-0016_isomeros_3D.sdf 11729
MP7-Q-0017_isomeros_3D.sdf 13149
MP7-Q-0018_isomeros_3D.sdf 12730
MP7-Q-0019_isomeros_3D.sdf 8423
MP7-Q-0020_isomeros_3D.sdf 10118
MP7-Q-0021_isomeros_3D.sdf 11117
MP7-Q-0022_isomeros_3D.sdf 16672
MP7-Q-0023_isomeros_3D.sdf 8739
MP7-Q-0024_isomeros_3D.sdf 44812
MP7-Q-0025_isomeros_3D.sdf 25745
MP7-Q-0026_isomeros_3D.sdf 22267
MP7-Q-0027_isomeros_3D.sdf 8422
MP7-Q-0028_isomeros_3D.sdf 9010
MP7-Q-0029_isomeros_3D.sdf 8494
MP7-Q-0030_isomeros_3D.sdf 11380
MP7-Q-0031_isomeros_3D.sdf 12774
MP7-Q-0032_isomeros_3D.sdf 8373
MP7-Q-0033_isomeros_3D.sdf 14545
MP7-Q-0034_isomeros_3D.sdf 11466
MP7-Q-0035_isomeros_3D.sdf 9487
MP7-Q-0036_isomeros_3D.sdf 15690
MP7-Q-0037_isomeros_3D.sdf 22650
MP7-Q-0038_isomeros_3D.sdf 7289
MP7-Q-0039_isomeros_3D.sdf 46277
MP7-Q-0040_isomeros_3D.sdf 14920
MP7-Q-0041_isomeros_3D.sdf 20784
MP7-Q-0042_isomeros_3D.sdf 12431
MP7-Q-0043_isomeros_3D.sdf 12774
MP7-Q-0044_isomeros_3D.sdf 9830
MP7-Q-0045_isomeros_3D.sdf 11643
MP7-Q-0046_isomeros_3D.sdf 18055
MP7-Q-0047_isomeros_3D.sdf 10250
MP7-Q-0048_isomeros_3D.sdf 7285
MP7-Q-0049_isomeros_3D.sdf 6264
MP7-Q-0050_isomeros_3D.sdf 6309
MP7-Q-0051_isomeros_3D.sdf 8082
MP7-Q-0052_isomeros_3D.sdf 7355
MP7-Q-0053_isomeros_3D.sdf 6976
MP7-Q-0054_isomeros_3D.sdf 7204
MP7-Q-0055_isomeros_3D.sdf 6665
MP7-Q-0056_isomeros_3D.sdf 7614
MP7-Q-0057_isomeros_3D.sdf 6742
MP7-Q-0058_isomeros_3D.sdf 6574
MP7-Q-0059_isomeros_3D.sdf 25729
MP7-Q-0060_isomeros_3D.sdf 11778
MP7-Q-0061_isomeros_3D.sdf 33835
MP7-Q-0062_isomeros_3D.sdf 7654
MP7-Q-0063_isomeros_3D.sdf 7299
MP7-Q-0064_isomeros_3D.sdf 7065
MP7-Q-0065_isomeros_3D.sdf 7365
MP7-Q-0066_isomeros_3D.sdf 6960
MP7-Q-0067_isomeros_3D.sdf 8258
MP7-Q-0068_isomeros_3D.sdf 7860
MP7-Q-0069_isomeros_3D.sdf 7665
MP7-Q-0070_isomeros_3D.sdf 7849
MP7-Q-0071_isomeros_3D.sdf 7294
MP7-Q-0072_isomeros_3D.sdf 7052
MP7-Q-0073_isomeros_3D.sdf 18764
MP7-Q-0074_isomeros_3D.sdf 9539
MP7-Q-0075_isomeros_3D.sdf 15212
MP7-Q-0076_isomeros_3D.sdf 6897
MP7-Q-0077_isomeros_3D.sdf 7195
MP7-Q-0078_isomeros_3D.sdf 7115
MP7-Q-0079_isomeros_3D.sdf 6986
MP7-Q-0080_isomeros_3D.sdf 7076
MP7-Q-0081_isomeros_3D.sdf 7039
MP7-Q-0082_isomeros_3D.sdf 6963
MP7-Q-0083_isomeros_3D.sdf 7154
MP7-Q-0084_isomeros_3D.sdf 7048
MP7-Q-0085_isomeros_3D.sdf 7082
MP7-Q-0086_isomeros_3D.sdf 7179
MP7-Q-0087_isomeros_3D.sdf 8657
MP7-Q-0088_isomeros_3D.sdf 7969
MP7-Q-0089_isomeros_3D.sdf 9028
MP7-Q-0090_isomeros_3D.sdf 7187
MP7-Q-0091_isomeros_3D.sdf 8480
MP7-Q-0092_isomeros_3D.sdf 6913
MP7-Q-0093_isomeros_3D.sdf 6893
MP7-Q-0094_isomeros_3D.sdf 6971
MP7-Q-0095_isomeros_3D.sdf 7034
MP7-Q-0096_isomeros_3D.sdf 6851
MP7-Q-0097_isomeros_3D.sdf 7134
MP7-Q-0098_isomeros_3D.sdf 7950
MP7-Q-0099_isomeros_3D.sdf 8159
MP7-Q-0100_isomeros_3D.sdf 7460
MP7-Q-0101_isomeros_3D.sdf 7850
MP7-Q-0102_isomeros_3D.sdf 18516
MP7-Q-0103_isomeros_3D.sdf 15458
MP7-Q-0104_isomeros_3D.sdf 33808
MP7-Q-0105_isomeros_3D.sdf 8208
MP7-Q-0106_isomeros_3D.sdf 29308
MP7-Q-0107_isomeros_3D.sdf 7465
MP7-Q-0108_isomeros_3D.sdf 9223
MP7-Q-0109_isomeros_3D.sdf 22440
MP7-Q-0110_isomeros_3D.sdf 6902
MP7-Q-0111_isomeros_3D.sdf 7556
MP7-Q-0112_isomeros_3D.sdf 23686
MP7-Q-0113_isomeros_3D.sdf 13665
MP7-Q-0114_isomeros_3D.sdf 21170
MP7-Q-0115_isomeros_3D.sdf 18774
MP7-Q-0116_isomeros_3D.sdf 8076
MP7-Q-0117_isomeros_3D.sdf 7878
MP7-Q-0118_isomeros_3D.sdf 6909
MP7-Q-0119_isomeros_3D.sdf 7491
MP7-Q-0120_isomeros_3D.sdf 7096
MP7-Q-0121_isomeros_3D.sdf 7039
MP7-Q-0122_isomeros_3D.sdf 7216
MP7-Q-0123_isomeros_3D.sdf 7249
MP7-Q-0124_isomeros_3D.sdf 7044
MP7-Q-0125_isomeros_3D.sdf 7471
MP7-Q-0126_isomeros_3D.sdf 7457
MP7-Q-0127_isomeros_3D.sdf 7241
MP7-Q-0128_isomeros_3D.sdf 7542
MP7-Q-0129_isomeros_3D.sdf 7489
MP7-Q-0130_isomeros_3D.sdf 7140
MP7-Q-0131_isomeros_3D.sdf 19475
MP7-Q-0132_isomeros_3D.sdf 8985
MP7-Q-0133_isomeros_3D.sdf 9439
MP7-Q-0134_isomeros_3D.sdf 8176
MP7-Q-0135_isomeros_3D.sdf 6539
MP7-Q-0136_isomeros_3D.sdf 6208
MP7-Q-0137_isomeros_3D.sdf 8116
MP7-Q-0138_isomeros_3D.sdf 13264
MP7-Q-0139_isomeros_3D.sdf 19805
MP7-Q-0140_isomeros_3D.sdf 8392
MP7-Q-0141_isomeros_3D.sdf 8766
MP7-Q-0142_isomeros_3D.sdf 10674
MP7-Q-0143_isomeros_3D.sdf 10412
MP7-Q-0144_isomeros_3D.sdf 9864
MP7-Q-0145_isomeros_3D.sdf 10735
MP7-Q-0146_isomeros_3D.sdf 6991
MP7-Q-0147_isomeros_3D.sdf 7303
MP7-Q-0148_isomeros_3D.sdf 6993
MP7-Q-0149_isomeros_3D.sdf 8492
MP7-Q-0150_isomeros_3D.sdf 7149
MP7-Q-0151_isomeros_3D.sdf 7100
MP7-Q-0152_isomeros_3D.sdf 8889
MP7-Q-0153_isomeros_3D.sdf 6499
MP7-Q-0154_isomeros_3D.sdf 6852
MP7-Q-0155_isomeros_3D.sdf 7058
MP7-Q-0156_isomeros_3D.sdf 6304
MP7-Q-0157_isomeros_3D.sdf 6531
MP7-Q-0158_isomeros_3D.sdf 6848
MP7-Q-0159_isomeros_3D.sdf 6242
MP7-Q-0160_isomeros_3D.sdf 10002
MP7-Q-0161_isomeros_3D.sdf 7262
MP7-Q-0162_isomeros_3D.sdf 7106
MP7-Q-0163_isomeros_3D.sdf 7701
MP7-Q-0164_isomeros_3D.sdf 10632
MP7-Q-0165_isomeros_3D.sdf 7243
MP7-Q-0166_isomeros_3D.sdf 9404
MP7-Q-0167_isomeros_3D.sdf 7726
MP7-Q-0168_isomeros_3D.sdf 7084
MP7-Q-0169_isomeros_3D.sdf 7889
MP7-Q-0170_isomeros_3D.sdf 3907
MP7-Q-0171_isomeros_3D.sdf 8245
MP7-Q-0172_isomeros_3D.sdf 7084
MP7-Q-0173_isomeros_3D.sdf 7236
MP7-Q-0174_isomeros_3D.sdf 7067
MP7-Q-0175_isomeros_3D.sdf 7210
MP7-Q-0176_isomeros_3D.sdf 7843
MP7-Q-0177_isomeros_3D.sdf 6953
MP7-Q-0178_isomeros_3D.sdf 7368
MP7-Q-0179_isomeros_3D.sdf 7263
MP7-Q-0180_isomeros_3D.sdf 7331
MP7-Q-0181_isomeros_3D.sdf 7757
MP7-Q-0182_isomeros_3D.sdf 7247
MP7-Q-0183_isomeros_3D.sdf 7487
MP7-Q-0184_isomeros_3D.sdf 8541
MP7-Q-0185_isomeros_3D.sdf 14094
MP7-Q-0186_isomeros_3D.sdf 7503
MP7-Q-0187_isomeros_3D.sdf 7419
MP7-Q-0188_isomeros_3D.sdf 7485
MP7-Q-0189_isomeros_3D.sdf 7472
MP7-Q-0190_isomeros_3D.sdf 7575
MP7-Q-0191_isomeros_3D.sdf 7725
MP7-Q-0192_isomeros_3D.sdf 7577
MP7-Q-0193_isomeros_3D.sdf 7356
MP7-Q-0194_isomeros_3D.sdf 7498
MP7-Q-0195_isomeros_3D.sdf 7653
MP7-Q-0196_isomeros_3D.sdf 7718
MP7-Q-0197_isomeros_3D.sdf 7587
MP7-Q-0198_isomeros_3D.sdf 7819
MP7-Q-0199_isomeros_3D.sdf 7718
MP7-Q-0200_isomeros_3D.sdf 8158
MP7-Q-0201_isomeros_3D.sdf 7355
MP7-Q-0202_isomeros_3D.sdf 7840
MP7-Q-0203_isomeros_3D.sdf 8038
MP7-Q-0204_isomeros_3D.sdf 9182
MP7-Q-0205_isomeros_3D.sdf 6736
MP7-Q-0206_isomeros_3D.sdf 6621
MP7-Q-0207_isomeros_3D.sdf 6211
MP7-Q-0208_isomeros_3D.sdf 6137
MP7-Q-0209_isomeros_3D.sdf 6328
MP7-Q-0210_isomeros_3D.sdf 6662
MP7-Q-0211_isomeros_3D.sdf 6993
MP7-Q-0212_isomeros_3D.sdf 7292
MP7-Q-0213_isomeros_3D.sdf 7377
MP7-Q-0214_isomeros_3D.sdf 7525
MP7-Q-0215_isomeros_3D.sdf 7177
MP7-Q-0216_isomeros_3D.sdf 7311
MP7-Q-0217_isomeros_3D.sdf 7071
MP7-Q-0218_isomeros_3D.sdf 7246
MP7-Q-0219_isomeros_3D.sdf 7202
MP7-Q-0220_isomeros_3D.sdf 7704
MP7-Q-0221_isomeros_3D.sdf 7420
MP7-Q-0222_isomeros_3D.sdf 7657
MP7-Q-0223_isomeros_3D.sdf 8494
MP7-Q-0224_isomeros_3D.sdf 8501
MP7-Q-0225_isomeros_3D.sdf 7551
MP7-Q-0226_isomeros_3D.sdf 10709
MP7-Q-0227_isomeros_3D.sdf 6811
MP7-Q-0228_isomeros_3D.sdf 7743
MP7-Q-0229_isomeros_3D.sdf 7059
MP7-Q-0230_isomeros_3D.sdf 7536
MP7-Q-0231_isomeros_3D.sdf 7716
MP7-Q-0232_isomeros_3D.sdf 7520
MP7-Q-0233_isomeros_3D.sdf 7019
MP7-Q-0234_isomeros_3D.sdf 8121
MP7-Q-0235_isomeros_3D.sdf 6887
MP7-Q-0236_isomeros_3D.sdf 8287
MP7-Q-0237_isomeros_3D.sdf 7618
MP7-Q-0238_isomeros_3D.sdf 8044
MP7-Q-0239_isomeros_3D.sdf 7518
MP7-Q-0240_isomeros_3D.sdf 7507
MP7-Q-0241_isomeros_3D.sdf 7464
MP7-Q-0242_isomeros_3D.sdf 6950
MP7-Q-0243_isomeros_3D.sdf 7503
MP7-Q-0244_isomeros_3D.sdf 7937
MP7-Q-0245_isomeros_3D.sdf 7110
MP7-Q-0246_isomeros_3D.sdf 8176
MP7-Q-0247_isomeros_3D.sdf 7288
MP7-Q-0248_isomeros_3D.sdf 7168
MP7-Q-0249_isomeros_3D.sdf 7592
MP7-Q-0250_isomeros_3D.sdf 7343
MP7-Q-0251_isomeros_3D.sdf 6922
MP7-Q-0252_isomeros_3D.sdf 7294
MP7-Q-0253_isomeros_3D.sdf 6725
MP7-Q-0254_isomeros_3D.sdf 7804
MP7-Q-0255_isomeros_3D.sdf 7144
MP7-Q-0256_isomeros_3D.sdf 4087
MP7-Q-0257_isomeros_3D.sdf 8248
MP7-Q-0258_isomeros_3D.sdf 7576
MP7-Q-0259_isomeros_3D.sdf 7410
MP7-Q-0260_isomeros_3D.sdf 7184
MP7-Q-0261_isomeros_3D.sdf 7251
MP7-Q-0262_isomeros_3D.sdf 7318
MP7-Q-0263_isomeros_3D.sdf 7144
MP7-Q-0264_isomeros_3D.sdf 7909
MP7-Q-0265_isomeros_3D.sdf 7325
MP7-Q-0266_isomeros_3D.sdf 7355
MP7-Q-0267_isomeros_3D.sdf 7770
MP7-Q-0268_isomeros_3D.sdf 7595
MP7-Q-0269_isomeros_3D.sdf 7942
MP7-Q-0270_isomeros_3D.sdf 8060
MP7-Q-0271_isomeros_3D.sdf 8190
MP7-Q-0272_isomeros_3D.sdf 7084
MP7-Q-0273_isomeros_3D.sdf 7520
MP7-Q-0274_isomeros_3D.sdf 7288
MP7-Q-0275_isomeros_3D.sdf 7024
MP7-Q-0276_isomeros_3D.sdf 8040
MP7-Q-0277_isomeros_3D.sdf 7107
MP7-Q-0278_isomeros_3D.sdf 7913
MP7-Q-0279_isomeros_3D.sdf 8519
MP7-Q-0280_isomeros_3D.sdf 7686
MP7-Q-0281_isomeros_3D.sdf 7154
MP7-Q-0282_isomeros_3D.sdf 7630
MP7-Q-0283_isomeros_3D.sdf 7868
MP7-Q-0284_isomeros_3D.sdf 7721
MP7-Q-0285_isomeros_3D.sdf 7826
MP7-Q-0286_isomeros_3D.sdf 7588
MP7-Q-0287_isomeros_3D.sdf 7576
MP7-Q-0288_isomeros_3D.sdf 7258
MP7-Q-0289_isomeros_3D.sdf 7185
MP7-Q-0290_isomeros_3D.sdf 7072
MP7-Q-0291_isomeros_3D.sdf 8194
MP7-Q-0292_isomeros_3D.sdf 7485
MP7-Q-0293_isomeros_3D.sdf 16963
MP7-Q-0294_isomeros_3D.sdf 9148
MP7-Q-0295_isomeros_3D.sdf 9317
MP7-Q-0296_isomeros_3D.sdf 13967
MP7-Q-0297_isomeros_3D.sdf 10961
MP7-Q-0298_isomeros_3D.sdf 10141
MP7-Q-0299_isomeros_3D.sdf 10435
MP7-Q-0300_isomeros_3D.sdf 8806
MP7-Q-0301_isomeros_3D.sdf 8558
MP7-Q-0302_isomeros_3D.sdf 9700
MP7-Q-0303_isomeros_3D.sdf 7938
MP7-Q-0304_isomeros_3D.sdf 9201
MP7-Q-0305_isomeros_3D.sdf 8649
MP7-Q-0306_isomeros_3D.sdf 8253
MP7-Q-0307_isomeros_3D.sdf 7714
MP7-Q-0308_isomeros_3D.sdf 6683
MP7-Q-0309_isomeros_3D.sdf 8384
MP7-Q-0310_isomeros_3D.sdf 7378
MP7-Q-0311_isomeros_3D.sdf 7180
MP7-Q-0312_isomeros_3D.sdf 7416
MP7-Q-0313_isomeros_3D.sdf 7440
MP7-Q-0314_isomeros_3D.sdf 7222
MP7-Q-0315_isomeros_3D.sdf 6987
MP7-Q-0316_isomeros_3D.sdf 12295
MP7-Q-0317_isomeros_3D.sdf 8590
MP7-Q-0318_isomeros_3D.sdf 7853
MP7-Q-0319_isomeros_3D.sdf 7177
MP7-Q-0320_isomeros_3D.sdf 8879
MP7-Q-0321_isomeros_3D.sdf 13310
MP7-Q-0322_isomeros_3D.sdf 12370
MP7-Q-0323_isomeros_3D.sdf 19557
MP7-Q-0324_isomeros_3D.sdf 10193
MP7-Q-0325_isomeros_3D.sdf 9996
MP7-Q-0326_isomeros_3D.sdf 11653
MP7-Q-0327_isomeros_3D.sdf 12325
MP7-Q-0328_isomeros_3D.sdf 7921
MP7-Q-0329_isomeros_3D.sdf 13059
MP7-Q-0330_isomeros_3D.sdf 12013
MP7-Q-0331_isomeros_3D.sdf 10064
MP7-Q-0332_isomeros_3D.sdf 8890
MP7-Q-0333_isomeros_3D.sdf 15883
MP7-Q-0334_isomeros_3D.sdf 8643
MP7-Q-0335_isomeros_3D.sdf 12734
MP7-Q-0336_isomeros_3D.sdf 8413
MP7-Q-0337_isomeros_3D.sdf 7542
MP7-Q-0338_isomeros_3D.sdf 8622
MP7-Q-0339_isomeros_3D.sdf 7165
MP7-Q-0340_isomeros_3D.sdf 10924
MP7-Q-0341_isomeros_3D.sdf 9480
MP7-Q-0342_isomeros_3D.sdf 8651
MP7-Q-0343_isomeros_3D.sdf 9577
MP7-Q-0344_isomeros_3D.sdf 16217
MP7-Q-0345_isomeros_3D.sdf 9139
MP7-Q-0346_isomeros_3D.sdf 8735
MP7-Q-0347_isomeros_3D.sdf 9984
MP7-Q-0348_isomeros_3D.sdf 10521
MP7-Q-0349_isomeros_3D.sdf 7582
MP7-Q-0350_isomeros_3D.sdf 9171
MP7-Q-0351_isomeros_3D.sdf 10727
MP7-Q-0352_isomeros_3D.sdf 8864
MP7-Q-0353_isomeros_3D.sdf 7374
MP7-Q-0354_isomeros_3D.sdf 7637
MP7-Q-0355_isomeros_3D.sdf 8158
MP7-Q-0356_isomeros_3D.sdf 14756
MP7-Q-0357_isomeros_3D.sdf 8380
MP7-Q-0358_isomeros_3D.sdf 7870
MP7-Q-0359_isomeros_3D.sdf 7905
MP7-Q-0360_isomeros_3D.sdf 8673
MP7-Q-0361_isomeros_3D.sdf 7931
MP7-Q-0362_isomeros_3D.sdf 8646
MP7-Q-0363_isomeros_3D.sdf 10256
MP7-Q-0364_isomeros_3D.sdf 8516
MP7-Q-0365_isomeros_3D.sdf 28017
MP7-Q-0366_isomeros_3D.sdf 8362
MP7-Q-0367_isomeros_3D.sdf 7608
MP7-Q-0368_isomeros_3D.sdf 8103
MP7-Q-0369_isomeros_3D.sdf 7647
MP7-Q-0370_isomeros_3D.sdf 8176
MP7-Q-0371_isomeros_3D.sdf 7517
MP7-Q-0372_isomeros_3D.sdf 8241
MP7-Q-0373_isomeros_3D.sdf 7976
MP7-Q-0374_isomeros_3D.sdf 7540
MP7-Q-0375_isomeros_3D.sdf 8164
MP7-Q-0376_isomeros_3D.sdf 7874
MP7-Q-0377_isomeros_3D.sdf 7416
MP7-Q-0378_isomeros_3D.sdf 8826
MP7-Q-0379_isomeros_3D.sdf 9898
MP7-Q-0380_isomeros_3D.sdf 10127
MP7-Q-0381_isomeros_3D.sdf 10002
MP7-Q-0382_isomeros_3D.sdf 10141
MP7-Q-0383_isomeros_3D.sdf 10017
MP7-Q-0384_isomeros_3D.sdf 10100
MP7-Q-0385_isomeros_3D.sdf 8908
MP7-Q-0386_isomeros_3D.sdf 6053
MP7-Q-0387_isomeros_3D.sdf 6186
MP7-Q-0388_isomeros_3D.sdf 6002
MP7-Q-0389_isomeros_3D.sdf 6046
MP7-Q-0390_isomeros_3D.sdf 6078
MP7-Q-0391_isomeros_3D.sdf 7973
MP7-Q-0392_isomeros_3D.sdf 8834
MP7-Q-0393_isomeros_3D.sdf 13752
MP7-Q-0394_isomeros_3D.sdf 9860
MP7-Q-0395_isomeros_3D.sdf 7818
MP7-Q-0396_isomeros_3D.sdf 7956
MP7-Q-0397_isomeros_3D.sdf 9749
MP7-Q-0398_isomeros_3D.sdf 8201
MP7-Q-0399_isomeros_3D.sdf 7111
MP7-Q-0400_isomeros_3D.sdf 7217
MP7-Q-0401_isomeros_3D.sdf 9276
MP7-Q-0402_isomeros_3D.sdf 8131
MP7-Q-0403_isomeros_3D.sdf 8126
MP7-Q-0404_isomeros_3D.sdf 7481
MP7-Q-0405_isomeros_3D.sdf 10440
MP7-Q-0406_isomeros_3D.sdf 13239
MP7-Q-0407_isomeros_3D.sdf 10988
MP7-Q-0408_isomeros_3D.sdf 8213
MP7-Q-0409_isomeros_3D.sdf 10872
MP7-Q-0410_isomeros_3D.sdf 8527
MP7-Q-0411_isomeros_3D.sdf 8546
MP7-Q-0412_isomeros_3D.sdf 8558
MP7-Q-0413_isomeros_3D.sdf 10521
MP7-Q-0414_isomeros_3D.sdf 23601
MP7-Q-0415_isomeros_3D.sdf 6432
MP7-Q-0416_isomeros_3D.sdf 8258
MP7-Q-0417_isomeros_3D.sdf 7357
MP7-Q-0418_isomeros_3D.sdf 8096
MP7-Q-0419_isomeros_3D.sdf 7500
MP7-Q-0420_isomeros_3D.sdf 6984
MP7-Q-0421_isomeros_3D.sdf 7678
MP7-Q-0422_isomeros_3D.sdf 8145
MP7-Q-0423_isomeros_3D.sdf 8854
MP7-Q-0424_isomeros_3D.sdf 10067
MP7-Q-0425_isomeros_3D.sdf 8277
MP7-Q-0426_isomeros_3D.sdf 7816
MP7-Q-0427_isomeros_3D.sdf 19423
MP7-Q-0428_isomeros_3D.sdf 8933
MP7-Q-0429_isomeros_3D.sdf 8542
MP7-Q-0430_isomeros_3D.sdf 8512
MP7-Q-0431_isomeros_3D.sdf 8749
MP7-Q-0432_isomeros_3D.sdf 16616
MP7-Q-0433_isomeros_3D.sdf 9625
MP7-Q-0434_isomeros_3D.sdf 7398
MP7-Q-0435_isomeros_3D.sdf 10370
MP7-Q-0436_isomeros_3D.sdf 8254
MP7-Q-0437_isomeros_3D.sdf 8195
MP7-Q-0438_isomeros_3D.sdf 7464
MP7-Q-0439_isomeros_3D.sdf 8365
MP7-Q-0440_isomeros_3D.sdf 7302
MP7-Q-0441_isomeros_3D.sdf 8006
MP7-Q-0442_isomeros_3D.sdf 7889
MP7-Q-0443_isomeros_3D.sdf 8593
MP7-Q-0444_isomeros_3D.sdf 10782
MP7-Q-0445_isomeros_3D.sdf 8250
MP7-Q-0446_isomeros_3D.sdf 8950
MP7-Q-0447_isomeros_3D.sdf 9161
MP7-Q-0448_isomeros_3D.sdf 7382
MP7-Q-0449_isomeros_3D.sdf 10406
MP7-Q-0450_isomeros_3D.sdf 7511
MP7-Q-0451_isomeros_3D.sdf 7772
MP7-Q-0452_isomeros_3D.sdf 8429
MP7-Q-0453_isomeros_3D.sdf 6902
MP7-Q-0454_isomeros_3D.sdf 16821
MP7-Q-0455_isomeros_3D.sdf 14102
MP7-Q-0456_isomeros_3D.sdf 6952
MP7-Q-0457_isomeros_3D.sdf 8559
MP7-Q-0458_isomeros_3D.sdf 8576
MP7-Q-0459_isomeros_3D.sdf 7601
MP7-Q-0460_isomeros_3D.sdf 9721
MP7-Q-0461_isomeros_3D.sdf 9285
MP7-Q-0462_isomeros_3D.sdf 8355
MP7-Q-0463_isomeros_3D.sdf 7683
MP7-Q-0464_isomeros_3D.sdf 10067
MP7-Q-0465_isomeros_3D.sdf 9903
MP7-Q-0466_isomeros_3D.sdf 9832
MP7-Q-0467_isomeros_3D.sdf 10231
MP7-Q-0468_isomeros_3D.sdf 7921
MP7-Q-0469_isomeros_3D.sdf 7573
MP7-Q-0470_isomeros_3D.sdf 11127
MP7-Q-0471_isomeros_3D.sdf 10266
MP7-Q-0472_isomeros_3D.sdf 9292
MP7-Q-0473_isomeros_3D.sdf 12041
MP7-Q-0474_isomeros_3D.sdf 8068
MP7-Q-0475_isomeros_3D.sdf 8376
MP7-Q-0476_isomeros_3D.sdf 10736
MP7-Q-0477_isomeros_3D.sdf 9050
MP7-Q-0478_isomeros_3D.sdf 9744
MP7-Q-0479_isomeros_3D.sdf 7541
MP7-Q-0480_isomeros_3D.sdf 6923
MP7-Q-0481_isomeros_3D.sdf 7499
MP7-Q-0482_isomeros_3D.sdf 8440
MP7-Q-0483_isomeros_3D.sdf 7820
MP7-Q-0484_isomeros_3D.sdf 7395
MP7-Q-0485_isomeros_3D.sdf 7568
MP7-Q-0486_isomeros_3D.sdf 7431
MP7-Q-0487_isomeros_3D.sdf 7064
MP7-Q-0488_isomeros_3D.sdf 7670
MP7-Q-0489_isomeros_3D.sdf 7250
MP7-Q-0490_isomeros_3D.sdf 9999
MP7-Q-0491_isomeros_3D.sdf 9870
MP7-Q-0492_isomeros_3D.sdf 8023
MP7-Q-0493_isomeros_3D.sdf 8977
MP7-Q-0494_isomeros_3D.sdf 8577
MP7-Q-0495_isomeros_3D.sdf 10256
MP7-Q-0496_isomeros_3D.sdf 8987
MP7-Q-0497_isomeros_3D.sdf 8868
MP7-Q-0498_isomeros_3D.sdf 9276
MP7-Q-0499_isomeros_3D.sdf 17713
MP7-Q-0500_isomeros_3D.sdf 8136
MP7-Q-0501_isomeros_3D.sdf 8590
MP7-Q-0502_isomeros_3D.sdf 8625
MP7-Q-0503_isomeros_3D.sdf 8737
MP7-Q-0504_isomeros_3D.sdf 16795
MP7-Q-0505_isomeros_3D.sdf 19883
MP7-Q-0506_isomeros_3D.sdf 8360
MP7-Q-0507_isomeros_3D.sdf 8346
MP7-Q-0508_isomeros_3D.sdf 8365
MP7-Q-0509_isomeros_3D.sdf 8295
MP7-Q-0510_isomeros_3D.sdf 8174
MP7-Q-0511_isomeros_3D.sdf 9144
MP7-Q-0512_isomeros_3D.sdf 9245
MP7-Q-0513_isomeros_3D.sdf 8764
MP7-Q-0514_isomeros_3D.sdf 12975
MP7-Q-0515_isomeros_3D.sdf 7727
MP7-Q-0516_isomeros_3D.sdf 7738
MP7-Q-0517_isomeros_3D.sdf 7667
MP7-Q-0518_isomeros_3D.sdf 7946
MP7-Q-0519_isomeros_3D.sdf 7759
MP7-Q-0520_isomeros_3D.sdf 7247
MP7-Q-0521_isomeros_3D.sdf 7436
MP7-Q-0522_isomeros_3D.sdf 7668
MP7-Q-0523_isomeros_3D.sdf 7925
MP7-Q-0524_isomeros_3D.sdf 8491
MP7-Q-0525_isomeros_3D.sdf 8359
MP7-Q-0526_isomeros_3D.sdf 8712
MP7-Q-0527_isomeros_3D.sdf 8480
MP7-Q-0528_isomeros_3D.sdf 7863
MP7-Q-0529_isomeros_3D.sdf 7407
MP7-Q-0530_isomeros_3D.sdf 7217
MP7-Q-0531_isomeros_3D.sdf 7529
MP7-Q-0532_isomeros_3D.sdf 7727
MP7-Q-0533_isomeros_3D.sdf 7887
MP7-Q-0534_isomeros_3D.sdf 8428
MP7-Q-0535_isomeros_3D.sdf 8318
MP7-Q-0536_isomeros_3D.sdf 8275
MP7-Q-0537_isomeros_3D.sdf 9031
MP7-Q-0538_isomeros_3D.sdf 14085
MP7-Q-0539_isomeros_3D.sdf 6236
MP7-Q-0540_isomeros_3D.sdf 7725
MP7-Q-0541_isomeros_3D.sdf 7472
MP7-Q-0542_isomeros_3D.sdf 7468
MP7-Q-0543_isomeros_3D.sdf 15218
MP7-Q-0544_isomeros_3D.sdf 8909
MP7-Q-0545_isomeros_3D.sdf 9212
MP7-Q-0546_isomeros_3D.sdf 8107
MP7-Q-0547_isomeros_3D.sdf 8237
MP7-Q-0548_isomeros_3D.sdf 8810
MP7-Q-0549_isomeros_3D.sdf 8546
MP7-Q-0550_isomeros_3D.sdf 9092
MP7-Q-0551_isomeros_3D.sdf 9001
MP7-Q-0552_isomeros_3D.sdf 10508
MP7-Q-0553_isomeros_3D.sdf 6984
MP7-Q-0554_isomeros_3D.sdf 8064
MP7-Q-0555_isomeros_3D.sdf 8004
MP7-Q-0556_isomeros_3D.sdf 12044
MP7-Q-0557_isomeros_3D.sdf 9776
MP7-Q-0558_isomeros_3D.sdf 8994
MP7-Q-0559_isomeros_3D.sdf 8963
MP7-Q-0560_isomeros_3D.sdf 8966
MP7-Q-0561_isomeros_3D.sdf 13102
MP7-Q-0562_isomeros_3D.sdf 8948
MP7-Q-0563_isomeros_3D.sdf 8649
MP7-Q-0564_isomeros_3D.sdf 9700
MP7-Q-0565_isomeros_3D.sdf 6829
MP7-Q-0566_isomeros_3D.sdf 9569
MP7-Q-0567_isomeros_3D.sdf 8323
MP7-Q-0568_isomeros_3D.sdf 7430
MP7-Q-0569_isomeros_3D.sdf 8156
MP7-Q-0570_isomeros_3D.sdf 11210
MP7-Q-0571_isomeros_3D.sdf 8365
MP7-Q-0572_isomeros_3D.sdf 8388
MP7-Q-0573_isomeros_3D.sdf 7573
MP7-Q-0574_isomeros_3D.sdf 9762
MP7-Q-0575_isomeros_3D.sdf 7211
MP7-Q-0576_isomeros_3D.sdf 9436
MP7-Q-0577_isomeros_3D.sdf 9297
MP7-Q-0578_isomeros_3D.sdf 8345
MP7-Q-0579_isomeros_3D.sdf 7287
MP7-Q-0580_isomeros_3D.sdf 7046
MP7-Q-0581_isomeros_3D.sdf 7773
MP7-Q-0582_isomeros_3D.sdf 7429
MP7-Q-0583_isomeros_3D.sdf 7605
MP7-Q-0584_isomeros_3D.sdf 10205
MP7-Q-0585_isomeros_3D.sdf 10986
MP7-Q-0586_isomeros_3D.sdf 9192
MP7-Q-0587_isomeros_3D.sdf 9221
MP7-Q-0588_isomeros_3D.sdf 9362
MP7-Q-0589_isomeros_3D.sdf 8828
MP7-Q-0590_isomeros_3D.sdf 7829
MP7-Q-0591_isomeros_3D.sdf 9266
MP7-Q-0592_isomeros_3D.sdf 12908
MP7-Q-0593_isomeros_3D.sdf 7232
MP7-Q-0594_isomeros_3D.sdf 7712
MP7-Q-0595_isomeros_3D.sdf 9257
MP7-Q-0596_isomeros_3D.sdf 9577
MP7-Q-0597_isomeros_3D.sdf 8293
MP7-Q-0598_isomeros_3D.sdf 8951
MP7-Q-0599_isomeros_3D.sdf 7837
MP7-Q-0600_isomeros_3D.sdf 8367
MP7-Q-0601_isomeros_3D.sdf 11446
MP7-Q-0602_isomeros_3D.sdf 8520
MP7-Q-0603_isomeros_3D.sdf 8310
MP7-Q-0604_isomeros_3D.sdf 9010
MP7-Q-0605_isomeros_3D.sdf 10451
MP7-Q-0606_isomeros_3D.sdf 8224
MP7-Q-0607_isomeros_3D.sdf 9630
MP7-Q-0608_isomeros_3D.sdf 9336
MP7-Q-0609_isomeros_3D.sdf 10129
MP7-Q-0610_isomeros_3D.sdf 7111
MP7-Q-0611_isomeros_3D.sdf 9045
MP7-Q-0612_isomeros_3D.sdf 8098
MP7-Q-0613_isomeros_3D.sdf 10890
MP7-Q-0614_isomeros_3D.sdf 13214
MP7-Q-0615_isomeros_3D.sdf 11460
MP7-Q-0616_isomeros_3D.sdf 11142
MP7-Q-0617_isomeros_3D.sdf 7471
MP7-Q-0618_isomeros_3D.sdf 7145
MP7-Q-0619_isomeros_3D.sdf 10497
MP7-Q-0620_isomeros_3D.sdf 9406
MP7-Q-0621_isomeros_3D.sdf 7330
MP7-Q-0622_isomeros_3D.sdf 8315
MP7-Q-0623_isomeros_3D.sdf 7672
MP7-Q-0624_isomeros_3D.sdf 7518
MP7-Q-0625_isomeros_3D.sdf 8534
MP7-Q-0626_isomeros_3D.sdf 8264
MP7-Q-0627_isomeros_3D.sdf 8135
MP7-Q-0628_isomeros_3D.sdf 9185
MP7-Q-0629_isomeros_3D.sdf 8446
MP7-Q-0630_isomeros_3D.sdf 10408
MP7-Q-0631_isomeros_3D.sdf 9217
MP7-Q-0632_isomeros_3D.sdf 9371
MP7-Q-0633_isomeros_3D.sdf 8769
MP7-Q-0634_isomeros_3D.sdf 9145
MP7-Q-0635_isomeros_3D.sdf 11774
MP7-Q-0636_isomeros_3D.sdf 9080
MP7-Q-0637_isomeros_3D.sdf 8517
MP7-Q-0638_isomeros_3D.sdf 8639
MP7-Q-0639_isomeros_3D.sdf 11424
MP7-Q-0640_isomeros_3D.sdf 7687
MP7-Q-0641_isomeros_3D.sdf 6737
MP7-Q-0642_isomeros_3D.sdf 11627
MP7-Q-0643_isomeros_3D.sdf 7686
MP7-Q-0644_isomeros_3D.sdf 7873
MP7-Q-0645_isomeros_3D.sdf 7507
MP7-Q-0646_isomeros_3D.sdf 7542
MP7-Q-0647_isomeros_3D.sdf 8139
MP7-Q-0648_isomeros_3D.sdf 8403
MP7-Q-0649_isomeros_3D.sdf 7442
MP7-Q-0650_isomeros_3D.sdf 7386
MP7-Q-0651_isomeros_3D.sdf 7287
MP7-Q-0652_isomeros_3D.sdf 13683
MP7-Q-0653_isomeros_3D.sdf 6577
MP7-Q-0654_isomeros_3D.sdf 8538
MP7-Q-0655_isomeros_3D.sdf 9872
MP7-Q-0656_isomeros_3D.sdf 10290
MP7-Q-0657_isomeros_3D.sdf 8100
MP7-Q-0658_isomeros_3D.sdf 9362
MP7-Q-0659_isomeros_3D.sdf 7201
MP7-Q-0660_isomeros_3D.sdf 13213
MP7-Q-0661_isomeros_3D.sdf 5017
MP7-Q-0662_isomeros_3D.sdf 6839
MP7-Q-0663_isomeros_3D.sdf 7368
MP7-Q-0664_isomeros_3D.sdf 6841
MP7-Q-0665_isomeros_3D.sdf 6703
MP7-Q-0666_isomeros_3D.sdf 7240
MP7-Q-0667_isomeros_3D.sdf 9604
MP7-Q-0668_isomeros_3D.sdf 13048
MP7-Q-0669_isomeros_3D.sdf 7622
MP7-Q-0670_isomeros_3D.sdf 8243
MP7-Q-0671_isomeros_3D.sdf 7954
MP7-Q-0672_isomeros_3D.sdf 7561
MP7-Q-0673_isomeros_3D.sdf 7346
MP7-Q-0674_isomeros_3D.sdf 6481
MP7-Q-0675_isomeros_3D.sdf 6669
MP7-Q-0676_isomeros_3D.sdf 7094
MP7-Q-0677_isomeros_3D.sdf 6843
MP7-Q-0678_isomeros_3D.sdf 7120
MP7-Q-0679_isomeros_3D.sdf 7016
MP7-Q-0680_isomeros_3D.sdf 7145
MP7-Q-0681_isomeros_3D.sdf 6548
MP7-Q-0682_isomeros_3D.sdf 7166
MP7-Q-0683_isomeros_3D.sdf 6836
MP7-Q-0684_isomeros_3D.sdf 6506
MP7-Q-0685_isomeros_3D.sdf 6400
MP7-Q-0686_isomeros_3D.sdf 6669
MP7-Q-0687_isomeros_3D.sdf 7504
MP7-Q-0688_isomeros_3D.sdf 8002
MP7-Q-0689_isomeros_3D.sdf 8184
MP7-Q-0690_isomeros_3D.sdf 11682
MP7-Q-0691_isomeros_3D.sdf 18809
MP7-Q-0692_isomeros_3D.sdf 14238
MP7-Q-0693_isomeros_3D.sdf 14150
MP7-Q-0694_isomeros_3D.sdf 13983
MP7-Q-0695_isomeros_3D.sdf 13706
MP7-Q-0696_isomeros_3D.sdf 13397
MP7-Q-0697_isomeros_3D.sdf 7355
MP7-Q-0698_isomeros_3D.sdf 7353
MP7-Q-0699_isomeros_3D.sdf 10223
MP7-Q-0700_isomeros_3D.sdf 7560
MP7-Q-0701_isomeros_3D.sdf 8779
MP7-Q-0702_isomeros_3D.sdf 9543
MP7-Q-0703_isomeros_3D.sdf 9365
MP7-Q-0704_isomeros_3D.sdf 9030
MP7-Q-0705_isomeros_3D.sdf 9370
MP7-Q-0706_isomeros_3D.sdf 7592
MP7-Q-0707_isomeros_3D.sdf 9555
MP7-Q-0708_isomeros_3D.sdf 8569
MP7-Q-0709_isomeros_3D.sdf 9009
MP7-Q-0710_isomeros_3D.sdf 9416
MP7-Q-0711_isomeros_3D.sdf 9222
MP7-Q-0712_isomeros_3D.sdf 7435
MP7-Q-0713_isomeros_3D.sdf 7363
MP7-Q-0714_isomeros_3D.sdf 19364
MP7-Q-0715_isomeros_3D.sdf 8446
MP7-Q-0716_isomeros_3D.sdf 9760
MP7-Q-0717_isomeros_3D.sdf 30979
MP7-Q-0718_isomeros_3D.sdf 9757
MP7-Q-0719_isomeros_3D.sdf 16386
MP7-Q-0720_isomeros_3D.sdf 11302
MP7-Q-0721_isomeros_3D.sdf 10812
MP7-Q-0722_isomeros_3D.sdf 11094
MP7-Q-0723_isomeros_3D.sdf 10194
MP7-Q-0724_isomeros_3D.sdf 10688
MP7-Q-0725_isomeros_3D.sdf 12552
MP7-Q-0726_isomeros_3D.sdf 11700
MP7-Q-0727_isomeros_3D.sdf 10826
MP7-Q-0728_isomeros_3D.sdf 10390
MP7-Q-0729_isomeros_3D.sdf 9983
MP7-Q-0730_isomeros_3D.sdf 10309
MP7-Q-0731_isomeros_3D.sdf 9703
MP7-Q-0732_isomeros_3D.sdf 11402
MP7-Q-0733_isomeros_3D.sdf 10897
MP7-Q-0734_isomeros_3D.sdf 9206
MP7-Q-0735_isomeros_3D.sdf 9302
MP7-Q-0736_isomeros_3D.sdf 10169
MP7-Q-0737_isomeros_3D.sdf 9033
MP7-Q-0738_isomeros_3D.sdf 9762
MP7-Q-0739_isomeros_3D.sdf 8824
MP7-Q-0740_isomeros_3D.sdf 9178
MP7-Q-0741_isomeros_3D.sdf 12680
MP7-Q-0742_isomeros_3D.sdf 11852
MP7-Q-0743_isomeros_3D.sdf 12683
MP7-Q-0744_isomeros_3D.sdf 11351
MP7-Q-0745_isomeros_3D.sdf 15198
MP7-Q-0746_isomeros_3D.sdf 15325
MP7-Q-0747_isomeros_3D.sdf 12792
MP7-Q-0748_isomeros_3D.sdf 12435
MP7-Q-0749_isomeros_3D.sdf 10487
MP7-Q-0750_isomeros_3D.sdf 11037
MP7-Q-0751_isomeros_3D.sdf 12405
MP7-Q-0752_isomeros_3D.sdf 11782
MP7-Q-0753_isomeros_3D.sdf 13785
MP7-Q-0754_isomeros_3D.sdf 13144
MP7-Q-0755_isomeros_3D.sdf 10797
MP7-Q-0756_isomeros_3D.sdf 13255
MP7-Q-0757_isomeros_3D.sdf 12132
MP7-Q-0758_isomeros_3D.sdf 11140
MP7-Q-0759_isomeros_3D.sdf 16307
MP7-Q-0760_isomeros_3D.sdf 16915
MP7-Q-0761_isomeros_3D.sdf 11462
MP7-Q-0762_isomeros_3D.sdf 11422
MP7-Q-0763_isomeros_3D.sdf 11951
MP7-Q-0764_isomeros_3D.sdf 10681
MP7-Q-0765_isomeros_3D.sdf 10459
MP7-Q-0766_isomeros_3D.sdf 12399
MP7-Q-0767_isomeros_3D.sdf 12983
MP7-Q-0768_isomeros_3D.sdf 11072
MP7-Q-0769_isomeros_3D.sdf 15782
MP7-Q-0770_isomeros_3D.sdf 12469
MP7-Q-0771_isomeros_3D.sdf 10884
MP7-Q-0772_isomeros_3D.sdf 13270
MP7-Q-0773_isomeros_3D.sdf 4501
MP7-Q-0774_isomeros_3D.sdf 12979
MP7-Q-0775_isomeros_3D.sdf 15312
MP7-Q-0776_isomeros_3D.sdf 14553
MP7-Q-0777_isomeros_3D.sdf 14311
MP7-Q-0778_isomeros_3D.sdf 14042
MP7-Q-0779_isomeros_3D.sdf 15056
MP7-Q-0780_isomeros_3D.sdf 14504
MP7-Q-0781_isomeros_3D.sdf 16703
MP7-Q-0782_isomeros_3D.sdf 16126
MP7-Q-0783_isomeros_3D.sdf 15128
MP7-Q-0784_isomeros_3D.sdf 13280
MP7-Q-0785_isomeros_3D.sdf 12011
MP7-Q-0786_isomeros_3D.sdf 12333
MP7-Q-0787_isomeros_3D.sdf 12724
MP7-Q-0788_isomeros_3D.sdf 13567
MP7-Q-0789_isomeros_3D.sdf 13779
MP7-Q-0790_isomeros_3D.sdf 13671
MP7-Q-0791_isomeros_3D.sdf 12786
MP7-Q-0792_isomeros_3D.sdf 11717
MP7-Q-0793_isomeros_3D.sdf 12286
MP7-Q-0794_isomeros_3D.sdf 7292
MP7-Q-0795_isomeros_3D.sdf 16354
MP7-Q-0796_isomeros_3D.sdf 16419
MP7-Q-0797_isomeros_3D.sdf 15046
MP7-Q-0798_isomeros_3D.sdf 14915
MP7-Q-0799_isomeros_3D.sdf 13025
MP7-Q-0800_isomeros_3D.sdf 12341
MP7-Q-0801_isomeros_3D.sdf 14639
MP7-Q-0802_isomeros_3D.sdf 13949
MP7-Q-0803_isomeros_3D.sdf 13635
MP7-Q-0804_isomeros_3D.sdf 14342
MP7-Q-0805_isomeros_3D.sdf 12853
MP7-Q-0806_isomeros_3D.sdf 10938
MP7-Q-0807_isomeros_3D.sdf 12444
MP7-Q-0808_isomeros_3D.sdf 13140
MP7-Q-0809_isomeros_3D.sdf 15953
MP7-Q-0810_isomeros_3D.sdf 16411
MP7-Q-0811_isomeros_3D.sdf 19095
MP7-Q-0812_isomeros_3D.sdf 14308
MP7-Q-0813_isomeros_3D.sdf 20129
MP7-Q-0814_isomeros_3D.sdf 15260
MP7-Q-0815_isomeros_3D.sdf 15783
MP7-Q-0816_isomeros_3D.sdf 15744
MP7-Q-0817_isomeros_3D.sdf 17375
MP7-Q-0818_isomeros_3D.sdf 13185
MP7-Q-0819_isomeros_3D.sdf 13557
MP7-Q-0820_isomeros_3D.sdf 13864
MP7-Q-0821_isomeros_3D.sdf 13298
MP7-Q-0822_isomeros_3D.sdf 12196
MP7-Q-0823_isomeros_3D.sdf 14541
MP7-Q-0824_isomeros_3D.sdf 14307
MP7-Q-0825_isomeros_3D.sdf 13638
MP7-Q-0826_isomeros_3D.sdf 12870
MP7-Q-0827_isomeros_3D.sdf 13787
MP7-Q-0828_isomeros_3D.sdf 14263
MP7-Q-0829_isomeros_3D.sdf 14189
MP7-Q-0830_isomeros_3D.sdf 13398
MP7-Q-0831_isomeros_3D.sdf 14189
MP7-Q-0832_isomeros_3D.sdf 4651
MP7-Q-0833_isomeros_3D.sdf 16571
MP7-Q-0834_isomeros_3D.sdf 16803
MP7-Q-0835_isomeros_3D.sdf 16532
MP7-Q-0836_isomeros_3D.sdf 18326
MP7-Q-0837_isomeros_3D.sdf 16910
MP7-Q-0838_isomeros_3D.sdf 16753
MP7-Q-0839_isomeros_3D.sdf 13925
MP7-Q-0840_isomeros_3D.sdf 12713
MP7-Q-0841_isomeros_3D.sdf 10796
MP7-Q-0842_isomeros_3D.sdf 10562
MP7-Q-0843_isomeros_3D.sdf 12835
MP7-Q-0844_isomeros_3D.sdf 12249
MP7-Q-0845_isomeros_3D.sdf 10535
MP7-Q-0846_isomeros_3D.sdf 13140
MP7-Q-0847_isomeros_3D.sdf 14048
MP7-Q-0848_isomeros_3D.sdf 13467
MP7-Q-0849_isomeros_3D.sdf 13340
MP7-Q-0850_isomeros_3D.sdf 13569
MP7-Q-0851_isomeros_3D.sdf 13905
MP7-Q-0852_isomeros_3D.sdf 13927
MP7-Q-0853_isomeros_3D.sdf 14193
MP7-Q-0854_isomeros_3D.sdf 15082
MP7-Q-0855_isomeros_3D.sdf 13226
MP7-Q-0856_isomeros_3D.sdf 14327
MP7-Q-0857_isomeros_3D.sdf 11919
MP7-Q-0858_isomeros_3D.sdf 12230
MP7-Q-0859_isomeros_3D.sdf 11316
MP7-Q-0860_isomeros_3D.sdf 14581
MP7-Q-0861_isomeros_3D.sdf 15119
MP7-Q-0862_isomeros_3D.sdf 14117
MP7-Q-0863_isomeros_3D.sdf 14202
MP7-Q-0864_isomeros_3D.sdf 20748
MP7-Q-0865_isomeros_3D.sdf 18704
MP7-Q-0866_isomeros_3D.sdf 14668
MP7-Q-0867_isomeros_3D.sdf 13203
MP7-Q-0868_isomeros_3D.sdf 10896
MP7-Q-0869_isomeros_3D.sdf 11502
MP7-Q-0870_isomeros_3D.sdf 13357
MP7-Q-0871_isomeros_3D.sdf 14723
MP7-Q-0872_isomeros_3D.sdf 13892
MP7-Q-0873_isomeros_3D.sdf 14277
MP7-Q-0874_isomeros_3D.sdf 13828
MP7-Q-0875_isomeros_3D.sdf 17241
MP7-Q-0876_isomeros_3D.sdf 16520
MP7-Q-0877_isomeros_3D.sdf 17570
MP7-Q-0878_isomeros_3D.sdf 14506
MP7-Q-0879_isomeros_3D.sdf 15706
MP7-Q-0880_isomeros_3D.sdf 18233
MP7-Q-0881_isomeros_3D.sdf 18333
MP7-Q-0882_isomeros_3D.sdf 19805
MP7-Q-0883_isomeros_3D.sdf 20253
MP7-Q-0884_isomeros_3D.sdf 21142
MP7-Q-0885_isomeros_3D.sdf 14575
MP7-Q-0886_isomeros_3D.sdf 15334
MP7-Q-0887_isomeros_3D.sdf 17642
MP7-Q-0888_isomeros_3D.sdf 11922
MP7-Q-0889_isomeros_3D.sdf 9944
MP7-Q-0890_isomeros_3D.sdf 12751
MP7-Q-0891_isomeros_3D.sdf 11329
MP7-Q-0892_isomeros_3D.sdf 12718
MP7-Q-0893_isomeros_3D.sdf 11804
MP7-Q-0894_isomeros_3D.sdf 14933
MP7-Q-0895_isomeros_3D.sdf 14095
MP7-Q-0896_isomeros_3D.sdf 10860
MP7-Q-0897_isomeros_3D.sdf 11132
MP7-Q-0898_isomeros_3D.sdf 10111
MP7-Q-0899_isomeros_3D.sdf 11147
MP7-Q-0900_isomeros_3D.sdf 14005
MP7-Q-0901_isomeros_3D.sdf 15068
MP7-Q-0902_isomeros_3D.sdf 13138
MP7-Q-0903_isomeros_3D.sdf 14550
MP7-Q-0904_isomeros_3D.sdf 14182
MP7-Q-0905_isomeros_3D.sdf 15978
MP7-Q-0906_isomeros_3D.sdf 16321
MP7-Q-0907_isomeros_3D.sdf 15240
MP7-Q-0908_isomeros_3D.sdf 13930
MP7-Q-0909_isomeros_3D.sdf 13250
MP7-Q-0910_isomeros_3D.sdf 12998
MP7-Q-0911_isomeros_3D.sdf 12139
MP7-Q-0912_isomeros_3D.sdf 11944
MP7-Q-0913_isomeros_3D.sdf 10823
MP7-Q-0914_isomeros_3D.sdf 11039
MP7-Q-0915_isomeros_3D.sdf 11610
MP7-Q-0916_isomeros_3D.sdf 12742
MP7-Q-0917_isomeros_3D.sdf 13438
MP7-Q-0918_isomeros_3D.sdf 13129
MP7-Q-0919_isomeros_3D.sdf 11976
MP7-Q-0920_isomeros_3D.sdf 12374
MP7-Q-0921_isomeros_3D.sdf 11806
MP7-Q-0922_isomeros_3D.sdf 13373
MP7-Q-0923_isomeros_3D.sdf 14698
MP7-Q-0924_isomeros_3D.sdf 13959
MP7-Q-0925_isomeros_3D.sdf 12941
MP7-Q-0926_isomeros_3D.sdf 13676
MP7-Q-0927_isomeros_3D.sdf 12917
MP7-Q-0928_isomeros_3D.sdf 12538
MP7-Q-0929_isomeros_3D.sdf 16489
MP7-Q-0930_isomeros_3D.sdf 14560
MP7-Q-0931_isomeros_3D.sdf 12050
MP7-Q-0932_isomeros_3D.sdf 13854
MP7-Q-0933_isomeros_3D.sdf 13842
MP7-Q-0934_isomeros_3D.sdf 14446
MP7-Q-0935_isomeros_3D.sdf 13410
MP7-Q-0936_isomeros_3D.sdf 13948
MP7-Q-0937_isomeros_3D.sdf 5289
MP7-Q-0938_isomeros_3D.sdf 408
MP7-Q-0939_isomeros_3D.sdf 2421
MP7-Q-0940_isomeros_3D.sdf 12332
MP7-Q-0941_isomeros_3D.sdf 13318
MP7-Q-0942_isomeros_3D.sdf 19143
MP7-Q-0943_isomeros_3D.sdf 21382
MP7-Q-0944_isomeros_3D.sdf 14583
MP7-Q-0945_isomeros_3D.sdf 15358
MP7-Q-0946_isomeros_3D.sdf 13527
MP7-Q-0947_isomeros_3D.sdf 12758
MP7-Q-0948_isomeros_3D.sdf 15451
MP7-Q-0949_isomeros_3D.sdf 14824
MP7-Q-0950_isomeros_3D.sdf 14705
MP7-Q-0951_isomeros_3D.sdf 14051
MP7-Q-0952_isomeros_3D.sdf 11638
MP7-Q-0953_isomeros_3D.sdf 18022
MP7-Q-0954_isomeros_3D.sdf 17702
MP7-Q-0955_isomeros_3D.sdf 16518
MP7-Q-0956_isomeros_3D.sdf 17988
MP7-Q-0957_isomeros_3D.sdf 20791
MP7-Q-0958_isomeros_3D.sdf 16496
MP7-Q-0959_isomeros_3D.sdf 15020
MP7-Q-0960_isomeros_3D.sdf 19167
MP7-Q-0961_isomeros_3D.sdf 20818
MP7-Q-0962_isomeros_3D.sdf 13896
MP7-Q-0963_isomeros_3D.sdf 14471
MP7-Q-0964_isomeros_3D.sdf 11556
MP7-Q-0965_isomeros_3D.sdf 13367
MP7-Q-0966_isomeros_3D.sdf 14581
MP7-Q-0967_isomeros_3D.sdf 10945
MP7-Q-0968_isomeros_3D.sdf 13216
MP7-Q-0969_isomeros_3D.sdf 14172
MP7-Q-0970_isomeros_3D.sdf 20103
MP7-Q-0971_isomeros_3D.sdf 21644
MP7-Q-0972_isomeros_3D.sdf 21592
MP7-Q-0973_isomeros_3D.sdf 20750
MP7-Q-0974_isomeros_3D.sdf 16758
MP7-Q-0975_isomeros_3D.sdf 12762
MP7-Q-0976_isomeros_3D.sdf 14910
MP7-Q-0977_isomeros_3D.sdf 16207
MP7-Q-0978_isomeros_3D.sdf 640
MP7-Q-0979_isomeros_3D.sdf 11548
MP7-Q-0980_isomeros_3D.sdf 14138
MP7-Q-0981_isomeros_3D.sdf 16447
MP7-Q-0982_isomeros_3D.sdf 14480
MP7-Q-0983_isomeros_3D.sdf 13636
MP7-Q-0984_isomeros_3D.sdf 14940
MP7-Q-0985_isomeros_3D.sdf 17463
MP7-Q-0986_isomeros_3D.sdf 18215
MP7-Q-0987_isomeros_3D.sdf 14314
MP7-Q-0988_isomeros_3D.sdf 13751
MP7-Q-0989_isomeros_3D.sdf 14750
MP7-Q-0990_isomeros_3D.sdf 16330
MP7-Q-0991_isomeros_3D.sdf 12022
MP7-Q-0992_isomeros_3D.sdf 9245
MP7-Q-0993_isomeros_3D.sdf 8265
MP7-Q-0994_isomeros_3D.sdf 8176
MP7-Q-0995_isomeros_3D.sdf 8687
MP7-Q-0996_isomeros_3D.sdf 8816
MP7-Q-0997_isomeros_3D.sdf 8295
MP7-Q-0998_isomeros_3D.sdf 9130
MP7-Q-0999_isomeros_3D.sdf 9360
MP7-Q-1000_isomeros_3D.sdf 8209
MP7-Q-1001_isomeros_3D.sdf 9692
MP7-Q-1002_isomeros_3D.sdf 12477
MP7-Q-1003_isomeros_3D.sdf 9690
MP7-Q-1004_isomeros_3D.sdf 8650
MP7-Q-1005_isomeros_3D.sdf 12775
MP7-Q-1006_isomeros_3D.sdf 9356
MP7-Q-1007_isomeros_3D.sdf 10429
MP7-Q-1008_isomeros_3D.sdf 10405
MP7-Q-1009_isomeros_3D.sdf 12544
MP7-Q-1010_isomeros_3D.sdf 12802
MP7-Q-1011_isomeros_3D.sdf 8350
MP7-Q-1012_isomeros_3D.sdf 10172
MP7-Q-1013_isomeros_3D.sdf 11219
MP7-Q-1014_isomeros_3D.sdf 8666
MP7-Q-1015_isomeros_3D.sdf 8525
MP7-Q-1016_isomeros_3D.sdf 10176
MP7-Q-1017_isomeros_3D.sdf 12554
MP7-Q-1018_isomeros_3D.sdf 9980
MP7-Q-1019_isomeros_3D.sdf 7742
MP7-Q-1020_isomeros_3D.sdf 13111
MP7-Q-1021_isomeros_3D.sdf 27347
MP7-Q-1022_isomeros_3D.sdf 21833
MP7-Q-1023_isomeros_3D.sdf 9031
MP7-Q-1024_isomeros_3D.sdf 15949
MP7-Q-1025_isomeros_3D.sdf 13466
MP7-Q-1026_isomeros_3D.sdf 24392
MP7-Q-1027_isomeros_3D.sdf 17729
MP7-Q-1028_isomeros_3D.sdf 15637
MP7-Q-1029_isomeros_3D.sdf 13095
MP7-Q-1030_isomeros_3D.sdf 11623
MP7-Q-1031_isomeros_3D.sdf 8229
MP7-Q-1032_isomeros_3D.sdf 6920
MP7-Q-1033_isomeros_3D.sdf 7867
MP7-Q-1034_isomeros_3D.sdf 7451
MP7-Q-1035_isomeros_3D.sdf 7609
MP7-Q-1036_isomeros_3D.sdf 7278
MP7-Q-1037_isomeros_3D.sdf 7590
MP7-Q-1038_isomeros_3D.sdf 8187
MP7-Q-1039_isomeros_3D.sdf 16294
MP7-Q-1040_isomeros_3D.sdf 14595
MP7-Q-1041_isomeros_3D.sdf 15775
MP7-Q-1042_isomeros_3D.sdf 14621
MP7-Q-1043_isomeros_3D.sdf 12359
MP7-Q-1044_isomeros_3D.sdf 12644
MP7-Q-1045_isomeros_3D.sdf 8676
MP7-Q-1046_isomeros_3D.sdf 8031
MP7-Q-1047_isomeros_3D.sdf 14346
MP7-Q-1048_isomeros_3D.sdf 11508
MP7-Q-1049_isomeros_3D.sdf 12318
MP7-Q-1050_isomeros_3D.sdf 19609
MP7-Q-1051_isomeros_3D.sdf 7999
MP7-Q-1052_isomeros_3D.sdf 9352
MP7-Q-1053_isomeros_3D.sdf 9193
MP7-Q-1054_isomeros_3D.sdf 9581
MP7-Q-1055_isomeros_3D.sdf 10793
MP7-Q-1056_isomeros_3D.sdf 10252
MP7-Q-1057_isomeros_3D.sdf 9836
MP7-Q-1058_isomeros_3D.sdf 8507
MP7-Q-1059_isomeros_3D.sdf 8118
MP7-Q-1060_isomeros_3D.sdf 9749
MP7-Q-1061_isomeros_3D.sdf 8427
MP7-Q-1062_isomeros_3D.sdf 9802
MP7-Q-1063_isomeros_3D.sdf 9483
MP7-Q-1064_isomeros_3D.sdf 9746
MP7-Q-1065_isomeros_3D.sdf 9303
MP7-Q-1066_isomeros_3D.sdf 8399
MP7-Q-1067_isomeros_3D.sdf 8395
MP7-Q-1068_isomeros_3D.sdf 10914
MP7-Q-1069_isomeros_3D.sdf 9756
MP7-Q-1070_isomeros_3D.sdf 14381
MP7-Q-1071_isomeros_3D.sdf 9726
MP7-Q-1072_isomeros_3D.sdf 5738
MP7-Q-1073_isomeros_3D.sdf 15074
MP7-Q-1074_isomeros_3D.sdf 18623
MP7-Q-1075_isomeros_3D.sdf 19198
MP7-Q-1076_isomeros_3D.sdf 9009
MP7-Q-1077_isomeros_3D.sdf 29015
MP7-Q-1078_isomeros_3D.sdf 21709
MP7-Q-1079_isomeros_3D.sdf 13177
MP7-Q-1080_isomeros_3D.sdf 15926
MP7-Q-1081_isomeros_3D.sdf 13701
MP7-Q-1082_isomeros_3D.sdf 9972
MP7-Q-1083_isomeros_3D.sdf 15818
MP7-Q-1084_isomeros_3D.sdf 8742
MP7-Q-1085_isomeros_3D.sdf 7809
MP7-Q-1086_isomeros_3D.sdf 9219
MP7-Q-1087_isomeros_3D.sdf 7873
MP7-Q-1088_isomeros_3D.sdf 7776
MP7-Q-1089_isomeros_3D.sdf 8945
MP7-Q-1090_isomeros_3D.sdf 8161
MP7-Q-1091_isomeros_3D.sdf 8471
MP7-Q-1092_isomeros_3D.sdf 10584
MP7-Q-1093_isomeros_3D.sdf 12913
MP7-Q-1094_isomeros_3D.sdf 9726
MP7-Q-1095_isomeros_3D.sdf 11352
MP7-Q-1096_isomeros_3D.sdf 8401
MP7-Q-1097_isomeros_3D.sdf 7930
MP7-Q-1098_isomeros_3D.sdf 9775
MP7-Q-1099_isomeros_3D.sdf 7747
MP7-Q-1100_isomeros_3D.sdf 7837
MP7-Q-1101_isomeros_3D.sdf 7782
MP7-Q-1102_isomeros_3D.sdf 8203
MP7-Q-1103_isomeros_3D.sdf 8073
MP7-Q-1104_isomeros_3D.sdf 8019
MP7-Q-1105_isomeros_3D.sdf 12630
MP7-Q-1106_isomeros_3D.sdf 8916
MP7-Q-1107_isomeros_3D.sdf 10044
MP7-Q-1108_isomeros_3D.sdf 7563
MP7-Q-1109_isomeros_3D.sdf 7650
MP7-Q-1110_isomeros_3D.sdf 8136
MP7-Q-1111_isomeros_3D.sdf 11454
MP7-Q-1112_isomeros_3D.sdf 9632
MP7-Q-1113_isomeros_3D.sdf 12476
MP7-Q-1114_isomeros_3D.sdf 10356
MP7-Q-1115_isomeros_3D.sdf 11492
MP7-Q-1116_isomeros_3D.sdf 8974
MP7-Q-1117_isomeros_3D.sdf 11608
MP7-Q-1118_isomeros_3D.sdf 4779
MP7-Q-1119_isomeros_3D.sdf 11809
MP7-Q-1120_isomeros_3D.sdf 9183
MP7-Q-1121_isomeros_3D.sdf 7422
MP7-Q-1122_isomeros_3D.sdf 8486
MP7-Q-1123_isomeros_3D.sdf 12375
MP7-Q-1124_isomeros_3D.sdf 13039
MP7-Q-1125_isomeros_3D.sdf 11202
MP7-Q-1126_isomeros_3D.sdf 10011
MP7-Q-1127_isomeros_3D.sdf 8708
MP7-Q-1128_isomeros_3D.sdf 14116
MP7-Q-1129_isomeros_3D.sdf 13704
MP7-Q-1130_isomeros_3D.sdf 10129
MP7-Q-1131_isomeros_3D.sdf 7015
MP7-Q-1132_isomeros_3D.sdf 8572
MP7-Q-1133_isomeros_3D.sdf 11426
MP7-Q-1134_isomeros_3D.sdf 17151
MP7-Q-1135_isomeros_3D.sdf 13764
MP7-Q-1136_isomeros_3D.sdf 9904
MP7-Q-1137_isomeros_3D.sdf 9965
MP7-Q-1138_isomeros_3D.sdf 10538
MP7-Q-1139_isomeros_3D.sdf 10282
MP7-Q-1140_isomeros_3D.sdf 14710
MP7-Q-1141_isomeros_3D.sdf 7686
MP7-Q-1142_isomeros_3D.sdf 12586
MP7-Q-1143_isomeros_3D.sdf 8296
MP7-Q-1144_isomeros_3D.sdf 10719
MP7-Q-1145_isomeros_3D.sdf 9217
MP7-Q-1146_isomeros_3D.sdf 9106
MP7-Q-1147_isomeros_3D.sdf 8084
MP7-Q-1148_isomeros_3D.sdf 8206
MP7-Q-1149_isomeros_3D.sdf 9808
MP7-Q-1150_isomeros_3D.sdf 14302
MP7-Q-1151_isomeros_3D.sdf 11349
MP7-Q-1152_isomeros_3D.sdf 11752
MP7-Q-1153_isomeros_3D.sdf 10968
MP7-Q-1154_isomeros_3D.sdf 12698
MP7-Q-1155_isomeros_3D.sdf 13810
MP7-Q-1156_isomeros_3D.sdf 13238
MP7-Q-1157_isomeros_3D.sdf 12082
MP7-Q-1158_isomeros_3D.sdf 8305
MP7-Q-1159_isomeros_3D.sdf 11374
MP7-Q-1160_isomeros_3D.sdf 8978
MP7-Q-1161_isomeros_3D.sdf 7736
MP7-Q-1162_isomeros_3D.sdf 11146
MP7-Q-1163_isomeros_3D.sdf 12716
MP7-Q-1164_isomeros_3D.sdf 11556
MP7-Q-1165_isomeros_3D.sdf 14564
MP7-Q-1166_isomeros_3D.sdf 18400
MP7-Q-1167_isomeros_3D.sdf 8477
MP7-Q-1168_isomeros_3D.sdf 8311
MP7-Q-1169_isomeros_3D.sdf 8346
MP7-Q-1170_isomeros_3D.sdf 9132
MP7-Q-1171_isomeros_3D.sdf 8339
MP7-Q-1172_isomeros_3D.sdf 8480
MP7-Q-1173_isomeros_3D.sdf 7568
MP7-Q-1174_isomeros_3D.sdf 10472
MP7-Q-1175_isomeros_3D.sdf 12279
MP7-Q-1176_isomeros_3D.sdf 22754
MP7-Q-1177_isomeros_3D.sdf 8640
MP7-Q-1178_isomeros_3D.sdf 7108
MP7-Q-1179_isomeros_3D.sdf 6319
MP7-Q-1180_isomeros_3D.sdf 6214
MP7-Q-1181_isomeros_3D.sdf 6268
MP7-Q-1182_isomeros_3D.sdf 6294
MP7-Q-1183_isomeros_3D.sdf 6114
MP7-Q-1184_isomeros_3D.sdf 6114
MP7-Q-1185_isomeros_3D.sdf 7275
MP7-Q-1186_isomeros_3D.sdf 8824
MP7-Q-1187_isomeros_3D.sdf 8384
MP7-Q-1188_isomeros_3D.sdf 13810
MP7-Q-1189_isomeros_3D.sdf 13067
MP7-Q-1190_isomeros_3D.sdf 6322
MP7-Q-1191_isomeros_3D.sdf 6252
MP7-Q-1192_isomeros_3D.sdf 6256
MP7-Q-1193_isomeros_3D.sdf 7318
MP7-Q-1194_isomeros_3D.sdf 21535
MP7-Q-1195_isomeros_3D.sdf 10200
MP7-Q-1196_isomeros_3D.sdf 13160
MP7-Q-1197_isomeros_3D.sdf 6702
MP7-Q-1198_isomeros_3D.sdf 6898
MP7-Q-1199_isomeros_3D.sdf 11516
MP7-Q-1200_isomeros_3D.sdf 7147
MP7-Q-1201_isomeros_3D.sdf 7862
MP7-Q-1202_isomeros_3D.sdf 9172
MP7-Q-1203_isomeros_3D.sdf 9263
MP7-Q-1204_isomeros_3D.sdf 9194
MP7-Q-1205_isomeros_3D.sdf 8402
MP7-Q-1206_isomeros_3D.sdf 10842
MP7-Q-1207_isomeros_3D.sdf 9015
MP7-Q-1208_isomeros_3D.sdf 8541
MP7-Q-1209_isomeros_3D.sdf 8164
MP7-Q-1210_isomeros_3D.sdf 8167
MP7-Q-1211_isomeros_3D.sdf 7857
MP7-Q-1212_isomeros_3D.sdf 7978
MP7-Q-1213_isomeros_3D.sdf 9255
MP7-Q-1214_isomeros_3D.sdf 10585
MP7-Q-1215_isomeros_3D.sdf 10058
MP7-Q-1216_isomeros_3D.sdf 9289
MP7-Q-1217_isomeros_3D.sdf 10397
MP7-Q-1218_isomeros_3D.sdf 10027
MP7-Q-1219_isomeros_3D.sdf 6335
MP7-Q-1220_isomeros_3D.sdf 6899
MP7-Q-1221_isomeros_3D.sdf 8137
MP7-Q-1222_isomeros_3D.sdf 9139
MP7-Q-1223_isomeros_3D.sdf 9213
MP7-Q-1224_isomeros_3D.sdf 18604
MP7-Q-1225_isomeros_3D.sdf 7738
MP7-Q-1226_isomeros_3D.sdf 10215
MP7-Q-1227_isomeros_3D.sdf 14438
MP7-Q-1228_isomeros_3D.sdf 11723
MP7-Q-1229_isomeros_3D.sdf 16619
MP7-Q-1230_isomeros_3D.sdf 9308
MP7-Q-1231_isomeros_3D.sdf 7731
MP7-Q-1232_isomeros_3D.sdf 7295
MP7-Q-1233_isomeros_3D.sdf 7294
MP7-Q-1234_isomeros_3D.sdf 7219
MP7-Q-1235_isomeros_3D.sdf 14903
MP7-Q-1236_isomeros_3D.sdf 17192
MP7-Q-1237_isomeros_3D.sdf 17533
MP7-Q-1238_isomeros_3D.sdf 9231
MP7-Q-1239_isomeros_3D.sdf 15948
MP7-Q-1240_isomeros_3D.sdf 12820
MP7-Q-1241_isomeros_3D.sdf 11368
MP7-Q-1242_isomeros_3D.sdf 16197
MP7-Q-1243_isomeros_3D.sdf 13029
MP7-Q-1244_isomeros_3D.sdf 8908
MP7-Q-1245_isomeros_3D.sdf 11545
MP7-Q-1246_isomeros_3D.sdf 9614
MP7-Q-1247_isomeros_3D.sdf 10120
MP7-Q-1248_isomeros_3D.sdf 11644
MP7-Q-1249_isomeros_3D.sdf 10257
MP7-Q-1250_isomeros_3D.sdf 8030
MP7-Q-1251_isomeros_3D.sdf 12267
MP7-Q-1252_isomeros_3D.sdf 21887
MP7-Q-1253_isomeros_3D.sdf 10105
MP7-Q-1254_isomeros_3D.sdf 7964
MP7-Q-1255_isomeros_3D.sdf 10193
MP7-Q-1256_isomeros_3D.sdf 10124
MP7-Q-1257_isomeros_3D.sdf 9304
MP7-Q-1258_isomeros_3D.sdf 10069
MP7-Q-1259_isomeros_3D.sdf 10361
MP7-Q-1260_isomeros_3D.sdf 10372
MP7-Q-1261_isomeros_3D.sdf 9730
MP7-Q-1262_isomeros_3D.sdf 11210
MP7-Q-1263_isomeros_3D.sdf 9712
MP7-Q-1264_isomeros_3D.sdf 10083
MP7-Q-1265_isomeros_3D.sdf 10862
MP7-Q-1266_isomeros_3D.sdf 10986
MP7-Q-1267_isomeros_3D.sdf 11604
MP7-Q-1268_isomeros_3D.sdf 12415
MP7-Q-1269_isomeros_3D.sdf 12683
MP7-Q-1270_isomeros_3D.sdf 13307
MP7-Q-1271_isomeros_3D.sdf 13145
MP7-Q-1272_isomeros_3D.sdf 8485
MP7-Q-1273_isomeros_3D.sdf 9300
MP7-Q-1274_isomeros_3D.sdf 7386
MP7-Q-1275_isomeros_3D.sdf 7790
MP7-Q-1276_isomeros_3D.sdf 7652
MP7-Q-1277_isomeros_3D.sdf 7886
MP7-Q-1278_isomeros_3D.sdf 7559
MP7-Q-1279_isomeros_3D.sdf 11212
MP7-Q-1280_isomeros_3D.sdf 7453
MP7-Q-1281_isomeros_3D.sdf 11126
MP7-Q-1282_isomeros_3D.sdf 7325
MP7-Q-1283_isomeros_3D.sdf 10132
MP7-Q-1284_isomeros_3D.sdf 13841
MP7-Q-1285_isomeros_3D.sdf 8855
MP7-Q-1286_isomeros_3D.sdf 12048
MP7-Q-1287_isomeros_3D.sdf 9596
MP7-Q-1288_isomeros_3D.sdf 7367
MP7-Q-1289_isomeros_3D.sdf 6533
MP7-Q-1290_isomeros_3D.sdf 7799
MP7-Q-1291_isomeros_3D.sdf 10269
MP7-Q-1292_isomeros_3D.sdf 9484
MP7-Q-1293_isomeros_3D.sdf 9924
MP7-Q-1294_isomeros_3D.sdf 7915
MP7-Q-1295_isomeros_3D.sdf 7206
MP7-Q-1296_isomeros_3D.sdf 9016
MP7-Q-1297_isomeros_3D.sdf 8086
MP7-Q-1298_isomeros_3D.sdf 14262
MP7-Q-1299_isomeros_3D.sdf 9669
MP7-Q-1300_isomeros_3D.sdf 9826
MP7-Q-1301_isomeros_3D.sdf 10625
MP7-Q-1302_isomeros_3D.sdf 9636
MP7-Q-1303_isomeros_3D.sdf 10565
MP7-Q-1304_isomeros_3D.sdf 9977
MP7-Q-1305_isomeros_3D.sdf 10068
MP7-Q-1306_isomeros_3D.sdf 12302
MP7-Q-1307_isomeros_3D.sdf 12194
MP7-Q-1308_isomeros_3D.sdf 11687
MP7-Q-1309_isomeros_3D.sdf 9430
MP7-Q-1310_isomeros_3D.sdf 9587
MP7-Q-1311_isomeros_3D.sdf 11094
MP7-Q-1312_isomeros_3D.sdf 11887
MP7-Q-1313_isomeros_3D.sdf 9245
MP7-Q-1314_isomeros_3D.sdf 8399
MP7-Q-1315_isomeros_3D.sdf 9822
MP7-Q-1316_isomeros_3D.sdf 8217
MP7-Q-1317_isomeros_3D.sdf 9764
MP7-Q-1318_isomeros_3D.sdf 11611
MP7-Q-1319_isomeros_3D.sdf 9308
MP7-Q-1320_isomeros_3D.sdf 9422
MP7-Q-1321_isomeros_3D.sdf 10434
MP7-Q-1322_isomeros_3D.sdf 10544
MP7-Q-1323_isomeros_3D.sdf 11450
MP7-Q-1324_isomeros_3D.sdf 11016
MP7-Q-1325_isomeros_3D.sdf 9710
MP7-Q-1326_isomeros_3D.sdf 9516
MP7-Q-1327_isomeros_3D.sdf 9739
MP7-Q-1328_isomeros_3D.sdf 8037
MP7-Q-1329_isomeros_3D.sdf 10240
MP7-Q-1330_isomeros_3D.sdf 9117
MP7-Q-1331_isomeros_3D.sdf 9789
MP7-Q-1332_isomeros_3D.sdf 9428
MP7-Q-1333_isomeros_3D.sdf 9817
MP7-Q-1334_isomeros_3D.sdf 10677
MP7-Q-1335_isomeros_3D.sdf 10327
MP7-Q-1336_isomeros_3D.sdf 10971
MP7-Q-1337_isomeros_3D.sdf 13374
MP7-Q-1338_isomeros_3D.sdf 9157
MP7-Q-1339_isomeros_3D.sdf 11776
MP7-Q-1340_isomeros_3D.sdf 9843
MP7-Q-1341_isomeros_3D.sdf 10676
MP7-Q-1342_isomeros_3D.sdf 8589
MP7-Q-1343_isomeros_3D.sdf 9690
MP7-Q-1344_isomeros_3D.sdf 10752
MP7-Q-1345_isomeros_3D.sdf 9074
MP7-Q-1346_isomeros_3D.sdf 9311
MP7-Q-1347_isomeros_3D.sdf 11138
MP7-Q-1348_isomeros_3D.sdf 7868
MP7-Q-1349_isomeros_3D.sdf 8971
MP7-Q-1350_isomeros_3D.sdf 6713
MP7-Q-1351_isomeros_3D.sdf 6650
MP7-Q-1352_isomeros_3D.sdf 8952
MP7-Q-1353_isomeros_3D.sdf 9719
MP7-Q-1354_isomeros_3D.sdf 10127
MP7-Q-1355_isomeros_3D.sdf 12167
MP7-Q-1356_isomeros_3D.sdf 8679
MP7-Q-1357_isomeros_3D.sdf 7804
MP7-Q-1358_isomeros_3D.sdf 8314
MP7-Q-1359_isomeros_3D.sdf 7835
MP7-Q-1360_isomeros_3D.sdf 4361
MP7-Q-1361_isomeros_3D.sdf 8692
MP7-Q-1362_isomeros_3D.sdf 9095
MP7-Q-1363_isomeros_3D.sdf 10226
MP7-Q-1364_isomeros_3D.sdf 9531
MP7-Q-1365_isomeros_3D.sdf 10044
MP7-Q-1366_isomeros_3D.sdf 8425
MP7-Q-1367_isomeros_3D.sdf 8085
MP7-Q-1368_isomeros_3D.sdf 9022
MP7-Q-1369_isomeros_3D.sdf 10815
MP7-Q-1370_isomeros_3D.sdf 20962
MP7-Q-1371_isomeros_3D.sdf 6718
MP7-Q-1372_isomeros_3D.sdf 17080
MP7-Q-1373_isomeros_3D.sdf 8322
MP7-Q-1374_isomeros_3D.sdf 3685
MP7-Q-1375_isomeros_3D.sdf 10078
MP7-Q-1376_isomeros_3D.sdf 8005
MP7-Q-1377_isomeros_3D.sdf 7978
MP7-Q-1378_isomeros_3D.sdf 7825
MP7-Q-1379_isomeros_3D.sdf 8910
MP7-Q-1380_isomeros_3D.sdf 11096
MP7-Q-1381_isomeros_3D.sdf 9214
MP7-Q-1382_isomeros_3D.sdf 8915
MP7-Q-1383_isomeros_3D.sdf 9375
MP7-Q-1384_isomeros_3D.sdf 11348
MP7-Q-1385_isomeros_3D.sdf 11413
MP7-Q-1386_isomeros_3D.sdf 10907
MP7-Q-1387_isomeros_3D.sdf 9322
MP7-Q-1388_isomeros_3D.sdf 9619
MP7-Q-1389_isomeros_3D.sdf 12083
MP7-Q-1390_isomeros_3D.sdf 9531
MP7-Q-1391_isomeros_3D.sdf 11439
MP7-Q-1392_isomeros_3D.sdf 11518
MP7-Q-1393_isomeros_3D.sdf 10445
MP7-Q-1394_isomeros_3D.sdf 42960
MP7-Q-1395_isomeros_3D.sdf 8498
MP7-Q-1396_isomeros_3D.sdf 9732
MP7-Q-1397_isomeros_3D.sdf 11276
MP7-Q-1398_isomeros_3D.sdf 12405
MP7-Q-1399_isomeros_3D.sdf 8039
MP7-Q-1400_isomeros_3D.sdf 8544
MP7-Q-1401_isomeros_3D.sdf 46329
MP7-Q-1402_isomeros_3D.sdf 10099
MP7-Q-1403_isomeros_3D.sdf 6367
MP7-Q-1404_isomeros_3D.sdf 7070
MP7-Q-1405_isomeros_3D.sdf 9862
MP7-Q-1406_isomeros_3D.sdf 10046
MP7-Q-1407_isomeros_3D.sdf 8722
MP7-Q-1408_isomeros_3D.sdf 7562
MP7-Q-1409_isomeros_3D.sdf 20264
MP7-Q-1410_isomeros_3D.sdf 8083
MP7-Q-1411_isomeros_3D.sdf 9898
MP7-Q-1412_isomeros_3D.sdf 11338
MP7-Q-1413_isomeros_3D.sdf 1370
MP7-Q-1414_isomeros_3D.sdf 9559
MP7-Q-1415_isomeros_3D.sdf 10394
MP7-Q-1416_isomeros_3D.sdf 10932
MP7-Q-1417_isomeros_3D.sdf 12402
MP7-Q-1418_isomeros_3D.sdf 14443
MP7-Q-1419_isomeros_3D.sdf 1362
MP7-Q-1420_isomeros_3D.sdf 6333
MP7-Q-1421_isomeros_3D.sdf 6018
MP7-Q-1422_isomeros_3D.sdf 7218
MP7-Q-1423_isomeros_3D.sdf 7532
MP7-Q-1424_isomeros_3D.sdf 13440
MP7-Q-1425_isomeros_3D.sdf 9988
MP7-Q-1426_isomeros_3D.sdf 20054
MP7-Q-1427_isomeros_3D.sdf 25788
MP7-Q-1428_isomeros_3D.sdf 29909
MP7-Q-1429_isomeros_3D.sdf 18938
MP7-Q-1430_isomeros_3D.sdf 11538
MP7-Q-1431_isomeros_3D.sdf 11752
MP7-Q-1432_isomeros_3D.sdf 9551
MP7-Q-1433_isomeros_3D.sdf 21276
MP7-Q-1434_isomeros_3D.sdf 25924
MP7-Q-1435_isomeros_3D.sdf 13179
MP7-Q-1436_isomeros_3D.sdf 15400
MP7-Q-1437_isomeros_3D.sdf 10287
MP7-Q-1438_isomeros_3D.sdf 27673
MP7-Q-1439_isomeros_3D.sdf 22360
MP7-Q-1440_isomeros_3D.sdf 13920
MP7-Q-1441_isomeros_3D.sdf 12196
MP7-Q-1442_isomeros_3D.sdf 15204
MP7-Q-1443_isomeros_3D.sdf 15593
MP7-Q-1444_isomeros_3D.sdf 11632
MP7-Q-1445_isomeros_3D.sdf 12510
MP7-Q-1446_isomeros_3D.sdf 13411
MP7-Q-1447_isomeros_3D.sdf 12772
MP7-Q-1448_isomeros_3D.sdf 11497
MP7-Q-1449_isomeros_3D.sdf 13946
MP7-Q-1450_isomeros_3D.sdf 10922
MP7-Q-1451_isomeros_3D.sdf 12508
MP7-Q-1452_isomeros_3D.sdf 13904
MP7-Q-1453_isomeros_3D.sdf 12858
MP7-Q-1454_isomeros_3D.sdf 11390
MP7-Q-1455_isomeros_3D.sdf 12298
MP7-Q-1456_isomeros_3D.sdf 13056
MP7-Q-1457_isomeros_3D.sdf 12589
MP7-Q-1458_isomeros_3D.sdf 13745
MP7-Q-1459_isomeros_3D.sdf 13356
MP7-Q-1460_isomeros_3D.sdf 11053
MP7-Q-1461_isomeros_3D.sdf 12444
MP7-Q-1462_isomeros_3D.sdf 13142
MP7-Q-1463_isomeros_3D.sdf 9498
MP7-Q-1464_isomeros_3D.sdf 10347
MP7-Q-1465_isomeros_3D.sdf 9417
MP7-Q-1466_isomeros_3D.sdf 7987
MP7-Q-1467_isomeros_3D.sdf 8341
MP7-Q-1468_isomeros_3D.sdf 8983
MP7-Q-1469_isomeros_3D.sdf 13627
MP7-Q-1470_isomeros_3D.sdf 10989
MP7-Q-1471_isomeros_3D.sdf 13559
MP7-Q-1472_isomeros_3D.sdf 13414
MP7-Q-1473_isomeros_3D.sdf 20068
MP7-Q-1474_isomeros_3D.sdf 9599
MP7-Q-1475_isomeros_3D.sdf 10903
MP7-Q-1476_isomeros_3D.sdf 21653
MP7-Q-1477_isomeros_3D.sdf 8077
MP7-Q-1478_isomeros_3D.sdf 10088
MP7-Q-1479_isomeros_3D.sdf 8046
MP7-Q-1480_isomeros_3D.sdf 10332
MP7-Q-1481_isomeros_3D.sdf 11895
MP7-Q-1482_isomeros_3D.sdf 12267
MP7-Q-1483_isomeros_3D.sdf 821
MP7-Q-1484_isomeros_3D.sdf 10866
MP7-Q-1485_isomeros_3D.sdf 32779
MP7-Q-1486_isomeros_3D.sdf 796
MP7-Q-1487_isomeros_3D.sdf 18674
MP7-Q-1488_isomeros_3D.sdf 16735
MP7-Q-1489_isomeros_3D.sdf 10183
MP7-Q-1490_isomeros_3D.sdf 17031
MP7-Q-1491_isomeros_3D.sdf 10359
MP7-Q-1492_isomeros_3D.sdf 10180
MP7-Q-1493_isomeros_3D.sdf 10059
MP7-Q-1494_isomeros_3D.sdf 11880
MP7-Q-1495_isomeros_3D.sdf 10890
MP7-Q-1496_isomeros_3D.sdf 11081
MP7-Q-1497_isomeros_3D.sdf 15272
MP7-Q-1498_isomeros_3D.sdf 12560
MP7-Q-1499_isomeros_3D.sdf 10972
MP7-Q-1500_isomeros_3D.sdf 11191
MP7-Q-1501_isomeros_3D.sdf 18482
MP7-Q-1502_isomeros_3D.sdf 18332
MP7-Q-1503_isomeros_3D.sdf 18260
MP7-Q-1504_isomeros_3D.sdf 18235
MP7-Q-1505_isomeros_3D.sdf 13007
MP7-Q-1506_isomeros_3D.sdf 9927
MP7-Q-1507_isomeros_3D.sdf 27204
MP7-Q-1508_isomeros_3D.sdf 15979
MP7-Q-1509_isomeros_3D.sdf 15497
MP7-Q-1510_isomeros_3D.sdf 8500
MP7-Q-1511_isomeros_3D.sdf 10492
MP7-Q-1512_isomeros_3D.sdf 11192
MP7-Q-1513_isomeros_3D.sdf 12072
MP7-Q-1514_isomeros_3D.sdf 16418
MP7-Q-1515_isomeros_3D.sdf 17680
MP7-Q-1516_isomeros_3D.sdf 11532
MP7-Q-1517_isomeros_3D.sdf 15488
MP7-Q-1518_isomeros_3D.sdf 21966
MP7-Q-1519_isomeros_3D.sdf 15117
MP7-Q-1520_isomeros_3D.sdf 6692
MP7-Q-1521_isomeros_3D.sdf 7540
MP7-Q-1522_isomeros_3D.sdf 8087
MP7-Q-1523_isomeros_3D.sdf 7220
MP7-Q-1524_isomeros_3D.sdf 7048
MP7-Q-1525_isomeros_3D.sdf 6994
MP7-Q-1526_isomeros_3D.sdf 7893
MP7-Q-1527_isomeros_3D.sdf 10334
MP7-Q-1528_isomeros_3D.sdf 9731
MP7-Q-1529_isomeros_3D.sdf 8415
MP7-Q-1530_isomeros_3D.sdf 9749
MP7-Q-1531_isomeros_3D.sdf 6554
MP7-Q-1532_isomeros_3D.sdf 7312
MP7-Q-1533_isomeros_3D.sdf 6218
MP7-Q-1534_isomeros_3D.sdf 6248
MP7-Q-1535_isomeros_3D.sdf 6524
MP7-Q-1536_isomeros_3D.sdf 6942
MP7-Q-1537_isomeros_3D.sdf 7360
MP7-Q-1538_isomeros_3D.sdf 6994
MP7-Q-1539_isomeros_3D.sdf 6963
MP7-Q-1540_isomeros_3D.sdf 7550
MP7-Q-1541_isomeros_3D.sdf 6392
MP7-Q-1542_isomeros_3D.sdf 6116
MP7-Q-1543_isomeros_3D.sdf 6520
MP7-Q-1544_isomeros_3D.sdf 6114
MP7-Q-1545_isomeros_3D.sdf 6112
MP7-Q-1546_isomeros_3D.sdf 6628
MP7-Q-1547_isomeros_3D.sdf 6500
MP7-Q-1548_isomeros_3D.sdf 6468
MP7-Q-1549_isomeros_3D.sdf 6884
MP7-Q-1550_isomeros_3D.sdf 6458
MP7-Q-1551_isomeros_3D.sdf 6346
MP7-Q-1552_isomeros_3D.sdf 28725
MP7-Q-1553_isomeros_3D.sdf 8369
MP7-Q-1554_isomeros_3D.sdf 8127
MP7-Q-1555_isomeros_3D.sdf 8048
MP7-Q-1556_isomeros_3D.sdf 8207
MP7-Q-1557_isomeros_3D.sdf 8088
MP7-Q-1558_isomeros_3D.sdf 7816
MP7-Q-1559_isomeros_3D.sdf 8092
MP7-Q-1560_isomeros_3D.sdf 7942
MP7-Q-1561_isomeros_3D.sdf 7604
MP7-Q-1562_isomeros_3D.sdf 7638
MP7-Q-1563_isomeros_3D.sdf 7602
MP7-Q-1564_isomeros_3D.sdf 7486
MP7-Q-1565_isomeros_3D.sdf 7392
MP7-Q-1566_isomeros_3D.sdf 7452
MP7-Q-1567_isomeros_3D.sdf 7123
MP7-Q-1568_isomeros_3D.sdf 7358
MP7-Q-1569_isomeros_3D.sdf 7101
MP7-Q-1570_isomeros_3D.sdf 7120
MP7-Q-1571_isomeros_3D.sdf 7365
MP7-Q-1572_isomeros_3D.sdf 7210
MP7-Q-1573_isomeros_3D.sdf 7181
MP7-Q-1574_isomeros_3D.sdf 7178
MP7-Q-1575_isomeros_3D.sdf 7262
MP7-Q-1576_isomeros_3D.sdf 7303
MP7-Q-1577_isomeros_3D.sdf 7389
MP7-Q-1578_isomeros_3D.sdf 8595
MP7-Q-1579_isomeros_3D.sdf 7398
MP7-Q-1580_isomeros_3D.sdf 7359
MP7-Q-1581_isomeros_3D.sdf 7308
MP7-Q-1582_isomeros_3D.sdf 7335
MP7-Q-1583_isomeros_3D.sdf 7179
MP7-Q-1584_isomeros_3D.sdf 7206
MP7-Q-1585_isomeros_3D.sdf 7288
MP7-Q-1586_isomeros_3D.sdf 7217
MP7-Q-1587_isomeros_3D.sdf 7258
MP7-Q-1588_isomeros_3D.sdf 7268
MP7-Q-1589_isomeros_3D.sdf 7229
MP7-Q-1590_isomeros_3D.sdf 7112
MP7-Q-1591_isomeros_3D.sdf 6939
MP7-Q-1592_isomeros_3D.sdf 7085
MP7-Q-1593_isomeros_3D.sdf 6926
MP7-Q-1594_isomeros_3D.sdf 7015
MP7-Q-1595_isomeros_3D.sdf 6964
MP7-Q-1596_isomeros_3D.sdf 7026
MP7-Q-1597_isomeros_3D.sdf 6920
MP7-Q-1598_isomeros_3D.sdf 6866
MP7-Q-1599_isomeros_3D.sdf 6995
MP7-Q-1600_isomeros_3D.sdf 7068
MP7-Q-1601_isomeros_3D.sdf 6877
MP7-Q-1602_isomeros_3D.sdf 6876
MP7-Q-1603_isomeros_3D.sdf 6806
MP7-Q-1604_isomeros_3D.sdf 6955
MP7-Q-1605_isomeros_3D.sdf 6899
MP7-Q-1606_isomeros_3D.sdf 6908
MP7-Q-1607_isomeros_3D.sdf 6888
MP7-Q-1608_isomeros_3D.sdf 7001
MP7-Q-1609_isomeros_3D.sdf 6921
MP7-Q-1610_isomeros_3D.sdf 6989
MP7-Q-1611_isomeros_3D.sdf 7013
MP7-Q-1612_isomeros_3D.sdf 7093
MP7-Q-1613_isomeros_3D.sdf 6999
MP7-Q-1614_isomeros_3D.sdf 6913
MP7-Q-1615_isomeros_3D.sdf 7027
MP7-Q-1616_isomeros_3D.sdf 7113
MP7-Q-1617_isomeros_3D.sdf 7024
MP7-Q-1618_isomeros_3D.sdf 6929
MP7-Q-1619_isomeros_3D.sdf 6909
MP7-Q-1620_isomeros_3D.sdf 6895
MP7-Q-1621_isomeros_3D.sdf 6827
MP7-Q-1622_isomeros_3D.sdf 6747
MP7-Q-1623_isomeros_3D.sdf 6697
MP7-Q-1624_isomeros_3D.sdf 6767
MP7-Q-1625_isomeros_3D.sdf 6806
MP7-Q-1626_isomeros_3D.sdf 6747
MP7-Q-1627_isomeros_3D.sdf 6799
MP7-Q-1628_isomeros_3D.sdf 6939
MP7-Q-1629_isomeros_3D.sdf 6837
MP7-Q-1630_isomeros_3D.sdf 6931
MP7-Q-1631_isomeros_3D.sdf 6932
MP7-Q-1632_isomeros_3D.sdf 6852
MP7-Q-1633_isomeros_3D.sdf 6835
MP7-Q-1634_isomeros_3D.sdf 6853
MP7-Q-1635_isomeros_3D.sdf 6885
MP7-Q-1636_isomeros_3D.sdf 6728
MP7-Q-1637_isomeros_3D.sdf 6676
MP7-Q-1638_isomeros_3D.sdf 6863
MP7-Q-1639_isomeros_3D.sdf 7359
MP7-Q-1640_isomeros_3D.sdf 7677
MP7-Q-1641_isomeros_3D.sdf 7560
MP7-Q-1642_isomeros_3D.sdf 7607
MP7-Q-1643_isomeros_3D.sdf 7492
MP7-Q-1644_isomeros_3D.sdf 7413
MP7-Q-1645_isomeros_3D.sdf 7462
MP7-Q-1646_isomeros_3D.sdf 7700
MP7-Q-1647_isomeros_3D.sdf 7317
MP7-Q-1648_isomeros_3D.sdf 7362
MP7-Q-1649_isomeros_3D.sdf 7029
MP7-Q-1650_isomeros_3D.sdf 6938
MP7-Q-1651_isomeros_3D.sdf 8544
MP7-Q-1652_isomeros_3D.sdf 13385
MP7-Q-1653_isomeros_3D.sdf 15499
MP7-Q-1654_isomeros_3D.sdf 14036
MP7-Q-1655_isomeros_3D.sdf 14378
MP7-Q-1656_isomeros_3D.sdf 15352
MP7-Q-1657_isomeros_3D.sdf 5828
MP7-Q-1658_isomeros_3D.sdf 12661
MP7-Q-1659_isomeros_3D.sdf 11903
MP7-Q-1660_isomeros_3D.sdf 11462
MP7-Q-1661_isomeros_3D.sdf 2811
MP7-Q-1662_isomeros_3D.sdf 12193
MP7-Q-1663_isomeros_3D.sdf 17394
MP7-Q-1664_isomeros_3D.sdf 5476
MP7-Q-1665_isomeros_3D.sdf 18758
MP7-Q-1666_isomeros_3D.sdf 20820
MP7-Q-1667_isomeros_3D.sdf 16526
MP7-Q-1668_isomeros_3D.sdf 16804
MP7-Q-1669_isomeros_3D.sdf 15766
MP7-Q-1670_isomeros_3D.sdf 14848
MP7-Q-1671_isomeros_3D.sdf 7528
MP7-Q-1672_isomeros_3D.sdf 13671
MP7-Q-1673_isomeros_3D.sdf 14083
MP7-Q-1674_isomeros_3D.sdf 21028
MP7-Q-1675_isomeros_3D.sdf 20889
MP7-Q-1676_isomeros_3D.sdf 18773
MP7-Q-1677_isomeros_3D.sdf 13849
MP7-Q-1678_isomeros_3D.sdf 16186
MP7-Q-1679_isomeros_3D.sdf 22234
TOTAL 17,641,929