CN109360598A - 一种基于两阶段采样的蛋白质结构预测方法 - Google Patents
一种基于两阶段采样的蛋白质结构预测方法 Download PDFInfo
- Publication number
- CN109360598A CN109360598A CN201810985933.9A CN201810985933A CN109360598A CN 109360598 A CN109360598 A CN 109360598A CN 201810985933 A CN201810985933 A CN 201810985933A CN 109360598 A CN109360598 A CN 109360598A
- Authority
- CN
- China
- Prior art keywords
- individual
- variation
- energy
- calculated
- state estimation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 17
- 238000000455 protein structure prediction Methods 0.000 title claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 36
- 230000035772 mutation Effects 0.000 claims description 5
- 108090000623 proteins and genes Proteins 0.000 description 17
- 102000004169 proteins and genes Human genes 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002864 sequence alignment Methods 0.000 description 2
- 108020005087 unfolded proteins Proteins 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000002441 X-ray diffraction Methods 0.000 description 1
- 125000003275 alpha amino acid group Chemical group 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008827 biological function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000386 microscopy Methods 0.000 description 1
- 238000000329 molecular dynamics simulation Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于两阶段采样的蛋白质结构预测方法,首先,对种群中的每个个体进行全局的9片段组装,使其形成稳定的三维结构;然后,根据相邻两代间的种群信息进行状态估计,完成全局探测与局部增强的动态切换;最后,对每个个体的loop区域进行局部增强,使其形成更加紧密的三维结构。本发明提出一种采样效率较高、预测精度较高、计算代价低的基于两阶段采样的蛋白质结构预测方法。
Description
技术领域
本发明涉及一种生物学信息学、智能优化、计算机应用领域,尤其涉及的是一种基于两阶段采样的蛋白质结构预测方法。
背景技术
蛋白质是所有生物体的基础,是所有生命活动的重要承担者。蛋白质只有折叠成稳定的三维结构时才可以发挥其生物功能、维持生命活动。因此,预测蛋白质的空间三级结构成为生物领域一项重要课题。
目前实验测定的方法主要有X射线衍射、核磁共振和冷冻电镜等三种方法,但这些方法耗时长,费用昂贵,因此在氨基酸序列在指数增长的情况,实验测定的结构只占其中的0.16%。在理论探索和应用需求的双重推动下,根据Anfinsen法则,利用计算机设计适当的算法,以序列为起点,三维结构为目标的蛋白质结构预测自20世纪末蓬勃发展。根据预测的难易程度,目标蛋白划分为基于模板和无模板两类。基于模板类目标蛋白在PDB数据库中能够通过序列比对或穿线法识别出一个与目标蛋白序列或结构相似的模板,建模方法主要包括同源建模法和穿线法;无模板类目标蛋白无法通过序列比对或穿线法在现有PDB库中找到满意的结构模板,只能通过从头预测方法建立蛋白结构模型,即直接基于Anfinsen法则建立蛋白质物理或知识能量模型,然后,再通过构象搜索优化方法得到目标蛋白的天然结构。
蛋白质结构从头预测空间优化方法一直受到计算生物学领域和进化计算社区的高度关注,是一个热点研究课题。目前常用的蛋白质构象空间优化方法有分子动力学模拟、蒙特卡罗算法以及进化算法等方法。上述所述的这些方法虽然在解决一些小蛋白方面取得了显著的成果,随着序列的增长构象空间的复杂度与多样性也成指数上升,这些方法的搜索能力与采样效率受到很大的限制。最新研究表明,通过两阶段的变异采样,可以有效的提高全局探测和局部增强能力,进而能够得到数量更多、能量更低的构象解,如何设计全局搜索策略与局部扰动策略以及将其有机地结合从而提高求解效率和可靠性将是解决问题的关键。
因此,现有的构象空间搜索方法在预测精度和采样效率方面存在着缺陷,需要改进。
发明内容
为了克服现有的蛋白质结构预测方法存在全局探测与局部增强不平衡,预测精度较低的不足,本发明提出一种采样效率较高、预测精度较高的基于两阶段采样的蛋白质结构预测方法。
本发明解决其技术问题所采用的技术方案是:
一种基于两阶段采样的蛋白质结构预测方法,所述方法包括以下步骤:
1)给定输入序列信息,选择Rosetta score3为能量函数E(x);
2)参数初始化:设置种群规模NP,初始构象迭代次数Iter,最大迭代次数Gmax,变异连续拒绝最大值Cmax,状态估计阈值H,温度常数KT,温度变化值t;
3)初始化种群:启动NP条Monte Carlo轨迹,每条轨迹搜索Iter次,即生成NP个初始个体;
4)对种群中每个个体i∈(1,...,NP),g∈N+进行全局探测,使其形成稳定的拓扑结构,其中g为迭代代数,过程如下:
4.1)对个体进行如下的变异操作生成变异个体过程如下:
4.1.1)利用能量函数计算目标个体的能量值
4.1.2)对个体进行9片段组装,生成新个体利用能量函数计算的能量值并计算目标个体与新个体的能量变化即
4.1.3)根据Monte Carlo机制判断是否接收个体如果ΔE<0,则接受个体为变异个体,并转至步骤4.2)进行选择操作,否则进行步骤4.1.4);
4.1.4)根据公式p=e-ΔE/kT计算接受概率p,如果p>random,则接受个体为变异个体转至步骤4.2),否则更新变异拒绝次数,进行步骤4.1.5),其中random是随机数random∈[0,1];
4.1.5)如果连续拒绝了Cmax次,则增大温度常数,即KT=KT+t,否则温度常数保持不变;
4.2)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
4.3)如果i=NP,则进入步骤5)进入状态估计,否则转至步骤4.1);
5)根据相邻两代种群的信息,进行状态估计,过程如下:
5.1)计算相邻两代对应个体和之间基于Cα原子的均方根偏差R,如果R<H,则fg(i)=1,否则fg(i)=0;其中,fg(i)是状态估计函数;
5.2)根据公式计算状态估计值,如果状态估计值Fg=NP则转至步骤6)进入局部增强阶段,否则转至步骤4.1)继续进行全局探测;
6)设置迭代计数器g=0;
7)对每个个体进行loop区域的局部增强,使其形成更加紧密的三维结构,操作如下:
7.1)利用能量函数计算目标个体的能量值
7.2)随机选择一个loop区域,并且在该区域进行3片段组装,生成新个体并计算个体的能量值
7.3)计算目标个体与个体的能量变化值即如果ΔE<0,则接受个体为变异个体并转至步骤7.2)进行选择操作,否则按概率p接受个体,其中p=e-ΔE/kT;
7.4)如果连续拒绝Cmax次,如果是则增大温度常数,即KT=KT+t,否则温度常数保持不变;
7.5)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
8)判断是否满足终止条件g>Gmax,若满足终止条件,则停止迭代,否则进入下一代,返回步骤7)。
本发明的技术构思为:首先,对种群中的每个个体进行全局的9片段组装,使其形成稳定的三维结构;然后,根据相邻两代间的种群信息进行状态估计,完成全局探测与局部增强的动态切换;最后,对每个个体的loop区域进行局部增强,使其形成更加紧密的三维结构。
本发明的有益效果表现在:一方面,通过两阶段的变异操作使其快速有效的形成紧密的三维结构,进而加快了收敛速度与采样效率;另一方面,利用状态估计模型指导全局探测阶段与局部增强阶段的动态切换,进而大大提高了预测精度。
附图说明
图1是基于两阶段采样的蛋白质结构预测方法的基本示意图。
图2是基于两阶段采样的蛋白质结构预测方法对蛋白质4icb进行结构预测时的构象更新示意图。
图3是基于两阶段采样的蛋白质结构预测方法对蛋白质4icb进行结构预测得到的三维结构图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种基于两阶段采样的蛋白质结构预测方法,所述方法包括以下步骤:
1)给定输入序列信息,选择Rosetta score3为能量函数E(x);
2)参数初始化:设置种群规模NP,初始构象迭代次数Iter,最大迭代次数Gmax,变异连续拒绝最大值Cmax,状态估计阈值H,温度常数KT,温度变化值t;
3)初始化种群:启动NP条Monte Carlo轨迹,每条轨迹搜索Iter次,即生成NP个初始个体;
4)对种群中每个个体i∈(1,...,NP),g∈N+进行全局探测,使其形成稳定的拓扑结构,其中g为迭代代数,过程如下:
4.1)对个体进行如下的变异操作生成变异个体过程如下:
4.1.1)利用能量函数计算目标个体的能量值
4.1.2)对个体进行9片段组装,生成新个体利用能量函数计算的能量值并计算目标个体与新个体的能量变化即
4.1.3)根据Monte Carlo机制判断是否接收个体如果ΔE<0,则接受个体为变异个体,并转至步骤4.2)进行选择操作,否则进行步骤4.1.4);
4.1.4)根据公式p=e-ΔE/kT计算接受概率p,如果p>random,则接受个体为变异个体转至步骤4.2),否则更新变异拒绝次数,进行步骤4.1.5),其中random是随机数random∈[0,1];
4.1.5)如果连续拒绝了Cmax次,则增大温度常数,即KT=KT+t,否则温度常数保持不变;
4.2)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
4.3)如果i=NP,则进入步骤5)进入状态估计,否则转至步骤4.1);
5)根据相邻两代种群的信息,进行状态估计,过程如下:
5.1)计算相邻两代对应个体和之间基于Cα原子的均方根偏差R,如果R<H,则fg(i)=1,否则fg(i)=0;其中,fg(i)是状态估计函数;
5.2)根据公式计算状态估计值,如果状态估计值Fg=NP则转至步骤6)进入局部增强阶段,否则转至步骤4.1)继续进行全局探测;
6)设置迭代计数器g=0;
7)对每个个体i∈(1,...,NP)进行loop区域的局部增强,使其形成更加紧密的三维结构,操作如下:
7.1)利用能量函数计算目标个体的能量值
7.2)随机选择一个loop区域,并且在该区域进行3片段组装,生成新个体并计算个体的能量值
7.3)计算目标个体与个体的能量变化值即如果ΔE<0,则接受个体为变异个体并转至步骤7.2)进行选择操作,否则按概率p接受个体,其中p=e-ΔE/kT;
7.4)如果连续拒绝Cmax次,如果是则增大温度常数,即KT=KT+t,否则温度常数保持不变;
7.5)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
8)判断是否满足终止条件g>Gmax,若满足终止条件,则停止迭代,否则进入下一代,返回步骤7)。
本实施例序列长度为76的α折叠蛋白质4icb为实施例,一种两阶段的蛋白质结构预测方法,其中包含以下步骤:
1)给定输入序列信息,选择Rosetta score3为能量函数E(x);
2)参数初始化:设置构象集规模NP=200,初始构象迭代次数Iter=2000,最大迭代次数Gmax=100,变异连续拒绝最大计数值Cmax=150,状态估计值温度常数KT=2.0,温度变化值t=1;
3)初始化种群:启动NP条Monte Carlo轨迹,每条轨迹搜索Iter次,即生成NP个初始个体;
4)对种群中每个个体i∈(1,...,NP),g∈N+进行全局探测,使其形成稳定的拓扑结构,其中g为迭代代数,过程如下:
4.1)对个体进行如下的变异操作生成变异个体过程如下:
4.1.1)利用能量函数计算目标个体的能量值
4.1.2)对个体进行9片段组装,生成新个体利用能量函数计算的能量值并计算目标个体与新个体的能量变化即
4.1.3)根据Monte Carlo机制判断是否接收个体如果ΔE<0,则接受个体为变异个体,并转至步骤4.2)进行选择操作,否则进行步骤4.1.4);
4.1.4)根据公式p=e-ΔE/kT计算接受概率p,如果p>random,则接受个体为变异个体转至步骤4.2),否则更新变异拒绝次数,进行步骤4.1.5),其中random是随机数random∈[0,1];
4.1.5)如果连续拒绝了Cmax次,则增大温度常数,即KT=KT+t,否则温度常数保持不变;
4.2)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
4.3)如果i=NP,则进入步骤5)进入状态估计,否则转至步骤4.1);
5)根据相邻两代种群的信息,进行状态估计,过程如下:
5.1)计算相邻两代对应个体和之间基于Cα原子的均方根偏差R,如果R<H,则fg(i)=1,否则fg(i)=0;其中,fg(i)是状态估计函数;
5.2)根据公式计算状态估计值,如果状态估计值Fg=NP则转至步骤6)进入局部增强阶段,否则转至步骤4.1)继续进行全局探测;
6)设置迭代计数器g=0;
7)对每个个体i∈(1,...,NP)进行loop区域的局部增强,使其形成更加紧密的三维结构,操作如下:
7.1)利用能量函数计算目标个体的能量值
7.2)随机选择一个loop区域,并且在该区域进行3片段组装,生成新个体并计算个体的能量值
7.3)计算目标个体与个体的能量变化值即如果ΔE<0,则接受个体为变异个体并转至步骤7.2)进行选择操作,否则按概率p接受个体,其中p=e-ΔE/kT;
7.4)如果连续拒绝Cmax次,如果是则增大温度常数,即KT=KT+t,否则温度常数保持不变;
7.5)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
8)判断是否满足终止条件g>Gmax,若满足终止条件,则停止迭代,否则进入下一代,返回步骤7)。
以序列长度为76的α折叠蛋白质4icb为实施例,运用以上方法得到了该蛋白质的近天然态构象,最小均方根偏差为平均均方根偏差为预测结构如图3所示。
以上说明是本发明以4icb蛋白质为实例所得出的预测效果,并非限定本发明的实施范围,在不偏离本发明基本内容所涉及范围的前提下对其做各种变形和改进,不应排除在本发明的保护范围之外。
Claims (1)
1.一种基于两阶段采样的蛋白质结构预测方法,其特征在于:所述方法包括以下步骤:
1)给定输入序列信息,选择Rosetta score3为能量函数E(x);
2)参数初始化:设置种群规模NP,初始构象迭代次数Iter,最大迭代次数Gmax,变异连续拒绝最大值Cmax,状态估计阈值H,温度常数KT,温度变化值t;
3)初始化种群:启动NP条Monte Carlo轨迹,每条轨迹搜索Iter次,即生成NP个初始个体;
4)对种群中每个个体g∈N+进行全局探测,使其形成稳定的拓扑结构,其中g为迭代代数,过程如下:
4.1)对个体进行如下的变异操作生成变异个体过程如下:
4.1.1)利用能量函数计算目标个体的能量值
4.1.2)对个体进行9片段组装,生成新个体利用能量函数计算的能量值并计算目标个体与新个体的能量变化即
4.1.3)根据Monte Carlo机制判断是否接收个体如果ΔE<0,则接受个体为变异个体,并转至步骤4.2)进行选择操作,否则进行步骤4.1.4);
4.1.4)根据公式p=e-ΔE/kT计算接受概率p,如果p>random,则接受个体为变异个体转至步骤4.2),否则更新变异拒绝次数,进行步骤4.1.5),其中random是随机数random∈[0,1];
4.1.5)如果连续拒绝了Cmax次,则增大温度常数,即KT=KT+t,否则温度常数保持不变;
4.2)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
4.3)如果i=NP,则进入步骤5)进入状态估计,否则转至步骤4.1);
5)根据相邻两代种群的信息,进行状态估计,过程如下:
5.1)计算相邻两代对应个体和之间基于Cα原子的均方根偏差R,如果R<H,则fg(i)=1,否则fg(i)=0;其中,fg(i)是状态估计函数;
5.2)根据公式计算状态估计值,如果状态估计值Fg=NP则转至步骤6)进入局部增强阶段,否则转至步骤4.1)继续进行全局探测;
6)设置迭代计数器g=0;
7)对每个个体进行loop区域的局部增强,使其形成更加紧密的三维结构,操作如下:
7.1)利用能量函数计算目标个体的能量值
7.2)随机选择一个loop区域,并且在该区域进行3片段组装,生成新个体并计算个体的能量值
7.3)计算目标个体与个体的能量变化值即如果ΔE<0,则接受个体为变异个体并转至步骤7.2)进行选择操作,否则按概率p接受个体,其中p=e-ΔE/kT;
7.4)如果连续拒绝Cmax次,如果是则增大温度常数,即KT=KT+t,否则温度常数保持不变;
7.5)对目标个体和变异个体进行选择操作,能量较低的一个个体进入下一代;
8)判断是否满足终止条件g>Gmax,若满足终止条件,则停止迭代,否则进入下一代,返回步骤7)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810985933.9A CN109360598B (zh) | 2018-08-28 | 2018-08-28 | 一种基于两阶段采样的蛋白质结构预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810985933.9A CN109360598B (zh) | 2018-08-28 | 2018-08-28 | 一种基于两阶段采样的蛋白质结构预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109360598A true CN109360598A (zh) | 2019-02-19 |
CN109360598B CN109360598B (zh) | 2021-06-18 |
Family
ID=65350014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810985933.9A Active CN109360598B (zh) | 2018-08-28 | 2018-08-28 | 一种基于两阶段采样的蛋白质结构预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109360598B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189794A (zh) * | 2019-04-16 | 2019-08-30 | 浙江工业大学 | 一种残基接触引导loop扰动的群体蛋白质结构预测方法 |
WO2023123396A1 (zh) * | 2021-12-31 | 2023-07-06 | 深圳晶泰科技有限公司 | 增强采样方法及计算复合物的结合自由能的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503484A (zh) * | 2016-09-23 | 2017-03-15 | 浙江工业大学 | 一种基于抽象凸估计的多阶段差分进化蛋白质结构预测方法 |
CN107609342A (zh) * | 2017-08-11 | 2018-01-19 | 浙江工业大学 | 一种基于二级结构空间距离约束的蛋白质构象搜索方法 |
-
2018
- 2018-08-28 CN CN201810985933.9A patent/CN109360598B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503484A (zh) * | 2016-09-23 | 2017-03-15 | 浙江工业大学 | 一种基于抽象凸估计的多阶段差分进化蛋白质结构预测方法 |
CN107609342A (zh) * | 2017-08-11 | 2018-01-19 | 浙江工业大学 | 一种基于二级结构空间距离约束的蛋白质构象搜索方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189794A (zh) * | 2019-04-16 | 2019-08-30 | 浙江工业大学 | 一种残基接触引导loop扰动的群体蛋白质结构预测方法 |
CN110189794B (zh) * | 2019-04-16 | 2021-01-01 | 浙江工业大学 | 一种残基接触引导loop扰动的群体蛋白质结构预测方法 |
WO2023123396A1 (zh) * | 2021-12-31 | 2023-07-06 | 深圳晶泰科技有限公司 | 增强采样方法及计算复合物的结合自由能的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109360598B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760503B (zh) | 一种快速计算图节点相似度的方法 | |
CN107609342A (zh) | 一种基于二级结构空间距离约束的蛋白质构象搜索方法 | |
CN107633157B (zh) | 一种基于分布估计和副本交换策略的蛋白质构象空间优化方法 | |
CN109857532B (zh) | 基于蒙特卡洛树搜索的dag任务调度方法 | |
US11960802B2 (en) | Method, processor device and computer program product for designing intervention into the behaviour of a real complex system | |
CN107633159A (zh) | 一种基于距离相似度的蛋白质构象空间搜索方法 | |
CN104200272A (zh) | 一种基于改进遗传算法的复杂网络社区挖掘方法 | |
CN109360598A (zh) | 一种基于两阶段采样的蛋白质结构预测方法 | |
CN108846256A (zh) | 一种基于残基接触信息的群体蛋白质结构预测方法 | |
JP2008146538A (ja) | マイクロrna検出装置、方法およびプログラム | |
CN115271273A (zh) | 基于改进鲸鱼优化算法的旅行商问题求解方法及系统 | |
CN106503486A (zh) | 一种基于多阶段子群协同进化策略的差分进化蛋白质结构从头预测方法 | |
CN109378034B (zh) | 一种基于距离分布估计的蛋白质预测方法 | |
CN108595910A (zh) | 一种基于多样性指标的群体蛋白质构象空间优化方法 | |
Wei | High performance computing simulation of intelligent logistics management based on shortest path algorithm | |
Yu et al. | Simulating the folding pathway of RNA secondary structure using the modified ant colony algorithm | |
Qu et al. | A Hunter‐Prey Algorithm Coordinating Mutual Benefit and Sharing and Interactive Learning for High‐Efficiency Design of Photovoltaic Models | |
CN109243526B (zh) | 一种基于特定片段交叉的蛋白质结构预测方法 | |
CN109360600B (zh) | 一种基于残基特征距离的蛋白质结构预测方法 | |
CN103514382A (zh) | 一种蛋白质侧链预测方法及预测装置 | |
CN109326319A (zh) | 一种基于二级结构知识的蛋白质构象空间优化方法 | |
CN104298894B (zh) | 基于k茎的核糖核酸假结结构的预测方法及装置 | |
CN109326318A (zh) | 一种基于Loop区域高斯扰动的群体蛋白质结构预测方法 | |
CN107145764A (zh) | 一种双重分布估计引导的蛋白质构象空间搜索方法 | |
CN112908408B (zh) | 一种基于进化算法与存档更新的蛋白质结构预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190219 Assignee: ZHEJIANG ORIENT GENE BIOTECH CO.,LTD. Assignor: JIANG University OF TECHNOLOGY Contract record no.: X2023980053610 Denomination of invention: A protein structure prediction method based on two-stage sampling Granted publication date: 20210618 License type: Common License Record date: 20231222 |