Relax es un código abierto y el proyecto de software de libre distribución que ha sido diseñado para el estudio de la dinámica molecular mediante el análisis de los datos de RMN experimentales, el apoyo a las moléculas orgánicas, ARN, proteínas, azúcares, ADN, y muchas otras biomoléculas.
Características de un vistazo
relajarse soporta varias teorías de RMN, implementa diversas herramientas de análisis de datos como componentes modulares, y se puede interconectar con otros programas, como Dasha y modelFree. Además, es compatible con una amplia gama de teorías de RMN, incorpora varias herramientas de análisis de datos, permite a los usuarios visualizar los datos, así como para interactuar con otros programas.
Ofrece entornos CLI y GUI
A pesar del hecho de que la aplicación viene con una CLI (interfaz de línea de comandos) y la GUI (Graphical User Interface) front-end, varias interfaces gráficas de usuario de terceros (GUI) existir para relajarse.
Es compatible con varios tipos de análisis
Entre los tipos compatibles de análisis, relajarse puede manejar la dispersión de relajación, las pruebas de consistencia de múltiples RMN de campo (Resonancia Magnética Nuclear) los datos de relajación, modelo N-Estado y el orden marco, el análisis de modelo libre, R1 y R2, NOE, RSDM (reducido Mapping densidad espectral), así como investigaciones estereoquímica.
Crear secuencias de comandos muy complejos
Con el fin de automatizar el proceso de análisis de datos, es posible crear secuencias de comandos muy complejos mediante el uso de bloques de construcción. Para ello, los desarrolladores ofrecen varios scripts de ejemplo que le ayudará a entender la construcción de la escritura y para crear más fácilmente su propia cuenta.
Bajo el capó, los sistemas operativos y la disponibilidad apoyado
Mirando bajo el capó, podemos notar que el programa está escrito completamente en el lenguaje de programación Python y utiliza la multiplataforma Qt GUI conjunto de herramientas para su interfaz gráfica de usuario, lo que significa que se ejecuta en Linux, Microsoft Windows y Mac OS X sistemas operativos.
La aplicación está disponible para su descarga como archivos binarios para muchos sistemas operativos GNU / Linux, el apoyo tanto de 32 bits (x86) y 64 bits (x86_64) del conjunto de instrucciones, así como un paquete fuente.
¿Qué hay de nuevo en esta versión:
- Características:
- Muchas de las mejoras para la compilación de la versión HTML del manual relajarse.
- Actualización relajarse para eliminar todos los FutureWarnings de numpy & ge; 1.9, a prueba de futuro relajarse frente a los nuevos cambios de comportamiento numpy.
- Capacidad para manejar replicado R2, eff puntos de datos por la función de usuario relax_disp.r2eff_read, pero la adición de 0,001 al valor de frecuencia para el punto replicado.
- Un nuevo script de ejemplo para cargar un archivo de resultados de modelo libre de los operadores y el cálculo de los datos de relajación.
- Mejoras para el tratamiento de los datos estructurales AP.
- Aplicación de la función de usuario structure.pca para la realización de análisis de componentes principales (PCA) de un conjunto de estructuras.
- La adición de un guión para un rápido despliegue de la infraestructura de Google Cloud Computing.
- Cambios:
- Arreglo para el fin de la matriz de marco de 2º grado rígido modelo de orden marco en el manual. se estaba utilizando el símbolo equivocado.
- Se ha quitado las definiciones newparagraph y newsubparagraph del manual de látex. Estos estaban causando conflictos con latex2html, la prevención de la versión HTML del manual de ser compilado. Estas definiciones no son necesarias para la configuración actual del seccionamiento en el manual.
- Modificado los títulos cortos en el nuevo modelos de marco capítulo del manual. El A rúnico carácter> Z ha sido reemplazado simplemente por "Daeg '. Esto es debido a incompatibilidades con latex2html que impide el manual HTML de ser compilado.
- La eliminación de la definición de una columna de tabla de ancho fijo del preámbulo manual de látex. Esto es necesario ya que los saltos de definición latex2html compatibilidad, provocando una corrupción en la numeración cifra resultante de las imágenes en el código HTML para ser esencialmente aleatorio.
- La eliminación del paquete de acentos para permitir el manual de HTML para ser compilado. El paquete acentos de látex no es compatible con latex2html, por lo que la solución más fácil es para eliminar el paquete.
- girar manualmente el elemento de matriz de marco para EPS figuras manuales, para la compatibilidad latex2html. El comando de rotación '90 'ha sido borrada y el cuadro delimitador permutado como a b c d - & gt; b -c -a d. Esto permite que el argumento de ángulo en las includegraphics {} La orden que se retiren, como latex2html no reconoce esto. Permite que las cifras sean visibles en la versión HTML del manual.
- Rediseño de la tabla de parámetros de anidación para marco en el manual para la compatibilidad latex2html. La tabla utiliza el paquete TikZ, que es fatal para latex2html, incluso si no se utiliza. Por lo tanto la tabla en el archivo docs / látex / frame_order / parameter_nesting.tex se ha convertido en un documento LaTeX independiente para crear una versión de PostScript recortada de la mesa TikZ formateado. Un script de compilación se ha añadido también. El archivo * .ps resultante ahora se incluye en la sección de integración numérica PCS, en lugar de crear esta sección de la mesa TikZ. Todo el texto TikZ preámbulo se ha eliminado para permitir latex2html para funcionar.
- Solución para latex2html no ser capaz de manejar el paquete allrunes o la fuente asociada. En el entorno htmlonly preámbulo, los símbolos de orden trama se redefinen con el texto 'Daeg' en lugar del carácter rúnico A> Z.
- Correcciones para sub y superíndices lo largo del manual. Esto introduce {} {} alrededor de todas las instancias sub textrm y superíndice. Esto no es necesario para la versión PDF del manual, ya que se evita el problema del soporte faltante, pero afecta a la versión HTML del manual compilado por latex2html, que requiere la notación correcta. Las correcciones son tanto para el nuevo capítulo para el marco, así como el capítulo dispersión de relajación.
- Edición y correcciones para el relax 4.0.0 parte del archivo CAMBIOS.
- actualizado y mejorado las instrucciones del wiki en el documento relajarse liberar lista de verificación.
- Uno más instrucción wiki sobre la comprobación de enlaces muertos en el documento de liberación de lista de verificación.
- Más cambios menores en la sección 'Anuncio' del documento de liberación de lista de verificación.
- Actualización del script de shell para la búsqueda de títulos duplicados en los archivos LaTeX del manual.
- Construcción del título duplicado encontrar shell script en un script de Python. La secuencia de comandos de Python es mucho más avanzado y utiliza una lógica diferente para producir una tabla de títulos duplicados y su recuento. El script también devuelve un estado de salida fallado cuando existen repeticiones.
- Construcción el título replicado búsqueda de secuencia de comandos de Python para usar una estructura de clases. Esto permite que la secuencia de comandos para ser importado como un módulo. El hallazgo de duplicados se ha desplazado en un método de la clase find ().
- Renombrado el título replicar la búsqueda de secuencia de comandos.
- Se ha quitado el título LaTeX duplicado encontrar script de shell. Esto ahora está a cargo de la secuencia de comandos de Python mucho más avanzada.
- La compilación Scons de los manuales en formato PDF y HTML ahora comprueba para los títulos replicados. Un nuevo objetivo replicate_title_check ha sido añadido a las secuencias de comandos SCons. Esto llama al método find () de la secuencia de comandos hallazgo título réplica látex para determinar si se replican los títulos, y si es así los scons destino devuelve con un (1) llamada sys.exit. Este objetivo se fija en el inicio de los objetivos de la user_manual_pdf, user_manual_pdf_nofetch, user_manual_html, scons user_manual_html_nofetch. El resultado es que el manual no puede ser compilado si existen títulos replicadas, obligando a los títulos que ser cambiado. El resultado será que las páginas HTML serán todos único, como los resultados de los títulos replicados en sólo una página HTML que se está creando para todas las secciones.
- Eliminación de títulos replicados en las fuentes LaTeX que los nuevos capítulos de la orden introducida marco.
- La eliminación de un viejo título replicado en las fuentes de látex para el manual. Este es el título 'Análisis modelo libre' que se utiliza para todo el capítulo de análisis específico, así como para la sección de análisis de modelo libre de los valores, degradados y arpilleras para el capítulo de optimización.
- Correcciones y mejora de las impresiones para el objetivo replicate_title_check scons.
- Actualización todas relajarse para proteger contra futuros cambios que se producen en el paquete numpy Python. Desde la versión 1.9 numpy, la FutureWarning __main __: 1: FutureWarning: comparación con `None` resultará en una comparación de objetos elementwise en el futuro. se ve en un gran porcentaje de todos relajarse de funciones de usuario. Esta es capturado y convertido en un RelaxWarning con el mismo mensaje. La cuestión es que el comportamiento de los operadores de comparación == y! = Va a cambiar con las futuras versiones numpy. Estos han sido reemplazados con está y no está en toda la base de código relajarse. También se han hecho a los paquetes minfx y bmrblib de igualar.
- Más futura protección contra los cambios numpy. El FutureWarning es `rank` está en desuso; utilizar el atributo `ndim` o función en su lugar. Para encontrar el rango de una matriz ver `numpy.linalg.matrix_rank`. Por tanto, el método de la función objetivo paramag_info modelo N-estado () se ha actualizado para utilizar el atributo .ndim y la función de un uso más largo numpy.rank ().
- Creada la prueba del sistema Mf.test_bug_23933_relax_data_read_ids. Esto está diseñado para atrapar el bug # 23933, la "NameError: 'ids' nombre global no está definido" problema al cargar los datos de relajación. Una versión truncada de los datos del archivo y relajación PDB, las versiones completas de los cuales se adjuntan al informe de fallo, que consiste únicamente de residuos de 329, 330 y 331 se han añadido a los directorios de datos de conjunto de pruebas compartidos, y la prueba del sistema escrito para coger el NameError.
- Actualización del sistema de la prueba Mf.test_bug_23933_relax_data_read_ids para coger el RelaxMultiSpinIDError. Esto permite que la prueba del sistema para pasar, ya que se espera un RelaxMultiSpinIDError.
- Se han actualizado las versiones minfx y bmrblib en el documento de liberación de lista de comprobación para 1.0.12 y 1.0.4. Esto es para eliminar los mensajes FutureWarning numpy sobre el == None y =! Ninguno comparaciones con estructuras de datos numpy, que en el futuro va a cambiar en el comportamiento.
- Se ha aumentado el Gna! noticia seccionar profundidad en el documento de liberación de lista de verificación.
- Ampliado la descripción de la función sequence.attach_protons usuario. Esto se deduce de http://thread.gmane.org/gmane.science.nmr.relax.user/1849/focus=1855.
- Añadido datos iniciales sobre resultados de ensayos de Paul Schanda. Esto demostrará que hay varias posibilidades para mejorar la R2, método de punto de ef.
- Se ha añadido la prueba del sistema Relax_disp.test_paul_schanda_nov_2015. Esto cogerá el préstamo de valores nan.
- Fabricado comprobación adicional en la lectura de secuencia, que los valores nan se omiten.
- Asegurarse de que el punto de 4000 Hz replicado para el experimento de 950 MHz no se sobrescribe.
- En la prueba del sistema Relax_disp.test_paul_schanda_nov_2015, añadió una prueba de contar el R2, valores FEP. Esto demuestra que el R2 replicado, efectivo a 950 MHz punto 4000 / Hz se sobrescribe. Una solución podría consistir en cambiar la frecuencia de dispersión muy poco, para permitir la adición del punto de datos.
- añadida más pruebas para Relax_disp.test_paul_schanda_nov_2015. Esto demostrará que las réplicas de R2, los valores FEP no se manejan bien.
- En la función de r2eff_read en el módulo de datos de la dispersión, añade las posibilidades de leer R2, valores eff cuales se replican. Esto se hace primero la comprobación de si existe la clave de dispersión en el R2, diccionario ef. Si existe, seguirá añadir 0,001 a la frecuencia hasta que existe una nueva posibilidad. Esto debería ayudar a manejar múltiples R2, puntos eff, como valores independientes y no tomar ninguna decisión de un promedio de ellos.
- Se ha añadido la expectativa de elevar un error relajarse, si tratara de trazar y no hay información modelo está almacenado.
- El aumento de un error si el trazado de curvas de dispersión, y ningún modelo está guardado.
- Se ha cambiado script de ejemplo para el análisis de datos.
- extendido la prueba del sistema Relax_disp.test_paul_schanda_nov_2015 incluir auto-análisis y ajustes agrupados. Esto debería mostrar que el análisis es ahora posible.
- Ha añadido un estado temporal y una secuencia de comandos para la configuración de interfaz gráfica de usuario a los datos Paul Schanda.
- Se ha añadido la prueba Relax_disp.test_paul_schanda_nov_2015 interfaz gráfica de usuario. Esto demostrará que la carga de un Estado va a crear un problema. Rastreo (llamada más reciente pasado): TypeError: Int.) Argumento (debe ser una cadena o un número, no 'NoneType'
- Ha añadido un script de ejemplo para la relajación de datos de copia de calcular a partir de un archivo de resultados de modelo libre. Esto es útil cuando el archivo de resultados no es el modelo final, ya que estos archivos no contienen los resultados de los datos de copia de calcular. Esto es en respuesta a la solicitud de Christina Moller apoyo # 3303.
- Uso lib.float.isNaN de Gary () en lugar de math.isnan (), para tener compatibilidad con Python 2.5.
- Arreglo para el error de ortografía y documentar el nuevo comportamiento de relax_disp.r2eff_read, al leer R2, eff puntos con la misma frecuencia. Si el spin-contenedor ya contienen R2, valores eff con la 'frecuencia del pulso CPMG "o" intensidad de campo spin-lock', la frecuencia será cambiado por un valor pequeño infinitesimal de + 0.001 Hz. Esto permite duplicados o más de la misma frecuencia.
- Se ha modificado el objeto estructural interno para ser menos influenciada por el formato de la AP. El número de serie AP se maneja de forma inteligente, en el que se pone a 1 cuando se crea un nuevo modelo. Esta información se mantiene aún para el apoyo a la lógica de la lectura de los registros CONECT, y será eliminado en el futuro. La información de ID de cadena está ya no se almacena en el objeto estructural interna, ya que esta información es recreada por la función de usuario structure.write_pdb en función de cómo se haya creado el objeto estructural interno.
- Las actualizaciones de las clases de prueba Noe y del sistema Estructura de los cambios de objeto estructurales internas. El número de serie puede ser ahora de reposición, y la información de ID de cadena ya no está almacenada.
- Ha añadido un archivo con los datos de prueba con baño compartido para ayudar a implementar el análisis estructural PCA. Esta es la N-dominio del complejo CaM-IQ utilizado en un análisis de orden marco. Se trata de los primeros 5 estructuras de una llamada a la función de usuario frame_order.distribute, con los diferentes cuerpos rígidos se fusionó de nuevo juntos en una sola molécula.
- Creado el extremo frontal función de usuario structure.pca. Este es el modelo actualmente en el marco de la función de usuario structure.rmsd.
- Implementación básica de la parte de atrás de funciones de usuario structure.pca. Esta es la función de nuevo ACC () del módulo pipe_control.structure.main. Simplemente realiza algunas comprobaciones, ensambla las coordenadas atómicas, y los pasa el control a la función relajarse pca_analysis biblioteca () del módulo lib.structure.pca actualmente implementado.
- implementado parcial del análisis de componentes principales en la biblioteca relajarse. Esto es para la nueva función de usuario structure.pca. El módulo lib.structure.pca ha sido creado, y la función pca_analysis () creada para el cálculo de la matriz de estructura de covarianza, a través de la función calc_covariance_matrix (), y luego calcular los valores propios y los vectores propios de la matriz de covarianza, los clasifica y truncando a la número deseado de modos de PCA.
- Añadido los argumentos del algoritmo y num_modes a la función de usuario structure.pca. Estos se pasan todo el camino en el back-end relajarse biblioteca.
- implementa el algoritmo de SVD para el análisis de PCA en la biblioteca relajarse. Esto exige simplemente numpy.linalg.svd ().
- El análisis de componentes principales en la biblioteca relajarse ahora calcula las proyecciones por la estructura a lo largo de los PCs.
- La función de análisis de PCA en la biblioteca relajarse ahora está regresando de datos. Esto incluye los valores de PCA y vectores, y las proyecciones por estructura.
- Los valores de PCA y vectores, y las proyecciones por la estructura están siendo almacenados. Esto está en la función de back-end de usuario structure.pca en el módulo pipe_control.structure.main.
- Añadido el formato y los argumentos dir a la función de usuario structure.pca. Esto es para la parte delantera y trasera termina.
- Modificados los assemble_structural_coordinates () para devolver más información. Esto es desde el módulo pipe_control.structure.main. El argumento booleano listas ahora se acepta que hará que la función para devolver, además, la lista de ID de objeto por molécula, la lista número de modelo por molécula, y la lista de nombres molécula por molécula.
- La función de usuario structure.pca ahora crea gráficas de las proyecciones de PC. Esto incluye PC1 vs PC2, PC3 PC2 vs, etc.
- Añadido Gromacs los resultados de PCA para el archivo distribution.pdb. Esto incluye un script utilizado para ejecutar todas las partes del Gromacs y todos los archivos de salida.
- Actualización de los resultados Gromacs PCA para la nueva versión 5.1.1 Gromacs.
- creado una prueba inicial del sistema Structure.test_pca. Esto ejecuta la nueva función de usuario structure.pca, y comprueba si los datos se almacenan en cdp.structure.
- Mejora de los gráficos en el back-end de la función de usuario structure.pca. Los gráficos están agrupados de manera que los diferentes modelos de la misma estructura en el mismo canal de datos se encuentran dentro de un conjunto gráfico. El encabezado gráfico también ha sido mejorada.
- Ampliado los controles de prueba del sistema Structure.test_pca para comparar con los valores de Gromacs.
- Una estructura de medias ponderada puede ahora ser calculado. Esto es para la función calc_mean_structure () de las relajarse lib.structure.statistics módulo Biblioteca. Pesos ahora pueden ser suministrados para cada estructura para permitir una media ponderada de calcularse y devuelto.
- Se ha añadido soporte para las estructuras de observación en la función de usuario structure.pca. Esto permite que un subconjunto de las estructuras utilizadas en el análisis de PC a tener peso cero de modo que estas estructuras se pueden utilizar para fines de comparación. Los obs_pipes, obs_models y obs_molecules argumentos se han añadido a la parte delantera de funciones de usuario. El motor utiliza esto para crear una matriz de pesos para cada estructura. Y las funciones lib.structure.pca utilizan los pesos cero para eliminar las estructuras de observación procedentes de los cálculos del modo PC.
- Creada la prueba del sistema Structure.test_pca_observers. Esto es para probar el nuevo concepto de estructuras de observación de la función de usuario structure.pca.
- Mejora de las impresiones de la relajación Análisis de componentes principales de la biblioteca. Esto está en la función pca_analysis () del módulo lib.structure.pca.
- Soluciones y mejoras de los gráficos producidos por la función de usuario structure.pca. Los diferentes conjuntos ahora se crean correctamente, y ahora están etiquetados en las parcelas.
- Adición de una secuencia de comandos de despliegue de pruebas, para el despliegue rápido en Google Cloud Computing. Se trata de una instalación destinados en Ubuntu 14.04 LTS.
- La expansión de secuencia de comandos para la instalación.
- Poner la instalación en funciones de secuencia de comandos de despliegue.
- La división de desplegar la escritura en varias funciones pequeñas.
- La adición de declaraciones de comprobación para instalar guión.
- Cuando el abastecimiento de los guiones, varias funciones se puede realizar en su lugar.
- espacios Añadido al script de instalación para una mejor impresión.
- Adición de un script tutorial.
- La adición de 2 guiones de tutoría.
- Arreglo para el pequeño error de identificación giro en escritura tutorial.
- Se creó una prueba del sistema para la captura de error # 24131, el error de exportación BMRB cuando el objeto SpinContainer no tiene atributo S2, según lo informado por Martin Ballaschk.
- Modificado la prueba del sistema Mf.test_bug_24131_bmrb_deposition para comprobar la RelaxError. Los resultados de la prueba en un RelaxError, como el archivo de resultados no contiene vueltas que haya seleccionado.
- Se ha añadido la prueba del sistema Mf.test_bug_24131_missing_interaction para coger otro problema. Esto es parte de el bug # 24131, el error de exportación BMRB con el objeto SpinContainer tener ningún valor S2. Sin embargo, la solución anterior de saltarse giros sin seleccionar introdujo un nuevo problema de relajarse sigue buscando a las interacciones interatómicas para ese giro no seleccionado.
- Corrección de errores:
- títulos replica en la versión HTML del manual de relajarse, y por lo tanto replicado nombres de archivo HTML sobrescribir los apartados anteriores, se han eliminado.
- Arreglo para el bug # 23933, la "NameError: no está definida nombre global 'ids'" problema al cargar los datos de relajación. El error se introdujo de nuevo en noviembre de 2014, y se debe a algún código de control de errores incompletos. El problema es que el tipo de giro que los datos de la relajación pertenece a (@N vs. @H) no se ha especificado. Ahora se plantea la RelaxMultiSpinIDError correcta. La variable ids no existía -. Que era código que fue planeada para ser añadido, pero nunca fue y quedó en el olvido
- Arreglo para la ecuación de la constante de CSA en el capítulo modelo libre del manual. Esto fue visto por Christina Moller e informó sobre los relajarse lista de distribución.
- Corrección de error para el almacenamiento del objeto estructural XML en los archivos de estado y los resultados. Anteriormente cualquier objeto añadido a cdp.structure (o cualquier objeto de estructura) no serían salvados por el método estructural objeto to_xml () a menos que la función se ha modificado de forma explícita para almacenar ese objeto. Ahora todos los objetos presentes serán convertidos a XML.
- Arreglo para el análisis de dispersión de relajación en la GUI, como atrapado por la prueba Relax_disp.test_paul_schanda_nov_2015 interfaz gráfica de usuario. Cuando se carga de un archivo de estado de la escritura, el valor de Ninguno puede estar presente. Así se establece a los valores estándar.
- Arreglo para correr relajarse en un servidor sin pantalla gráfica y el uso de matplotlib. El error se encontró con la prueba del sistema Relax_disp.test_repeat_cpmg. Y el error generado fue: QXcbConnection: No se pudo conectar a mostrar. Abortada (núcleo objeto de dumping). El backend de matplotlib tiene que ser cambiado. Esto se describe por ejemplo en: http://stackoverflow.com/questions/2766149/possible-to-use-pyplot-without-display y http://stackoverflow.com/questions/8257385/automatic-detection-of-display-availability-with-matplotlib.
- Se ha modificado el comportamiento de la función de usuario backend bmrb.write para un análisis de modelo libre (Arreglo para el bug # 24131). Esto es en el método bmrb_write () de la API análisis libre de modelo. giros no seleccionadas están omitidos y un cheque se ha añadido para asegurarse de que los datos de centrifugado se ha montado.
- Otra solución para el bug # 24131, el error de exportación BMRB cuando el objeto SpinContainer no tiene atributo S2. Ahora no hay datos almacenados en el archivo BMRB si un modelo de libre-modelo no se ha establecido para el giro. Esto permite que el conjunto de pruebas que pase.
- Corrección de errores para permitir la comprobación del sistema Mf.test_bug_24131_missing_interaction pase. Esto es parte de el bug # 24131, el error de exportación BMRB con el objeto SpinContainer tener ningún valor S2. El problema fue que cuando el montaje de los datos de tensor de difusión. La función spin_loop () estaba siendo llamado, como el tensor de difusión se informa de todos los residuos. Por lo tanto la skip_desel = True se ha añadido para que coincida con la parte libre de modelo.
¿Qué hay de nuevo en la versión 4.0.0:
- Características:
- La implementación final, completa y correcta de la teoría de la orden marco para el estudio de movimientos de cuerpo rígido. Esta es actualmente para el análisis de los datos de RDC y PCS de los sistemas alineados internamente.
- Cambios:
- Supresión de la función de usuario frame_order.average_position y todo el código backend asociado. Esta función de usuario permite al usuario especificar cinco tipos diferentes de desplazamiento a la posición media de dominio en movimiento: una rotación pura, sin traducción, alrededor del pivote del movimiento en el sistema; una rotación alrededor del pivote del movimiento del sistema junto con una traducción; traducción puro sin rotación; una rotación alrededor del centro de masas del dominio en movimiento sin traducción; una rotación alrededor del centro de masas del dominio en movimiento junto con una traducción. Ahora la última opción será la predeterminada y la única opción. Esta opción es equivalente al algoritmo estándar de superposición (el algoritmo de Kabsch) a una estructura hipotética en la posición media real. Los otros cuatro son debido a la historia del desarrollo de la teoría. Estos limitan la utilidad de la teoría y sólo causará confusión.
- Limpiar el código de función objetivo para el marco. Esto coincide con el anterior cambio de la supresión de la función de usuario frame_order.average_position. Los cambios incluyen la eliminación de la bandera de optimización de la traducción como esto ahora siempre se lleva a cabo, y la eliminación de la bandera que hace que el punto de rotación de dominio de pivote promedio para que coincida con el punto de giro motional ya que estos son ahora desacoplados de forma permanente.
- orden alfabético de funciones en el módulo lib.frame_order.pseudo_ellipse.
- Eliminado todos los modelos de la línea '' de orden marco, ya que no se han implementado aún. Esto es sólo el código frontend -. Backend no existe
- Actualización del cono CaM escritura de optimización modelo de prueba para el marco isotrópico. Debido a todos los cambios en el análisis de orden marco, la vieja escritura ya no era funcional.
- Creación de un guión para los modelos de prueba para bastidor de leva para encontrar la posición de dominio de la media. A medida que la rotación alrededor de un pivote fijo ha sido eliminado, el cambio de 1J7P_1st_NH_rot.pdb a 1J7P_1st_NH.pdb tiene que ser convertida en una traslación y rotación alrededor del Com. Este script se utiliza para sustituir la rotación de pivote ángulos de Euler con el vector de traslación y rotación ángulos de Euler Com. Sin embargo tendrá que ser modificado para manejar tanto la superposición centroide estándar, así como una superposición CoM la función de usuario structure.superimpose.
- Actualización de la prueba para la escritura de modelo de superposición bastidor de leva. La función de usuario structure.superimpose ahora se llama correctamente. El archivo de registro de salida se ha añadido al repositorio, ya que contiene la traducción correcta y la información de rotación de Euler necesario para los modelos de prueba.
- Actualización de parámetros para el cono de la CaM escritura de optimización modelo de prueba para el marco isotrópico. Los ángulos de Euler para la rotación alrededor del pivote motional han sido sustituidos por los parámetros de rotación CdM vector de traslación y de ángulo de Euler.
- Fix para un número de los modelos de orden marco que no tienen restricciones de parámetros. La función linear_constraint () regresaba a, b = [], [] para estos modelos, pero estas matrices numpy vacías estaban causando la biblioteca minfx falle. Estos valores están atrapados y el algoritmo de restricción apagados en el método de la API específica minimizar ().
- El aumento de la precisión de todos los datos en el script de prueba para la base de datos de generación de bastidor de leva. Todas ellas han sido convertidas desde float16 a float64 tipos numpy.
- Arreglo para el ajuste de error de RDC en el script de prueba para la base de datos de generación de bastidor de leva. La estructura de datos rdc_err se encuentra en los contenedores de datos interatómicas, sin los contenedores de espín.
- La modificación de la estructura de carga parte de la secuencia de comandos de base de datos para la generación de bastidor de leva. Las estructuras están ahora sólo se cargan si se establece el indicador DIST_PDB, ya que sólo se utilizan para la generación de la distribución 3D de estructuras. Esto ahorra mucho tiempo y la memoria del ordenador.
- enorme aumento de velocidad de la escritura de base de la generación de datos de prueba para bastidor de leva. Mediante el uso de arrays numpy multidimensionales para almacenar las posiciones atómicas y vectores unitarios XH de todos los giros, y la realización de las rotaciones en estas estructuras usando numpy.tensordot (), los cálculos son ahora un factor de 10 veces más rápido. El indicador de progreso tuvo que ser cambiado para mostrar cada 1.000 en lugar de 100 iteraciones. Las rotaciones de las posiciones y los vectores se realizan ahora de forma secuencial, la fijación de un error accidental con los modelos de doble movimiento (es decir, el modelo de "doble rotor ').
- Se ha modificado la prueba para la escritura de la base de datos de generación de bastidor de leva para conservar la memoria RAM del ordenador. El vector XH y estructuras de datos atómicos posición de todas las rotaciones N son ahora de la numpy.float32 en vez de escribir numpy.float64. El principal cambio es calcular la EDR promediados y promedió PQUES separado, eliminando las estructuras de datos de tamaño N-una vez que los archivos de datos se escriben.
- rediseño completo de la generación de los datos para la escritura de base de bastidor de leva para la velocidad y la memoria de ahorro. Aunque el vector de bonos XH girada y código de posición atómica fue muy rápido, la cantidad de memoria necesaria para almacenar estos en los contenedores de giro y contenedores de datos interatómicas era enorme cuando N & gt; 1E6. Los rdc.back_calc y de usuario pcs.back_calc posteriores llamadas a funciones también tomarían demasiado tiempo. Por lo tanto, la secuencia de comandos de base se ha rediseñado. El método _create_distribution () se ha dividido en cuatro: _calculate_pcs (), _calculate_rdc (), _create_distribution (), y _pipe_setup (). El método _pipe_setup () se llama primero para establecer el canal de datos con todos los datos requeridos. A continuación, el _calculate_rdc () y _calculate_pcs () métodos, y finalmente _create_distribution () si se establece el indicador DIST_PDB. Las llamadas a las funciones de usuario y rdc.back_calc pcs.back_calc han sido eliminados. En cambio, el _calculate_rdc () y _calculate_pcs () Métodos de cálculo de la RDC y un promedio de PCS a sí mismos como numpy estructuras de matriz. En lugar de almacenar los vectores rotados y estructuras de datos posiciones atómicas enorme, la EDR y PQUES se suman. Estos se dividen por self.N al final promediar los valores. En comparación con el antiguo código, cuando N se establece en 20 millones el uso de memoria RAM gotas de ~ 20 GB de ~ 65 MB. El tiempo de ejecución total es también disminuyó en un sistema de unos pocos días a unas pocas horas (un orden de magnitud o dos).
- Se ha cambiado el indicador de progreso de la actualización para la escritura de la prueba para la base de datos de generación de bastidor de leva. La ruleta era demasiado rápido, la actualización de cada 5 incrementos, y ahora se actualiza cada 250. Y el número total ahora sólo se imprime cada 10.000 incrementos.
- Mejoras en la barra de progreso para el script de base de la generación de datos de prueba para bastidor de leva. Comas ahora se imprimen entre los miles y los números ahora son justificados a la derecha.
- Gran aumento en la precisión de la RDC y PCS de promedio. Esto es para la escritura de base de la generación de datos de prueba para bastidor de leva. Sumando la EDR y PQUES en matrices numpy.float128 1D (para esto, se requiere un sistema de 64 bits), y luego dividiendo por N al final, el valor medio se puede calcular con una precisión mucho mayor. A medida que N se hace más grande, el promedio numérico introduce cantidades cada vez mayores de los artefactos de truncamiento. Así que este cambio alivia este.
- Arreglo para el RDC y con un promedio de PCS en el script de prueba para la base de datos de generación de bastidor de leva. Para el modelo de doble rotor, o cualquier modelo modo motional múltiple, el promedio era incorrecta. En lugar de dividir por N, los valores deben dividirse por N ^ M, donde M es el número de modos dinámicas.
- aumento enorme en la precisión de los datos de ensayos con modelos de rotor libre orden bastidor de leva. La precisión es mayor debido a que las estructuras de número en la distribución es ahora veinte millones en lugar de un millón, y de la mucho más alta precisión promedio numpy.float128 de la secuencia de comandos de base de generación de datos actualizado se ha utilizado. Estos datos deben permitir una mejor estimación de los valores de los parámetros de posición beta y gamma promedio de dominio de los modelos de rotor libres que se ven afectados por el colapso del parámetro alfa a cero.
- aumento enorme en la precisión de los datos de prueba modelo de doble rotor de orden bastidor de leva. La precisión es mayor debido a que las estructuras de número en la distribución es ahora más de veinte millones (4500 ^ 2) en lugar de un cuarto de millón (500 ^ 2). Y la mucho mayor promedio precisión numpy.float128 de la secuencia de comandos de base de generación de datos actualizado se ha utilizado.
- Cambios:
- Corrección de errores:
- Cambios:
Es decir.
¿Qué hay de nuevo en la versión 3.3.4:
- Características:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
¿Qué hay de nuevo en la versión 3.1.5:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 3.1.3:
- Cambios:
¿Qué hay de nuevo en la versión 3.1.2:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 3.1.1:
- Características:
- Cambios:
¿Qué hay de nuevo en la versión 3.1.0:
- Características:
- Cambios:
- & Gt;
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 3.0.1:
- Características:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 2.2.2:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 2.2.1:
- Cambios:
- Corrección de errores:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 2.1.2:
- Características:
- Cambios:
¿Qué hay de nuevo en la versión 2.1.1:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 2.1.0:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 2.0.0:
- Características:
- Cambios:
¿Qué hay de nuevo en la versión 1.3.16:
- Características:
- Cambios:
- Corrección de errores:
¿Qué hay de nuevo en la versión 1.3.9:
Requisitos
Comentarios que no se encuentran