Research Article

Neighborhood Rough Set Reduction-Based Gene Selection and Prioritization for Gene Expression Profile Analysis and Molecular Cancer Classification

Algorithm 1

A heuristic breadth-first search algorithm based on neighborhood rough set (HBFSNRS).
Input   ⟨ 𝑆 , 𝐺 , 𝐷 ⟩ , 𝛿 , πœƒ , 𝑝 , πœ” , π‘Ÿ _ M a x , and D e p t h // 𝛿 is the threshold to control the size of the neighborhood, πœƒ is the
threshold of increment, 𝑝 is the number of the preselected genes, πœ” is the search breadth, π‘Ÿ _ M a x is a given maximal
dependency function value and D e p t h is the upper bound of searching depth.
Output   R E D is the pool to contain the selected gene subsets r e d .
Step 1 : For each 𝑔 𝑖 ∈ 𝐺 //Compute p-value by KWRST
      𝑃 𝑖 = K W R S T ( 𝑔 𝑖 ) ;
       End
Step 2 : 𝑔 𝑔 = s o r t ( 𝑃 , β€˜β€˜ascend’’); //Rank genes by 𝑃 in ascending order
Step 3 : 𝐺 βˆ— = S e l e c t ( 𝐺 , 𝑔 𝑔 , 𝑝 ) ; //Select he 𝑝 top-ranked genes as the initial gene set 𝐺 βˆ— by 𝑃
Step 4 : For each 𝑔 𝑖 ∈ G βˆ— //Let R E D = { { 𝑔 1 } , { 𝑔 2 } , . . . { 𝑔 𝑝 } } be a set of gene subsets where each
      𝑔 𝑖 β†’ r e d 𝑖 ; //gene subset only has an informative gene.
      r e d 𝑖 β†’ R E D ;
   End
Step 5 : 𝑖 𝑑 𝑒 π‘Ÿ = 1 ; //The times of iteration.
Step 6 : For each r e d 𝑗 ∈ R E D
    For each 𝑔 π‘˜ ∈ 𝐺 βˆ— βˆ’ r e d 𝑗
      r e d 𝑗 βˆͺ 𝑔 π‘˜ β†’ R E D ; //Adding genes not listed in r e d 𝑗 to r e d 𝑗 and save it as elements of R E D
      𝛾 r e d 𝑗 βˆͺ 𝑔 π‘˜ ( 𝐷 ) = C a r d ( P o s r e d 𝑗 π‘˜ βˆͺ 𝑔 ( 𝐷 ) ) / C a r d ( 𝑆 ) ; //Compute dependence degree of 𝐷 to r e d 𝑗 βˆͺ 𝑔 π‘˜ .
    End
       End
Step 7 : π‘Ÿ π‘Ÿ = s o r t ( π‘Ÿ , β€˜β€˜descending’’); //Rank gene subsets by π‘Ÿ in descending order
       R E D = S e l e c t ( R E D , π‘Ÿ π‘Ÿ , 𝑀 ) ; //Select πœ” top-ranked gene subsets to reconstruct R E D .
Step 8 : If ( m a x i t e r ( 𝛾 ) > = π‘Ÿ _ M a x ) or a b s ( m a x i t e r ( π‘Ÿ ) βˆ’ m a x i t e r βˆ’ 1 ( π‘Ÿ ) ) < πœƒ or ( i t e r = D e p t h )
     Break;  //here, we define m a x 0 ( π‘Ÿ ) = 0
     Else
     i t e r = i t e r + 1 ;
    Go to step 6;
       End