Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FungAI

We aimed to address our rising vulnerability to fungal pathogens through the development of the Fung-AI pipeline: an AI/ML-driven approach for antifungal discovery. A generative adversarial network (GAN) was trained to generate novel candidate antifungal peptide sequences. Next, in silico antifungal and hemolytic classifiers were built to further prioritize AI-generated peptides for experimental validation. From a pool of ~10,000 candidates, thirteen peptides were selected for testing over two-stages of experimentation. Five peptides were found to display mild antifungal activity against the wheat pathogen, Fusarium graminearum, with minimal inhibitory concentrations (MICs) ranging from 250 µg/mL to 500 µg/mL. Four of the five peptides also showed activity against the human pathogen, Candida albicans (MIC: 500 µg/mL). Two of our AI-generated antifungal peptides additionally demonstrated low cytotoxicity in HepG2 human liver carcinoma cells (LC50 > 704.2 µg/mL) indicating that they may be useful as scaffolds for future optimization for therapeutic applications. None of our peptides were found to considerably inhibit the emerging pathogen C. auris, suggesting the need for pathogen-specific down-selection of candidate peptides. Overall, we present a proof-of-principle, generative-AI-based approach for the rapid design of de novo antifungal peptides.

Requirements

FungAI was run on python 3.11.5. It is recommended to use a virtual environment for package version management.

Package requirements are found in requirements_fungai.txt and can be installed in the virtual environment using pip install -r requirements_fungai.txt.

To successfully run the sequence_validation_wasserstein.ipynb notebook and load in the provided UMAP and HDBSCAN clustering models, a separate virtual environment should be created with requirements_umap.txt. Use this environment to run the notebook.

When installing packages, comment out tensorflow-intel package in requirements files if not using Windows

OS used for project:

  • GAN: Linux
  • Classifier: Linux and Windows
  • UMAP/HDBScan: Windows (may not replicate exactly on Mac/Linux due to randomness of os used in UMAP)
  • Other downselection processes: Mac and Linux

Troubleshooting potential installation issues:

  • Error installing intel-openmap
    • Possible solution: Comment out intel-openmap and brew install libomp if on Mac

Train Classifiers

Antifungal Classifiers

The classifiers were trained using the following commands (run from top level directory):

TCN classifier train:

  • python src/antifungal_classifier/antifungal_tcn_classifier.py --training_data datasets/data_combined_train.csv --testing_data datasets/data_combined_test.csv --window_size 1 --max_len 35 --batch_size 128 --epochs 40

TCN classifier inference only:

  • python src/antifungal_classifier/antifungal_tcn_classifier.py --inference_data results/wasserstein_only_antifungal_and_non_hemolytic.csv --window_size 1 --max_len 35 --batch_size 128 --epochs 40 --load_model results/models/first_test_tcn_model.h5

BiLSTM classifier train (change embed_type and model to one-hot for one-hot encoding):

  • python src/antifungal_classifier/antifungal_1dcnn_bilstm_classifier.py --training_data datasets/data_combined_train.csv --testing_data datasets/data_combined_test.csv --batch_size 16 --epochs 20 --save_output results/models/bilstm_results.csv --save_model results/models/blosum_test_1_model.h5 --load_model results/models/blosum_test_1_model.h5 --max_len 35 --min_len 10 --embed_type blosum

BiLSTM classifier inference (change embed_type and model to one-hot for one-hot encoding):

  • python src/antifungal_classifier/antifungal_1dcnn_bilstm_classifier.py --inference_data results/wasserstein_only_antifungal_and_non_hemolytic.csv --batch_size 16 --epochs 20 --save_output results/models/bilstm_results.csv --load_model results/models/blosum_test_1_model.h5 --max_len 35 --min_len 10 --embed_type blosum

Hemolytic Classifiers

The classifier was trained using the following commands (run from top level directory):

Train:

  • python src/hemolytic_classifier/hemolytic_classifier.py --train

Inference:

  • python src/hemolytic_classifier/hemolytic_classifier.py --inference_data results/wasserstein_only_antifungal_and_non_hemolytic.csv --save_output results/hemolytic_inference.csv --load_model results/models/hemolytic_model.h5

Train GAN

Note a classifier model must be trained and saved before training the GAN.

The GAN was trained using the following command (run from top level directory):

python src/fungai_gan/fungai_CNNGAN.py --training_data_file 'datasets/data_combined_train.csv' --RL_evaluation --embedding_dim 200 --max_len 35 --trained_classifier_model "results/models/first_test_1dcnn_bilstm_model.h5" --save_directory "results/models" --autoencoder_training_schedule_file "default" --window_size 1 > results/models/output_cnn_gan.txt

  • Using pre-trained autoencoder (or training GAN after training autoencoder):

    • python src/fungai_gan/fungai_CNNGAN.py --training_data_file 'datasets/data_combined_train.csv' --RL_evaluation --embedding_dim 200 --max_len 35 --trained_classifier_model "results/models/blosum_test_1_model.h5" --save_directory "results/models" --autoencoder_training_schedule_file "default" --pretrained_autoencoder "pretrained_FungAI_autoencoder_model128__weightsV3.h5" --window_size 1 > results/models/output_cnn_gan.txt

The GAN was inferenced using the following command (run from top level directory):

python src/fungai_gan/fungai_CNNGAN.py --inference --decoder_file_name 'results/models/FungAI_decoder_model128__weightsV3.h5' --RL_evaluation --mutation_rate_evaluation 0.1 --num_generated 10000 --analysis_batch_size 256 --max_len 35 --window_size 1 --save_directory 'results/models' > results/models/generation_run.txt

Citation

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages