SAMA: A Fast Self-Adaptive Memetic Algorithm for Detecting SNP-SNP Interactions Associated with Disease

Detecting SNP-SNP interactions associated with disease is significant in genome-wide association study (GWAS). Owing to intensive computational burden and diversity of disease models, existing methods have drawbacks on low detection power and long running time. To tackle these drawbacks, a fast self-adaptive memetic algorithm (SAMA) is proposed in this paper. In this method, the crossover, mutation, and selection of standard memetic algorithm are improved to make SAMA adapt to the detection of SNP-SNP interactions associated with disease. Furthermore, a self-adaptive local search algorithm is introduced to enhance the detecting power of the proposed method. SAMA is evaluated on a variety of simulated datasets and a real-world biological dataset, and a comparative study between it and the other four methods (FHSA-SED, AntEpiSeeker, IEACO, and DESeeker) that have been developed recently based on evolutionary algorithms is performed. The results of extensive experiments show that SAMA outperforms the other four compared methods in terms of detection power and running time.


Introduction
The development of high-throughput sequencing technology makes it possible to analyze single-nucleotide polymorphisms (SNPs) from thousands of individuals [1,2]. With the purpose of detecting the association between SNPs and a disease, genome-wide association study (GWAS) plays a vital role in recognizing causes of diseases [3][4][5]. GWAS has been successfully applied to identify numerous SNPs associated with diverse diseases, such as about 30 loci associated with schizophrenia [6][7][8]. However, due to the large amount of computation imposed by the highdimensional search space, it is difficult to measure the association between SNP-SNP interactions and disease in genomewide data [9][10][11].
In the past few years, many methods have been raised for detecting two-locus disease models. These algorithms can be categorized into exhaustive search, stochastic search, heuristic search, and swarm intelligent optimization algorithms [12]. The exhaustive search is a method which evaluates the degree of correlation between all possible SNP-SNP interaction combinations and disease [13,14] but is often computationally unaffordable for datasets with very large number of SNPs.
The random search uses probabilistic methods to find the optimal solution [15,16]. The heuristic search is an approximate search algorithm that speeds up the search process by reducing the search space [17,18]. However, the two kinds of searches cannot make the commitment of finding the optimal solution all the time.
In the recent years, swarm intelligent optimization algorithms arising from natural phenomena and biological system have held high attention in the detection of diseaseassociated SNP-SNP interactions [19][20][21]. For instance, FHSA-SED [22] combines the harmony search algorithm with two scoring functions for the detection of SNP-SNP interactions. AntEpiSeeker [23] detects disease-associated SNP-SNP interactions by using a two-stage ant colony optimization (ACO) [24,25]. IEACO [26] automatically adjusts path selection strategies using information entropy to detect SNP-SNP interactions. DESeeker [27] uses a two-stage differential evolution (DE) [28,29] algorithm to identify the SNP-SNP interaction. However, it is worth noticing that all of these methods remain defective owing to their low detection power.
One promising approach for tackling the drawbacks mentioned above is to use a fast local search in the evolutionary algorithm. Hybridization of genetic algorithms (GAs) with local search (LS) has already been studied in various optimization problems [30][31][32]. Such a hybrid algorithm is often called a memetic algorithm (MA) [33]. Thus, we propose a fast self-adaptive memetic algorithm (SAMA) to detect two-locus SNP-SNP interactions associated with disease. In the SAMA algorithm, we improve the crossover, mutation, and selection of MA. These three improved operations are more suitable for detecting two-locus SNP-SNP interactions. Moreover, we incorporate a self-adaptive local search into the proposed algorithm to avoid premature convergence. We compare our algorithm with the state-of-theart methods and conduct experiments on a wide range of simulated datasets and a real-world biological dataset. The results show the proposed algorithm has improved power in detecting correct SNP-SNP interactions with different disease models.
The paper is organized as follows. In Section 2, we introduce the problem definition of two-locus SNP-SNP interactions associated with disease and propose the SAMA algorithm. In Section 3, we describe the experiments carried out in order to determine the detection power of our method. Finally, we present the conclusion in Section 4.

Problem Definition.
A set of SNPs is represented by S = fr 1 , r 2 , ⋯, r L g, where r is an SNP and L is the number of SNPs. For detecting two-locus disease models, there are LðL − 1Þ/2 combinations that can be selected. The value of each SNP is 0, 1, or 2, which represent the homozygous major genotype, the heterozygous genotype, and the homozygous minor genotype, respectively. A dataset contains n samples (n d cases and n u controls), and each sample has a set of SNPs. If the genotype distribution of a two-locus SNP-SNP interaction is significantly different between cases and controls, it may lead to an increase in the risk of the disease.
2.2. The SAMA Algorithm. It is a time-consuming task to detect SNP-SNP interactions associated with disease if all possible two-locus interactions from hundreds of thousands of SNPs are considered in a genome-wide scale. In this paper, a fast self-adaptive memetic algorithm (SAMA) is proposed to enhance the detection power of two-locus SNP-SNP interactions in an efficient way.
Memetic algorithm (MA) [33] is inspired by natural system model and population evolution. By combining evolutionary algorithms with local search, it can provide a local improvement opportunity for the individuals in a genetic search. The framework of MA can be outlined as Figure 1, and this figure shows the basic structure of the MA algo-rithm. MA consists of two parts: genetic search and local search, where the local search part includes crossover, mutation, and selection. The SAMA algorithm follows the basic framework in Figure 1 to detect two-locus SNP-SNP interactions associated with disease, and the process is shown in Algorithm 1.
2.2.1. Initialization. The SAMA algorithm randomly generates a initial population with M individuals. An individual is expressed as x i = fr p , r q gð1 < r p , r q < LÞ where r p and r q are SNPs, and the individual x i is generated by where d e is an upward rounding operation, rand ð0, 1Þ is a random number between 0 and 1, and L is the number of SNPs in a dataset. After initialization, SAMA finds the current optimal solution x best with the best value of fitness function. In SAMA, the χ 2 test is used as the fitness function to measure the association between two-locus SNP-SNP interactions and the disease.

Hybrid Crossover (HC).
The crossover operator, a fundamental genetic search operator, takes advantage of the information available in the search space. In the SAMA algorithm, we use a hybrid crossover (HS) to cross two individuals. HC can be considered the hybrid between the current best individual and the individuals in the current iteration. The pseudocode of HC is shown in Algorithm 2.
In the algorithm, the current best individual x best and the individual x i in the current iteration are selected as two parents. If the random number r1 between 0 and 1 is less than the crossover probability p c1 , the first SNP r p in x i is replaced by the first SNP r bestp in x bestp . If the random number r2 is less than the crossover probability p c2 , the second SNP r q in x i is replaced by the second SNP r bestq in x bestq . If the conditions of r 1 < p c1 and r 2 < p c2 are satisfied at the same time, x i is replaced by x best .

Distributed Breeder Mutation (DBM).
The mutation operator is used to randomly create the diversity of individuals in a population. We use a mutation called distributed breeder mutation (DBM) in the SAMA algorithm. DBM, inspired by the breeder genetic algorithm proposed by Muhlenbein and Schlierkamp-Voosen [34], is a robust global search based on a solid theory. The mutated individual z i is calculated by the following equation: where range is the mutation set to 0:1 · L, δ is calculated from a distribution which prefers a small value, and the "+" or "−" is chosen with a probability of 0:5. Thus, r p is mutated in the interval between [r p − range · δ] and [r p + range · δ], and r q is 2 BioMed Research International mutated in the interval between [r q − range · δ] and [r q + range · δ]. If the mutated individual z i is outside the specified range ð1 < r p , r q < LÞ, z i will be reinitialized. δ is computed according to the following equation: α i is set to 0 before the mutation operation. Then, each α i is mutated to 1 with a probability of 1/16. The minimum step size is produced with a precision of range i · 2 −15 . Algorithm 3 gives the execution process of DBM.

Self-Adaptive Local Search (SLS).
Local search (LS) is a simple iterative method for finding approximate solutions. If a candidate solution has better or equal fitness, LS moves the search from the current solution to the candidate solution. If LS is applied to every solution many times, the running time is very long because the additional functional evaluations required for LS is expensive. Thus, a self-adaptive LS (SLS) is introduced, which uses a probability to reduce the number of times 3 BioMed Research International that are used for local search. The probability that each individual is selected to allpy the SLS operation is p z i , and the p z i is defined by where ξ is the switch parameter, and z i is an individual after HC and DBM. The initial p z i of each individual is 1; hence, each individual will be selected at least once for SLS. If the fitness value of the individual z i is improved, the probability p z i that z i is selected is still 1. Otherwise, p z i is changed to ξ · p z i . If the fitness value of z i is not improved after being selected n times, this value is ξ n · p z i . The pseudocode of SLS is shown in Algorithm 4.

Elitist Selection (ES).
In the SAMA algorithm, an elitist selection is introduced to select individuals that evolve Input: a SNP dataset G, the maximum number of iterations N max , the number of individuals M, and the significance threshold θ. Output: two-locus SNP-SNP interactions with p values below the significance threshold θ. 1: fori=1 to Mdo 2: Initialize x i with two SNPs; 3: end for 4: Finds the current optimal solution x best ; 5: forj=1 to N max do 6: fori=1 to Mdo 7: end for 12: Finds the current optimal solution x best ; 13.
Calculate p value according to x best ; 14: ifp value < θthen 15: Record x best as a two-locus SNP-SNP interaction; 16: end if 17: end for Algorithm 1: SAMA.
Input: an individual y i = fr p , r q g Output: an individual z i =fr′ p , r′ q g 1: Compute δ according to (3) 2: Select + or − 3: Determine the range δ 4: r′ p ← r p + range · δ or r p − range · δ 5: r′ q ← r q + range · δ or r q − range · δ 6: r′ p < 1 or r′ p > Lthen 7: Reinitialize r′ p 8: end if 9: ifr′ q < 1 or r′ q > Lthen 10: Reinitialize r′ q 11: end if Algorithm 3: DBM. 4 BioMed Research International to the next iteration. After HC, DBM, and SLS, the ES operation is performed according to If the fitness value of the individual w i is greater than that of the previous individual x i , x i is replaced by w i . Otherwise, x i is unchanged.
First, we perform the HC operation. Suppose r 1 ≥p c1 and r 2 ≥p c2 for x 1 and x 4 , r 2 < p c2 for x 2 , r 1 < p c1 for x 3 , and r 1 < p c1 and r 2 < p c2 for x 5 . According to Algorithm 2, x 1 and x 4 are not changed and assigned directly to y 1 and y 4 , whereas the other three individuals are changed. One SNP in x 2 and x 3 is replaced; hence, x 2 is changed to y 2 = ð75, 82Þ and x 3 is changed to y 3 = ð121,87Þ. x 5 is changed to y 5 = ð121,82Þ because both SNPs in x 5 are replaced.
Next is the DBM operation. We assume that range · δ of y 1 is 0, the range · δ of y 2 and y 3 is 10, and the range · δ of y 4 and y 5 is 15. y 2 and y 4 get "−", whereas y 3 and y 5 get "+ ." Thus, y 1 is not changed and assigned directly to z 1 = ð54, 63Þ, y 2 is changed to z 2 = ð65, 72Þ, y 3 is changed to z 3 = ð 131,97Þ, y 4 is changed to z 4 = ð106,67Þ, and y 5 is changed to z 5 = ð136,97Þ.
After completing HC and DBM, the SLS operation is executed. z 1 , z 2 , and z 5 are not changed and assigned directly to w 1 , w 2 , and w 5 due to r3 ≥ p z . For z 3 and z 4 , SLS is operated cyclically because of r3 < p z . z 3 is changed to w 3 = ð141,107Þ and z 4 is changed to w 4 = ð126,87Þ after the DMB operation in SLS.

Results
To evaluate of the performance of the SAMA algorithm, we test it on both simulated and real-world biological datasets. we compare it with FHSA-SED, AntEpiSeeker, IEACO, and DESeeker on these datasets. For the simulated datasets, we adopt three two-locus disease models. For the real-world biological dataset, we run SAMA on an age-related macular degeneration (AMD) data [35].

Simulated Datasets.
In this subsection, we carry out the experiments in three simulated disease models (Models 1-3) [36]. Model 1 is a two-locus multiplicative model in which the disease prevalence ðPðDÞÞ increases multiplicatively with the incremental presence of the disease genotype interaction. Model 2 is a two-locus threshold model, in which PðDÞ does not increase until the number of disease genotype interactions pass the threshold. Model 3 is a two-locus concrete mode that simulates the effects of SNP-SNP interactions on susceptibility to traits. In the three models, PðDÞ is set to 0.1, and the minor allele frequencies (MAF) is 0.05, 0.10, 0.20, and 0.50. The genetic heritability (h 2 ) is 0.005 in Model 1, and h 2 is 0.02 in Models 2 and 3. According to the combination of these values, 12 penetrance tables are obtained (see Table 1). 200 datasets corresponding to each penetrance table are generated using GAMETES_2.0 [37]. 100 SNPs are generated in the first 100 datasets, whereas the number of SNPs is 2000 in the other 100 datasets.

Parameter Setting.
In the experiments, we set the same maximum number of iterations for the five algorithms, that is, the maximum iteration number for datasets with 200 SNPs is set to 50 and the maximum iteration number for datasets with 2000 is set to 500. The maximum number of iterations is less than the number of iterations using an exhaustive algorithm. Furthermore, the other parameters of the five compared algorithm are shown in Table 2.

Performance Evaluation Criteria.
With the purpose of conducting the experiments comprehensively, we introduce two measurements: detection power and running time. The detection power is defined below: where #G is the datasets that are generated by the same penetrance table (#G = 100 in the experiments) and #T is the number of datasets in which the two-locus SNP-SNP interaction associated with disease is detected. Figures 3 and 4 present the detection power of the five compared algorithms on Input: an individual z i after crossover and mutation Output: an individual w i 1: r 3 ← rand ð0, 1Þ 2: w i ← 0 3: whiler 3   x 2

Experiments on Simulated Datasets.
x 1 x 3 x 4 x 5 x 2 x 3 x best x best x best x best     greater than that of the other four algorithms, especially in Model 3. Followed by FHSA-SED and DESeeker, these two algorithms also show not bad performance. Next is IEACO. The performance of AntEpiSeeker performance is the worst in this experiment. The above analysis reveals that the proposed algorithm is more effective for detecting two-locus SNP-SNP interactions. Tables 3 and 4 show the running time of the five compared algorithms on the three disease models. As illustrated in the two tables, the running time of our method is less than that of the other four methods. This demonstrates that SAMA can efficiently decrease the running time in detecting two-locus SNP-SNP interactions.

Experiments on a Real-World Biological Dataset.
According to the results of the simulated experiments, SAMA performs well for detecting two-locus SNP-SNP interactions. In this section, we conduct experiments on a real-world biological dataset [35]. The purpose of the experiment is to detect two-locus SNP-SNP interactions associated with the disease by using the five compared algorithms. The five algorithms are run 10 times, and Figure 5 is drawn according to the obtained p values. In the figure, a solid dot has two values, one is x-value, and the other is y-value. The y-value represents the p value, and the x-value denotes the SNP-SNP interaction detected by an algorithm with a certain p value. For the SAMA algorithm, 31 solid dots are detected, that is, 31 twolocus SNP-SNP interactions are detected. It can be seen evidently that the number of solid dots found by the proposed algorithm is more than that found by the other four algorithms. Followed by AntEpiSeeker, this algorithm detects 27 solid dots. Next is DESeeker and FHSA-SED. The DESeeker algorithm detects 23 solid dots, and the FHSA-SED algorithm detects 22 solid dots. The number of interactions found by IEACO is relatively less. This   Table 5 presents the two-locus SNP-SNP interactions with p values less than 1.0e-06 detected by our method. In the table, the number of two-locus SNP-SNP interactions found by the SAMA algorithm with p values less than 1.0e-08, 1.0e-07, and 1.0e-06 are 1, 9, and 21, respectively. Table 6 gives the number of two-locus SNP-SNP interactions detected by SAMA under different parameters. It can be seen from the Table 5 that rs380390 and rs1329428 are interacted with many other SNPs. The two SNPs are are located in the CFH gene, and the CFH gene has been commonly association with AMD [16,[38][39][40]. Furthermore, many SNPs included in detected SNP-SNP interactions are located in non-gene coding regions (NA). There are seven interactions between the CHF gene and NA when the p value is less than 1.0e-07, and there are ten interactions between the CHF gene and NA when the p value is between 1.0e-07 and 1.0e-06. The CHF gene has one interaction with the KDM4C gene, and it has two interactions with the MED27 gene. SNP rs2224762 is located in the KDM4C gene that can regulate chromosome segregation during mitosis [41]. This gene that may be associated with AMD has been reported before [22,42]. SNPs rs7467596 and rs9328536 in the MED27 gene are related to melanoma [43], and the mutation in the MED27 gene may be associated with AMD [42]. Moreover, SAMA detected some new two-locus SNP-SNP interactions that have not been reported before. For example, rs1329428 has a interaction with rs10272438 and rs1740752 has a interaction with rs943008. SNP rs10272438 resides in the BBS9 gene which is involved in parathyroid hormone action in bones. SNP rs943008 resides in the NEDD9 gene, which is closely related to cancer. However, these two-locus SNP-SNP interactions require further examination in future studies. It can be seen from the Table 6 that the parameters we set before can find the most number of two-locus SNP-SNP interactions.

Conclusion
In the paper, we propose the SAMA algorithm to detect twolocus SNP-SNP interactions associated with disease. The global search ability of SAMA is greatly increased by using HC, DBM, and EC. The self-adaptive behavior of SLS enhances the local search ability of SAMA without significantly increasing the running time. When using simulated datasets, the experimental results indicate that SAMA is more effective than FHSA-SED, AntEpiSeeker, IEACO, and DESeeker in terms of detection power and running time. When utilizing the real-world biological dataset, the experiments show that the proposed algorithm successfully detected known disease-associated SNP-SNP interactions  9 BioMed Research International and some new suspected interactions. However, the SAMA algorithm still has some limitations. First, the detection power of SAMA is low for the disease models with small MAF. Furthermore, the current version of SAMA cannot detect high-order SNP-SNP interactions (SNPs > 2). As far as we know, there does not exist a powerful method for detecting high-order SNP-SNP interactions in GWAS. Therefore, detecting high-order SNP-SNP interactions associated with disease has many rooms to explore in the future.

ACO:
Ant colony optimization AntEpiSeeker: Two-stage ant colony optimization algorithm AMD: Age-related macular degeneration DE: Differential evolution DBM: Distributed breeder mutation DESeeker: Two-stage differential evolution algorithm ES: Elitist selection FHSA-SED: Harmony search algorithm with two scoring functions GA: Genetic algorithm GWAS: Genome-wide association study IEACO: Self-adjusting ant colony optimization based on information entropy HC: Hybrid crossover LS: Local search MA: Memetic algorithm MAF: Minor allele frequency SAMA: Self-adaptive memetic algorithm SNP: Single-nucleotide polymorphism SLS: Self-adaptive local search.

Data Availability
The data used to support the findings of this study are included within the article, which are described in detail in [30,32], respectively.

Conflicts of Interest
The auhors declare that they have no conflicts of interest.