Biclustering method for gene expression profile based on swarm intelligence algorithm

By employing a dual-clustering method based on swarm intelligence algorithms, the high dimensionality and redundancy issues of gene expression data were addressed, enabling efficient information mining and optimized analysis of biological information.

CN121963886APending Publication Date: 2026-05-01GUANGXI MEDICAL UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGXI MEDICAL UNIVERSITY
Filing Date
2024-02-02
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing gene expression data suffers from problems such as massive data volume, high dimensionality, high noise, and high redundancy, making it difficult to effectively analyze and extract information from them.

Method used

A swarm intelligence-based bi-clustering method is adopted. By constructing an index matrix and obtaining a swarm seed, fitness function evaluation and mutation operations are used to optimize row and column individuals, and the optimal swarm is obtained iteratively.

Benefits of technology

It improves the efficiency and search scope of gene expression data processing, reduces information omissions, and enhances the efficiency of searching for biological information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121963886A_ABST
    Figure CN121963886A_ABST
Patent Text Reader

Abstract

The invention provides a gene expression profile bi-clustering method based on a swarm intelligence algorithm, and belongs to the technical field of gene expression, and the method comprises the following steps: constructing an index matrix for a gene expression data matrix, obtaining a bi-clustering seed, initializing a population, taking the bi-clustering seed as a first population individual, and constructing a second population individual; adding the first population individuals into a second population for population expansion to obtain two population individuals, evaluating the first population individuals by using a fitness function, and evaluating a plurality of individuals which contribute to the second population to the greatest extent by the individuals in the first population until a preset maximum number of evolution times is reached; and selecting an optimal bi-cluster from the second population. The index matrix is constructed for the gene expression data matrix, so that later data processing is simpler and higher in efficiency, meanwhile, data values of each gene under each condition can be searched by using the swarm intelligence algorithm, and therefore, the search range is wide, and important biological information is not easy to miss.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of gene expression technology, and in particular to a bi-clustering method for gene expression profiles based on swarm intelligence algorithms. Background Technology

[0002] The emergence and development of DNA microarray technology has enabled the simultaneous detection of thousands of genes and the measurement of their transcribed mRNA expression levels. Through repeated experiments under multiple conditions (such as different experimental environments, different time points, and different tissue samples), gene expression data from hundreds of experiments can be collected. The rows of a gene expression data matrix represent the expression of a single gene under different environmental conditions or at different time points, while the columns represent the expression of all genes under different conditions or samples (such as tissue, experimental conditions, treatment factors, etc.). The data in the matrix represent the expression level of a specific gene in a specific sample.

[0003] Analyzing the specific process of acquiring gene expression data reveals that gene expression data has characteristics such as (1) massive data volume; (2) high dimensionality; (3) high noise; and (4) high redundancy. This poses higher requirements and challenges for the research of data analysis algorithms. How to analyze these massive gene expression data and uncover the hidden information within them is a current research hotspot in bioinformatics and an urgent problem to be solved in the field of data mining. Therefore, it is necessary to design a bi-clustering method for gene expression profiles based on swarm intelligence algorithms. Summary of the Invention

[0004] The purpose of this invention is to provide a dual clustering method for gene expression profiles based on swarm intelligence algorithms, which solves the technical problems of existing gene expression data having huge data volume, high dimensionality, high noise and high redundancy.

[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0006] A bi-clustering method for gene expression profiles based on swarm intelligence algorithms, the method comprising the following steps:

[0007] Step 1: Construct an index matrix for the gene expression data matrix;

[0008] Step 2: Obtain the biclustering seed;

[0009] Step 3: Initialize the population. Use the bicluster seed as the first population individual, and then add the first population individual to the second population to expand the population, resulting in two population individuals.

[0010] Step 4: Use the fitness function to evaluate the individuals in the first population, evaluate the individuals in the first population that contribute the most to the second population, and then select them;

[0011] Step 5: Use the selected individuals as the individuals of the iterative population to obtain the new population, that is, to obtain new rows and columns, until the maximum number of evolutions is reached. Finally, select the optimal bicluster from the second population.

[0012] Further, the specific process of step 1 is as follows: After the original gene expression data matrix sequence is divided into frames and arranged by column, the data index increment of the corresponding row of the later column is the frame shift. Only the index information of the points in the first frame and the frame shift are needed to determine the index of all points. Construct the index sequence of the first frame, extend it to the frame number column to form the initial index matrix, construct the increment sequence according to the frame shift, with the first term being 0, the common difference being the frame shift, and the last term being the frame shift of the frame number minus 1. Extend the increment sequence to the frame length row to form the increment matrix. The index matrix = the initial index matrix + the increment matrix. The index matrix is ​​equivalent to storing the data address of the frame matrix.

[0013] Furthermore, in step 1, when determining the number of frames, the frame shift refers to the difference between the starting position of the previous frame and the starting position of the next frame, not the overlapping portion. The frame length points = single frame duration / sampling interval; the frame shift points = frame shift duration / sampling interval. The ceil() function is used to round up the frame length points and frame shift points. Let the frame length points be L, the frame shift points be M, the data sequence have a total of N points, the number of frames be X, the number of overlapping segments between adjacent frames be LM, and there are (X-1) overlapping segments. Then the calculation formula is:

[0014] The total number of points after frame splitting minus the total number of points in the original sequence equals the number of points in the overlapping part, i.e.: L*XN = (LM)(X-1). From this, we can solve for X = (N+ML) / (M*X). Similarly, we need to use the ceil() function to round the data and pad any extra points with zeros.

[0015] Furthermore, the specific process of step 2 is as follows:

[0016] After obtaining the index matrix, arbitrarily select two rows and calculate the longest common sequence between the two rows using the LCS algorithm. Check if the length of the longest common sequence between the two rows reaches the threshold. If it does, a bicluster seed is obtained, and the changing trend of the gene rows is observed.

[0017] Furthermore, the fitness function in step 4 is:

[0018]

[0019] In the formula, Bicluster.Hscore is the average squared residue of the bicluster, and Bicluster.Volume is the size of the bicluster;

[0020] When evaluating the fitness of each individual in the first population, let the mutation probability be β. Select (1-β)×N1 individuals with high fitness from N1 individuals and pass them on to the next generation population. Then, mutate the β×N1 individuals with low fitness to obtain new β×N1 individuals, that is, randomly select β×N1 new rows or columns again.

[0021] The present invention, by adopting the above-described technical solution, has the following beneficial effects:

[0022] This invention constructs an index matrix from the gene expression data matrix, making subsequent data processing simpler and more efficient. At the same time, the use of swarm intelligence algorithms can search for the data values ​​of each gene under each condition, thus providing a wide search range and making it less likely to miss important biological information. Optimizing the rows and columns can further improve search efficiency. Attached Figure Description

[0023] Figure 1 This is a flowchart illustrating the specific process of the bi-clustering method of this invention. Detailed Implementation

[0024] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and preferred embodiments. However, it should be noted that many details listed in the specification are merely to provide the reader with a thorough understanding of one or more aspects of the present invention, and these aspects of the invention can be implemented even without these specific details.

[0025] like Figure 1 The diagram illustrates the process of bi-clustering, a bi-clustering method based on swarm intelligence algorithms for gene expression profiles. The method includes the following steps:

[0026] Step 1: Construct an index matrix for the gene expression data matrix, as shown in Tables 1 and 2. The original gene expression data matrix sequence is framed and arranged column-wise. The data index increment of the corresponding row in the later column is the frame shift. Only the index information and frame shift of the points in the first frame are needed to determine the index of all points. Construct the first frame index sequence, extend it to the frame number column to form the initial index matrix. Construct an increment sequence based on the frame shift, with the first term being 0, the common difference being the frame shift, and the last term being the frame number minus 1. Extend the increment sequence to the frame length row to form the increment matrix. The index matrix = initial index matrix + increment matrix. The index matrix essentially stores the data addresses of the framed matrix.

[0027] When determining the number of frames, frame shift refers to the difference between the starting position of the previous frame and the starting position of the next frame, not the overlapping portion. Frame length points = single frame duration / sampling interval; frame shift points = frame shift duration / sampling interval. The `ceil()` function is used to round up the frame length points and frame shift points. Let the frame length points be L, the frame shift points be M, the data sequence have a total of N points, the number of frames be X, and the number of overlapping segments between adjacent frames be LM. There are (X-1) overlapping segments. Then the calculation formula is:

[0028] The total number of points after frame splitting minus the total number of points in the original sequence equals the number of points in the overlapping part, i.e.: L*XN = (LM)(X-1). From this, we can solve for X = (N+ML) / (M*X). Similarly, we need to use the ceil() function to round the data and pad any extra points with zeros.

[0029] Following the method of obtaining rows and columns from a matrix, replacing the corresponding row and column positions with ones(1, x) expands the first row and column of the matrix into x rows / columns. Placing a sequence at the index position means that the index will not only detect the sequence value but also map the sequence's index to its own index. ones(1, N) is a sequence of length N with values ​​of 1. Since the value is always 1, it represents the data in the first row. Because its index is N long, the detection index will also be N long, thus expanding the first row N times, resulting in N rows. The same principle applies when placing the position on a column.

[0030] Table 1 shows the original gene expression data matrix.

[0031] Condition 1 Condition 2 Condition 3 Condition 4 Condition 5 Condition 6 Condition 7 Condition 8 Condition 9 Gene 1 2.0 1.2 1.5 1.8 4.2 2.5 2.9 3.1 3.5 Gene 2 9.6 8.3 9.0 7.5 8.8 10.4 6.2 5.4 11.9 Gene 3 3.7 0.4 2.6 1.3 6.9 5.8 3.9 4.5 7.1 Gene 4 7.8 10.8 12.4 8.9 3.2 6.9 6.3 5.5 4.8

[0032] Table 2 is the index matrix of the original gene expression data matrix.

[0033] Gene 1 2 3 4 1 6 7 8 9 5 Gene 2 8 7 4 2 5 3 1 6 9 Gene 3 2 4 3 1 7 8 6 5 9 Gene 4 5 9 8 7 6 1 4 2 3

[0034] The reasons for constructing an index matrix are: (1) An index matrix can reflect changes in numerical values. (2) Finding the longest common subsequence between pairs of rows in the index matrix can yield the largest condition set of genes with consistent sequential expression. The reason for finding the longest common sequence between pairs of rows in the index matrix is ​​that the longest common sequence between two gene rows can be considered as the similarity between the two genes. If the longest common sequence is short, it is assumed that the two genes are only changing under very few conditions, thus their correlation is low. ; Conversely, if the longest common sequence between the two gene lines is long, it indicates a high degree of similarity. If their expression values ​​show the same increase or decrease under many conditions, they are likely to belong to the same consistent bicluster, as shown in Tables 1 and 2.

[0035] Step 2: Obtain a biclustering seed. After obtaining the index matrix, arbitrarily select two rows and calculate the longest common sequence between the two rows using the LCS algorithm. Check if the length of the longest common sequence between the two rows reaches a threshold. If it does, a biclustering seed is obtained, and the changing trend of the gene rows is observed.

[0036] Because the current seed is obtained by randomly selecting two rows from the index matrix, it may miss genes that, like those in the seed, satisfy the longest common subsequence length requirement and exceed a significant length. Therefore, we need to traverse all rows in the index matrix except for the initial two rows of the seed, find the longest common subsequence of the row corresponding to the first gene in the seed, select the gene corresponding to the row with the longest sequence length, and add this gene to the seed gene set to form the final bicluster seed. In other words, the final bicluster seed consists of 3 genes (3 rows) and satisfies strict order preservation.

[0037] Although the final bicluster seed is a highly consistent bicluster, the number of genes and conditions in the bicluster is too small, and biclustering requires a certain number of rows and columns. To expand the bicluster, relevant rows or columns can be added by reducing the consistency, ultimately making the expression values ​​of the biclusters show roughly the same trend.

[0038] Step 3: Initialize the population. Use the bicluster seed as the first population, then add the individuals from the first population to the second population to expand the population, resulting in two populations. Perform row and column expansion.

[0039] Step 4: Evaluate the individuals in the first population using a fitness function. Select the individuals from the first population that contribute the most to the second population. The fitness function is:

[0040]

[0041] In the formula, Bicluster.Hscore is the average squared residue of the bicluster, and Bicluster.Volume is the size of the bicluster;

[0042] When evaluating the fitness of each individual in the first population, let the mutation probability be β. Select (1-β)×N1 individuals with high fitness from N1 individuals and pass them on to the next generation population. Then, mutate the β×N1 individuals with low fitness to obtain new β×N1 individuals, that is, randomly select β×N1 new rows or columns again.

[0043] Step 5: Use the selected individuals as the individuals of the iterative population to obtain the new population, that is, to obtain new rows and columns, until the maximum number of evolutions is reached. Finally, select the optimal bicluster from the second population.

[0044] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A bi-clustering method for gene expression profiles based on swarm intelligence algorithms, characterized in that: The method includes the following steps: Step 1: Construct an index matrix for the gene expression data matrix; Step 2: Obtain the biclustering seed; Step 3: Initialize the population. Use the bicluster seed as the first population individual, and then add the first population individual to the second population to expand the population, resulting in two population individuals. Step 4: Use the fitness function to evaluate the individuals in the first population, evaluate the individuals in the first population that contribute the most to the second population, and then select them; Step 5: Use the selected individuals as the individuals of the iterative population to obtain the new population, that is, to obtain new rows and columns, until the maximum number of evolutions is reached. Finally, select the optimal bicluster from the second population.

2. The bi-clustering method for gene expression profiles based on swarm intelligence algorithm according to claim 1, characterized in that: The specific process of step 1 is as follows: After the original gene expression data matrix sequence is divided into frames and arranged by column, the data index increment of the corresponding row of the later column is the frame shift. Only the index information of the points in the first frame and the frame shift are needed to determine the index of all points. Construct the index sequence of the first frame, extend it to the frame number column to form the initial index matrix, construct the increment sequence according to the frame shift, with the first term being 0, the common difference being the frame shift, and the last term being the frame shift of the frame number minus 1. Extend the increment sequence to the frame length row to form the increment matrix. The index matrix = the initial index matrix + the increment matrix. The index matrix is ​​equivalent to storing the data address of the frame matrix.

3. The bi-clustering method for gene expression profiles based on swarm intelligence algorithms according to claim 2, characterized in that: In step 1, when determining the number of frames, the frame shift refers to the difference between the starting position of the previous frame and the starting position of the next frame, not the overlapping portion. The frame length points = single frame duration / sampling interval; the frame shift points = frame shift duration / sampling interval. The `ceil()` function is used to round up the frame length points and frame shift points. Let the frame length points be L, the frame shift points be M, the data sequence have a total of N points, the number of frames be X, and the number of overlapping segments between adjacent frames be LM. There are (X-1) overlapping segments. Then the calculation formula is: The total number of points after frame splitting minus the total number of points in the original sequence equals the number of points in the overlapping part, i.e.: L*XN = (LM)(X-1). From this, we can solve for X = (N+ML) / (M*X). Similarly, we need to use the ceil() function to round the data and pad any extra points with zeros.

4. The bi-clustering method for gene expression profiles based on swarm intelligence algorithm according to claim 1, characterized in that: The specific process of step 2 is as follows: After obtaining the index matrix, arbitrarily select two rows and calculate the longest common sequence between the two rows using the LCS algorithm. Check if the length of the longest common sequence between the two rows reaches the threshold. If it does, a bicluster seed is obtained, and the changing trend of the gene rows is observed.

5. The bi-clustering method for gene expression profiles based on swarm intelligence algorithm according to claim 1, characterized in that: The fitness function in step 4 is: In the formula, Bicluster.Hscore is the average squared residue of the bicluster, and Bicluster.Volume is the size of the bicluster; When evaluating the fitness of each individual in the first population, let the mutation probability be β. Select (1-β)×N1 individuals with high fitness from N1 individuals and pass them on to the next generation population. Then, mutate the β×N1 individuals with low fitness to obtain new β×N1 individuals, that is, randomly select β×N1 new rows or columns again.