## 2 Materials and Methods
SFS-LDA models were generated using the Python-based Mlxtend library ([[http://rasbt.github.io/mlxtend/](http://rasbt.github.io/mlxtend/)]([http://rasbt.github.io/mlxtend/](http://rasbt.github.io/mlxtend/)), accessed on 4 July 2024) by varying scoring functions like accuracy and AUROC (area under the receiver operating characteristic curve) obtained from QSAR-Co-X [19]. For each SFS scoring function, different models were set up using various cross-validation (CV) techniques, i.e., no CV, 5-fold CV, and 10-fold CV. In contrast, GA, implemented with the _in-house_ Java-based open-access tool QSAR-Co ([[https://sites.google.com/view/qstar-co](https://sites.google.com/view/qstar-co)]([https://sites.google.com/view/qstar-co](https://sites.google.com/view/qstar-co)), accessed on 10 July 2024) [20], is a stochastic method. This means each run generates new models due to variations in the randomized data. Therefore, we ran GA-LDA at least 100 times (reopening the software after every 20 runs) to ensure sufficient exploration. **Non-linear modeling. ** Recent advancements in non-linear modeling have markedly improved the analysis and interpretation of big data, offering powerful tools to extract meaningful insights. To harness this potential, we utilized a comprehensive suite of machine learning techniques coupled with the following feature selection algorithms to identify the most predictive non-linear models:  
1. **Linear model descriptors**, where only descriptors from the most predictive linear model are selected. 2. **All descriptors**, where all pre-treated descriptors are subjected to modeling. 3. **Random forest importance**, where the random forest (RF) classifier is employed to select the most significant descriptors, with the help of Scikit-learn library [24]. 4. **Recursive feature elimination (RFE)**, where the decision tree classifier is used as an estimator for descriptor selection. In RFE, a user-defined classifier is trained on the initial set of features, then feature importance is recorded and the least important ones are eliminated; this procedure is repeated recursively on the pruned set until a user-defined number of features are left. 5. **Sequential forward selection (SFS),** where SFS is applied for feature selection sequentially with a defined scoring function (e.g., accuracy), whereas a specific user-defined ML tool is applied for model evaluation. In this case, the Mlxtend library is used for SFS feature selection, and the decision tree classifier (DTC) of Scikit-learn is employed for model evaluation. 6. **Genetic algorithm and \(k\)-nearest neighborhood (GA-kNN),** where the Python-based _sklearn-genetic_ module ([[https://github.com/manuel-calzolari/sklearn-genetic](https://github.com/manuel-calzolari/sklearn-genetic)]([https://github.com/manuel-calzolari/sklearn-genetic](https://github.com/manuel-calzolari/sklearn-genetic)), accessed on 12 July 2024) is utilized to explore a 'deap' function for running GA, with the following parameters: population (100), mutation probability (0.2), cross-over probability (0.5), number of generations (100), number of generations no change (10), crossover independent probability (0.1), mutation independent probability (0.05), and fixed \(k\)NN parameters ('12' number of neighbors, 'uniform' weights, and 'auto' algorithm), whereas 5-fold CV is used along with accuracy scores for model evaluation. Note that in this tool, the stochastic GA method is used for descriptor selection, but each model is evaluated with \(k\)NN [25]. For each feature selection algorithm, we applied five machine learning techniques: \(k\)-Nearest Neighbors [25]; random forest (RF) [26]; Support Vector Classifier (SVC) [11]; Multilayer Perceptron (MLP) [27], and Gradient Boosting (GB) [28]. QSAR-Co-X_v2 software's 'Module-2' was used to generate these ML models on the sub-training set. Hyperparameter optimization was performed during model development, with parameters explored as described in the original QSAR-Co-X article [19].