## 2 Materials and Methods
### Dataset and Data Preprocessing
#### 2.1.1 Feature Generation  
Machine learning algorithms paved the way for the discovery of novel AMPs. Since ML models require numerical or categorical data (features) as an input, an informative encoding of proteins is crucial. Unfortunately, the development of appropriate encodings for proteins is a major challenge, and hence the feature generation problem for peptides has not been entirely solved so far. Therefore, the development of novel amino acid encodings is an active stand-alone research branch. A recent review paper [60] discussed state-of-the-art encodings of amino acids as well as their properties in sequence- and structure-based aggregation. Generation of Physico-Chemical Features (Descriptors)  
Most AMPs exhibit their antimicrobial effects mainly by perturbing bacterial membrane integrity. Therefore, the development of an effective predictive model strongly depends on the deep understanding of physico-chemical parameters, especially those that affect the AMP-membrane interaction. For AMPs, the sequence length of the peptide, normalized hydrophobic moment, normalized hydrophobicity, net charge, isoelectric point, penetration depth, orientation of peptides relative to the surface of membrane (tilt angle), propensity to disordering, linear moment and in vitro aggregation are widely used physicochemical properties [9; 46; 60; 61; 62; 63]. As [PERSON] et al. noted in their recent review paper [60], the physico-chemical property encoding is also utilized by several web servers such as AVPpred [64] and DBAASP [47] in order to perform database queries, classify, and retrieve peptides. Moreover, physico-chemical properties have been employed in different studies to predict the antimicrobial effects of synthetic peptides [65] or to find substructures with antimicrobial potency in larger proteins [66]. These parameters strongly affect the extent of peptide-membrane interactions and the depth of the penetration in lipid bilayer, and determine the mode of action of membrane-targeting AMPs [46]. For instance, net charge reflects the propensity of electrostatic interaction of cationic peptides with the negatively charged membrane while hydrophobicity is responsible for the insertion and partition of the peptides into the hydrophobic core of the bilayer [5]. In our study, these 10 features were used as features to represent each peptide. All these features except sequence length are calculated by the DBAASP web server. Table 1 presents example sequences that are included in our Gram-negative dataset. As shown in Table 1, along with 10 physico-chemical properties, each peptide has a class label as 0 or 1, where 0 implies that the peptide is not active against Gram-negative bacteria, and 1 implies that the peptide is active against these bacteria. Generality of Sequence-Based, Structure-Based, and Linguistic-Based Features  
Several studies have provided web servers or standalone programs to calculate features from peptide sequences [67; 68; 69]. These tools are reviewed in detail in [60]. Propy tool, which was developed by [PERSON] et al., provides five feature groups with 13 subfeatures from proteins or peptide sequences [70]. [PERSON] et al. developed iFeature tool, which calculates 18 feature groups and also provides clustering and feature selection on protein and peptide sequences [71]. PyBioMed is another Python package that computes features not only from protein, DNA sequences but also from chemical structures [72]. It is a frequently used tool in this field due to its wide scope in attribute definition [73; 74; 75]. The PyProtein [72] is a module of PyBioMed for calculating the structural and physico-chemical features of proteins and peptides. It computes five feature groups including physico-chemical, amino acid composition, pseudo amino acid composition (PseAAC), Composition, Transition, and Distribution (CTD) of physico-chemical properties, autocorrelation, sequence order, and conjoint triad. These features are also known as different Chou's PseAAC modes [70].