Improved branch and bound algorithm for detecting SNP-SNP interactions in breast cancer

Background Single nucleotide polymorphisms (SNPs) in genes derived from distinct pathways are associated with a breast cancer risk. Identifying possible SNP-SNP interactions in genome-wide case–control studies is an important task when investigating genetic factors that influence common complex traits; the effects of SNP-SNP interaction need to be characterized. Furthermore, observations of the complex interplay (interactions) between SNPs for high-dimensional combinations are still computationally and methodologically challenging. An improved branch and bound algorithm with feature selection (IBBFS) is introduced to identify SNP combinations with a maximal difference of allele frequencies between the case and control groups in breast cancer, i.e., the high/low risk combinations of SNPs. Results A total of 220 real case and 334 real control breast cancer data are used to test IBBFS and identify significant SNP combinations. We used the odds ratio (OR) as a quantitative measure to estimate the associated cancer risk of multiple SNP combinations to identify the complex biological relationships underlying the progression of breast cancer, i.e., the most likely SNP combinations. Experimental results show the estimated odds ratio of the best SNP combination with genotypes is significantly smaller than 1 (between 0.165 and 0.657) for specific SNP combinations of the tested SNPs in the low risk groups. In the high risk groups, predicted SNP combinations with genotypes are significantly greater than 1 (between 2.384 and 6.167) for specific SNP combinations of the tested SNPs. Conclusions This study proposes an effective high-speed method to analyze SNP-SNP interactions in breast cancer association studies. A number of important SNPs are found to be significant for the high/low risk group. They can thus be considered a potential predictor for breast cancer association.

predictors from n dimensions to one dimension. However, the computational load can be excessive when dealing with more than 10 polymorphisms [17]. PIA uses a casebased exclusion for missing SNP data, i.e., only those subjects for which all SNPs are identified (in a particular combination) are used in the analysis. SNPruler is a statistical method for identifying SNP combinations; it uses the Chi-square test to design the bound in the original Branch and Bound algorithm. Unlike our study, which focuses on the difference between cases and controls, SNPruler focuses on the ratio between cases and controls. Although these methods are widely used, they can still be improved upon. As a test data set increases in size, the run time increases exponentially with the order of interaction. However, few studies address SNP-SNP interactions for multiple SNPs. Hence, when a data set is sufficiently large, selecting an appropriate method becomes important.
This study proposes a method based on statistical epistasis and an improved branch and bound algorithm combined with feature selection (IBBFS) to explore combinations of SNP-SNP interactions in a breast cancer association study. The proposed method can reduce the search time and accurately determine the difference between cases and controls in low and high risk groups. Finally, we use the odds ratio (OR) as a quantitative measure to assess combinations of SNPs in the casecontrol studies. The odds ratio is a commonly-used statistic that expresses the strength of association between exposure and disease [18][19][20]. Experimental results show that the IBBFS method can determine risk factors in breast cancers.

Identification of best SNP-SNP interaction combinations with maximal difference between cases and controls
The IBBFS method was used to find the best combination of SNPs in the high and low risk groups, with the best combinations of two-SNP interaction results shown in Table 1. We sorted the combinations of the two-SNP results and selected the top three maximum difference combinations in the low and high risk groups. In Table 1, the six specific SNP combinations with their corresponding genotypes (i.e., the SNPs (4, 7) with genotype (2)(3) [CXCL12 (rs1801157)-AG]-[KITLG (rs10506957)-CC]) showed a maximal difference value of 7 between the 4 samples in the control data and the 11 samples in the high risk case data groups. The SNPs (3,4) with genotype (1-1), [CXCR4 (rs2228014)-CC]-[CXCL12 (rs1801157)-GG], showed a maximal difference value of 68 between the 137 samples in the control data and the 69 samples in low risk case data groups. SNPs (4, 7) with genotype (2-3) and SNPs (3,4) with genotype (1-1) are statistically significant because their p-value is smaller than 0.05. We then extended the best results of the two-  Tables 2 and 3. Table 2 shows the maximum difference combinations (two to seven SNPs) for the high risk category. These respective combinations are SNPs (4, 7) with genotypes (2-3) and an OR of 4.342, SNPs (3,5,6) with genotypes (2-1-1) and an OR of 2.384, SNPs (3,4,5,6) with genotypes (2-1-1-1) and an OR of 3.024, and SNPs (1,3,4,5,6) with genotypes (1-2-1-1-1) and an OR of 3.133. These two-to-five SNP combinations are statistically significant with a p-value smaller than 0.05. However, for combinations of six SNPs and combinations of seven SNPs, the p-value is greater than 0.05. In Table 3, the results for SNPs (3,4) with genotypes (1-1), SNPs (1,3,5) with genotypes (2-1-1), SNPs (1,2,3,4) with genotypes (2-2-1-1), and SNPs (1,2,3,4,5) with genotypes (2-2-1-1-1) all have a p-value smaller than 0.05. For all other combinations of SNPs the p-value was greater than 0.05. These experimental results prove that the proposed IBBFS method can handle combinations of multiple SNPs and determine the best combination of two to seven SNPs, both the in low and high risk categories.

in breast cancer
First, we analyzed the high risk combination of SNP (4,7) in breast cancer. Information related to the SNP (4, 7) combination and the OR results are shown in Table 4, while Figure 1 displays a bar graph illustrating the OR value. Two SNPs are shown in a 3 × 3 table that represents nine state combinations. IBBFS shows that SNP (4, 7) with genotype (2-3) with a maximal OR value of 4.342 (p-value < 0.05) has a maximal difference of 7 between the case and control groups. We observe that, for other combinations of SNP (4, 7) with genotype (1-2), the OR value is at a minimum and the p-values are statistically significant (p-value < 0.05). Hence, only two combinations of SNP (4,7) in the 3 × 3 table are statistically significant (p-value < 0.05).
Secondly, we analyzed the low risk combinations of SNP (3,4), with the related information and OR results shown in Table 5. The bar graphs in Figure 2 illustrate the OR value. When the combination of SNP (3, 4) with genotype (1-1) is chosen, the minimum OR value is 0.657 (p-value < 0.05). Here, the maximum difference also is SNP (3, 4) with genotype (1-1), with a difference of 68 between cases and controls. When considering combinations of more SNPs, the frequently occurring combinations of two SNPs in the following combinations are important.  Tables 2 and 3 show the estimated effects (CC, SN, SP, OR and 95% CI) of certain specific SNP combinations on the occurrence of breast cancer. These specific SNP combinations (two to seven SNPs) had a 0.657 to 0.165   risk of breast cancer (Table 3). In addition, these specific SNP combinations (two to seven SNPs) also show a higher risk (OR > 1) of breast cancer in Table 2. When the OR value is larger than 1, the proportion of subjects with breast cancer is higher. On the other hand, when the proportion of subjects with breast cancer is smaller than 1, the OR values are lower than 1.

Discussions
Identification of SNP-SNP interactions (epistasis) is an important task [13,21] when exploring a cancer or disease risk [22][23][24][25]. At present, artificial intelligence (AI) algorithms are rarely used to identify SNP-SNP interaction combinations. Although some methods have previously been used to identify SNP combinations (e.g., MDR [7], machine learning [26], particle swarm optimization (PSO) [27], and genetic algorithms (GA) [12], these methods can still be improved upon. MDR, for example, has three distinct disadvantages. First, the method is prone to false positive and false negative errors when the ratio of the number of cases and controls in a combination of genotypes is similar to that in the entire data set. Secondly, MDR binary classification does not provide any quantitative measure of the disease risk for each combination of genotypes, but rather provides a binary measure (high or low) of the disease risk. The MDR method also does not permit comparison of disease risks between different combinations of genotypes [19]. The machine learning method also has a drawback in that it does not provide a quantitative measure of the disease risk for each combination of genotypes. PSO and GA do not guarantee that the best SNP combination can be found (see results in Table 6) since both algorithms use randomly generated initial values and set an arbitrary number of iterations. If the maximum number of iterations set as a termination condition is reached before an optimal solution is found, the PSO and GA algorithms stop the search prematurely. IBBFS, however, can overcome all of the above problems. We focus on understanding the breast cancer risk of functionally-relevant joint effects of combinatorial SNPs within and between different cancer pathways. We calculated the same data set by exhaustive search (ES) using two to seven SNP combinations to find SNP interactions which determine an optimal solution. These calculations were rather time-consuming and the ES method of calculating combinations of SNPs is thus impracticable for large data sets. From a practical standpoint, the main difference between the aforementioned methods is the computational time required to reach an   improvement. The IBBFS method found optimal solutions faster for a high order of interaction combinations by cutting off unnecessary paths. IBBFS guarantees that each result contains an optimal solution through the use the integrated feature selection method. The selected number of features is r = n-m + 1, where r is the number of features used, and n and m are the total number of SNPs and the number of selected SNPs, respectively. Examples of the ES and IBBFS calculations are respectively shown in Additional file 1: Figure S1 and Additional file 1: Figure S2.

Conclusion
This study focused on the selection of SNP combinations that give a maximal difference between case and control groups. Evaluating a large number of SNPs associated with a disease requires a strategy for focusing on only a select number of complex interactions. IBBFS was used on complex SNP-SNP interactions and was demonstrated to provide the best SNP-SNP interactions for predicting breast cancer susceptibility. The odds ratio (OR) was used as a quantitative measure of the breast cancer risk. Experimental results indicate that the proposed IBBFS method can identify the complex interactions of the tested SNPs both in the low and high risk groups. In the future, the IBBFS method can potentially be applied to SNP-SNP interactions (epistasis) in other association studies.

Data sets
The data set was provided by Lin et al. and includes breast cancer data, SNPs, personal information and clinical data [2]. This study continues research from a previous study with 220 case and 334 control breast cancer data sets. The case control study was conducted at the Kaohsiung Medical University in Taiwan. The data sets were collected from female patients who came to said hospital for routine physical checkups or distinctive minor operations. The SNP name, the number of cases, the number of controls, and related information is shown in Table 7.

Branch and bound algorithm
The branch and bound algorithm (BB) is a divideand-conquer approach used to solve global optimization issues [28]. The concept of a BB is based on constructing a search tree. Only feasible solutions are used and explicitly evaluated to detect optimal solutions. A BB algorithm requires two steps. First, a branching procedure is used to define the tree structure (the search tree). Then a bounding procedure that computes upper and lower bounds for the evaluation value (evaluation nodes) is implemented. If the next node (lower bound) in the series does not conform to the evaluation value (set bound value), the node is cut off. Compared to exhaustive search (ES), traditional BB algorithms do not guarantee that enough subtrees are cut off to keep the total number of criteria computations lower than in the ES method [29]. Under most circumstances, a traditional BB algorithm is faster than an exhaustive search. However, many redundant searches are still conducted in a BB algorithm [30].
To overcome this problem, Somol proposed the fast branch and bound algorithm [28] and Chen proposed an improved branch and bound algorithm for optimal feature subset selection [30]. Branch and bound algorithms have been successfully applied in many fields, such as predicting drug-like compounds [31], analysis of protein-protein interactions [32], feature selection problems [29] and data mining problems [33,34]. In addition, branch and bound performance may be weaker under the following conditions: (1) Nearer to the root, the criterion value computation is usually slower (evaluated feature subsets are larger) and (2) nearer to the root, subtree cut-offs are less frequent (higher criterion values of larger subsets are compared to the bound, which is updated in the leaves) [28]. A possible solution tree is introduced in Additional file 1: Figure S3 and a BB algorithm flowchart is shown in Additional file 1: Figure S4.

Improved branch and bound algorithm with feature selection
As previously stated, traditional BB algorithms that search for all possible combinations are impractical since the number of combinations increases exponentially as the dimensionality increases [30]. Hence, we propose the use of a BB algorithm combined with a feature selection technique to reduce the necessary calculation time. Feature selection algorithms are special from a theoretical perspective. It can be shown that optimal feature selection for supervised learning problems requires an exhaustive search of all possible subsets of features of the chosen cardinality [30]. A large number of features is thus impractical. By using a subset of features, the processing time required by the classification process can be reduced. This improved branch and bound algorithm has several advantages when combined with feature selection (IBBFS). It not only reduces the search time but, more importantly, also sorts the results into low and high risk groups (discussed in the bound evaluation section). The IBBFS algorithm is very efficient because it avoids exhaustive searches (ES) by rejecting suboptimal subsets. It also guarantees that a selected subset yields the best global value. A flowchart of this process is shown in Additional file 1: Figure S5. The IBBFS pseudo-code is given in below. Step 1: Initialize Level m=1, AVAIL ={node m 1, node m 2, node m j, . . . , node m r | node m-1 ≠Φ, r=(n-m+1) × (n-(m-1)), j is the jth node} Step 2: Generate branch LIST(m)={AVAIL | select top r node based on their bound value} If LIST(m) =Φ, go to step 5.
Step 3: Select node Select the rightmost node in LIST(m), i.e., if node m j=max(LIST(m)) remove the rightmost node in LIST(m) Step 4: Calculate bound value If bound(node m j) > B, return node m j to AVAIL and go to Step 5. If last node in level m If level m= higher level, go to Step 6, otherwise, m=m+1 and go to Step 2.
Step 5: Backtrack If LIST(m) is empty, set m=m-1. If m=0, terminate the algorithm, otherwise, go to Step 3.
Step 6: Higher level, Sort nodes m based on bound value Return best node m .
IBBFS uses top-down and right-left search strategies together with backtracking. We define the update bound value as 0, which means that, if the number of cases and controls is 0, the node should be not explored. If the bound value at a node j at level m is larger than the current bound value B, then the paths originating from that node to the bottom of the tree should still be explored. We select the top r node based on the bound value for exploration to the next level. Omitting the evaluation of bound values for a set of successor nodes (i.e., j < r at some parent nodes) is key to an efficient IBBFS. Backtracking is used until all successors or nodes and paths with bounds larger than the current bound value B have been searched. The computational savings in the IBBFS occur when the bound value at a node j at a higher level in the tree is the best value.

Bound evaluation
Statistical epistasis is a population phenomenon that depends on allele frequencies present in a specific population [35]. This study uses the maximum difference of allele frequencies between case and control groups to evaluate the bound value. A large difference in the bound value indicates that certain SNP and genotype combinations are more likely to occur in breast cancer, whereas other combinations are associated with a low cancer risk. We divided the bound calculation into two separate steps: 1) The total number of SNP combinations in the control data set is calculated and 2) the total number of SNP combinations in the case data set is calculated. Subsequently, Eq. (1) is used to determine the bound value of each combination to find the maximum difference.
Check cas e c i ð Þ ð Þ In Eq. (1), N represents the number of samples in the control data, and C represents the number of samples in the case data. Check_control n (i) and Check_case c (i) are respectively checked as to whether or not the node i (i.e., SNP combination) matches the n sample in the control data and the c sample in the case data. If a match occurs, Check_control n (i)/ Check_case c (i) is set to 1, otherwise, it is set to 0. Check cas e c ð Þ represents the sum of the Check_case c (i) from 1 to C. If the positive maximum bound value is selected as a feature in the next combination, then the respective OR value indicates a low cancer risk. On the other hand, if the negative maximum bound is selected as a feature in the next combination, then the respective OR value is associated with a high cancer risk. The supplementary example illustrates how the bound values are calculated. For example, assume that SNPs (3,4) with genotype (1-1) are the best SNP combination. SNP 3 (rs2228014) has the three genotypes CC, CT, and TT, which can be respectively represented as 1, 2, and 3, and SNP 4 (rs1801157) has the three genotypes GG, AG, and AA, which can also be respectively represented as 1, 2, and 3. We compute the number that matches the condition of the SNPs and genotypes for the case and control data. First, we calculate the control number for SNP 3 with genotype 1 and SNP 4 with genotype 1. The number of controls that independently match SNP 3 with genotype 1 and SNP 4 with genotype 1 are 254 and 175, respectively. The number of controls that match SNP (3,4) with genotype (1-1) is thus 137. Secondly, we calculate the number of cases independently matching SNP 3 with genotype 1 and SNP 4 with genotype 1 as 151 and 106, respectively. The number of cases that match SNP (3, 4) with genotype (1-1) is thus 69. According to Eq. (1), the bound value is determined by subtracting 69 from 137, thus giving 68.

Performance measurement
We used four common criteria to determine the best combinations of SNPs related to the cancer risk, namely the correctness (CC), the sensitivity (SN), the specificity (SP) and the odds ratio (OR) [8]. The odds ratio has become widely used in epidemiology and case control studies. It is a commonly-used statistic that expresses the strength of association between an exposure and a disease [36,37] due to the following three facts: 1) OR provides an estimate (i.e., a confidence interval) for the relationship between two binary variables; 2) it allows us to examine the effects of other variables on that relationship via logistic regression; and 3) OR is very convenient for interpretation of case-control studies [18]. It corresponds to the effect of each specific SNP-SNP interaction combination on the occurrence of breast cancer. The four criteria are defined in Eqs. (2)(3)(4)(5), and the calculation processes are shown in Additional file 1: Figure S6. Statistical analysis was carried out using http://statpages.org/ctab2x2.html.
TP represents the number of true positives, TN represents the number of true negatives, FN represents the number of false negatives, and FP represents the number of false positives.

Illustrative example
The proposed IBBFS algorithm with incorporated feature selection selects the most promising solution and then evaluates only the features of the next SNP combinations of this branch. Furthermore, the algorithm is based on the expansion of two-SNP combinations, which means that the two-SNP combination results are used and expanded until the maximum combination (number of SNPs) is reached. For example, if the SNP (1, 2) with genotype (2-2) combinations constitutes the best result (feature), then combinations of three SNPs that contain SNP (1, 2) with genotype (2-2) are found in the next step. The expanded results are SNP (1, 2, 3) with genotype (2-2-1), SNP (1, 2, 3) with genotype (2-2-2), and SNP (1, 2, 3) with genotype (2-2-3). A detailed example is shown in Additional file 1: Figure S7. These expanded results reduce the search time by cutting off unnecessary paths. The update bound value in this study was set to 0, which means that, if the numbers of cases and controls are 0, the node is cut off. In contrast to the BB algorithm, IBBFS only uses selected features (after sorting the results), which allows it to find an optimal solution by cutting off unnecessary pathways. Although the IBBFS algorithm is of a high time complexity for combinations of two SNPs, it performs better for interaction combinations of a high order. After the best SNP combinations are found, the OR is used in the next step to evaluate each best SNP combination with regard to the susceptibility risk. A simple IBBFS calculation process is shown in the Additional file 1 section.
In Additional file 1: Figure S3, the different paths from the top to level 1 indicate that level 1 has 4 SNP paths. If the node results are 0 (meaning the number of cases and controls are 0), the node is cut off. Additional file 1: Figure S3 indicates that the y node is cut off at level 1 (two combinations) because it is terminal. Under the same criteria, each new terminal combination is cut off. If the traditional BB algorithm nodes are not cut off, the calculated time complexity equates that of the ES. The ES function is as follows: where n is the total number of SNPs, and m is the number of selected SNP combinations.
When two SNPs are selected and each genotype has three possible state combinations, ES calculates the number of possible solutions as C(4,2)*3 2 =54. Based on the aforementioned calculation process, the use of traditional BB algorithms or ES to explore combinations of three, four or more SNPs is impractical since the increased number of combinations exponentially increases the time complexity Simple ES, BB and IBBFS calculation processes are shown in the Additional file 1 section.

Additional file
Additional file 1: Figure S1. Exhaustive search algorithm calculation process. Figure S2. Calculation process of the improved branch and bound feature selection (IBBFS) algorithms. Figure S3. Branch and bound search tree. Figure S4. Flowchart of a branch and bound algorithm. Figure S5. Flowchart of the improved branch and bound algorithm (IBBFS). Figure S6. Performance calculations. Figure S7. Extended SNP combinations. Supplementary example, include a example for calculation of the SNP-SNP interaction, Figure S8. Example of a search tree, Figure  S9. Search tree of two-SNP combinations, Table S1. Example data set, Table S2. Results for two-SNP combinations, Table S3. Results for three-SNP combinations, Table S4. Results for four-SNP combinations, Table  S5. Table of cases and controls, Table S6. Common criteria, Table S7. Performance calculation.