# Integrating Multi-Omics Using Bayesian Ridge Regression with Iterative Similarity Bagging
## 3 Materials and Methods
### Iterative Similarity Bagging  
A new method called Iterative Similarity Bagging (ISB) was introduced as the next step to address the issue of dimensionality resulting from the many features selected in the BRR step. ISB is an unsupervised method that eliminates redundant features based on their distance. If neighboring features are deemed redundant, one of them will be removed. ISB draws inspiration from the bagging ensemble technique, utilizing columns-based grouping to partition features into bags without replacement. Subsequently, similarities are computed based on the Euclidean distance for each group of features or genes. Redundant features within each bag are identified and removed using a dynamic threshold. Figure 2 shows the architecture of ISB. The architecture shown in Figure 2 consists of several steps. (A) ISB receives all omics datasets (EXP, SNV, and CNV) produced from BRR. The number of iterations is a parameter that needs to be set, and steps B-F are repeated independently for each omics dataset according to the iterations count. (B) Column-based bagging: each set of features collected in the bag is parameter k. Each number of features k will be grouped into the bag without replacement and with the same number of samples. (C) The bag will be received as a matrix, and then the matrix will be transposed, which interchanges its columns into rows to be prepared for similarity calculation. In step (D), the similarity between genes/features will be computed based on Euclidean distance, as shown in Equation (7). (E) Correlated features are removed based on a threshold. Generally, if the distance between neighboring  
Figure 1: The flowchart of BRR to select essential features for each omics type. points is close to zero, one of them is considered a redundant feature. ISB supports various thresholds such as mean, median, half-mean, and first percentile (Q1). According to the literature review, the mean value is commonly used as a threshold to filter features [70]. This means features with scores higher or lower than the calculated mean of all feature scores can be selected or eliminated, depending on the experiment's scope and purpose. Using a mean-level threshold or dynamic threshold overcomes the challenges associated with fixed threshold techniques, such as the uncertainty problem [71]. In this experiment, the half-mean threshold was selected because the method aims to eliminate the neighboring points, thus favoring the smallest value. The half-mean threshold was chosen after several experiments to determine the best threshold for this study. The final step in each iteration is F, wherein selected features from the current bag are added to a list. All lists generated from all iterations are concatenated to select unique features of each omics dataset. Algorithm 1 shows the input, output, and main steps that represent how ISB works. ```
Input: * Iterations count: i * Bag size (Columns in the bag): k * Single-omics dataset: data Output: * Selected features list after all iterations: selected_features Begin Declare List selected_features = [] // Increment value after each iteration Declare integer increment value: c Set index= 0 // Starting column to select genes in the bag Set c = k For index=0: i For j=0: range(0,len(data.columns)) IF index < len(data.columns): df_bag = SELECT_COLUMNS(data, index : k df = TRANSPOSE(df_bag) df_Sim = compute_similarity(df) // Euclidean distance threshold= get_threshold(df_Sim) // Half-mean threshold iteration_selected_features = df_Sim[col] > threshold selected_features+= list(unique(iteration_selected_features)) index = index + c k=k + c End IF End For End For End
```  
**Algorithm 1**Iterative Similarity Bagging method  
The similarity between genes was calculated using Euclidean distance, represented as follows:  
\[Distnace\left(X,Y\right)=\sqrt{\sum_{i=1}^{n}\left(X_{i}-Y_{i}\right)^{2}} \tag{7}\]  
where \(X\) and \(Y\) are arrays of gene values, with \(n\) representing the number of genes.