BACKGROUND
with rapid development of the dna microarray technology, simultaneously measuring the expression levels of thousands of genes in a single experiment can yield large-scale datasets.
the analysis of microarray data mainly contains the study of gene expression under different environmental stress conditions and the comparisons of gene expression profiles for tumors from cancer patients.
a subset of genes showing correlated co-expression patterns across a subset of conditions are expected to be functionally related.
by comparing gene expression in normal and disease sells, microarray dataset may be used to identify disease genes and targets for therapeutic drugs.
therefore, mining patterns from microarray dataset becomes more and more important.
these patterns relate to disease diagnosis, drug discovery, protein network analysis, gene regulate, as well as function prediction.
for microarray data analysis, clustering techniques is a popular technique for mining significant biological models.
clustering can identify set of genes with similar profiles.
however, traditional clustering approaches such as k-means  <cit> , self organizing maps  <cit> , support vector machine  <cit>  and hierarchical clustering  <cit> , assume that related genes have the similar expression patterns across all conditions, which is not reasonable especially when the dataset contains many heterogeneous conditions.
it fact, those relevant genes are not necessarily related to all conditions.
to cluster subset of genes that have similar expression over some conditions, biclustering  <cit>  is proposed for clustering simultaneously gene subset and condition subset over which the gene subset exhibit similar expression patterns, such as δ-biclustering  <cit> , pclustering  <cit> , statistical-algorithmic method for biclustering analysis   <cit> , spectral biclustering  <cit> , gibbs sampling biclustering  <cit>  and simulated annealing biclustering  <cit> .
in recent three decades, inspired by biology views, heuristics optimization has become a very popular research topic.
to order to escape from local minima, many evolutionary algorithms  are used to find global optimal solutions from gene expression data  <cit> .
if a single objective is optimized, the global optimum solution can be found.
but in the real-world optimization problem, there are several objectives in conflict with each other to be optimized and require different mathematical and algorithmic tools to solve it.
multi-objective evolutionary algorithm  generates a set of pareto-optimal solutions  <cit>  which is suitable to optimize two or more conflicting objectives.
however when mining biclusters from microarray data, we must optimize simultaneously several objectives in conflict with each other, for example, the size and the homogeneity of the clusters.
in this case moea is proposed to discover efficiently global optimal solution.
among many moea proposed, the relaxed forms of pareto dominance has become a popular mechanism to regulate convergence of an moea, to encourage more exploration and to provide more diversity.
among these mechanisms, ϵ-dominance has become increasingly popular  <cit> , because of its effectiveness and its sound theoretical foundation.
ϵ-dominance can control the granularity of the approximation of the pareto front obtained to accelerate convergence and guarantee optimal distribution of solutions.
at present, several algorithms  <cit>  adopt moeas to discover biclusters from microarray data.
recently particle swarm optimization  proposed by kebnnedy and eberhart  <cit>  is a heuristics-based optimization approach simulating the movements of a bird flock finding food.
most of previous versions of the particle swarm are based on continuous space, where trajectories are the changes of position on some dimensions.
kennedy and eberhart  <cit>  proposed a discrete binary version of pso, where trajectories are defined as changes of probability that a coordinate will take on a zero or one value.
the most attractive of pso is that there are very few parameters to adjust.
so it has been successfully used for both continuous nonlinear and discrete binary single-objective optimization.
the rapid convergence and relative simplicity of pso make it very suitable to solve multi-objective optimization named as multi-objective pso .
in recent years many multi-objective pso  approaches  <cit>  has proposed.
the strategy of ϵ-dominance  <cit>  is introduced into mopso speeding up the convergence and attaining good diversity of solutions  <cit> .
liu  <cit>  incorporates ϵ-dominance strategies into mopso, and proposes a novel mopso biclustering framework to find one or more significant biclusters of maximum size from microarray data.
most mops use a fixed population size to find non-dominated solutions for obtaining the paterto front.
the computational cost is the greatest influence of population size on these population-based meta-heuristic algorithms.
hence dynamically adjusting the population size need consider the balance between computational cost and the algorithm performance.
some methods using dynamic size are proposed.
tan  <cit>  proposed an incrementing moea  that adaptively computes am appropriate population size according to the online discovered trade-off surface and its desired population size that corresponds to the distribution density.
yen and lu  <cit>  proposed dynamic population size moea  that includes a population-growing strategy based on the converted fitness and a population-declining strategy that resorts to the following age, health and crowdedness.
leong and yen  <cit>  introduced dynamic population size and a fixed number of multiple swarms into multi-objective optimization algorithm that improved diversity and convergence of optimization algorithm.
based on dynamic population, liu  <cit>  proposed a novel dynamic multi-objective particle swarm optimization biclustering  algorithm to mine effectively significant biclusters of high quality.
in recent years, eusuff  <cit>  develops a shuffled frog-leaping algorithm  to solve combinatorial optimization problems.
due to its effectiveness and suitability, sfla has captured much attention and been applied to solve many practical optimization problems  <cit> .
the shuffled frog leaping  optimization algorithm has been successful in solving a wide range of real-valued optimization problems.
madani  <cit>  proposes a discrete shuffled particle optimization algorithm with best performance in terms of both success rate and speed than the binary genetic algorithm  and the discrete particle swarm optimization  algorithm.
to the best of our knowledge, there is no published work dealing with the biclustering of microarray data by using sfla.
thus, in this paper we present an effective sfla biclustering algorithm for mining the maximum biclusters with allowable dissimilarity within the biclusters, and with a greater row variance.
computational experiments and comparisons show that the proposed sfla outperforms three best performing algorithms proposed recently for solving the biclustering problem with the biclustering criterion.
methods
based on shuffled frog-leaping algorithm, crowding distance and ε-dominance strategy  <cit> , this paper incorporating dynamic population strategy into mosflb algorithm  <cit> , and proposes a multi-objective dynamic population shuffled frog-leaping biclustering  algorithm to mine one or more significant biclusters of maximum size from microarray dataset.
in the proposed algorithm, the feasible solutions are regarded as frogs and pareto optimal solutions are preserved in frog population updated by ε-dominance relation and computation of crowding distance.
then the next generation of frog population is dynamically adjusted according to dynamic population strategy  <cit> .
the proposed methods can effectively obtain more pareto optimal solutions that uniformly distributed onto the pareto front.
the proposed algorithm uses three objectives, the size, homogeneity and row variance of biclusters, as three fitness function of biclustering optimization process.
a low mean squared residue  score of bicluster denotes that the expression level of each gene within the bicluster is similar over the range of conditions.
therefore, the goal of the algorithm is to find more maximum biclusters with mean squared residue lower than a given δ and with a relatively high row variance.
biclusters
given a gene expression data matrix d = g×c =  is a real-valued n×m matrix, here g is a set of n genes {g <dig>  g <dig> ..., gn}, c a set of m biological conditions {c <dig>  c <dig> ..., cn}.
entry dij means the expression level of gene gi under condition cj.
definition  <dig> bicluster.
given a gene expression dataset d = g×c, if there is a submatrix b = g×c, where g⊂g, c⊂c, to satisfy certain homogeneity and minimal size of the cluster, we say that b is a bicluster.
definition  <dig> maximal bicluster.
a bicluster b = g×c is maximal if there exists not any other biclusters b'b'= g'×c' g'×c' such that, g'⊂g, c'⊂c.
definition  <dig> dimension mean.
given a bicluster b = g×c, with subset of genes g⊂g, subset of conditions c⊂c, dij is the value of gene gi under condition cj in the dataset d. we denote by dicdic the mean of the ith gene in b, dgj the mean of the jth condition in b. we also denote by dgc the mean of all entries in b. these values are defined as follows, where size = |g||c| presents the size of bicluster b.
dic=1|c|∑j∈cdij
dgj=1|g|∑i∈gdij
dgc=1|g||c|∑i∈g,j∈cdij
definition  <dig> residue and mean square residue.
given a bicluster b = g×c, to assess the difference the actual value of an element dij and its expected value, we define by r the residue of dij in bicluster b in eq.. therefore the mean squared residue  of b is defined as the sum of the squared residues to assess overall quality of a bicluster b in eq..
r=dij-dic-dgj+dgc
msr=1|g||c|∑i∈g,j∈cr <dig>
definition  <dig> row variance.
given a bicluster b = g×c, the ith gene variance in b is defined by rvar and the overall gene-dimensional variance is defined as the sum of all genes variance as follows.
rvar=1|g||c|∑i∈g,j∈c <dig>
rvar=1|c|∑j∈c <dig>
our target is mining good quality biclusters of maximum size, with mean square residue  smaller than a user-defined threshold δ >  <dig>  which presents the maximum allowable dissimilarity within the biclusters, and with a greater row variance.
the problem is np-complete, so the large majority of the algorithms use heuristic approaches to attain near optimal solutions.
bicluster encoding
each bicluster is encoded as an individual of the population.
each individual is represented by a binary string of fixed length n+m, where n, m is the number of genes, conditions of the microarray dataset, respectively.
the first n bits are responding to n genes, the following m bits to m conditions.
if a bit is set to  <dig>  it means that the responding gene or condition belongs to the encoded bicluster; otherwise it does not.
this encoding method presents the advantage of having a fixed size, thus using standard variation operations.
figure  <dig> presents the individual encoding a bicluster with  <dig> genes and  <dig> conditions, and its size is  <dig> ×  <dig> =  <dig>
fitness function
we hope to mine those biclusters with low mean squared residue, with high volume and gene-dimensional variance, thus three objectives in conflict with each other are used to model multi-objective optimization problem.
in this paper, we use the following three fitness functions  <cit> .
f1=|g||c|size
f2=msrδ
f3=1rvar
where g and c are the total number of genes and conditions of the microarray datasets respectively.
size, msr and rvar denotes the size, mean squared residue and row variance of bicluster encoded by the frog × respectively.
δ is the user-defined threshold for the maximum acceptable mean squared residue.
our algorithm minimizes those three fitness functions.
ϵ-dominance
among many moea proposed, the non-dominated solutions of each generation are kept in an external population that must be updated in each generation.
the time needed for updating the population depends on the population size, population size and the number of objectives and increases extremely when increasing the values of these three factors  <cit> .
to encourage more exploration and to provide more diversity the relaxed forms of pareto dominance has become a popular mechanism to regulate convergence of an moea.
among these mechanisms, ϵ-dominance has become increasingly popular  <cit> , because of its effectiveness and its sound theoretical foundation.
ϵ-dominance can control the granularity of the approximation of the pareto front obtained to accelerate convergence and guarantee optimal distribution of solutions.
here, we adapt the idea of ϵ-dominance to fix the size of the population to a certain amount.
this size depends on ϵ. we apply ϵ-dominance technique to search for the approximate pareto-front.
definition  <dig> dominance relation.
let f, g ∈rm.
then f is said to dominate g , iff
∀i ∈{ <dig> ...., m}: fi ≤ gi
∃j ∈{ <dig> ...., m}: fj < gj
definition  <dig> pareto set.
let f ∈r m be a set of vectors.
then the pareto set f* of f is defined as follows:
f* contains all vectors g ∈ f which are not dominated by any vector f ∈ f, i.e.
f:= {g∈f|∄f∈f: f≻g}
vectors in f* are called pareto vectors of f. the set of all pareto sets of f is denoted as p*.
definition  <dig> ϵ-dominance.
let f, g ∈ rm.
then f is said to ϵ -dominate g for some ϵ >  <dig>  denoted as f ≻ϵ g, iff for all i∈{ <dig> ...., m}
fi≥gi.
definition  <dig> ϵ-approximate pareto set.
let f ⊆ rm be a set of vectors and ϵ >  <dig>  then a set fϵ is called an ϵ-approximate pareto set of f, if any vector g ∈ f is ϵ-dominated by at least one vector f ∈ fϵ , i.e.
∀g∈f:∃f∈fϵsuch that f≻ϵg
the set of all ϵ-approximate pareto sets of f is denoted as pϵ .
definition  <dig> ϵ-pareto set.
let f ⊆ rm be a set of vectors and ϵ >  <dig>  then a set f∈*⊆f is called an ϵ-pareto set of f if
f∈* is an ϵ-approximate pareto set of f, i.e.
f∈*∈p∈, and
f∈* contains pareto points of x only, i.e.
f∈*⊆f*
the set of all ϵ-pareto set of f is denoted as f∈*.
update of ϵ-pareto set of the frog population
in order to guarantee the convergence and maintain diversity in the population at the same time, we implement updating of ϵ-pareto set of the frog population during selection operation  <cit> .
fining the global best solution
to order to find the global best solutions, we use the sigma method  <cit>  to find the best local guide pg among the population members for the frog i of population as follows.
in the first step, we assign the value σj to each frog j in the population.
in the second step, σi for frog i of the population is calculated.
then we calculate the distance between the σi and σj, ∀j =  <dig> ...,|a|.
finally, the frog k in the population a which its σk has the minimum distance to σi is selected as the best local guide for the frog i. therefore, frog pg = xk is the best local guide for frog i. in other words, each frog that has a closer sigma value to the sigma value of the population member, must select that population member as the best local guide.
in the case of two dimensional objective space, closer means the difference between the sigma values and in the case of m- dimensional objective space, it means the m-dimensional euclidian distance between the sigma values.
the algorithm of the sigma method can find the best local pg for the frog i of the population  <cit> .
here, the function sigma calculates the σ value and dist computes the euclidian distance.
yi denotes the objective value of the jth element of the population.
shuffled frog-leaping algorithm
sfl is a population-based cooperative search metaphor combining the benefits of the genetic-based memetic algorithm and the social behavior based on particle swarm optimization.
shuffled frog leaping algorithm is a new meta-heuristic proposed by eusuff  <cit>  for solving problems with discrete decision variables.
in the sfl algorithm, a population of randomly generated p solutions forms an initial population x = {x <dig>  x <dig> ..., xp}, where each solution xi called a frog is represented by a number of bits xi = { xi <dig>  xi <dig> ..., xin }.
sfl starts with the whole population partitioned into a number of parallel subsets referred to as memeplexes.
then eachmemeplex is considered as a different culture of frogs and permitted to evolve independently to search the space.
within each memeplex, the individual frogs hold their own ideas, which can be affected by the ideas of other frogs, and experience a memetic evolution.
during the evolution, the frogs may change their memes by using the information from the memeplex best x or the best individual of entire population x. incremental changes in memotypes correspond to a leaping step size and the new meme corresponds to the frog's new position.
in each cycle, only the frog with the worst fitness x in the current memeplex is improved by a process similar to pso.
the improving cycle has four steps, in the first step it uses a method which in concept is somehow similar to the discrete particle swarm optimization algorithm, and for the second and third steps it uses the operators of the the binary genetic algorithm , i.e.
mutation and crossover  <cit> .
step <dig>  for d =  <dig> ..., nbit , use eq.
to calculate the speed vector of the worst frog vwi:
vwidn+1=ξ+k⋅μ1⋅c2⋅r2⋅+μ2⋅c3⋅r3⋅
where i denotes the worst frog of ith memeplex, n represents the iteration number, pbi is the best position visited previously by the worst frog of ith memeplex and xbi is the position of the best frog in ith memeplex, and ξ is the constriction factor; c <dig>  c <dig> and c <dig> are three positive constants called acceleration coefficients ; r <dig>  r <dig> and r <dig> are three random numbers uniformly distributed between  <dig> and  <dig>  μ <dig> and μ <dig> are called the influence factors, μ <dig> reflects the influence of the global best position on the worst frog and μ <dig> reflects the influence of the best position of any memeplex imposed on the worst frog.
as a rule μ <dig> and μ <dig> are positive decimal fractions.
the default values of μ <dig> and μ <dig> are as μ <dig> = μ <dig> =  <dig> .
k reflects the movement direction, which is selected randomly, thus if k =  <dig> the frog moves towards the global best position, else k = - <dig> and it moves in the opposite direction.
ω is called the inertia weight, and is calculated from eq..
the position of the frog is determined using eq.
:
xwidn+1=boolean
where
boolean=1ifx≥00otherwise
if this process produces a better solution, it replaces the worst frog; otherwise go to the next step.
step <dig>  a mutation operator is applied on the position of the worst frog.
in the case of improvement, the resulted position is accepted; otherwise go to the next step.
step <dig>  a crossover operator is applied between the worst frog of the memeplex and the globally best position.
the worst frog is replaced if its fitness is improved; otherwise go to the next step.
step <dig>  the worst frog is replaced randomly.
if no improvement becomes possible in this case, then x is replaced by a randomly generated solution within the entire feasible space.
after a predefined number of memetic evolution steps, the frogs in memeplexes are submitted to a shuffling process, where all the memeplexes are combined into a whole population and then the population is again divided into several new memeplexes.
the memetic local search and shuffling process are repeated until a given termination condition is reached.
as a predefined number of improvement cycles is reached, memeplexes are shuffled, and if stopping criteria are not met, the algorithm is repeated.
accordingly, the main parameters of dsfl are: number of frogs p, number ofmemeplexes m, number of processing cycles on each memeplex before shuffling, number of shuffling iterations , number of bits for any variable, mutation rate, crossover type, the constriction factor, acceleration coefficients and influence factors.
based on some primary experimental results, the suitable values were found as follows: number of frogs and number of bits for each variable are  <dig> and  <dig>  respectively, number of processing cycles on each memeplex before shuffling is  <dig>  number of memeplexes is  <dig>  the values of other parameters have been mentioned before.
this paper incorporating dynamic population size.
dynamic population strategy
generally, multiple-objective optimization focus on two competing objectives:  to quickly converge to the true pareto front and  to maintain the diversity of the solutions along the resulting pareto front.
because maintaining the diversity will slow down the convergence speed and may degrade the quality of the resulting pareto front, these two objectives are in conflict each other.
in this paper, we adopt dynamically adjusting the population size to explore the search space in balance between two competing objectives.
initializing the population
the initial population is get by running state-of-art moea  with  <dig> individuals and  <dig> generations to produce the initial population of modpsflb.
adding population size
population adding strategy mainly consist in increasing the population size to ensure sufficient number of individuals to contribute to the search process and to place those new individuals in unexplored areas to discover new possible solutions.
based on the strategies of dynamic population size  <cit> , the procedures proposed in literature  <cit>  is proposed to facilitate exploration and exploitation capabilities for modpsflb.
decreasing population size
to prevent the excessive growth in population, a population decreasing strategy  <cit>  is used to adjust the population size.
sigma value is utilized to select potential frogs to be deleted.
after computing all the distance between sigma value of each frog and sigma value of its corresponding best local guide, the rank of the distance of each frog can be attained.
if the removal of frogs is only based upon the distance rank of each frog, then there is a possibility of eliminating an excessively large quantity of frogs in which some may carry unique schema to contribute in the search process.
a selection ratio is implemented to regulate the number of frogs to be removed and to provide some degrees of diversity preservation at the same time.
a selection ratio inspired by coello and montes  <cit>  is used to stochastically allocate a small percentage of frogs in the population for removal.
modpsflb biclustering algorithm
we incorporates dynamic population strategy into multi-objective shuffled frog leaping biclustering   <cit>  algorithm, and propose a multi-objective dynamic population shuffled frog-leaping biclustering  to mine biclusters from the microarray datasets to attain the global optimum solutions.
the proposed algorithm consist of the following three strategies:  ϵ-dominance to quicken convergence speed;  sigma method to find good local guides;  population-growing strategy to increase the population size to promote exploration capability; and  population declining strategy to prevent the population size from growing excessively.
the pseudo-code of the proposed modpsflb algorithm is given in algorithm  <dig>
algorithm 1: modpsflb algorithm
input: microarray data, minimal msr δ, α
output: the best solutions, that is, the found biclusters
begin
initialize the frog population a according to the population initializing stragery
while not terminated do
calculate fitness for each frog
add the size of population a according to the population adding stragery
divide the population into several memeplexes
for each memeplex
determine the best and worst frogs
improve the worst frog position x using eq.
if no improvement in this case then
x is replaced by a randomly generated frog within the entire feasible space
end for
combine the evolved memeplexes
select the best frogs using sigma method and ϵ-dominance
decrease the size of population a according to the population decreasing stragery
end while
return at the set of biclusters
end
modpsflb algorithm iteratively updates the frogs population until maximum number of generation are reached and converge to the optimal solution set.
RESULTS
mitra and banka applied moea to solve biclustering problem and proposed moe biclustering   <cit> .
to obtain the diversity of optimal solution, we apply the proposed modpsflb algorithm to mine biclusters from two well known datasets and compare the diversity and convergence of the algorithm with moeb, mopsob  <cit>  and mosflb algorithm.
the biological significance of the biclusters found by modpsflb is given in the end.
datasets and data preprocessing
the first dataset is the yeast saccharomyces cerevisiae cell cycle expression data  <cit> , and the second dataset is the human b-cells expression data  <cit> .
the yeast dataset collects expression level of  <dig>  genes under  <dig> conditions.
all entries are integers lying in the range of 0- <dig>  out of the yeast dataset there are  <dig> missing values.
the  <dig> missing values are replaced by random number between  <dig> and  <dig>  <cit> .
the human b-cells expression dataset is collection of  <dig>  genes and  <dig> conditions, with  <dig> % missing values, lying in the range of integers -750- <dig>  the missing values are replaced by random numbers between -800- <dig> <cit> .
however, those random values affect the discovery of biclusters  <cit> .
the parameter δ, for the yeast data is set δ =  <dig>  for the human b-cells expression data δ =  <dig>
experiments
modpsflb algorithm is implemented in java programming language and is performed on a  <dig>  ghz pentium  <dig> pc with  <dig> m of ram running windows xp.
to evaluate its performance, the proposed algorithm is compared to moeb, mopsob  <cit>  and mosflb algorithm on two well known datasets  <cit> .
yeast dataset
in table  <dig>  the information of ten biclusters out of the one hundred biclusters found on the yeast dataset are shown.
table  <dig> shows that the first hundred biclusters found by the proposed mosflb algorithm cover  <dig> % of the genes, 100% of the conditions and in total  <dig> % cells of the expression matrix.
the biclusters found by mosflb algorithm cover  <dig> % of the genes, 100% of the conditions and in total  <dig> % cells of the expression matrix.
the biclusters found by mopsob  <cit>  cover  <dig> % of the genes, 100% of the conditions and in total  <dig> % cells of the expression matrix.
while an average coverage of  <dig> % cells is reported in moeb  <cit> .
human b-cells expression dataset
comparative analysis
we compare the proposed modpsflb algorithm with mopsob, mosflb and dmopsob algorithm on the yeast dataset and the human dataset and the results are showed in table  <dig>
from table  <dig>  the biclusters found by modpsflb has a slightly higher squared residue and a higher bicluster size than those by the other three algorithm on both yeast dataset and human dataset.
it is clear from the above results that the proposed modpsflb algorithm performs best in maintaining the diversity of solutions.
as for the computation cost, table  <dig> shows that the computation time of modpsflb is least, that is  <dig> s on yeast dataset and  <dig> s on human dataset, is superior to that of the other thress algorithms.
from table  <dig>  we alse know that the algorithm adopting dynamic population strategy has less the computation cost than the algorithm not adopting dynamic population strategy.
this show that dynamic population strategy can quicken optimization process.
in total it is clear from the above results that the proposed modpsflb algorithm performs best in maintaining diversity, achieving convergence.
biological analysis of biclusters
we determine the biological relevance of the biclusters found by modpsflb on the yeast dataset in terms of the statistically significant go annotation database.
the gene ontology  project  provides three structured, controlled vocabularies that describe gene products in terms of their associated biological processes, cellular components and molecular functions in a species-independent manner.
to better understand the mining results, we feed genes in each bicluster to onto-express  and obtain a hierarchy of functional annotations in terms of gene ontology for each bicluster.
the degree of enrichment is measured by p-values which use a cumulative hyper geometric distribution to compute the probability of observing the number of genes from a particular go category  within each bicluster.
for example, the probability p for finding at least k genes from a particular category within a bicluster of size n is given in eq..
p=1-∑i=0k-1mig-mn-ign
where m is the total number of genes within a category and g is the total number of genes within the genome.
the p-values are calculated for each functional category in each bicluster to denote how well those genes match with the corresponding go category.
CONCLUSIONS
this paper proposes a novel multi-objective dynamic population shuffled frog-leaping biclustering framework for mining biclusters from microarray datasets.
we focus on finding maximum biclusters with lower mean squared residue and higher row variance.
those three objective are incorporated into the framework with three fitness functions.
we apply the following techniques: a sfl method to balance and control the search process, population adding method to dynamically grows new individuals with enhanced exploration and exploitation capabilities, population decreasing strategy to balance and control the dynamic population size, and final to quicken convergence of the algorithm.
the comparative study of modpsflb and three state-of-the-art biclustering algorithms on the yeast microarray dataset and the human b-cells expression dataset clearly verifies that modpsflb can effectively find significant palocalized structures related to sets of genes that show consistent expression patterns across subsets of experimental conditions.
the mined patterns present a significant biological relevance in terms of related biological processes, components and molecular functions in a species-independent manner.
competing interests
the authors declare that they have no competing interests.
authors' contributions
jl was primarily responsible for the design of modmsflb to mine biclusters from gene expression data and drafted the manuscript.
zl and xh were involved in study design and coordination and revised the manuscript.
yc and fl conducted the algorithm design.

 with rapid development of the dna microarray technology, simultaneously measuring the expression levels of thousands of genes in a single experiment can yield large-scale datasets. the analysis of microarray data mainly contains the study of gene expression under different environmental stress conditions and the comparisons of gene expression profiles for tumors from cancer patients. a subset of genes showing correlated co-expression patterns across a subset of conditions are expected to be functionally related. by comparing gene expression in normal and disease sells, microarray dataset may be used to identify disease genes and targets for therapeutic drugs. therefore, mining patterns from microarray dataset becomes more and more important. these patterns relate to disease diagnosis, drug discovery, protein network analysis, gene regulate, as well as function prediction. for microarray data analysis, clustering techniques is a popular technique for mining significant biological models. clustering can identify set of genes with similar profiles. however, traditional clustering approaches such as k-means, self organizing maps, support vector machine and hierarchical clustering, assume that related genes have the similar expression patterns across all conditions, which is not reasonable especially when the dataset contains many heterogeneous conditions. it fact, those relevant genes are not necessarily related to all conditions. to cluster subset of genes that have similar expression over some conditions, biclustering is proposed for clustering simultaneously gene subset and condition subset over which the gene subset exhibit similar expression patterns, such as δ-biclustering, pclustering, statistical-algorithmic method for biclustering analysis, spectral biclustering, gibbs sampling biclustering and simulated annealing biclustering. in recent three decades, inspired by biology views, heuristics optimization has become a very popular research topic. to order to escape from local minima, many evolutionary algorithms are used to find global optimal solutions from gene expression data. if a single objective is optimized, the global optimum solution can be found. but in the real-world optimization problem, there are several objectives in conflict with each other to be optimized and require different mathematical and algorithmic tools to solve it. multi-objective evolutionary algorithm generates a set of pareto-optimal solutions which is suitable to optimize two or more conflicting objectives. however when mining biclusters from microarray data, we must optimize simultaneously several objectives in conflict with each other, for example, the size and the homogeneity of the clusters. in this case moea is proposed to discover efficiently global optimal solution. among many moea proposed, the relaxed forms of pareto dominance has become a popular mechanism to regulate convergence of an moea, to encourage more exploration and to provide more diversity. among these mechanisms, ϵ-dominance has become increasingly popular, because of its effectiveness and its sound theoretical foundation. ϵ-dominance can control the granularity of the approximation of the pareto front obtained to accelerate convergence and guarantee optimal distribution of solutions. at present, several algorithms adopt moeas to discover biclusters from microarray data. recently particle swarm optimization proposed by kebnnedy and eberhart is a heuristics-based optimization approach simulating the movements of a bird flock finding food. most of previous versions of the particle swarm are based on continuous space, where trajectories are the changes of position on some dimensions. kennedy and eberhart proposed a discrete binary version of pso, where trajectories are defined as changes of probability that a coordinate will take on a zero or one value. the most attractive of pso is that there are very few parameters to adjust. so it has been successfully used for both continuous nonlinear and discrete binary single-objective optimization. the rapid convergence and relative simplicity of pso make it very suitable to solve multi-objective optimization named as multi-objective pso. in recent years many multi-objective pso approaches has proposed. the strategy of ϵ-dominance is introduced into mopso speeding up the convergence and attaining good diversity of solutions. liu incorporates ϵ-dominance strategies into mopso, and proposes a novel mopso biclustering framework to find one or more significant biclusters of maximum size from microarray data. most mops use a fixed population size to find non-dominated solutions for obtaining the paterto front. the computational cost is the greatest influence of population size on these population-based meta-heuristic algorithms. hence dynamically adjusting the population size need consider the balance between computational cost and the algorithm performance. some methods using dynamic size are proposed. tan proposed an incrementing moea that adaptively computes am appropriate population size according to the online discovered trade-off surface and its desired population size that corresponds to the distribution density. yen and lu proposed dynamic population size moea that includes a population-growing strategy based on the converted fitness and a population-declining strategy that resorts to the following age, health and crowdedness. leong and yen introduced dynamic population size and a fixed number of multiple swarms into multi-objective optimization algorithm that improved diversity and convergence of optimization algorithm. based on dynamic population, liu proposed a novel dynamic multi-objective particle swarm optimization biclustering algorithm to mine effectively significant biclusters of high quality. in recent years, eusuff develops a shuffled frog-leaping algorithm to solve combinatorial optimization problems. due to its effectiveness and suitability, sfla has captured much attention and been applied to solve many practical optimization problems. the shuffled frog leaping optimization algorithm has been successful in solving a wide range of real-valued optimization problems. madani proposes a discrete shuffled particle optimization algorithm with best performance in terms of both success rate and speed than the binary genetic algorithm and the discrete particle swarm optimization algorithm. to the best of our knowledge, there is no published work dealing with the biclustering of microarray data by using sfla. thus, in this paper we present an effective sfla biclustering algorithm for mining the maximum biclusters with allowable dissimilarity within the biclusters, and with a greater row variance. computational experiments and comparisons show that the proposed sfla outperforms three best performing algorithms proposed recently for solving the biclustering problem with the biclustering criterion. methods based on shuffled frog-leaping algorithm, crowding distance and ε-dominance strategy, this paper incorporating dynamic population strategy into mosflb algorithm, and proposes a multi-objective dynamic population shuffled frog-leaping biclustering algorithm to mine one or more significant biclusters of maximum size from microarray dataset. in the proposed algorithm, the feasible solutions are regarded as frogs and pareto optimal solutions are preserved in frog population updated by ε-dominance relation and computation of crowding distance. then the next generation of frog population is dynamically adjusted according to dynamic population strategy. the proposed methods can effectively obtain more pareto optimal solutions that uniformly distributed onto the pareto front. the proposed algorithm uses three objectives, the size, homogeneity and row variance of biclusters, as three fitness function of biclustering optimization process. a low mean squared residue score of bicluster denotes that the expression level of each gene within the bicluster is similar over the range of conditions. therefore, the goal of the algorithm is to find more maximum biclusters with mean squared residue lower than a given δ and with a relatively high row variance. biclusters given a gene expression data matrix d = g×c = is a real-valued n×m matrix, here g is a set of n genes {g g..., gn}, c a set of m biological conditions {c c..., cn}. entry dij means the expression level of gene gi under condition cj. definition bicluster. given a gene expression dataset d = g×c, if there is a submatrix b = g×c, where g⊂g, c⊂c, to satisfy certain homogeneity and minimal size of the cluster, we say that b is a bicluster. definition maximal bicluster. a bicluster b = g×c is maximal if there exists not any other biclusters b'b'= g'×c' g'×c' such that, g'⊂g, c'⊂c. definition dimension mean. given a bicluster b = g×c, with subset of genes g⊂g, subset of conditions c⊂c, dij is the value of gene gi under condition cj in the dataset d. we denote by dicdic the mean of the ith gene in b, dgj the mean of the jth condition in b. we also denote by dgc the mean of all entries in b. these values are defined as follows, where size = |g||c| presents the size of bicluster b. dic=1|c|∑j∈cdij dgj=1|g|∑i∈gdij dgc=1|g||c|∑i∈g,j∈cdij definition residue and mean square residue. given a bicluster b = g×c, to assess the difference the actual value of an element dij and its expected value, we define by r the residue of dij in bicluster b in eq.. therefore the mean squared residue of b is defined as the sum of the squared residues to assess overall quality of a bicluster b in eq.. r=dij-dic-dgj+dgc msr=1|g||c|∑i∈g,j∈cr definition row variance. given a bicluster b = g×c, the ith gene variance in b is defined by rvar and the overall gene-dimensional variance is defined as the sum of all genes variance as follows. rvar=1|g||c|∑i∈g,j∈c rvar=1|c|∑j∈c our target is mining good quality biclusters of maximum size, with mean square residue smaller than a user-defined threshold δ > which presents the maximum allowable dissimilarity within the biclusters, and with a greater row variance. the problem is np-complete, so the large majority of the algorithms use heuristic approaches to attain near optimal solutions. bicluster encoding each bicluster is encoded as an individual of the population. each individual is represented by a binary string of fixed length n+m, where n, m is the number of genes, conditions of the microarray dataset, respectively. the first n bits are responding to n genes, the following m bits to m conditions. if a bit is set to it means that the responding gene or condition belongs to the encoded bicluster; otherwise it does not. this encoding method presents the advantage of having a fixed size, thus using standard variation operations. figure presents the individual encoding a bicluster with genes and conditions, and its size is × = fitness function we hope to mine those biclusters with low mean squared residue, with high volume and gene-dimensional variance, thus three objectives in conflict with each other are used to model multi-objective optimization problem. in this paper, we use the following three fitness functions. f1=|g||c|size f2=msrδ f3=1rvar where g and c are the total number of genes and conditions of the microarray datasets respectively. size, msr and rvar denotes the size, mean squared residue and row variance of bicluster encoded by the frog × respectively. δ is the user-defined threshold for the maximum acceptable mean squared residue. our algorithm minimizes those three fitness functions. ϵ-dominance among many moea proposed, the non-dominated solutions of each generation are kept in an external population that must be updated in each generation. the time needed for updating the population depends on the population size, population size and the number of objectives and increases extremely when increasing the values of these three factors. to encourage more exploration and to provide more diversity the relaxed forms of pareto dominance has become a popular mechanism to regulate convergence of an moea. among these mechanisms, ϵ-dominance has become increasingly popular, because of its effectiveness and its sound theoretical foundation. ϵ-dominance can control the granularity of the approximation of the pareto front obtained to accelerate convergence and guarantee optimal distribution of solutions. here, we adapt the idea of ϵ-dominance to fix the size of the population to a certain amount. this size depends on ϵ. we apply ϵ-dominance technique to search for the approximate pareto-front. definition dominance relation. let f, g ∈rm. then f is said to dominate g, iff ∀i ∈{...., m}: fi ≤ gi ∃j ∈{...., m}: fj < gj definition pareto set. let f ∈r m be a set of vectors. then the pareto set f* of f is defined as follows: f* contains all vectors g ∈ f which are not dominated by any vector f ∈ f, i.e. f:= {g∈f|∄f∈f: f≻g} vectors in f* are called pareto vectors of f. the set of all pareto sets of f is denoted as p*. definition ϵ-dominance. let f, g ∈ rm. then f is said to ϵ -dominate g for some ϵ > denoted as f ≻ϵ g, iff for all i∈{...., m} fi≥gi. definition ϵ-approximate pareto set. let f ⊆ rm be a set of vectors and ϵ > then a set fϵ is called an ϵ-approximate pareto set of f, if any vector g ∈ f is ϵ-dominated by at least one vector f ∈ fϵ, i.e. ∀g∈f:∃f∈fϵsuch that f≻ϵg the set of all ϵ-approximate pareto sets of f is denoted as pϵ. definition ϵ-pareto set. let f ⊆ rm be a set of vectors and ϵ > then a set f∈*⊆f is called an ϵ-pareto set of f if f∈* is an ϵ-approximate pareto set of f, i.e. f∈*∈p∈, and f∈* contains pareto points of x only, i.e. f∈*⊆f* the set of all ϵ-pareto set of f is denoted as f∈*. update of ϵ-pareto set of the frog population in order to guarantee the convergence and maintain diversity in the population at the same time, we implement updating of ϵ-pareto set of the frog population during selection operation. fining the global best solution to order to find the global best solutions, we use the sigma method to find the best local guide pg among the population members for the frog i of population as follows. in the first step, we assign the value σj to each frog j in the population. in the second step, σi for frog i of the population is calculated. then we calculate the distance between the σi and σj, ∀j =...,|a|. finally, the frog k in the population a which its σk has the minimum distance to σi is selected as the best local guide for the frog i. therefore, frog pg = xk is the best local guide for frog i. in other words, each frog that has a closer sigma value to the sigma value of the population member, must select that population member as the best local guide. in the case of two dimensional objective space, closer means the difference between the sigma values and in the case of m- dimensional objective space, it means the m-dimensional euclidian distance between the sigma values. the algorithm of the sigma method can find the best local pg for the frog i of the population. here, the function sigma calculates the σ value and dist computes the euclidian distance. yi denotes the objective value of the jth element of the population. shuffled frog-leaping algorithm sfl is a population-based cooperative search metaphor combining the benefits of the genetic-based memetic algorithm and the social behavior based on particle swarm optimization. shuffled frog leaping algorithm is a new meta-heuristic proposed by eusuff for solving problems with discrete decision variables. in the sfl algorithm, a population of randomly generated p solutions forms an initial population x = {x x..., xp}, where each solution xi called a frog is represented by a number of bits xi = { xi xi..., xin }. sfl starts with the whole population partitioned into a number of parallel subsets referred to as memeplexes. then eachmemeplex is considered as a different culture of frogs and permitted to evolve independently to search the space. within each memeplex, the individual frogs hold their own ideas, which can be affected by the ideas of other frogs, and experience a memetic evolution. during the evolution, the frogs may change their memes by using the information from the memeplex best x or the best individual of entire population x. incremental changes in memotypes correspond to a leaping step size and the new meme corresponds to the frog's new position. in each cycle, only the frog with the worst fitness x in the current memeplex is improved by a process similar to pso. the improving cycle has four steps, in the first step it uses a method which in concept is somehow similar to the discrete particle swarm optimization algorithm, and for the second and third steps it uses the operators of the the binary genetic algorithm, i.e. mutation and crossover. step for d =..., nbit, use eq. to calculate the speed vector of the worst frog vwi: vwidn+1=ξ+k⋅μ1⋅c2⋅r2⋅+μ2⋅c3⋅r3⋅ where i denotes the worst frog of ith memeplex, n represents the iteration number, pbi is the best position visited previously by the worst frog of ith memeplex and xbi is the position of the best frog in ith memeplex, and ξ is the constriction factor; c c and c are three positive constants called acceleration coefficients; r r and r are three random numbers uniformly distributed between and μ and μ are called the influence factors, μ reflects the influence of the global best position on the worst frog and μ reflects the influence of the best position of any memeplex imposed on the worst frog. as a rule μ and μ are positive decimal fractions. the default values of μ and μ are as μ = μ =. k reflects the movement direction, which is selected randomly, thus if k = the frog moves towards the global best position, else k = - and it moves in the opposite direction. ω is called the inertia weight, and is calculated from eq.. the position of the frog is determined using eq.: xwidn+1=boolean where boolean=1ifx≥00otherwise if this process produces a better solution, it replaces the worst frog; otherwise go to the next step. step a mutation operator is applied on the position of the worst frog. in the case of improvement, the resulted position is accepted; otherwise go to the next step. step a crossover operator is applied between the worst frog of the memeplex and the globally best position. the worst frog is replaced if its fitness is improved; otherwise go to the next step. step the worst frog is replaced randomly. if no improvement becomes possible in this case, then x is replaced by a randomly generated solution within the entire feasible space. after a predefined number of memetic evolution steps, the frogs in memeplexes are submitted to a shuffling process, where all the memeplexes are combined into a whole population and then the population is again divided into several new memeplexes. the memetic local search and shuffling process are repeated until a given termination condition is reached. as a predefined number of improvement cycles is reached, memeplexes are shuffled, and if stopping criteria are not met, the algorithm is repeated. accordingly, the main parameters of dsfl are: number of frogs p, number ofmemeplexes m, number of processing cycles on each memeplex before shuffling, number of shuffling iterations, number of bits for any variable, mutation rate, crossover type, the constriction factor, acceleration coefficients and influence factors. based on some primary experimental results, the suitable values were found as follows: number of frogs and number of bits for each variable are and respectively, number of processing cycles on each memeplex before shuffling is number of memeplexes is the values of other parameters have been mentioned before. this paper incorporating dynamic population size. dynamic population strategy generally, multiple-objective optimization focus on two competing objectives: to quickly converge to the true pareto front and to maintain the diversity of the solutions along the resulting pareto front. because maintaining the diversity will slow down the convergence speed and may degrade the quality of the resulting pareto front, these two objectives are in conflict each other. in this paper, we adopt dynamically adjusting the population size to explore the search space in balance between two competing objectives. initializing the population the initial population is get by running state-of-art moea with individuals and generations to produce the initial population of modpsflb. adding population size population adding strategy mainly consist in increasing the population size to ensure sufficient number of individuals to contribute to the search process and to place those new individuals in unexplored areas to discover new possible solutions. based on the strategies of dynamic population size, the procedures proposed in literature is proposed to facilitate exploration and exploitation capabilities for modpsflb. decreasing population size to prevent the excessive growth in population, a population decreasing strategy is used to adjust the population size. sigma value is utilized to select potential frogs to be deleted. after computing all the distance between sigma value of each frog and sigma value of its corresponding best local guide, the rank of the distance of each frog can be attained. if the removal of frogs is only based upon the distance rank of each frog, then there is a possibility of eliminating an excessively large quantity of frogs in which some may carry unique schema to contribute in the search process. a selection ratio is implemented to regulate the number of frogs to be removed and to provide some degrees of diversity preservation at the same time. a selection ratio inspired by coello and montes is used to stochastically allocate a small percentage of frogs in the population for removal. modpsflb biclustering algorithm we incorporates dynamic population strategy into multi-objective shuffled frog leaping biclustering algorithm, and propose a multi-objective dynamic population shuffled frog-leaping biclustering to mine biclusters from the microarray datasets to attain the global optimum solutions. the proposed algorithm consist of the following three strategies: ϵ-dominance to quicken convergence speed; sigma method to find good local guides; population-growing strategy to increase the population size to promote exploration capability; and population declining strategy to prevent the population size from growing excessively. the pseudo-code of the proposed modpsflb algorithm is given in algorithm algorithm 1: modpsflb algorithm input: microarray data, minimal msr δ, α output: the best solutions, that is, the found biclusters begin initialize the frog population a according to the population initializing stragery while not terminated do calculate fitness for each frog add the size of population a according to the population adding stragery divide the population into several memeplexes for each memeplex determine the best and worst frogs improve the worst frog position x using eq. if no improvement in this case then x is replaced by a randomly generated frog within the entire feasible space end for combine the evolved memeplexes select the best frogs using sigma method and ϵ-dominance decrease the size of population a according to the population decreasing stragery end while return at the set of biclusters end modpsflb algorithm iteratively updates the frogs population until maximum number of generation are reached and converge to the optimal solution set.  mitra and banka applied moea to solve biclustering problem and proposed moe biclustering. to obtain the diversity of optimal solution, we apply the proposed modpsflb algorithm to mine biclusters from two well known datasets and compare the diversity and convergence of the algorithm with moeb, mopsob and mosflb algorithm. the biological significance of the biclusters found by modpsflb is given in the end. datasets and data preprocessing the first dataset is the yeast saccharomyces cerevisiae cell cycle expression data, and the second dataset is the human b-cells expression data. the yeast dataset collects expression level of genes under conditions. all entries are integers lying in the range of 0- out of the yeast dataset there are missing values. the missing values are replaced by random number between and. the human b-cells expression dataset is collection of genes and conditions, with % missing values, lying in the range of integers -750- the missing values are replaced by random numbers between -800-. however, those random values affect the discovery of biclusters. the parameter δ, for the yeast data is set δ = for the human b-cells expression data δ = experiments modpsflb algorithm is implemented in java programming language and is performed on a ghz pentium pc with m of ram running windows xp. to evaluate its performance, the proposed algorithm is compared to moeb, mopsob and mosflb algorithm on two well known datasets. yeast dataset in table the information of ten biclusters out of the one hundred biclusters found on the yeast dataset are shown. table shows that the first hundred biclusters found by the proposed mosflb algorithm cover % of the genes, 100% of the conditions and in total % cells of the expression matrix. the biclusters found by mosflb algorithm cover % of the genes, 100% of the conditions and in total % cells of the expression matrix. the biclusters found by mopsob cover % of the genes, 100% of the conditions and in total % cells of the expression matrix. while an average coverage of % cells is reported in moeb. human b-cells expression dataset comparative analysis we compare the proposed modpsflb algorithm with mopsob, mosflb and dmopsob algorithm on the yeast dataset and the human dataset and the results are showed in table from table the biclusters found by modpsflb has a slightly higher squared residue and a higher bicluster size than those by the other three algorithm on both yeast dataset and human dataset. it is clear from the above results that the proposed modpsflb algorithm performs best in maintaining the diversity of solutions. as for the computation cost, table shows that the computation time of modpsflb is least, that is s on yeast dataset and s on human dataset, is superior to that of the other thress algorithms. from table we alse know that the algorithm adopting dynamic population strategy has less the computation cost than the algorithm not adopting dynamic population strategy. this show that dynamic population strategy can quicken optimization process. in total it is clear from the above results that the proposed modpsflb algorithm performs best in maintaining diversity, achieving convergence. biological analysis of biclusters we determine the biological relevance of the biclusters found by modpsflb on the yeast dataset in terms of the statistically significant go annotation database. the gene ontology project provides three structured, controlled vocabularies that describe gene products in terms of their associated biological processes, cellular components and molecular functions in a species-independent manner. to better understand the mining results, we feed genes in each bicluster to onto-express and obtain a hierarchy of functional annotations in terms of gene ontology for each bicluster. the degree of enrichment is measured by p-values which use a cumulative hyper geometric distribution to compute the probability of observing the number of genes from a particular go category within each bicluster. for example, the probability p for finding at least k genes from a particular category within a bicluster of size n is given in eq.. p=1-∑i=0k-1mig-mn-ign where m is the total number of genes within a category and g is the total number of genes within the genome. the p-values are calculated for each functional category in each bicluster to denote how well those genes match with the corresponding go category.  this paper proposes a novel multi-objective dynamic population shuffled frog-leaping biclustering framework for mining biclusters from microarray datasets. we focus on finding maximum biclusters with lower mean squared residue and higher row variance. those three objective are incorporated into the framework with three fitness functions. we apply the following techniques: a sfl method to balance and control the search process, population adding method to dynamically grows new individuals with enhanced exploration and exploitation capabilities, population decreasing strategy to balance and control the dynamic population size, and final to quicken convergence of the algorithm. the comparative study of modpsflb and three state-of-the-art biclustering algorithms on the yeast microarray dataset and the human b-cells expression dataset clearly verifies that modpsflb can effectively find significant palocalized structures related to sets of genes that show consistent expression patterns across subsets of experimental conditions. the mined patterns present a significant biological relevance in terms of related biological processes, components and molecular functions in a species-independent manner. competing interests the authors declare that they have no competing interests. authors' contributions jl was primarily responsible for the design of modmsflb to mine biclusters from gene expression data and drafted the manuscript. zl and xh were involved in study design and coordination and revised the manuscript. yc and fl conducted the algorithm design. 
this paper integrates dynamic population strategy and shuffled frog-leaping algorithm into biclustering of microarray data, and proposes a novel multi-objective dynamic population shuffled frog-leaping biclustering algorithm to mine maximum bicluesters from microarray data. the proposed modpsflb algorithm has good diversity and fast convergence of pareto solutions and will become a powerful systematic functional analysis in genome research. experimental results show that the proposed modpsflb algorithm can effectively find significant biological structures in terms of related biological processes, components and molecular functions. the shuffled frog-leaping algorithm is a population-based cooperative search metaphor combining the benefits of the local search of pso and the global shuffled of information of the complex evolution technique. as a heuristics-based optimization approach, the particle swarm optimization simulate the movements of a bird flock finding food. newly dna microarray technology may study the transcriptional response of a complete genome to different experimental conditions and yield a lot of large-scale datasets. multi-objective optimization involves optimization problems with multiple objectives. sfl is used to solve the optimization problems of the large-scale datasets.
 multi-objective optimization involves optimization problems with multiple objectives. generally, theose objectives is used to estimate very different aspects of the solutions, and these aspects are often in conflict with each other. moo first gets a pareto set, and then looks for both commonality and systematic variations across the set. for the large-scale data sets, heuristic search algorithms such as ea combined with moo techniques are ideal. newly dna microarray technology may study the transcriptional response of a complete genome to different experimental conditions and yield a lot of large-scale datasets. biclustering technique can simultaneously cluster rows and columns of a dataset, and hlep to extract more accurate information from those datasets. biclustering need optimize several conflicting objectives, and can be solved with moo methods. as a heuristics-based optimization approach, the particle swarm optimization simulate the movements of a bird flock finding food. the shuffled frog-leaping algorithm is a population-based cooperative search metaphor combining the benefits of the local search of pso and the global shuffled of information of the complex evolution technique. sfl is used to solve the optimization problems of the large-scale datasets.  this paper integrates dynamic population strategy and shuffled frog-leaping algorithm into biclustering of microarray data, and proposes a novel multi-objective dynamic population shuffled frog-leaping biclustering algorithm to mine maximum bicluesters from microarray data. experimental results show that the proposed modpsflb algorithm can effectively find significant biological structures in terms of related biological processes, components and molecular functions.  the proposed modpsflb algorithm has good diversity and fast convergence of pareto solutions and will become a powerful systematic functional analysis in genome research. 12- november ieee international conference on bioinformatics and biomedicine atlanta, ga, usa 