Skip to main content

AgeXtend

Introduction

Overview

AgeXtend is a multimodal, bioactivity-based, and mechanism-backed Explainable AI Predictor for geroprotectors. AgeXtend supports 2 distinct work packages: Predictor and Browser. The first work package, Predictor, involves a bioactivity-based classifier for predicting geroprotective compounds, coupled with an explainability module providing mechanistic insights into biological processes behind the predictions, a toxicity module to evaluate their toxicity in the biological context, and finally, a target module that suggests protein targets of the putative geroprotective compounds. The second work package, Browser, allows the user to explore through the 20 pre-screened databases specifically curated for these functionalities.

License Key

AgeXtend is free for academic institutions, however, for commercial utilization a commercial license key is required. Users (academic/commercial) may apply for a valid "License Key" here.

You can also generate your own predictions using AgeXtend’s Colab notebook

Environment Setup (done using requirement.txt)

Major dependencies

  1. Signaturizer (v1.1.11)
  2. RDKit (v2022.3.1)

Minor dependencies

  1. os
  2. scikit-learn (v1.2.1)
  3. xgboost (v1.5.1)
  4. pandas (v1.4.3)
  5. numpy (v>=1.20.3)
  6. tqdm
  7. joblib (v1.1.1)
  8. matplotlib (v>=3.2.2)
  9. seaborn (v0.11.2)
  10. importlib
  11. importlib-resources (v5.7.1)

Quick setup

The file requirement.txt will be used for the environment setup and by running the following command.

$ pip install -r requirement.txt

How to use AgeXtend?

Installation using pip

$ pip install -i https://pypi.org/simple/AgeXtend

License activation (One time)

To apply for the license click here

>>> from AgeXtend import Predictor 

Activate AgeXtend license

>>> Predictor.license('license key') #Example: Predictor.license('KKKVFZ41111WF6RTQ')

Work Packages

AgeXtend supports 2 distinct work packages:

  1. Predictor
  2. Browser

Predictor

Prediction and Explainability Module

Predicts the anti-aging potential for the input SMILES:

>>> from AgeXtend import Predictor

Prepare a list of canonical SMILES (Open Babel generated) strings

>>> smiles = ['ClCC=C', 'C=CCOC(=O)CC(C)C'] 

Create an AgeXtend type object to featurize the query compounds (i.e. list of canonical SMILES)

>>> agex_obj = Predictor.featurize(smiles)

Use the AgeXtend object for predictions

>>> output = Predictor.predict(agex_obj)

Get the list of resulting data frames that are part of the rest of the modules

>>> output.keys()
dict_keys(['Anti_Aging_Prediction', 'Explainability_Status', 'Explainability_Probabilities'])

Note: Explainability_Probabilities will be empty by default unless selected otherwise by supplying additional arguments.

Get the result of a specific output data frame

>>> output['Explainability_Status']

Sub Explainability and Target Module

Additional arguments:

AgeXtend also supports the following modules along with the Prediction and Explainability modules, which can be chosen using the boolean option (True)

Parameter Name Description Type Default value Output (If True)
probs Probabilities of Explainability and/or Toxicity Module boolean False Explainability_Probabilities / Explainability_Toxicity_Probabilities
HC Run Toxicity Module (Health Check) boolean False Explainability_Toxicity_Status
TS Sub Explainability Level Tanimoto Similarity Test boolean False Explainability_response
BDL BindingDB Target Information and Druggability (Lipinski Rule) boolean False Druggability_and_Potential_Targets

Example

>>> output = Predictor.predict(agex_obj, TS=True)
>>> output.keys()
dict_keys(['Anti_Aging_Prediction', 'Explainability_Status', 'Explainability_Probabilities', 'Explainability_response'])
>>> output = Predictor.predict(agex_obj, HC=True, BDL=True)
>>> output.keys()
dict_keys(['Anti_Aging_Prediction', 'Explainability_Toxicity_Status', 'Explainability_Toxicity_Probabilities', 'Druggability_and_Potential_Targets'])

Efficient Bulk Prediction / Custom AgeXtend Database

Predictor module also provides functionalities for efficient bulk data prediction

>>> Predictor.bulk_predict(input=smiles_list) 

Or user can also use pre-calculated AgeXtend type object as input

>>> agex_obj = Predictor.featurize(smiles_list)
>>> Predictor.bulk_predict(input=agex_obj)
Additional arguments:
Parameter Name Description Type Default value
outfolder Output Database type folder name string AgeXtendDB
chunksize Number of predictions input per iteration for faster job completion Integer 10000

Note The output folder of Bulk prediction function can be used as a Custom database for input in AgeXtend Browser module

Browser

To explore the AgeXtend pre-complied predictions of various databases:

>>> from AgeXtend import Browser

Use Open Babel to Generate Canonical SMILES format of the query compound as input

>>> Browser.search(query='OC(=O)CCCc1c[nH]c2c1cccc2', output='/path/to/output/folder/')

Unzip the AgeXtendBrowserOut.zip file to visualize/print the generated report (HTML format)

Note: the report file (AgeXtend_BrowserOut.html) must be in the same folder with the images folder

Additional arguments:

AgeXtend also supports the use of locally complied Predictor module outputs (Folder containing CSV format outputs)

Parameter Name Description Default Database
path Path to the AgeXtend pre-complied prediction database gutMGene

Example

>>> Browser.search(path='/path/to/Database/Folder/', query='OC(=O)CCCc1c[nH]c2c1cccc2', output='/path/to/output/folder/')

Pre-complied AgeXtend Prediction Databases

DB Name DB version FTP size FTP link
FOODB Pre-release 1.0 63M http://agextend.ahujalab.iiitd.edu.in:8080/FOODB/
HMDB v5.0 231M http://agextend.ahujalab.iiitd.edu.in:8080/HMDB/
IMPPAT v2.0 4K http://agextend.ahujalab.iiitd.edu.in:8080/IMPPAT/
AfroDB - 756K http://agextend.ahujalab.iiitd.edu.in:8080/AfroDB/
AgingAtlas v1.0 748K http://agextend.ahujalab.iiitd.edu.in:8080/AgingAtlas/
Chembridge - 788K http://agextend.ahujalab.iiitd.edu.in:8080/Chembridge/
ChemdivBBlocks - 39M http://agextend.ahujalab.iiitd.edu.in:8080/ChemdivBBlocks/
CMNPD v1.0 20M http://agextend.ahujalab.iiitd.edu.in:8080/CMNPD/
DDPD - 4K http://agextend.ahujalab.iiitd.edu.in:8080/DDPD/
ECMDB v2.0 4K http://agextend.ahujalab.iiitd.edu.in:8080/ECMDB/
RepoHub release-3/24/2020 3.9M http://agextend.ahujalab.iiitd.edu.in:8080/RepoHub/

Release files for AgeXtend 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AgeXtend 0.0.2
File Size Uploaded
agextend-0.0.2.tar.gz 87.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for AgeXtend 0.0.2
File Interpreter ABI Platform
AgeXtend-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 175.9 MB

Release files / agextend-0.0.2.tar.gz

Download URL agextend-0.0.2.tar.gz
Size 87.2 MB
Tags Source
SHA-256 checksum
How to use checksums
376d2ac5b901aafd14c3e041c567569a215bbddb2660dec3072aba8c37688f6c
BLAKE2b-256 checksum
How to use checksums
fad4f09b0bdfdfaa2dc415e61d2554c3d3840fde0544189eb8a6a96bf5457518
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.13

Release files / AgeXtend-0.0.2-py3-none-any.whl

Download URL AgeXtend-0.0.2-py3-none-any.whl
Size 88.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
14b6100595289dfb7e552f0bb00a52131f93e0a29c08ac1645fe8196f3a2ef66
BLAKE2b-256 checksum
How to use checksums
304134a3d81283a30d1fd60079315669c60e353c563f7a11d1b3bb02e782f4b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.8.13

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page