Skip to content

Commit

Permalink
readme translate
Browse files Browse the repository at this point in the history
  • Loading branch information
EduardoHernany committed Jun 27, 2024
1 parent ca22d63 commit 1c6e19c
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 52 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/media/
mgltools_x86_64Linux2_1.5.7.tar.gz

.env
Binary file modified fiocruz/__pycache__/views.cpython-39.pyc
Binary file not shown.
102 changes: 51 additions & 51 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,105 +1,105 @@
# Projeto PlasmoDocking
# Project PlasmoDocking

O Projeto PlasmoDocking é uma solução automatizada para realizar docking virtual de ligantes contra uma variedade de receptores, especificamente desenhado para identificar interações promissoras em pesquisas biomédicas. Utilizando uma combinação de ferramentas de bioinformática e química computacional, este projeto facilita a análise em larga escala de potenciais interações ligante-receptor.
The PlasmoDocking Project is an automated solution for performing virtual ligand docking against a variety of receptors, specifically designed to identify promising interactions in biomedical research. Utilizing a combination of bioinformatics and computational chemistry tools, this project facilitates large-scale analysis of potential ligand-receptor interactions.

## PlasmoDocking com Docker
## PlasmoDocking with Docker

O Projeto PlasmoDocking utiliza Docker para simplificar a configuração e execução do ambiente necessário para realizar o docking molecular de forma escalável e eficiente. Com Docker, as dependências e ferramentas necessárias, incluindo MGLTools, Open Babel e AutoDock-GPU, são encapsuladas em containers, facilitando a implantação e garantindo a consistência do ambiente de execução.
The PlasmoDocking Project uses Docker to simplify the configuration and execution of the necessary environment for scalable and efficient molecular docking. With Docker, the required dependencies and tools, including MGLTools, Open Babel, and AutoDock-GPU, are encapsulated in containers, making deployment easy and ensuring a consistent execution environment.

### Docker Configuration

O projeto contém dois Dockerfiles principais:
The project contains two main Dockerfiles:

1. **DockerFile.Worker:** Este arquivo Docker configura o ambiente necessário para executar o worker do Celery, que inclui a instalação do MGLTools, Open Babel e AutoDock-GPU. Este container é responsável por processar as tarefas de docking em fila, utilizando o poder de processamento da GPU, quando disponível.
1. **DockerFile.Worker:** This Dockerfile sets up the environment required to run the Celery worker, including the installation of MGLTools, Open Babel, and AutoDock-GPU. This container processes queued docking tasks, utilizing GPU power when available.

2. **DockerFile:** Configura o ambiente para executar o servidor Django, que gerencia a interface web do projeto e a API para submissão e monitoramento das tarefas de docking.
2. **DockerFile:** This Dockerfile sets up the environment to run the Django server, which manages the project's web interface and the API for submitting and monitoring docking tasks.

### Utilização do Celery e RabbitMQ
### Using Celery and RabbitMQ

O Celery é um sistema de fila de tarefas distribuídas, usado para processar as tarefas de docking de forma assíncrona e escalável. No PlasmoDocking, o Celery é configurado para trabalhar com o RabbitMQ como broker de mensagens, gerenciando a distribuição de tarefas entre os workers disponíveis.
Celery is a distributed task queue system used to process docking tasks asynchronously and scalably. In PlasmoDocking, Celery is configured to work with RabbitMQ as the message broker, managing the distribution of tasks among the available workers.

**Celery:** Permite a execução paralela e distribuída das simulações de docking, melhorando significativamente a eficiência e velocidade do processamento, especialmente em conjunto com a execução em GPUs.
**Celery:** Enables parallel and distributed execution of docking simulations, significantly improving processing efficiency and speed, especially when combined with GPU execution.

**RabbitMQ:** Atua como intermediário entre o servidor Django e os workers do Celery, enfileirando as tarefas de docking enviadas através da interface web ou API e distribuindo-as para os workers processarem.
**RabbitMQ:** Acts as an intermediary between the Django server and the Celery workers, queuing docking tasks submitted through the web interface or API and distributing them to the workers for processing.

## Início Rápido
## Quick Start

Para iniciar o processo de PlasmoDocking, você precisa ter um arquivo `.sdf` contendo os ligantes de interesse (atualmente é permitido no maximo 10 ligantes no `.sdf` para o processo). O sistema automatizado irá processar este arquivo através de várias etapas para identificar as melhores energias de ligação com os receptores disponíveis.
To start the PlasmoDocking process, you need an `.sdf` file containing the ligands of interest (currently, a maximum of 10 ligands in the `.sdf` file is allowed for processing). The automated system will process this file through various stages to identify the best binding energies with the available receptors.

## Utilização das Ferramentas
## Using the Tools

### MGLTools

MGLTools é uma suíte de software que fornece ferramentas para visualização, análise e preparação de moléculas para simulações de docking. No Projeto PlasmoDocking, o MGLTools é utilizado principalmente para a conversão dos ligantes do formato `.pdb` para `.pdbqt`, preparando-os para o processo de docking com o AutoDock-GPU. Esta etapa é crucial para definir os átomos ativos dos ligantes e possíveis flexibilidades das moléculas.
MGLTools is a software suite that provides tools for visualization, analysis, and preparation of molecules for docking simulations. In the PlasmoDocking Project, MGLTools is primarily used to convert ligands from `.pdb` to `.pdbqt` format, preparing them for the docking process with AutoDock-GPU. This step is crucial for defining the active atoms of the ligands and the possible flexibilities of the molecules.

**Passos para Preparação dos Ligantes:**
**Ligand Preparation Steps:**

1. **Conversão de Formatos:** Os ligantes separados do arquivo `.sdf` são convertidos para `.pdb` utilizando o Open Babel.
2. **Preparação para Docking:** Usando o script `prepare_ligand4.py` do MGLTools, os ligantes no formato `.pdb` são processados para gerar os arquivos `.pdbqt`, que contêm informações sobre cargas atômicas, tipos de átomos e potenciais pontos de flexão das moléculas.
1. **Format Conversion:** Ligands separated from the `.sdf` file are converted to `.pdb` using Open Babel.
2. **Docking Preparation:** Using the `prepare_ligand4.py` script from MGLTools, ligands in `.pdb` format are processed to generate `.pdbqt` files, containing information about atomic charges, atom types, and potential flex points of the molecules.

### Open Babel

Open Babel é uma ferramenta de química computacional usada para converter dados de moléculas entre diferentes formatos de arquivo. No projeto, Open Babel é utilizado para duas tarefas principais:
Open Babel is a computational chemistry tool used to convert molecular data between different file formats. In the project, Open Babel is used for two main tasks:

1. **Split de Ligantes:** A partir do arquivo `.sdf` fornecido, Open Babel separa os ligantes individuais para serem processados independentemente.
2. **Conversão de Formatos:** Transforma os ligantes de `.sdf` para `.pdb`, e posteriormente, converte os resultados do docking de `.pdbqt` para `.pdb`, facilitando a visualização e análise.
1. **Ligand Splitting:** From the provided `.sdf` file, Open Babel separates individual ligands for independent processing.
2. **Format Conversion:** Transforms ligands from `.sdf` to `.pdb` and subsequently converts docking results from `.pdbqt` to `.pdb`, facilitating visualization and analysis.

### AutoDock-GPU

AutoDock-GPU é uma versão otimizada do AutoDock, um dos softwares mais utilizados para docking molecular, que aproveita o poder de processamento das GPUs para acelerar significativamente os cálculos. No PlasmoDocking, AutoDock-GPU é responsável por executar o docking dos ligantes preparados contra os receptores selecionados, calculando as energias de ligação e determinando a melhor conformação para cada par ligante-receptor.
AutoDock-GPU is an optimized version of AutoDock, one of the most widely used software for molecular docking, leveraging GPU power to significantly speed up calculations. In PlasmoDocking, AutoDock-GPU is responsible for performing ligand docking against selected receptors, calculating binding energies, and determining the best conformation for each ligand-receptor pair.

**Execução do Docking:**
**Docking Execution:**

1. **Preparação dos Receptores:** Os receptores são preparados anteriormente e armazenados no banco de dados, incluindo a geração de mapas de grid necessários para o docking.
2. **Docking Automatizado:** Para cada par ligante-receptor, o AutoDock-GPU é executado, utilizando os arquivos `.pdbqt` dos ligantes e os mapas de grid dos receptores para simular o docking. Este processo é realizado em paralelo para todos os ligantes contra todos os receptores disponíveis.
3. **Análise dos Resultados:** Após a execução do docking, as melhores energias de ligação são extraídas, permitindo identificar as interações mais promissoras.
1. **Receptor Preparation:** Receptors are pre-prepared and stored in the database, including the generation of grid maps necessary for docking.
2. **Automated Docking:** For each ligand-receptor pair, AutoDock-GPU is run using the ligands' `.pdbqt` files and the receptors' grid maps to simulate docking. This process is performed in parallel for all ligands against all available receptors.
3. **Result Analysis:** After docking execution, the best binding energies are extracted, allowing the identification of the most promising interactions.

Essas ferramentas, juntas, formam a espinha dorsal do processo de PlasmoDocking, permitindo a análise em larga escala das potenciais interações ligante-receptor com eficiência e precisão.
These tools together form the backbone of the PlasmoDocking process, enabling large-scale analysis of potential ligand-receptor interactions with efficiency and precision.

## Processo PlasmoDocking: Fluxograma Detalhado
## PlasmoDocking Process: Detailed Flowchart

### 1. Recebimento do Arquivo `.sdf`
### 1. Receiving the `.sdf` File

O processo começa com o usuário fornecendo um arquivo `.sdf` contendo várias estruturas de ligantes.
The process begins with the user providing an `.sdf` file containing various ligand structures.

### 2. Criação de Diretórios
### 2. Directory Creation

Baseado no nome do usuário e do processo, diretórios específicos são criados para armazenar macromoléculas (receptores), ligantes, resultados de docking, entre outros arquivos necessários.
Based on the user and process name, specific directories are created to store macromolecules (receptors), ligands, docking results, and other necessary files.

### 3. Split dos Ligantes do `.sdf`
### 3. Splitting Ligands from the `.sdf`

O arquivo `.sdf` é dividido para separar os ligantes individuais, utilizando ferramentas como o Open Babel.
The `.sdf` file is split to separate individual ligands using tools like Open Babel.

### 4. Preparação dos Ligantes: `.sdf` para `.pdb`
### 4. Ligand Preparation: `.sdf` to `.pdb`

Os ligantes separados são convertidos do formato `.sdf` para `.pdb`, facilitando manipulações subsequentes.
The separated ligands are converted from `.sdf` to `.pdb`, facilitating subsequent manipulations.

### 5. Preparação dos Ligantes para `.pdbqt`
### 5. Ligand Preparation for `.pdbqt`

Utilizando o MGLTools, os ligantes no formato `.pdb` são preparados para o formato `.pdbqt`, adequado para o processo de docking.
Using MGLTools, ligands in `.pdb` format are prepared for the `.pdbqt` format, suitable for the docking process.

### 6. Consulta dos Receptores no Banco de Dados
### 6. Receptor Query from the Database

Todos os receptores disponíveis no banco de dados (aproximadamente 39) são selecionados para participar do processo de docking.
All available receptors in the database (approximately 39) are selected to participate in the docking process.

### 7. Execução do Docking
### 7. Docking Execution

Para cada par ligante-receptor, o AutoDock-GPU é utilizado para executar o docking, explorando conformações e calculando energias de ligação.
For each ligand-receptor pair, AutoDock-GPU is used to perform docking, exploring conformations and calculating binding energies.

**Exemplo:** Um arquivo `.sdf` com 10 ligantes enviado para o processo. Cada ligante será executado o processo para cada receptor. Ao total neste exemplo serão excutados 390 processos de docagem molecular com o AutodockGPU com o parametro de --nrun 50 (cada processo de docagem molecular é executado 50 vezes).
**Example:** An `.sdf` file with 10 ligands is submitted for the process. Each ligand will undergo docking with each receptor. In this example, a total of 390 molecular docking processes will be executed with AutoDock-GPU using the parameter `--nrun 50` (each molecular docking process is executed 50 times).

### 8. Análise dos Resultados
### 8. Result Analysis

Dos resultados de docking, extrai-se a melhor energia de ligação para cada par receptor-ligante, permitindo identificar as interações mais promissoras.
From the docking results, the best binding energy for each receptor-ligand pair is extracted, identifying the most promising interactions.

### 9. Organização dos Resultados
### 9. Organizing Results

Os resultados são organizados em diretórios específicos e também compilados em um arquivo JSON e um arquivo CSV, facilitando análises subsequentes.
Results are organized into specific directories and compiled into a JSON file and a CSV file, facilitating subsequent analyses.

### 10. Dashboard Interativo e Visualização 3D
### 10. Interactive Dashboard and 3D Visualization

A aplicação frontend acessível em "www.plasmodocking-labioquim.unir.br" oferece um dashboard interativo para análise dos resultados. Através deste dashboard, os usuários podem visualizar os dados em diferentes formatos, incluindo tabelas e gráficos, facilitando a interpretação dos resultados. Além disso, é possível visualizar as estruturas dos complexos ligante-receptor em 3D utilizando o NGL Viewer, proporcionando uma compreensão mais aprofundada das interações moleculares.
The frontend application accessible at "www.plasmodocking-labioquim.unir.br" offers an interactive dashboard for result analysis. Through this dashboard, users can view data in various formats, including tables and charts, facilitating result interpretation. Additionally, users can visualize ligand-receptor complex structures in 3D using NGL Viewer, providing deeper insights into molecular interactions.

## Conclusão
## Conclusion

O Projeto PlasmoDocking representa uma ferramenta valiosa para pesquisadores em bioquímica e farmacologia, simplificando o processo de identificação de ligantes promissores para uma vasta gama de receptores. A automação e a eficiência do processo permitem uma análise em larga escala, acelerando potencialmente a descoberta de novos candidatos a fármacos.
The PlasmoDocking Project represents a valuable tool for researchers in biochemistry and pharmacology, simplifying the process of identifying promising ligands for a wide range of receptors. The automation and efficiency of the process enable large-scale analysis, potentially accelerating the discovery of new drug candidates.

0 comments on commit 1c6e19c

Please sign in to comment.