Information processing device and non-transitory computer-readable medium storing program
Patent Information
- Application Number
- PCT/JP2026/002319
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-04-18
- Filing Date
- 2026-01-23
- Publication Date
- 2026-10-22
Smart Images

Figure JP2026002319_22102026_PF_FP_ABST
Abstract
Description
Information processing apparatus and non-transitory computer-readable medium storing program
[0001] The present invention relates to an information processing apparatus and a non-transitory computer-readable medium storing a program.
[0002] In drug discovery, to develop promising pharmaceuticals, multi-objective optimization of sequences constituting pharmaceuticals is performed in silico based on a plurality of indicators.
[0003] Patent Document 1 describes performing non-dominated sorting processing on data representing amino acid sequences, gene counts and codon frequency tables based on predetermined evaluation criteria, and selecting individual data with high rank in Pareto optimal solutions.
[0004] Non-Patent Document 1 describes simultaneously optimizing stability and translation efficiency by the Linear Design algorithm for mRNA sequences used in mRNA vaccines for COVID-19 and varicella-zoster virus.
[0005] Japanese Unexamined Patent Publication No. 2019-95819
[0006] Zhang, H., Zhang, L., Lin, A. et al. "Algorithm for optimized mRNA design improves stability and immunogenicity" Nature 621, p.396-403 (2023)
[0007] Multi-objective optimization aims to obtain a plurality of optimal solutions that are trade-offs for multiple indicators called Pareto optimal solutions, so solutions are generated to search a wide range of solution spaces. In particular, evolutionary computation algorithms such as multi-objective genetic algorithms can simultaneously generate a plurality of diverse solutions in a single optimization process. However, in actual pharmaceutical development, the priority of each indicator in optimization differs depending on the type of sequence. Therefore, it is necessary to assign priorities to the indicators and generate solutions that meet user requirements while maintaining the diversity of multiple solutions.
[0008] An information processing device according to one embodiment of the present invention is an information processing device that optimizes a base sequence based on a plurality of indicators, and comprises a processor that executes a program and a storage device that stores the program, wherein the processor performs a mutation sequence selection process to select a mutation sequence which is a base sequence to be mutated from a parent sequence group comprising a plurality of base sequences, a mutation component selection process to select a component to be mutated for the mutation sequence, a child sequence generation process to generate a child sequence group comprising a plurality of base sequences by mutating the component selected by the mutation component selection process for the mutation sequence, and a sequence update process to update the base sequence of the parent sequence group by selecting a base sequence from the base sequences included in the parent sequence group and the child sequence group that is evaluated as being close to the Pareto optimal solution in a solution space defined by a plurality of indicators, and the mutation sequence selection process selects a mutation sequence based on an integrated score obtained by weighting the scores of a plurality of indicators calculated for the base sequence, and the mutation component selection process calculates the expected value of the integrated score of the base sequence obtained by mutating each component of the base sequence, and selects a component to be mutated for the mutation sequence based on the expected value of the integrated score.
[0009] According to one embodiment of the present invention, it is possible to generate diverse solutions according to the user's requirements and the priority of the indicators. Other challenges and novel features will become apparent from the description herein and the accompanying drawings.
[0010] This is an example of the solution generation result using NSGA-II, a comparative example. This is an example of the solution generation result using a single-objective genetic algorithm based on weighted sums, also a comparative example. This is a block diagram showing the hardware configuration of the information processing system. This is a flowchart of the optimization process. This diagram explains the scheme for updating sequences in the optimization process. This is an example of the calculation of the integrated score for each parent sequence calculated in the integrated score calculation process. This diagram shows how child sequences are generated using the update scheme. This is an example of the history data created in the mutation component selection process for the example in Figure 7A. This is an example of the solution generation result using the optimization process of this embodiment. This is an example of the input / output screen.
[0011] In the following description of the embodiments, we will take the example of synonymous substitutions performed on an mRNA sequence composed of four bases (guanine (G), cytosine (C), uracil (U), adenine (A)) to maximize the scores of stability and CAI (Codon Adaptation Index). Synonymous substitution involves replacing a codon, which consists of a set of three bases, with another codon that corresponds to the same amino acid in the coded gene. For example, if the codon to be mutated in the initial sequence is GGG, substituting it with any of the codons GGC, GGU, or GGA will still correspond to the same amino acid, glycine. In this way, synonymous substitution makes it possible to generate a solution that is identical in composition to the amino acid in the initial sequence but has different index scores. Note that the base sequence will be simply referred to as "sequence".
[0012] The problems of the present invention will be explained in more detail using comparative examples.
[0013] Figure 1 shows an example of solution generation results using NSGA-II (Non-dominated Sorting Genetic Algorithm), presented as Comparative Example 1. NSGA-II is a type of multi-objective genetic algorithm that ranks solutions using non-dominant sort and congestion distance to generate Pareto optimal solutions that maximize the scores of multiple indicators. The results in Figure 1 were obtained by using the wildtype sequence of the VZV GE protein used in Non-Patent Literature 1 as the initial sequence, outputting 100 sequences, and performing optimization with a mutation rate of 5%. With 0 optimization runs, the stability score was -0.098 and the CAI score was 0.695. In contrast, with 300 optimization runs, multiple solutions were generated in the range of 0.545 to 1.287 for stability scores and 0.752 to 0.869 for CAI scores. This method can generate diverse solutions for multiple indicators. However, because the algorithm does not include information about the priority of the two indicators, it cannot generate solutions according to the priority of the indicators. For example, no solutions are generated in region 101, where the stability score is given more priority than the CAI score, or in region 102, where the CAI score is given more priority than the stability score.
[0014] Figure 2 shows an example of solution generation results using a weighted sum-based single-objective genetic algorithm, presented as Comparative Example 2. The weighted sum-based single-objective genetic algorithm sums the score of each indicator with the weight corresponding to the priority of each indicator, and generates a solution that maximizes the summed combined score. When the stability weight is 0.9 and the CAI weight is 0.1, after 300 optimization runs, multiple solutions are generated in the range where the stability score is 1.765 to 1.800 and the CAI score is 0.726 to 0.734. When the stability weight is 0.5 and the CAI weight is 0.5, after 300 optimization runs, multiple solutions are generated in the range where the stability score is 1.467 to 1.496 and the CAI score is 0.853 to 0.863. When the stability weight is set to 0.1 and the CAI weight to 0.9, after 300 optimization runs, multiple solutions are generated in the range where the stability score is 0.697 to 0.743 and the CAI score is 0.980 to 0.988.
[0015] While this method can generate solutions according to the priority of each indicator, the integrated score obtained by summing the scores of multiple indicators using weighted summation loses information about trade-offs among the indicators, making it impossible to generate a Pareto optimal solution. Furthermore, compared to the solution generation results using NSGA-II shown in Figure 1, there is almost no variation in the scores of each indicator, and the diversity of solutions is significantly lost.
[0016] Thus, in both Comparative Examples 1 and 2, it is not possible to achieve both the generation of solutions according to the priority of the indicators and the generation of diverse solutions. Therefore, in the embodiment of the present invention described below, an integrated score is introduced, which is obtained by summing the scores of multiple indicators using weighted summation, so that an array that can be expected to have a high integrated score is generated as a candidate (child array) when searching for a Pareto optimal solution.
[0017] Figure 3 is a block diagram showing an example of the hardware configuration of an information processing system according to an embodiment of the present invention. The information processing system comprises a server 301 and a database 302, and the server 301 is connected to the database 302 so as to be able to access the data stored in the database 302. The database 302 stores an initial array 321, which is an array that the server 301 optimizes, and an index model 322 for calculating an index from the array. The index model 322 is a general term for a model that calculates the scores of the above-mentioned indices such as the stability score and CAI score from the array.
[0018] Server 301 is a computer (information processing device) having an input device 303, an output device 304, a processor 305 that executes programs, a memory 306 that stores programs, and a storage device 307. The input device 303 is an interface that accepts input to Server 301, such as a mouse and keyboard. The output device 304 is a display device and a printer, etc., and outputs the calculation results of the processor 305. The processor 305 is a CPU or GPU, etc., and executes programs loaded into memory 306. Memory 306 includes a non-volatile memory element, ROM, and a volatile memory element, RAM. ROM stores immutable programs (e.g., BIOS). RAM is a high-speed volatile memory element, such as DRAM (Dynamic Random Access Memory), and temporarily stores programs stored in the storage device 307 and data used when executing programs.
[0019] The storage device 307 is a non-volatile storage device such as a magnetic storage device (HDD (Hard Disk Drive)) or flash memory (SSD (Solid State Drive)), and can non-temporarily store programs executed by the processor 305 and data used during program execution, and can read them when the program is executed. In this embodiment, the storage device 307 stores programs for executing the processing of each functional unit: the input unit 308, the parent sequence generation unit 309, the integrated score calculation unit 310, the variant sequence selection unit 311, the variant component selection unit 312, the child sequence generation unit 313, the sequence update unit 314, and the output unit 315. The programs can be acquired from other information processing devices via a network connected to the server 301, or acquired by the server 301 reading programs that are non-temporarily stored on optical disks, magnetic disks, non-volatile memory devices, etc. Note that this information processing system does not need to be implemented on a single computer, but may be implemented on multiple computers. Also, some or all of the functions of the information processing system may be implemented as an application on the cloud.
[0020] Figure 4 shows a flowchart of the optimization process performed by the information processing system. Figure 5 shows the scheme for updating the array during this optimization process.
[0021] First, the input unit 308 receives input from the input device 303 for the initial sequence to be used for Pareto optimal solution generation and optimization processing parameters (S401). The optimization processing parameters include multiple indicators for sequence optimization, weights indicating the priority of each of the multiple indicators, and penalty weights indicating the importance of the difference between the score of the sequence generated by mutating the initial sequence and the score of the initial sequence. In the following, the weights and penalty weights will each take positive values.
[0022] Next, the parent sequence generation unit 309 generates multiple parent sequences from the initial sequence (S402). In this embodiment, a predetermined number (N) of parent sequences are generated by randomly substituting codons in the initial sequence with other codons using synonymous substitution. The number of codons to be substituted is determined according to a predetermined mutation rate. Here, the mutation rate m is defined as the ratio of the number of codons to be mutated (in this case, to be synonymously substituted) to the number of codons included in the sequence. Note that the sequence update rules in this step and the following steps are examples and are not limited to synonymous substitution of codons. Depending on the purpose of optimizing the sequence, a component that is the unit to be mutated and an update rule that updates the sequence by substituting the component are defined, and the mutation rate m is defined as the ratio of the number of component that is mutated to the number of component that is included in the sequence.
[0023] Next, the integrated score calculation unit 310 calculates scores for multiple indicators for each of the N parent sequences using indicator models for each indicator (S403), and then calculates an integrated score by weighting the calculated scores according to the weights for each indicator and summing them up (S404). For example, suppose stability and CAI are used as multiple indicators. If the stability score calculated using the stability model 521 is S1, the CAI score calculated using the CAI model 522 is S2, the stability weight is W1, and the CAI score is W2, then the integrated score U1 is calculated as W1 × S1 + W2 × S2. Figure 6 shows an example of the calculation of the integrated score U for each parent sequence created in step S404. The integrated score is used in step S405, which will be described later, to select the sequence to mutate from the N parent sequences.
[0024] The formula for calculating the integrated score is not limited to the formula described above. For example, if the score scales differ among multiple indicators, indicators with larger score scales may be overvalued, and the integrated score U may not adequately reflect the priority of each indicator. To mitigate this, scaling scores for each indicator may be calculated based on basic statistics representing the score distribution for each indicator, and the integrated score U2 may be calculated by weighting these multiple scaling scores according to the weights of each indicator and then summing them up.
[0025] For example, if the 25th, 50th, and 75th percentile values of the stability score are S1Q1, S1Q2, and S1Q3, respectively, and the 25th, 50th, and 75th percentile values of the CAI score are S2Q1, S2Q2, and S2Q3, respectively, then the stability scaling score SS1 is calculated as (S1 - S1Q2) / (S1Q3 - S1Q1), the CAI scaling score SS2 is calculated as (S2 - S2Q2) / (S2Q3 - S2Q2), and the integrated score U2 is calculated as W1 × SS1 + W2 × SS2. Here, the scaling score for each indicator was calculated based on the percentile value for each indicator, but scaling methods such as standardization may also be used. By unifying the scale of the scores across multiple indicators in this way, the priority of the indicators can be appropriately reflected in the integrated score.
[0026] Furthermore, in step S405 described later, there is a possibility that a parent sequence with a combined score smaller than the combined score of the initial sequence may be selected. To suppress this, a penalty score for each indicator indicating the degree of degradation from the initial sequence may be calculated for each parent sequence based on a comparison with the combined score of the initial sequence, and the scaling score for each indicator may be calculated by reflecting the penalty score. For example, if the penalty weight is Wp, and the stability score and CAI score of the initial sequence are S1(0) and S2(0), then the stability penalty score Sp1 = Wp × max(0, S1(0) - S1), the CAI penalty score Sp2 = Wp × max(0, S2(0) - S2), the stability scaling score SSp1 reflecting the penalty score = (S1 - S1Q2 - Sp1) / (S1Q3 - S1Q1), the CAI scaling score SSp2 reflecting the penalty score = (S2 - S2Q2 - Sp2) / (S2Q3 - S2Q2), and the integrated score U3 = W1 × SSp1 + W2 × SSp2. This allows for the preferential selection of a parent sequence with a larger integrated score than the initial sequence in step S405, which will be described later.
[0027] Next, the variant sequence selection unit 311 selects a sequence to be mutated (variant sequence) from among the parent sequences based on the integrated score (S405). Specifically, it selects the sequence with the highest integrated score among the N parent sequences (for example, parent sequence k (1 ≤ k ≤ N, see Figure 5)) as the variant sequence. This makes it possible to generate a child sequence that conforms to the priority of the index in step S408, which will be described later.
[0028] As shown in Figure 5, the mutation component selection unit 312 selects the component to be mutated from among the components (codons in this embodiment) included in the mutation sequence selected by the mutation sequence selection unit 311. In this embodiment, sequence updating is performed as shown in Figure 5. That is, one mutation sequence (parent sequence k) is selected from a parent sequence group 511 containing N parent sequences, and N child sequences are generated by mutating the selected parent sequence k. From the 2N sequences obtained by combining the parent sequence group 511 and the child sequence group 512, the sequence update unit 314 selects a sequence group 513 containing N sequences that are evaluated as being closer to the Pareto optimal solution. After that, the sequence group 513 is updated to the parent sequence group 511, and the optimization process is repeated. Here, in order to select the component to be mutated in order to generate the child sequence group 512, the mutation component selection unit 312 uses the evaluation (overall score) of the sequences of the parent sequence group 511 and child sequence group 512 that have been generated up to that point. Furthermore, variations such as the variant sequence selection unit 311 selecting multiple variant sequences, or the child sequence generation unit 313 generating a child sequence group 512 containing more than N sequences, are also acceptable.
[0029] First, the mutation component selection unit 312 calculates the expected value of the integrated score for each component (codon in this embodiment) of the mutation sequence (S406). Specifically, if the number of components in the mutation sequence is n, the average value of the integrated scores of the child sequences generated by substituting the i-th (1 ≤ i ≤ n) component is calculated as the expected value of the integrated score of the i-th (1 ≤ i ≤ n) component of the mutation sequence.
[0030] Figure 7A shows, as a simple example, the generation of child sequences using the update scheme shown in Figure 5 for a sequence with 5 components (n). The update column 701 indicates which update it is for the parent sequence. The variant sequence column 702 shows which of the five components of the variant sequence were mutated to generate the child sequence group. The mutated components are shown by shading; for example, the first variant sequence 711 shows that the 1st and 3rd components were mutated, and the second variant sequence 712, which updated the parent sequence once, shows that the 1st and 5th components were mutated to generate the child sequence. The child sequence integrated score column 703 shows the integrated score data 721-727 for the N child sequences generated from each of the variant sequences 711-717.
[0031] Figure 7B shows the history data generated by the mutation component selection unit 312 for the example in Figure 7A. The history data 730 registers the selection count 731 and the expected value of the integrated score 732 for each of the n components. In the example in Figure 7A, the first component is selected to be mutated in 5 steps (0, 1, 4-6), so the selection count 731 is 5, and the expected value 732 is calculated as the average of the 5N integrated scores of the child sequence integrated score data 721, 722, 725-727. Similarly, the second component is selected to be mutated in 2 steps (2, 6), so the selection count 731 is 2, and the expected value 732 is calculated as the average of the 2N integrated scores of the child sequence integrated score data 723, 727.
[0032] Next, the mutation component selection unit 312 selects the components to be mutated based on the expected value 732 of the integrated score of the historical data 730 (S407). Specifically, the expected value 732 of the integrated score is converted into a probability value using the softmax function, and the components to be mutated are selected according to the converted probability value. The number of components to be mutated is determined according to a predetermined mutation rate m. This makes it possible to preferentially select components that are likely to improve the integrated score based on the history so far as components to be mutated. If the parent sequence has not yet been updated and historical data 730 does not yet exist, for example, components randomly selected according to a predetermined mutation rate m may be selected as components to be mutated.
[0033] However, when selecting components to mutate based on the expected value of the integrated score of 732, certain components may be selected intensively, potentially leading to premature convergence of the solution improvement. To mitigate this and ensure that components with fewer selection counts are also selected preferentially, the Upper Confidence Bound (UCB) algorithm may be used to calculate a UCB score for each component, and components to mutate may be selected based on the UCB score. Specifically, the UCB score may be calculated by summing the value obtained by transforming the expected value of the integrated score of each component (732) using Min-Max scaling with a correction term based on the number of times the component has been selected. The UCB score may then be converted into a probability value using the softmax function, and components to mutate may be selected according to the converted probability value. This increases the likelihood that components with fewer selection counts in past optimization processes will be selected, allowing for long-term improvement of the solution.
[0034] Furthermore, if the number of components to be mutated is kept constant, it may not be possible to refine the solution generated in past optimization processes more precisely, potentially leading to premature convergence of the solution improvement. To suppress this, it is advisable to calculate the mutation rate m based on the number of optimization runs and select multiple components to be mutated according to the calculated mutation rate m. Specifically, if the initial value of the mutation rate m is M and the number of optimization runs is t, the mutation rate m based on the number of optimization runs is calculated as M / (1 + log(t)). This reduces the number of components to be mutated as the number of optimization runs increases, allowing for long-term improvement of the solution.
[0035] Next, the child sequence generation unit 313 generates multiple child sequences from the mutant sequence (S408). Specifically, it generates a predetermined number of child sequences by randomly substituting the component selected in step S407 with another component.
[0036] As shown in Figure 5, the sequence update unit 314 selects a sequence group 513 containing N sequences that are evaluated as being closer to the Pareto optimal solution from a plurality of sequences, which are a combination of the parent sequence group 511 and the child sequence group 512. This process is the same as the sequence selection process performed in NSGA-II. First, the sequence update unit 314 ranks the plurality of parent sequences and plurality of child sequences (S409). Specifically, each sequence is ranked based on multiple scores for each sequence using non-dominated sorting and crowding distance. First, each sequence is classified into a plurality of Pareto fronts by non-dominated sorting, and Pareto fronts that dominate other Pareto fronts are given a higher rank. Next, the crowding distance of each sequence belonging to the same rank Pareto front is calculated, and sequences with a large crowding distance are given a higher rank.
[0037] When ranking sequences using non-superiority sort and congestion distance, sequences with lower scores than the initial sequence in certain indicators may be ranked higher. To mitigate this, it is advisable to calculate a penalty score for each indicator for each sequence, calculate an integrated penalty score by adding the calculated penalty scores and penalty weights, and reflect this integrated penalty score in the ranking using non-superiority sort and congestion distance. For example, each sequence is ranked using non-superiority sort and congestion distance based on a stability scaling score SSp1 = (S1 - S1Q2 - Sp1) / (S1Q3 - S1Q1) that reflects the penalty score described in step S405, and a CAI scaling score SSp2 = (S2 - S2Q2 - Sp2) / (S2Q3 - S2Q2) that reflects the penalty score. This allows sequences with higher scores than the initial sequence to be given priority and ranked higher.
[0038] Next, the sequence update unit 314 selects a plurality of optimized sequences based on the rank assigned in step S409 (S410). Specifically, it outputs a predetermined number of optimized sequences, starting with those belonging to the higher-ranked Pareto fronts. If multiple sequences belong to the same rank Pareto front, they are output in order from the higher-ranked sequence with the largest congestion distance. This allows a predetermined number of Pareto optimal solutions to be obtained.
[0039] Next, the array update unit 314 determines whether to terminate the optimization process (S411). If the predetermined number of optimization executions has not been reached, the array selected in step S410 is updated as the parent array and the process returns to step S403. If the predetermined number of optimization executions has been reached, the optimization process is terminated.
[0040] FIG. 8 is an example of a solution generation result obtained by the optimization processing of the present embodiment. When the stability weight is set to 0.9 and the CAI weight is set to 0.1, with the number of optimization executions being 300, a plurality of solutions are generated in the range where the stability score is 1.036 to 1.807 and the CAI score is 0.714 to 0.740. When the stability weight is set to 0.5 and the CAI weight is set to 0.5, with the number of optimization executions being 300, a plurality of solutions are generated in the range where the stability score is 1.301 to 1.473 and the CAI score is 0.859 to 0.903. When the stability weight is set to 0.1 and the CAI weight is set to 0.9, with the number of optimization executions being 300, a plurality of solutions are generated in the range where the stability score is 0.529 to 0.739 and the CAI score is 0.981 to 0.992. As described above, according to the present embodiment, it is possible to achieve both generation of solutions according to the priority of indices and generation of diverse solutions.
[0041] FIG. 9 is an example of an input / output screen displayed by the output unit 315 on the output device 304 (assumed to be a display device herein). The input / output screen 900 includes an optimization condition setting area 901, an optimization execution button 902, and an execution result display area 903.
[0042] A user inputs information into the optimization condition setting area 901 and clicks the optimization execution button 902 to execute the optimization processing, and the optimization execution result is output in the execution result display area 903. The execution result display area 903 may display not only final result data but also intermediate processing data. This allows the user to easily check the basis on which the optimized sequence was generated.
[0043] As described above, the embodiments of the present invention can generate diverse solutions according to the priorities of indices in accordance with user requirements.
[0044] Note that in the embodiments of the present invention, the optimization target is an mRNA sequence, but the optimization may be performed targeting sequences corresponding to various modalities such as antibody sequences. Further, although the optimization is performed based on two indices, the optimization may be performed based on three or more indices.
[0045] The present invention is not limited to the embodiments described above, and includes various modifications. For example, the embodiments and modifications described above are explained in detail to make the present invention easier to understand, and are not necessarily limited to those having all the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment or modification with the configuration of another embodiment or modification, and it is also possible to add the configuration of another embodiment or modification to the configuration of one embodiment or modification. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment or modification with other configurations.
[0046] 101, 102: Area, 301: Server, 302: Database, 303: Input device, 304: Output device, 305: Processor, 306: Memory, 307: Storage device, 308: Input unit, 309: Parent sequence generation unit, 310: Integrated score calculation unit, 311: Variant sequence selection unit, 312: Variant component selection unit, 313: Child sequence generation unit, 314: Sequence update unit, 315: Output unit, 321: Initial sequence, 322: Index model, 511: Parent sequence group, 512: Child sequence group, 513: Sequence group, 521 : Stability model, 522: CAI model, 701: Update field, 702: Variant sequence field, 703: Child sequence integrated score field, 711, 712, 713, 714, 715, 716, 717: Variant sequence, 721, 722, 723, 724, 725, 726, 727: Child sequence integrated score data, 730: History data, 731: Number of selections, 732: Expected value of integrated score, 900: Input / Output screen, 901: Optimization condition setting area, 902: Optimization execution button, 903: Execution result display area.
Claims
1. An information processing device for optimizing a base sequence based on multiple indicators, comprising: a processor for executing a program; and a storage device for storing the program, wherein the processor performs: a mutation sequence selection process for selecting a mutation sequence which is a base sequence to be mutated from a parent sequence group comprising multiple base sequences; a mutation component selection process for selecting a component to be mutated for the mutation sequence; a child sequence generation process for generating a child sequence group comprising multiple base sequences by mutating the component selected by the mutation component selection process for the mutation sequence; and a sequence update process for updating the base sequences of the parent sequence group by selecting a base sequence from the base sequences included in the parent sequence group and the child sequence group whose score of the multiple indicators calculated for the base sequence in a solution space defined by the multiple indicators is evaluated to be close to the Pareto optimal solution, wherein the mutation sequence selection process selects the mutation sequence based on an integrated score obtained by weighting the scores of the multiple indicators calculated for the base sequence, and the mutation component selection process calculates the expected value of the integrated score of the base sequence obtained by mutating each component of the base sequence, and selects the component to be mutated for the mutation sequence based on the expected value of the integrated score.
2. The information processing device according to claim 1, wherein the processor repeatedly executes the mutant sequence selection process, the component selection process, the child sequence generation process and the sequence update process, and the mutant component selection process, when selecting a component to be mutated for the mutant sequence, records the number of times each component of the base sequence has been selected as a component to be mutated in order to generate the child sequence group by the child sequence generation process up to that point, and selects a component to be mutated for the mutant sequence based on the expected value of the integrated score and the number of selections.
3. The information processing device in claim 2, wherein the mutation component selection process selects each component of the base sequence as a component to be mutated in order to generate the child sequence group by the preceding child sequence generation process, and calculates the average value of the integrated score of the base sequences included in the child sequence group generated by mutating the component in the preceding child sequence generation process as the expected value of the integrated score.
4. The sequence update process is an information processing device that selects a nucleotide sequence from the nucleotide sequences included in the parent sequence group and the child sequence group that is evaluated to be close to the Pareto optimal solution by performing a non-superiority sort and a congestion distance ranking on the nucleotide sequences included in the parent sequence group and the child sequence group based on the scores of the plurality of indicators.
5. The information processing device according to claim 1, wherein a scaling score that reflects the distribution of the scores of the plurality of indicators is used as the score of the plurality of indicators.
6. The information processing device according to claim 5, wherein the processor further performs a parent sequence generation process to generate the parent sequence group including a plurality of base sequences by mutating any of the components of the initial sequence, and further reflects a penalty score indicating the degree of degradation of the initial sequence from the integrated score in the scaling score to obtain the score of the plurality of indicators.
7. The information processing device according to claim 1, wherein the mutation component selection process selects a number of components to be mutated with respect to the mutation sequence, based on the mutation rate, and the mutation rate is set such that the value when the number of repetitions of updating the base sequence of the parent sequence group by the sequence update process is large when selecting components to be mutated with respect to the mutation sequence is smaller than the value when the number of repetitions is small.
8. An information processing device according to claim 1, wherein the base sequence is an mRNA sequence.
9. The information processing device according to claim 1, wherein the component is a codon, and the child sequence generation process generates the child sequence group by substituting the codon selected by the mutation component selection process for the mutation sequence with another codon corresponding to the same amino acid.
10. An information processing device for optimizing a nucleotide sequence based on multiple indicators, comprising: a processor for executing a program; and a storage device for storing the program, wherein the processor performs: an input process that receives input of an initial sequence, a plurality of indicators for optimizing the initial sequence, and optimization processing parameters including weights indicating the priority of each of the plurality of indicators; a parent sequence generation process that generates a group of parent sequences containing a plurality of nucleotide sequences by mutating any of the components of the initial sequence; a mutation sequence selection process that selects a mutation sequence, which is a nucleotide sequence to be mutated, from the group of parent sequences; a child sequence generation process that generates a group of child sequences containing a plurality of nucleotide sequences by mutating the component selected by the mutation component selection process for the mutation sequence; a sequence update process that updates the nucleotide sequences of the parent sequence group by selecting a nucleotide sequence from the nucleotide sequences included in the group of parent sequences and the group of child sequences, which is evaluated as having a score of the plurality of indicators calculated for the nucleotide sequence in a solution space defined by the plurality of indicators that is close to the Pareto optimal solution; and an output process that outputs a nucleotide sequence obtained by repeatedly executing the mutation sequence selection process, the component selection process, the child sequence generation process, and the sequence update process, and an integrated score of the nucleotide sequence. The integrated score is obtained by weighting the scores of the multiple indicators calculated for the base sequence by the weights, and is used in the selection of the mutant sequence in the mutant sequence selection process and in the selection of the components to be mutated for the mutant sequence in the mutant component selection process.
11. The information processing device according to claim 10, wherein the mutation component selection process calculates the expected value of the integrated score of the base sequence obtained by mutating each component of the base sequence, selects the component to be mutated for the mutation sequence based on the expected value of the integrated score, and the output process further outputs the expected value of the integrated score for each component of the base sequence.
12. The mutation component selection process, when selecting a component to mutate the mutation sequence, records the number of times each component of the base sequence has been selected as a component to mutate in order to generate the child sequence group by the preceding child sequence generation process, selects a component to mutate the mutation sequence based on the expected value of the integrated score and the number of selections, and the output process further outputs the number of selections for each component of the base sequence.
13. A non-temporary computer-readable medium for storing a program that causes a computer to optimize a base sequence based on multiple indicators, wherein the program causes the computer to perform the following: a mutation sequence selection process for selecting a mutation sequence which is a base sequence to be mutated from a group of parent sequences including multiple base sequences; a mutation component selection process for selecting a component to be mutated for the mutation sequence; a child sequence generation process for generating a group of child sequences including multiple base sequences by mutating the component selected by the mutation component selection process for the mutation sequence; and a sequence update process for updating the base sequences of the parent sequence group by selecting a base sequence from the base sequences included in the parent sequence group and the child sequence group whose score of the multiple indicators calculated for the base sequence in a solution space defined by the multiple indicators is evaluated to be close to the Pareto optimal solution, wherein the mutation sequence selection process selects the mutation sequence based on an integrated score obtained by weighting the scores of the multiple indicators calculated for the base sequence. The aforementioned mutation component selection process calculates the expected value of the integrated score of the base sequence obtained by mutating each component of the base sequence, and selects the component to be mutated for the mutation sequence based on the expected value of the integrated score, in a non-temporary computer-readable medium that stores a program.
14. The program according to claim 13, wherein the program causes the computer to repeatedly execute the mutant sequence selection process, the component selection process, the child sequence generation process and the sequence update process, and the mutant component selection process, when selecting a component to be mutated for the mutant sequence, records the number of times each component of the base sequence has been selected as a component to be mutated in order to generate the child sequence group by the preceding child sequence generation process, and selects a component to be mutated for the mutant sequence based on the expected value of the integrated score and the number of selections, in a non-temporary computer-readable medium that stores the program.
15. A non-temporary computer-readable medium for storing a program that causes a computer to optimize a base sequence based on multiple indicators, wherein the program causes the computer to execute: an input process that accepts an initial sequence and optimization processing parameters including multiple indicators for optimizing the initial sequence and weights indicating the priority of each of the multiple indicators; a parent sequence generation process that generates a group of parent sequences containing multiple base sequences by mutating any of the components of the initial sequence; a mutation sequence selection process that selects a mutation sequence, which is a base sequence to be mutated, from the group of parent sequences; a child sequence generation process that generates a group of child sequences containing multiple base sequences by mutating the component selected by the mutation component selection process for the mutation sequence; a sequence update process that updates the base sequences of the parent sequence group by selecting a base sequence from the base sequences included in the group of parent sequences and the group of child sequences, which is evaluated as being close to the Pareto optimal solution when the scores of the multiple indicators calculated for the base sequence in the solution space defined by the multiple indicators are obtained; and an output process that outputs a base sequence obtained by repeatedly executing the mutation sequence selection process, the component selection process, the child sequence generation process, and the sequence update process, and an integrated score of the base sequence. The integrated score is obtained by weighting the scores of the multiple indicators calculated for the base sequence by the weights, and is used for selecting the mutant sequence in the mutant sequence selection process and for selecting the components to be mutated for the mutant sequence in the mutant component selection process; this is a non-temporary computer-readable medium for storing a program.