Applying Deep-Learning-Driven <i>De Novo</i> Design to Hit Identification: A Case Study on A<sub>2A</sub> Adenosine Receptor Antagonists.
The 1 match
- [1] § Experimental Section › Computational Studies › De Novo Design ↔ running_modes/reinforcement_learning/core_reinforcement_learning.py, lines 23–114 · score 0.54 · reinforcement learning, diversity filter, generative model, network, Augmented, inception
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 114 lines · 6.1 KB · Apache-2.0 · 1 match
- import time
- import numpy as np
- import torch
- from reinvent_chemistry.utils import get_indices_of_unique_smiles
- from reinvent_models.lib_invent.enums.generative_model_regime import GenerativeModelRegimeEnum
- from reinvent_models.model_factory.configurations.model_configuration import ModelConfiguration
- from reinvent_models.model_factory.enums.model_type_enum import ModelTypeEnum
- from reinvent_models.model_factory.generative_model import GenerativeModel
- from reinvent_models.model_factory.generative_model_base import GenerativeModelBase
- from reinvent_scoring import FinalSummary
- from reinvent_scoring.scoring.diversity_filters.reinvent_core.base_diversity_filter import BaseDiversityFilter
- from reinvent_scoring.scoring.function.base_scoring_function import BaseScoringFunction
- from running_modes.configurations import ReinforcementLearningConfiguration
- from running_modes.constructors.base_running_mode import BaseRunningMode
- from running_modes.reinforcement_learning.inception import Inception
- from running_modes.reinforcement_learning.logging.base_reinforcement_logger import BaseReinforcementLogger
- from running_modes.reinforcement_learning.margin_guard import MarginGuard
- from running_modes.utils.general import to_tensor
- class CoreReinforcementRunner(BaseRunningMode):
- def __init__(self, critic: GenerativeModelBase, actor: GenerativeModelBase,
- configuration: ReinforcementLearningConfiguration,
- scoring_function: BaseScoringFunction, diversity_filter: BaseDiversityFilter,
- inception: Inception, logger: BaseReinforcementLogger):
- self._prior = critic
- self._agent = actor
- self._scoring_function = scoring_function
- self._diversity_filter = diversity_filter
- self.config = configuration
- self._logger = logger
- self._inception = inception
- self._margin_guard = MarginGuard(self)
- self._optimizer = torch.optim.Adam(self._agent.get_network_parameters(), lr=self.config.learning_rate)
- def run(self):
- self._logger.log_message("starting an RL run")
- start_time = time.time()
- self._disable_prior_gradients()
- for step in range(self.config.n_steps):
- seqs, smiles, agent_likelihood = self._sample_unique_sequences(self._agent, self.config.batch_size)
- # switch signs
- agent_likelihood = -agent_likelihood
- prior_likelihood = -self._prior.likelihood(seqs)
- score_summary: FinalSummary = self._scoring_function.get_final_score_for_step(smiles, step)
- score = self._diversity_filter.update_score(score_summary, step)
- augmented_likelihood = prior_likelihood + self.config.sigma * to_tensor(score)
- loss = torch.pow((augmented_likelihood - agent_likelihood), 2)
- loss, agent_likelihood = self._inception_filter(self._agent, loss, agent_likelihood, prior_likelihood,
- self.config.sigma, smiles, score)
- loss = loss.mean()
- self._optimizer.zero_grad()
- loss.backward()
- self._optimizer.step()
- self._stats_and_chekpoint(score, start_time, step, smiles, score_summary,
- agent_likelihood, prior_likelihood,
- augmented_likelihood)
- self._logger.save_final_state(self._agent, self._diversity_filter)
- self._logger.log_out_input_configuration()
- self._logger.log_out_inception(self._inception)
- def _disable_prior_gradients(self):
- # There might be a more elegant way of disabling gradients
- for param in self._prior.get_network_parameters():
- param.requires_grad = False
- def _stats_and_chekpoint(self, score, start_time, step, smiles, score_summary: FinalSummary,
- agent_likelihood, prior_likelihood, augmented_likelihood):
- self._margin_guard.adjust_margin(step)
- mean_score = np.mean(score)
- self._margin_guard.store_run_stats(agent_likelihood, prior_likelihood, augmented_likelihood, score)
- self._logger.timestep_report(start_time, self.config.n_steps, step, smiles,
- mean_score, score_summary, score,
- agent_likelihood, prior_likelihood, augmented_likelihood, self._diversity_filter)
- self._logger.save_checkpoint(step, self._diversity_filter, self._agent)
- def _sample_unique_sequences(self, agent, batch_size):
- seqs, smiles, agent_likelihood = agent.sample(batch_size)
- unique_idxs = get_indices_of_unique_smiles(smiles)
- seqs_unique = seqs[unique_idxs]
- smiles_np = np.array(smiles)
- smiles_unique = smiles_np[unique_idxs]
- agent_likelihood_unique = agent_likelihood[unique_idxs]
- return seqs_unique, smiles_unique, agent_likelihood_unique
- def _inception_filter(self, agent, loss, agent_likelihood, prior_likelihood, sigma, smiles, score):
- exp_smiles, exp_scores, exp_prior_likelihood = self._inception.sample()
- if len(exp_smiles) > 0:
- exp_agent_likelihood = -agent.likelihood_smiles(exp_smiles)
- exp_augmented_likelihood = exp_prior_likelihood + sigma * exp_scores
- exp_loss = torch.pow((to_tensor(exp_augmented_likelihood) - exp_agent_likelihood), 2)
- loss = torch.cat((loss, exp_loss), 0)
- agent_likelihood = torch.cat((agent_likelihood, exp_agent_likelihood), 0)
- self._inception.add(smiles, score, prior_likelihood)
- return loss, agent_likelihood
- def reset(self, reset_countdown=0):
- model_type_enum = ModelTypeEnum()
- model_regime = GenerativeModelRegimeEnum()
- actor_config = ModelConfiguration(model_type_enum.DEFAULT, model_regime.TRAINING,
- self.config.agent)
- self._agent = GenerativeModel(actor_config)
- self._optimizer = torch.optim.Adam(self._agent.get_network_parameters(), lr=self.config.learning_rate)
- self._logger.log_message("Resetting Agent")
- self._logger.log_message(f"Adjusting sigma to: {self.config.sigma}")
- return reset_countdown
core_reinforcement_learning.py at commit 1cff392, under Apache-2.0 · at the source
Overview
- Department of Chemical and Pharmaceutical Sciences, Via Licio Giorgieri 1, Trieste 34127, Italy
- Aptuit, an Evotec Company, Via Alessandro Fleming 4, Verona 37135, Italy
- Molecular Modeling Section (MMS), Department of Pharmaceutical and Pharmacological Sciences, University of Padova, via Marzolo 5, Padova 35131, Italy
- Medicinal Chemistry Unit, School of Pharmacy, University of Camerino, Camerino 62032, Italy
Abstract
Artificial intelligence is increasingly applied in early drug discovery to accelerate hit identification and reduce costs. In this study, we implemented an AI-driven de novo design workflow using REINVENT to generate novel antagonists for the A2A adenosine receptor, a validated target for neurodegenerative diseases. The approach combined ligand-based and structure-based components with pharmacokinetic considerations, including blood–brain barrier permeability, within a multiparameter optimization scoring function. Two generative runs were performed: the first, with balanced scoring weights, yielded inactive 1,2,4-triazole derivatives, while an alternative filtering pipeline identified a micromolar hit. A second run emphasizing structural constraints and key receptor interactions produced three active compounds with nanomolar affinity and predicted CNS permeability. These findings highlight the critical role of scoring function parametrization and filtering strategies in AI-driven drug design and demonstrate the potential of reinforcement learning to explore chemical space for CNS-targeted ligands.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.
MolecularAI/Reinvent
1cff392b9525499736089b63873bae71a64d9033, 19 October 2023Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
277 files
- __init__.py, Python, 1 line
- input.py, Python, 40 lines
- main_test.py, Python, 10 lines
- running_modes/
__init__.py , Python, 1 line - running_modes/
automated_curriculum_lea , Python, 1 linerning/ __init__.py - running_modes/
automated_curriculum_lea , Python, 4 linesrning/ actions/ __init__.py - running_modes/
automated_curriculum_lea , Python, 11 linesrning/ actions/ base_action.py - running_modes/
automated_curriculum_lea , Python, 11 linesrning/ actions/ base_sample_action.py - running_modes/
automated_curriculum_lea , Python, 68 linesrning/ actions/ lib_invent_sample_model. py - running_modes/
automated_curriculum_lea , Python, 72 linesrning/ actions/ link_invent_sample_model .py - running_modes/
automated_curriculum_lea , Python, 38 linesrning/ actions/ reinvent_sample_model.py - running_modes/
automated_curriculum_lea , Python, 43 linesrning/ automated_curriculum_run ner.py - running_modes/
automated_curriculum_lea , Python, 1 linerning/ curriculum_strategy/ __init__.py - running_modes/
automated_curriculum_lea , Python, 87 linesrning/ curriculum_strategy/ base_curriculum_strategy .py - running_modes/
automated_curriculum_lea , Python, 43 linesrning/ curriculum_strategy/ curriculum_strategy.py - running_modes/
automated_curriculum_lea , Python, 110 linesrning/ curriculum_strategy/ linkinvent_curriculum_st rategy.py - running_modes/
automated_curriculum_lea , Python, 24 linesrning/ curriculum_strategy/ no_curriculum_strategy.p y - running_modes/
automated_curriculum_lea , Python, 77 linesrning/ curriculum_strategy/ reinvent_curriculum_stra tegy.py - running_modes/
automated_curriculum_lea , Python, 5 linesrning/ dto/ __init__.py - running_modes/
automated_curriculum_lea , Python, 9 linesrning/ dto/ curriculum_outcome_dto.p y - running_modes/
automated_curriculum_lea , Python, 12 linesrning/ dto/ sampled_batch_dto.py - running_modes/
automated_curriculum_lea , Python, 8 linesrning/ dto/ sampled_sequences_dto.py - running_modes/
automated_curriculum_lea , Python, 15 linesrning/ dto/ timestep_dto.py - running_modes/
automated_curriculum_lea , Python, 10 linesrning/ dto/ updated_likelihoods_dto. py - running_modes/
automated_curriculum_lea , Python, 1 linerning/ inception/ __init__.py - running_modes/
automated_curriculum_lea , Python, 50 linesrning/ inception/ inception.py - running_modes/
automated_curriculum_lea , Python, 6 linesrning/ learning_strategy/ __init__.py - running_modes/
automated_curriculum_lea , Python, 25 linesrning/ learning_strategy/ base_double_query_learni ng_strategy.py - running_modes/
automated_curriculum_lea , Python, 40 linesrning/ learning_strategy/ base_learning_strategy.p y - running_modes/
automated_curriculum_lea , Python, 30 linesrning/ learning_strategy/ base_linker_strategy.py - running_modes/
automated_curriculum_lea , Python, 30 linesrning/ learning_strategy/ base_single_query_learni ng_strategy.py - running_modes/
automated_curriculum_lea , Python, 41 linesrning/ learning_strategy/ dap_single_query_strateg y.py - running_modes/
automated_curriculum_lea , Python, 33 linesrning/ learning_strategy/ dap_strategy.py - running_modes/
automated_curriculum_lea , Python, 23 linesrning/ learning_strategy/ learning_strategy.py - running_modes/
automated_curriculum_lea , Python, 9 linesrning/ learning_strategy/ learning_strategy_config uration.py - running_modes/
automated_curriculum_lea , Python, 10 linesrning/ learning_strategy/ learning_strategy_enum.p y - running_modes/
automated_curriculum_lea , Python, 27 linesrning/ learning_strategy/ mascof_strategy.py - running_modes/
automated_curriculum_lea , Python, 29 linesrning/ learning_strategy/ mauli_strategy.py - running_modes/
automated_curriculum_lea , Python, 30 linesrning/ learning_strategy/ sdap_strategy.py - running_modes/
automated_curriculum_lea , Python, 2 linesrning/ logging/ __init__.py - running_modes/
automated_curriculum_lea , Python, 24 linesrning/ logging/ auto_cl_logger.py - running_modes/
automated_curriculum_lea , Python, 81 linesrning/ logging/ base_logger.py - running_modes/
automated_curriculum_lea , Python, 49 linesrning/ logging/ console_message.py - running_modes/
automated_curriculum_lea , Python, 90 linesrning/ logging/ local_logger.py - running_modes/
automated_curriculum_lea , Python, 49 linesrning/ production_strategy/ base_production_strategy .py - running_modes/
automated_curriculum_lea , Python, 111 linesrning/ production_strategy/ link_invent_production_s trategy.py - running_modes/
automated_curriculum_lea , Python, 39 linesrning/ production_strategy/ production_strategy.py - running_modes/
automated_curriculum_lea , Python, 82 linesrning/ production_strategy/ reinvent_production_stra tegy.py - running_modes/
configurations/ , Python, 8 lines__init__.py - running_modes/
configurations/ , Python, 12 linesautomated_curriculum_lea rning/ __init__.py - running_modes/
configurations/ , Python, 12 linesautomated_curriculum_lea rning/ automated_curriculum_lea rning_configuration.py - running_modes/
configurations/ , Python, 12 linesautomated_curriculum_lea rning/ automated_curriculum_lea rning_input_configuratio n.py - running_modes/
configurations/ , Python, 12 linesautomated_curriculum_lea rning/ automated_curriculum_lea rning_linkinvent_configu ration.py - running_modes/
configurations/ , Python, 5 linesautomated_curriculum_lea rning/ base_configuration.py - running_modes/
configurations/ , Python, 9 linesautomated_curriculum_lea rning/ curriculum_objective.py - running_modes/
configurations/ , Python, 22 linesautomated_curriculum_lea rning/ curriculum_strategy_conf iguration.py - running_modes/
configurations/ , Python, 26 linesautomated_curriculum_lea rning/ curriculum_strategy_inpu t_configuration.py - running_modes/
configurations/ , Python, 12 linesautomated_curriculum_lea rning/ inception_configuration. py - running_modes/
configurations/ , Python, 25 linesautomated_curriculum_lea rning/ linkinvent_curriculum_st rategy_configuration.py - running_modes/
configurations/ , Python, 25 linesautomated_curriculum_lea rning/ linkinvent_production_st rategy_configuration.py - running_modes/
configurations/ , Python, 27 linesautomated_curriculum_lea rning/ prodcution_strategy_inpu t_configuration.py - running_modes/
configurations/ , Python, 20 linesautomated_curriculum_lea rning/ production_strategy_conf iguration.py - running_modes/
configurations/ , Python, 1 linecompound_sampling/ __init__.py - running_modes/
configurations/ , Python, 10 linescompound_sampling/ sample_from_model_config uration.py - running_modes/
configurations/ , Python, 3 linescreate_model/ __init__.py - running_modes/
configurations/ , Python, 15 linescreate_model/ create_model_configurati on.py - running_modes/
configurations/ , Python, 13 linescreate_model/ link_invent_create_model _configuration.py - running_modes/
configurations/ , Python, 2 linescurriculum_learning/ __init__.py - running_modes/
configurations/ , Python, 9 linescurriculum_learning/ curriculum_learning_comp onents.py - running_modes/
configurations/ , Python, 19 linescurriculum_learning/ curriculum_learning_conf iguration.py - running_modes/
configurations/ , Python, 13 linesgeneral_configuration_en velope.py - running_modes/
configurations/ , Python, 8 lineslogging/ __init__.py - running_modes/
configurations/ , Python, 10 lineslogging/ base_log_config.py - running_modes/
configurations/ , Python, 5 lineslogging/ create_model_log_configu ration.py - running_modes/
configurations/ , Python, 9 lineslogging/ curriculum_log_configura tion.py - running_modes/
configurations/ , Python, 6 lineslogging/ reinforcement_log_config uration.py - running_modes/
configurations/ , Python, 5 lineslogging/ remote_logging.py - running_modes/
configurations/ , Python, 5 lineslogging/ sampling_log_configurati on.py - running_modes/
configurations/ , Python, 5 lineslogging/ scoring_log_configuratio n.py - running_modes/
configurations/ , Python, 5 lineslogging/ transfer_learning_log_co nfiguration.py - running_modes/
configurations/ , Python, 3 linesreinforcement_learning/ __init__.py - running_modes/
configurations/ , Python, 11 linesreinforcement_learning/ inception_configuration. py - running_modes/
configurations/ , Python, 18 linesreinforcement_learning/ reinforcement_learning_c omponents.py - running_modes/
configurations/ , Python, 12 linesreinforcement_learning/ reinforcement_learning_c onfiguration.py - running_modes/
configurations/ , Python, 2 linesscoring/ __init__.py - running_modes/
configurations/ , Python, 13 linesscoring/ scoring_runner_component s.py - running_modes/
configurations/ , Python, 7 linesscoring/ scoring_runner_configura tion.py - running_modes/
configurations/ , Python, 4 linestransfer_learning/ __init__.py - running_modes/
configurations/ , Python, 16 linestransfer_learning/ adaptive_learning_rate_c onfiguration.py - running_modes/
configurations/ , Python, 9 linestransfer_learning/ link_invent_learning_rat e_configuration.py - running_modes/
configurations/ , Python, 23 linestransfer_learning/ link_invent_transfer_lea rning_configuration.py - running_modes/
configurations/ , Python, 25 linestransfer_learning/ transfer_learning_config uration.py - running_modes/
constructors/ , Python, 1 line__init__.py - running_modes/
constructors/ , Python, 8 linesbase_running_mode.py - running_modes/
constructors/ , Python, 29 linescreate_model_mode_constr uctor.py - running_modes/
constructors/ , Python, 56 linescurriculum_learning_mode _constructor.py - running_modes/
constructors/ , Python, 89 linesreinforcement_learning_m ode_constructor.py - running_modes/
constructors/ , Python, 32 linesrunning_mode.py - running_modes/
constructors/ , Python, 15 linessampling_mode_constructo r.py - running_modes/
constructors/ , Python, 17 linesscoring_mode_constructor .py - running_modes/
constructors/ , Python, 52 linestransfer_learning_mode_c onstructor.py - running_modes/
constructors/ , Python, 14 linesvalidation_mode_construc tor.py - running_modes/
create_model/ , Python, 2 lines__init__.py - running_modes/
create_model/ , Python, 49 linescreate_model.py - running_modes/
create_model/ , Python, 64 lineslink_invent_create_model .py - running_modes/
create_model/ , Python, 1 linelogging/ __init__.py - running_modes/
create_model/ , Python, 46 lineslogging/ base_create_model_logger .py - running_modes/
create_model/ , Python, 18 lineslogging/ create_model_logger.py - running_modes/
create_model/ , Python, 11 lineslogging/ local_create_model_logge r.py - running_modes/
create_model/ , Python, 31 lineslogging/ remote_create_model_logg er.py - running_modes/
curriculum_learning/ , Python, 172 linescurriculum_runner.py - running_modes/
curriculum_learning/ , Python, 4 lineslogging/ __init__.py - running_modes/
curriculum_learning/ , Python, 105 lineslogging/ base_curriculum_logger.p y - running_modes/
curriculum_learning/ , Python, 18 lineslogging/ curriculum_logger.py - running_modes/
curriculum_learning/ , Python, 92 lineslogging/ local_curriculum_logger. py - running_modes/
curriculum_learning/ , Python, 130 lineslogging/ remote_curriculum_logger .py - running_modes/
curriculum_learning/ , Python, 55 linesupdate_watcher.py - running_modes/
enums/ , Python, 1 line__init__.py - running_modes/
enums/ , Python, 8 linesadaptive_learning_rate_e num.py - running_modes/
enums/ , Python, 8 linescurriculum_strategy_enum .py - running_modes/
enums/ , Python, 9 linescurriculum_type_enum.py - running_modes/
enums/ , Python, 7 lineslogging_mode_enum.py - running_modes/
enums/ , Python, 9 linesmerging_strategy_enum.py - running_modes/
enums/ , Python, 8 linesmodel_type_enum.py - running_modes/
enums/ , Python, 8 linesproduction_strategy_enum .py - running_modes/
enums/ , Python, 8 linesranking_strategy_enum.py - running_modes/
enums/ , Python, 13 linesrunning_mode_enum.py - running_modes/
enums/ , Python, 9 linesscoring_runner_enum.py - running_modes/
enums/ , Python, 10 linesscoring_table_enum.py - running_modes/
manager.py , Python, 23 lines - running_modes/
reinforcement_learning/ , Python, 5 lines__init__.py - running_modes/
reinforcement_learning/ , Python, 5 linesactions/ __init__.py - running_modes/
reinforcement_learning/ , Python, 12 linesactions/ base_action.py - running_modes/
reinforcement_learning/ , Python, 35 linesactions/ lib_invent_likelihood_ev aluation.py - running_modes/
reinforcement_learning/ , Python, 69 linesactions/ lib_invent_sample_model. py - running_modes/
reinforcement_learning/ , Python, 34 linesactions/ link_invent_likelihood_e valuation.py - running_modes/
reinforcement_learning/ , Python, 74 linesactions/ link_invent_sample_model .py - running_modes/
reinforcement_learning/ , Python, 5 linesconfigurations/ __init__.py - running_modes/
reinforcement_learning/ , Python, 7 linesconfigurations/ learning_strategy_config uration.py - running_modes/
reinforcement_learning/ , Python, 20 linesconfigurations/ lib_invent_reinforcement _learning_configuration. py - running_modes/
reinforcement_learning/ , Python, 14 linesconfigurations/ lib_invent_scoring_strat egy_configuration.py - running_modes/
reinforcement_learning/ , Python, 10 linesconfigurations/ link_invent_log_configur ation.py - running_modes/
reinforcement_learning/ , Python, 21 linesconfigurations/ link_invent_reinforcemen t_learning_configuration .py - running_modes/
reinforcement_learning/ , Python, 12 linesconfigurations/ link_invent_scoring_stra tegy_congfiguration.py - running_modes/
reinforcement_learning/ , Python, 9 linesconfigurations/ scoring_strategy_configu ration.py - running_modes/
reinforcement_learning/ , Python, 114 lines, 1 matchcore_reinforcement_learn ing.py - running_modes/
reinforcement_learning/ , Python, 1 linedto/ __init__.py - running_modes/
reinforcement_learning/ , Python, 8 linesdto/ sampled_sequences_dto.py - running_modes/
reinforcement_learning/ , Python, 52 linesinception.py - running_modes/
reinforcement_learning/ , Python, 6 lineslearning_strategy/ __init__.py - running_modes/
reinforcement_learning/ , Python, 47 lineslearning_strategy/ base_learning_strategy.p y - running_modes/
reinforcement_learning/ , Python, 28 lineslearning_strategy/ dap_strategy.py - running_modes/
reinforcement_learning/ , Python, 22 lineslearning_strategy/ learning_strategy.py - running_modes/
reinforcement_learning/ , Python, 16 lineslearning_strategy/ learning_strategy_enum.p y - running_modes/
reinforcement_learning/ , Python, 24 lineslearning_strategy/ mascof_strategy.py - running_modes/
reinforcement_learning/ , Python, 23 lineslearning_strategy/ mauli_strategy.py - running_modes/
reinforcement_learning/ , Python, 25 lineslearning_strategy/ sdap_strategy.py - running_modes/
reinforcement_learning/ , Python, 69 lineslib_invent_reinforcement _learning.py - running_modes/
reinforcement_learning/ , Python, 63 lineslink_invent_reinforcemen t_learning.py - running_modes/
reinforcement_learning/ , Python, 4 lineslogging/ __init__.py - running_modes/
reinforcement_learning/ , Python, 90 lineslogging/ base_reinforcement_logge r.py - running_modes/
reinforcement_learning/ , Python, 46 lineslogging/ console_message.py - running_modes/
reinforcement_learning/ , Python, 1 linelogging/ link_logging/ __init__.py - running_modes/
reinforcement_learning/ , Python, 78 lineslogging/ link_logging/ base_reinforcement_logge r.py - running_modes/
reinforcement_learning/ , Python, 21 lineslogging/ link_logging/ bond_link_reinforcement_ logger.py - running_modes/
reinforcement_learning/ , Python, 49 lineslogging/ link_logging/ console_message.py - running_modes/
reinforcement_learning/ , Python, 91 lineslogging/ link_logging/ local_bond_link_reinforc ement_logger.py - running_modes/
reinforcement_learning/ , Python, 136 lineslogging/ link_logging/ remote_bond_link_reinfor cement_logger.py - running_modes/
reinforcement_learning/ , Python, 95 lineslogging/ local_reinforcement_logg er.py - running_modes/
reinforcement_learning/ , Python, 27 lineslogging/ reinforcement_logger.py - running_modes/
reinforcement_learning/ , Python, 132 lineslogging/ remote_reinforcement_log ger.py - running_modes/
reinforcement_learning/ , Python, 74 linesmargin_guard.py - running_modes/
reinforcement_learning/ , Python, 1 linescoring_strategy/ __init__.py - running_modes/
reinforcement_learning/ , Python, 30 linesscoring_strategy/ base_scoring_strategy.py - running_modes/
reinforcement_learning/ , Python, 54 linesscoring_strategy/ lib_invent_scoring_strat egy.py - running_modes/
reinforcement_learning/ , Python, 57 linesscoring_strategy/ link_invent_scoring_stra tegy.py - running_modes/
reinforcement_learning/ , Python, 23 linesscoring_strategy/ scoring_strategy.py - running_modes/
reinforcement_learning/ , Python, 14 linesscoring_strategy/ scoring_strategy_enum.py - running_modes/
sampling/ , Python, 1 line__init__.py - running_modes/
sampling/ , Python, 1 linelogging/ __init__.py - running_modes/
sampling/ , Python, 79 lineslogging/ base_sampling_logger.py - running_modes/
sampling/ , Python, 35 lineslogging/ local_sampling_logger.py - running_modes/
sampling/ , Python, 64 lineslogging/ remote_sampling_logger.p y - running_modes/
sampling/ , Python, 17 lineslogging/ sampling_logger.py - running_modes/
sampling/ , Python, 53 linessample_from_model.py - running_modes/
scoring/ , Python, 1 line__init__.py - running_modes/
scoring/ , Python, 1 linelogging/ __init__.py - running_modes/
scoring/ , Python, 86 lineslogging/ base_scoring_logger.py - running_modes/
scoring/ , Python, 12 lineslogging/ local_scoring_logger.py - running_modes/
scoring/ , Python, 38 lineslogging/ remote_scoring_logger.py - running_modes/
scoring/ , Python, 17 lineslogging/ scoring_logger.py - running_modes/
scoring/ , Python, 24 linesscoring_runner.py - running_modes/
transfer_learning/ , Python, 1 line__init__.py - running_modes/
transfer_learning/ , Python, 152 linesadaptive_learning_rate.p y - running_modes/
transfer_learning/ , Python, 1 linedto/ __init__.py - running_modes/
transfer_learning/ , Python, 14 linesdto/ collected_stats_dto.py - running_modes/
transfer_learning/ , Python, 10 linesdto/ sampled_stats_dto.py - running_modes/
transfer_learning/ , Python, 1 linelink_invent_actions/ __init__.py - running_modes/
transfer_learning/ , Python, 16 lineslink_invent_actions/ base_action.py - running_modes/
transfer_learning/ , Python, 112 lineslink_invent_actions/ collect_stats.py - running_modes/
transfer_learning/ , Python, 32 lineslink_invent_actions/ train_epoch.py - running_modes/
transfer_learning/ , Python, 124 lineslink_invent_transfer_lea rning_runner.py - running_modes/
transfer_learning/ , Python, 1 linelogging/ __init__.py - running_modes/
transfer_learning/ , Python, 81 lineslogging/ base_transfer_learning_l ogger.py - running_modes/
transfer_learning/ , Python, 128 lineslogging/ local_link_invent_transf er_learning_logger.py - running_modes/
transfer_learning/ , Python, 90 lineslogging/ local_transfer_learning_ logger.py - running_modes/
transfer_learning/ , Python, 91 lineslogging/ remote_transfer_learning _logger.py - running_modes/
transfer_learning/ , Python, 27 lineslogging/ transfer_learning_logger .py - running_modes/
transfer_learning/ , Python, 109 linestransfer_learning_runner .py - running_modes/
utils/ , Python, 2 lines__init__.py - running_modes/
utils/ , Python, 13 linesconfiguration.py - running_modes/
utils/ , Python, 31 linesgeneral.py - running_modes/
validation/ , Python, 1 line__init__.py - running_modes/
validation/ , Python, 1 linelogging/ __init__.py - running_modes/
validation/ , Python, 31 lineslogging/ base_validation_logger.p y - running_modes/
validation/ , Python, 11 lineslogging/ local_validation_logger. py - running_modes/
validation/ , Python, 38 lineslogging/ remote_validation_logger .py - running_modes/
validation/ , Python, 16 lineslogging/ validation_logger.py - running_modes/
validation/ , Python, 27 linesvalidation_runner.py - unittest_reinvent/
__init__.py , Python, 1 line - unittest_reinvent/
fixtures/ , Python, 1 line__init__.py - unittest_reinvent/
fixtures/ , Python, 16 linespaths.py - unittest_reinvent/
fixtures/ , Python, 43 linespredictive_model_fixture s.py - unittest_reinvent/
fixtures/ , Python, 46 linestest_data.py - unittest_reinvent/
fixtures/ , Python, 23 linesutils.py - unittest_reinvent/
running_modes/ , Python, 10 lines__init__.py - unittest_reinvent/
running_modes/ , Python, 2 linescreate_model_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 55 linescreate_model_tests/ test_create_model.py - unittest_reinvent/
running_modes/ , Python, 65 linescreate_model_tests/ test_link_invent_create_ model.py - unittest_reinvent/
running_modes/ , Python, 5 linescurriculum_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 119 linescurriculum_tests/ test_automated_curriculu m_learning.py - unittest_reinvent/
running_modes/ , Python, 80 linescurriculum_tests/ test_manual_curriculum_l earning.py - unittest_reinvent/
running_modes/ , Python, 6 linesinception_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 59 linesinception_tests/ test_add.py - unittest_reinvent/
running_modes/ , Python, 44 linesinception_tests/ test_add_base.py - unittest_reinvent/
running_modes/ , Python, 7 linesinception_tests/ test_add_jaccard_distanc e.py - unittest_reinvent/
running_modes/ , Python, 25 linesinception_tests/ test_empty_add.py - unittest_reinvent/
running_modes/ , Python, 44 linesinception_tests/ test_empty_base.py - unittest_reinvent/
running_modes/ , Python, 30 linesinception_tests/ test_empty_eval_add_tani moto.py - unittest_reinvent/
running_modes/ , Python, 29 linesinception_tests/ test_eval_add_tanimoto.p y - unittest_reinvent/
running_modes/ , Python, 4 lineslib_invent_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 8 lineslib_invent_tests/ learning_strategy_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 93 lineslib_invent_tests/ learning_strategy_tests/ base_learning_strategy.p y - unittest_reinvent/
running_modes/ , Python, 22 lineslib_invent_tests/ learning_strategy_tests/ test_learning_strategy_d ap_strategy.py - unittest_reinvent/
running_modes/ , Python, 19 lineslib_invent_tests/ learning_strategy_tests/ test_learning_strategy_m ascof_strategy.py - unittest_reinvent/
running_modes/ , Python, 19 lineslib_invent_tests/ learning_strategy_tests/ test_learning_strategy_m auli_strategy.py - unittest_reinvent/
running_modes/ , Python, 19 lineslib_invent_tests/ learning_strategy_tests/ test_learning_strategy_s dap_strategy.py - unittest_reinvent/
running_modes/ , Python, 2 lineslib_invent_tests/ logger_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 46 lineslib_invent_tests/ logger_tests/ test_reinforcement_logge r.py - unittest_reinvent/
running_modes/ , Python, 4 lineslib_invent_tests/ reinforcement_learning_t ests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 51 lineslib_invent_tests/ reinforcement_learning_t ests/ test_reinforcement_learn ing_likelihood_evaluatio n.py - unittest_reinvent/
running_modes/ , Python, 106 lineslib_invent_tests/ reinforcement_learning_t ests/ test_reinforcement_learn ing_model.py - unittest_reinvent/
running_modes/ , Python, 2 lineslib_invent_tests/ scoring_strategy_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 73 lineslib_invent_tests/ scoring_strategy_tests/ test_standard_scoring_st rategy_no_reaction_filte r.py - unittest_reinvent/
running_modes/ , Python, 3 lineslocal_logger_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 59 lineslocal_logger_tests/ test_sampling_invalid_sm iles.py - unittest_reinvent/
running_modes/ , Python, 70 lineslocal_logger_tests/ test_transfer_logger.py - unittest_reinvent/
running_modes/ , Python, 1 linemodel_validation_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 62 linesmodel_validation_tests/ test_model_validation.py - unittest_reinvent/
running_modes/ , Python, 14 linesreinforcement_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 90 linesreinforcement_tests/ test_link_invent_reinfor cement_learning_runner.p y - unittest_reinvent/
running_modes/ , Python, 54 linesreinforcement_tests/ test_margin_guard.py - unittest_reinvent/
running_modes/ , Python, 41 linesreinforcement_tests/ test_margin_guard_adjust _guard.py - unittest_reinvent/
running_modes/ , Python, 14 linesreinforcement_tests/ test_margin_guard_adjust _guard_on_empty.py - unittest_reinvent/
running_modes/ , Python, 45 linesreinforcement_tests/ test_margin_guard_increa se_sigma.py - unittest_reinvent/
running_modes/ , Python, 28 linesreinforcement_tests/ test_margin_guard_mean_s tats.py - unittest_reinvent/
running_modes/ , Python, 35 linesreinforcement_tests/ test_margin_guard_thresh old.py - unittest_reinvent/
running_modes/ , Python, 84 linesreinforcement_tests/ test_reinforce_tanimoto_ similarity.py - unittest_reinvent/
running_modes/ , Python, 1 linesample_model_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 60 linessample_model_tests/ test_sample_from_model.p y - unittest_reinvent/
running_modes/ , Python, 1 linescoring_runner_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 90 linesscoring_runner_tests/ test_scoring_runner.py - unittest_reinvent/
running_modes/ , Python, 3 linestransfer_learning_tests/ __init__.py - unittest_reinvent/
running_modes/ , Python, 65 linestransfer_learning_tests/ test_link_invent_transfe r_learning.py - unittest_reinvent/
running_modes/ , Python, 72 linestransfer_learning_tests/ test_transfer_learning.p y - LICENSE, License, 201 lines
- README.md, Text, 91 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 275 scripts, each with its path and the digest of its content;
- 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Publisher: n/a → American Chemical Society
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 12 authors, 10 MeSH terms, 1 funder, 93 references.
Cite
This paper
Persico, M., Micoli, A., Salmaso, V., Cianciulli, A., Moro, S., Spalluto, G., Buccioni, M., Marucci, G., Volpini, R., Pozzan, A., Micheli, F., & Federico, S. (2026). Applying Deep-Learning-Driven &
BibTeX
@article{persico2026appl
author = {Persico, Margherita and Micoli, Alessandra and Salmaso, Veronica and Cianciulli, Agostino and Moro, Stefano and Spalluto, Giampiero and Buccioni, Michela and Marucci, Gabriella and Volpini, Rosaria and Pozzan, Alfonso and Micheli, Fabrizio and Federico, Stephanie},
title = {{Applying Deep-Learning-Driven \&
journal = {Journal of medicinal chemistry},
year = {2026},
month = jun,
volume = {69},
number = {13},
pages = {15403--15422},
publisher = {American Chemical Society},
issn = {0022-2623},
doi = {10.1021/
url = {https://
pmid = {42319230},
pmcid = {PMC13370865}
}
RIS
TY - JOUR
AU - Persico, Margherita
AU - Micoli, Alessandra
AU - Salmaso, Veronica
AU - Cianciulli, Agostino
AU - Moro, Stefano
AU - Spalluto, Giampiero
AU - Buccioni, Michela
AU - Marucci, Gabriella
AU - Volpini, Rosaria
AU - Pozzan, Alfonso
AU - Micheli, Fabrizio
AU - Federico, Stephanie
TI - Applying Deep-Learning-Driven &
T2 - Journal of medicinal chemistry
J2 - J Med Chem
PY - 2026
DA - 2026/
VL - 69
IS - 13
SP - 15403
EP - 15422
SN - 0022-2623
PB - American Chemical Society
DO - 10.1021/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1021/
"type": "article-journal",
"title": "Applying Deep-Learning-Driven &
"container-title": "Journal of medicinal chemistry",
"author": [
{
"family": "Persico",
"given": "Margherita"
},
{
"family": "Micoli",
"given": "Alessandra"
},
{
"family": "Salmaso",
"given": "Veronica"
},
{
"family": "Cianciulli",
"given": "Agostino"
},
{
"family": "Moro",
"given": "Stefano"
},
{
"family": "Spalluto",
"given": "Giampiero"
},
{
"family": "Buccioni",
"given": "Michela"
},
{
"family": "Marucci",
"given": "Gabriella"
},
{
"family": "Volpini",
"given": "Rosaria"
},
{
"family": "Pozzan",
"given": "Alfonso"
},
{
"family": "Micheli",
"given": "Fabrizio"
},
{
"family": "Federico",
"given": "Stephanie"
}
],
"container-title-short":
"volume": "69",
"issue": "13",
"page": "15403-15422",
"DOI": "10.1021/
"PMID": "42319230",
"PMCID": "PMC13370865",
"ISSN": "0022-2623",
"publisher": "American Chemical Society",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
19
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41598-026-48239-2 [code]
- LigGen-a GEN-AI based ligand generation approach for de-novo drug design.Journal: Scientific reportsIn common: RDKit, PyTorch, SciPy, 1 other tool, 2 references
- [2] doi:10.34133/csbj.0184 [code]
- Cross-Species Multitask Learning with Molecular and ADME Descriptors for Liver Microsomal Metabolic Stability.Journal: Computational and structural biotechnology journalIn common: RDKit, Pillow, PyTorch, 2 other tools, cellular / molecular, 1 reference
- [3] doi:10.1038/s42003-026-10957-8 [code]
- Brain defence by the extracellular matrix protein Cochlin.Journal: Communications biologyIn common: RDKit, Pillow, PyTorch, 3 other tools, cellular / molecular
- [4] doi:10.1093/bib/bbag118 [code]
- Drug screening for α-synuclein aggregation inhibitors via multimodal graph neural network.Journal: Briefings in bioinformaticsIn common: RDKit, Pillow, PyTorch, 3 other tools, cellular / molecular
- [5] doi:10.1186/s13321-026-01177-7 [code]
- A pipeline for developing AI-driven models to predict molecular initiating events: a case study on neural tube defects.Journal: Journal of cheminformaticsIn common: RDKit, PyTorch, pandas, 2 other tools, 1 reference
- [6] doi:10.3390/ph19081319 [code]
- DeepBBB: A Data-Composition-Aware Graph Screening Workflow for BBB-Focused CNS Library Construction and Prospective PAMPA-BBB Evaluation.Journal: Pharmaceuticals (Basel, Switzerland)In common: RDKit, PyTorch, pandas, 2 other tools, 1 reference
- [7] doi:10.34133/csbj.0036 [code]
- HYG-mol: An Interpretable Multimodal Hypergraph Framework for Molecular Property Prediction.Journal: Computational and structural biotechnology journalIn common: RDKit, PyTorch, pandas, 1 other tool, cellular / molecular, 1 reference
- [8] doi:10.1021/acs.jcim.6c01299 [code]
- Targeting BCL-2 through Deep Learning-Based Drug Repurposing: A Multimodal Approach Combining Diffusion-Based Generative Modeling, Neural Relational Inference, and In Vitro Validation.Journal: Journal of chemical information and modelingIn common: RDKit, PyTorch, pandas, 2 other tools, cellular / molecular
- [9] doi:10.1038/s41598-026-53415-5 [code]
- Computational design and immunoinformatics validation of a T cell multi-epitope vaccine targeting glioblastoma stem cells.Journal: Scientific reportsIn common: RDKit, PyTorch, pandas, 2 other tools, cellular / molecular
- [10] doi:10.1038/s41586-026-10391-0 [code]
- Cell-type-targeted mitochondrial transplantation rescues cell degeneration.Journal: NatureIn common: RDKit, PyTorch, pandas, 2 other tools, cellular / molecular
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 275 scripts, and 1 match between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:cb57b1b162199928…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
