[文献解读#3] 一种反向生态学方法:用基因流定义微生物种群
微生物文献解读:问题串联文章思路,快速看懂正文主图。
A Reverse Ecology Approach Based on a Biological Definition of Microbial Populations
- 杂志:Cell [38.637]
- 发表时间:8 August 2019
- 第一单位:Department of Civil and Environmental Engineering, Massachusetts Institute of Technology
- 第一作者:Philip Arevalo
- 通讯作者:Martin F. Polz
- 链接:https://linkinghub.elsevier.com/retrieve/pii/S0092867419307366
点评
大家都同样是做HGT,本文题目就丝毫未提及HGT,而是上升到population definition的水平,强调概念的提出而非方法的设计,还避免了与其他HGT方法的比较。从进化学、生态学、种群学出发,将方法升华到方法论+体系的高度,活该人家发cell。
简介
本文从反向生态学角度,开发了一个能够检测近期横向基因转移事件(recent HGT)的算法——-PopCOGenT,可以刻画基因组之间的基因流(gene flow)。由此将微生物种群(population)定义为基因流较为割裂的cluster,进而赋予种群以生态学上的意义。
背景
-
Q: 什么是种群(population,下文简称pop)?
-
A: 根据传统进化学概念可以推导出,种群是由同一个species的个体、但与该species的其他个体/群体有生殖隔离的成员组成。pop内的个体受到相似的选择压力。可以看出,种群是生态与进化的基本单位,许多生态学和进化学理论都是建立在种群的概念上。
-
Q: 为什么要研究种群?特别是微生物的种群?
-
A: 植物和动物等大型生物的生殖隔离清晰,种群明确,生态学和进化学理论非常成熟。但是因为HGT在微生物中广为流传,给他们定义种群就特别困难,更别说运用这些成熟的理论了。因此,如何定义微生物种群就显得十分重要(of paramount importance)。一旦定义成功,就可以研究他们在不同环境下与宿主内,如何协作交流、承受进化压力等。
-
Q: 16S或者其他marker gene不是可以很好地区分到species层面吗,还研究种群做啥?species与种群是什么关系?
-
A: 前人根据生态动态学将微生物的species进一步划分成种群,因此,pop是species更下层的一个划分,而且有生态学上的意义。但是发现无论是species的全基因组ANI(平均核苷酸一致性)cutoff还是16S marker gene都无法将pop区分开来。
-
Q: 上个问题产生背后的原因?
-
A: 一个pop因为接受同样环境下的gene sweep(就是选择压力同时对不同genome上同样的位置产生压力使得他们发生相同改变),因此在一些片段或者位点产生了一样的变化(可以是因为点突变也可以是因为HGT/重组)。但是genome的其他地方还是保持相对不变,因此当用整个基因组相似性来做cutoff,或是单纯比较16S时,他们基本是分不开的。除非,你把这些一致变化的片段+位点拿出来,只看他们,否则是无法区别的。
-
Q: 什么是反向生态学(reverse ecology)?
-
A: 我们先说一下遗传学。正向遗传学是从表型变化研究基因变化,反向遗传学则是从基因变化研究表型变化。其实类比到这里也是一样的,传统生态学是先看生态上有区别的群体,再研究基因层面上是什么造成了区别。因此,反向生态学就是,先研究基因,从基因上推断生态学上的区别。它在本文中具体阐释为:uses comparative genomics to predict ecological and metabolic features without any prior assumptions – 不事先知道生态上的信息,仅依靠比较基因组学来预测生态与代谢特征。
-
Q: 所以本文到底用反向生态学怎么解决了上面的问题?
-
A: 通俗点说,本文就是检测了一堆来同一个species的genomes的近期HGT,用有无HGT以及HGT的长度确定genomes(为网络的节点)中的gene flow关系和大小(为网络的边),画成网络。将网络上gene flow割裂的簇划分出来,定义为pop。因为gene flow在pop内高,pop间低,代表了基因的流向的隔离,同时gene flow将gene 功能赋予每个簇,因此也有生态学上的意义,这就实现了反向生态学的方法论–从基因组反推生态功能。
补充:
- Q: strain和population的区别?和genomes的区别?
- A: 我认为:把你比作一个genome,那strain就是你的直系亲属们(爸妈、儿女,你们几乎一模一样,可能就一丁点区别可以忽略不计)。population就是华人。species就是你所在的智人种。所以虽然你和黑人白人都是智人但是华人来往更紧密,且基因几乎不外流(除了并未与其他有色人种有生殖隔离,此比喻很恰当了)。
结果
PopCOGenT的算法思想
- Q1: 算法最重要的假设是什么?什么是identical region?
- A1: 定义:在两个genome alignment中没有突变的一模一样的region就叫做identical regions。 DNA可能来自垂直遗传(上)或横向转移(下),比起前者,横向转移的DNA还来不及积累SNP。因此,只要看到两条genomes之间的ident regions分布显著高于垂直遗传的ident regions分布(背景分布),那就说明这两个genomes之间有gene transfer。详见Figure 1A。
换句话说,就是我们认为发生了重组(基因交换)的两个genomes他们的ident regions应该比背景数量上更多、长度上更长。
Figure.1A
左:两个genomes中的identical DNA可能来自垂直遗传(上)或横向转移(下),比起前者,横向转移的DNA还来不及积累SNP。因此,只要看两条genomes之间的ident regions分布显著高于垂直遗传的ident regions,那就说明这两个genomes之间有gene transfer。
右:虚线是推导出来的没有发生gene transfer的genome alignment比例中有对应长度ident regions的关系图(常识理解:ident regions越长,背景模型下genome越少能找到这么长的ident region;极端情况,当ident region几乎到genome长度,genome上没地方(0%)能找到这样的ident region);实线是观察到的ident region与genome alignment的分布. 我们在图上画一条水平线,可以看到同样genome百分比下,重组的(实线)比没重组的(虚线)对应更长的ident regions(说明regions更长)。同理,再画一条垂直线,可以看到相同长度的ident region下,重组体(实线)比非重组体(虚线)找到了更多这样的序列(说明更频繁)。
- Q2: 算法具体是怎么计算的?分几步?
- A2:
- 设计基于pairwise genome的null model of mutational distribution,得到ident region的背景/期望分布;
- 统计真实看到的两两genomes的ident region分布;
- 真实分布与期望分布在每对genome alignment上差值平方和叫做length bias,衡量genomes之间远离期望ident region分布的程度;
- length bias作为两两genomes的的边关系,构建gene flow网络;
- 将网络上没有gene flow连接的簇定义为在基因、生态学上有意义的pop。
-
Q3: null model of mutational distribution是怎么设计的?
-
A3:
-
Q4: length bias是怎么算的?
-
A4:
富集identical regions(即length bias)可以敏感地检测出近期HGT
- Q1: null model真的反映了非重组的ident region分布吗?【假阴性如何】
- A1: Figure B显示7个species数据(每组一对genomes)中非重组体的分布都稍高于null model(就是至少没有已知的非重组体比null model要小,至少没有假阴性)。但是Fig2B显示非重组体都高于null model但是有些length bias更大,可能是有些重组没测出来,也可能是因为genome size有区别。
Figure.1B-C
根据genome size修改null model,并将null model和重组以及非重组的分布进行比较。
(对Figure.1B-D的进一步说明)Figure 1C 进一步发现这些非重组体length bias与genome size真的有线性的关系。从文献推测是因为genome size更长,因为正向选择删掉了更多的碱基差异,造成更少的突变+更多的ident regions。
如果上述推论成立,那么熟知的受正向选择的gene(例如核糖体基因)更应该富集在ident region中,而且genome size越大,这个基因富集程度越高。而从Fig1C中,我们知道非重组体中Buchnera基因组最小,Salmonella最大。因此,我们拿出这些非重组体,看看核糖体基因在ident region上的比例(Fig.1D),我们发现果然genome size越大这个比例越高,进一步坐实了上述理论。
Figure.1D
非重组体中,核糖体蛋白在长ident regions的比例。基因组越长,这个比例越高。间接说明length bias在非重组体中会受到更大的genome size上过多的正向压力选择影响,从而偏大,因此需要根据genome size做出调整。
-
Q2: 既然genome size大(导致更多的正向选择,减少mutation)会影响到非重组体的length bias增加,那怎么确定重组与非重组的阈值呢?
-
A2: 那就把非重组体的genome size和其length bias做线性拟合,将对应length bias的90%上限定为阈值(相当于一个置信区间,即Fig1C虚线)。下次再来一对genomes的 alignment,将其genome size带入这个线性方程进行计算,得到转化后(normalized)的null model length bias作为阈值,如果>=这个阈值就认为是重组体,<就是非重组体。
-
Q3: 重组体的ident region分布真的显著高于null model吗?【假阳性如何】
-
A3: 根据genome size改进过的null model,我们可以看到重组体的分布确实是高的(见Fig1B-C中最后三个species数据)。文中还进一步讨论了重组体的length bias可以由模拟HGT事件重现,而phylogeny结构以及genome组成特征改变则不行。
-
Q4: PopCOGenT能否区分recent和historical HGT?
-
A4: 答案是应该能。本文做了这么一件事,选择了5条genomes,计算机模拟他们进化,当5条genomes都达到了0.001的substitution/site(每个位置发生了0.001碱基替换)后,随机选donor和recipient genomes插入1000个长度为1000bp的transfer genes。之后继续突变,直到他们累积突变到0.005 substitution/site。这个过程重复50次(因此Figure 2中有shaded regions)。同时引入了三个指标,分别是mean length bias(mean是因为需要计算多个两两genomes的length bias所以取平均),h/m,r/theta,第一个是本文的指标,后两个指标是前人以gene特征刻画重组的指标。之后,每隔0.0001的substitution/site间隔对这5条genomes记录这些指标。
发现从0.001 sub/site时引入HGT后,length bias比起他指标下降更快速;其次,当mut累积到0.005 sub/site时,length bias早就回到了背景值,但是后两个指标还能检测出HGT(没有回归0值就是说还有检出存在)。这就说明,本文的length bias比起其他研究historical HGT的指标,只能检测到大约再多0.001 sub/site累积(即0.002 sub/site)的HGT,也就是更recent的HGT。【其实Figure 2只是说明了比起另外两个指标,本文指标检测的HGT是较新的HGT,但是并没有说明别人的指标就不是新的HGT了?而且这些HGT新到什么程度?会不会过于新从而漏掉了一些recent HGT等之类的问题】
Figure.2
随着突变积累时间,三个指标对HGT的检测能力变化。
在genomes mutation累积到0.001 sub/site时,计算机模拟在genomes中加入HGT,并继续进行genomes的突变。相比于h/m(绿色, A)和r/theta(紫色, B),mean length bias(红色)这个指标在HGT出现后更快的失去检出HGT的能力。同时,当突变都比原来累积了5倍(0.005 sub/site)时,其他两个指标都还存在HGT的检出,length bias早就检不出来了。因此说明,length bias相比于其他研究更能检测到较为recent的HGT。
PopCOGenT识别种群为基因与生态单位
-
Q1: 此部分的数据是什么?用了什么方法?
-
A1: 选取3个在生态学有区分且研究透彻的微生物(即Vibrio, Sulfolobus, Prochlorococcus)。使用length bias大小与有无作为genomes的边,代表gene flow,构建gene flow network。再用gene flow方法找到的割裂的units作为生态学上有意义的pop。
-
Q2: 用gene flow方法找到的割裂的units结果如何?与其他研究结果相比?
-
A2: 首先前人基于重组、gene模式等方法都不能很好地找到紧密联系但生态学上分离的pop。但本文开发的Gene flow networks 基于length bias是高度结构化的,找到的簇与生态学几乎复原了前人对这3种微生物在生态学上的pop划分。同时要注意一点的是,他们仅仅是用有无gene flow做判断,而没有用任何其他的cluster方法(这是最厉害的地方)。
-
Q3: gene flow network还做了其他调整吗?
-
A3: 在network上也发现了有些pop是刚刚speciated的(如Fig3A中Vibrio cyclitrophicus的三个subgroups)。表现在他们虽然在一个group中但是近期的gene flow还连着他们。因此本文引入了Infomap,一个可以区分新生pop的聚类方法。
-
Q4: 为什么选择Infomap?Infomap的优点是什么?
-
A4: 因为它是基于最小化构建网络信息的方法聚类,因此并不依赖于一个固定的cutoff,对微生物网络有更好的普适性。
-
Q5: gene flow network在范式改变上的重大意义?
-
A5: gene flow network呈现的pop间割裂,显示出genomes并不是由MGE高度相联系的。这大大改变了人们认为微生物随便两个genomes就可以发生gene转移的观念。
Figure.3
gene flow network在三种微生物上的聚类情况。在phylogeny上分不开的genomes,在这里可以近乎完美地分离成生态学上独立的clusters。
- Q6: PopCOGenT还有什么优势?
- A6: PopCOGenT不依赖于global alignment,因此1.也可以检测MGE上的gene flow;2. genome 有缺失也没关系,这就对single cell genomes很友好(前提是genome要是高质量的)。
反向生态学方法预测生态种群,相互联系以及选择压力
-
Q1: 此部分的数据是什么?为什么选择这个数据?
-
A1: 之前都是在分析环境微生物,因此为了减少环境信息,这回选择了肠道菌Ruminucoccus gnavus(活泼瘤胃球菌)作为例子。又因为之前研究发现,IBD(炎症性肠病)病人与两个R.gnavus clades分别有关,因此可以指导我们找到不同功能的pop。
-
Q2: 这部分做了什么工作?目的是什么?
-
A2:
- 用gene flow预测pop;
- 寻找受到pop特异性选择压力sweep的alleles和genes(=biomarker)
- 用这些alleles和genes将pop与cohort种类联系起来。
(总之,目的是将本文的方法论做一个case study。)
- Q3: 第1部分工作结果如何?
- A3: 见Figure 4.
Figure.4A
用gene flow方法找到了3个pop(I-III)。可以看到genome source和pop并不统一,说明source不是定义pop的因素。也说明发生了近期的pop分化事件。
- Q4: 除了看gene flow,有其他证据表明pop在近期真的有所分化吗?
- A4: 见Fig.4B。
Figure.4B
如果近期pop的确分化了,那么pop内部的genome上只有少部分gene发生了改变(且不同pop改变的gene不一样),这些gene在phylogeny会形成monophyletic(单系群);而genome其他部分不变,还是保持原有树状结构。如果pop内部单系群比例高,那就说明真的有pop在生成。【其实大白话说就是pop内部要有特异性sweep的压力产生】。因此本文对R. gnavus的core genomes构建系统发育树(因为core genome代表所有genomes共有的genes,否则他们不在一个树上比较,就无法消除背景差异),发现相比于all pop,3个pop中的单系群比例相当高,说明他们的确是新生的pop。【所以,pop成熟阶段可以用gene的单系群程度来量化?】
- Q5: 第2部分工作结果如何?
- A5: 这部分是去找带有受到pop特异性选择压力产生alleles的regions(叫sweep regions)。这些alleles被定义为:在pop内群成员专门享有的低变异度(比正常突变产生的变异度显著低)的alleles(因为受到一样的压力,那么一个种群内部的特异性alleles应该尽量相似,不相似的被选择清除了)。结果见Figure 5A-C.
Figure.5A-C
在pop I、II(III数量太少不做计算)中寻找pop特异带有低变异度的alleles的regions(叫做sweep regions),除了发现他们在pop内部有低多样性(A),还意外发现计算这些alleles在pop间的核苷酸多样性高于全基因组平均值(B)。最后还计算了Fixation index(C),此值高于总体平均也说明pop I、II是高度分化的(Fixation index计算请参考https://en.wikipedia.org/wiki/Fixation_index)。
补充:
为什么用pop特异性的alleles来预测pop的生态学、代谢学特征,赋予pop生物学意义?因为传统正向遗传学中要想找差异的alleles,是需要根据表型来逐个敲掉基因/SNPs的,对于实验来说太累了。所以反过来,用计算手段反向找差异的alleles然后反推造成pop特异性的表型,可以极大地指导实验。
- Q6: 找到的sweep regions在genome上是怎么分布的?【注意,sweep regions是允许有突变存在的,它和ident regions概念不同】
- A6: 发现虽然trasnfer的region片段大小变化很大,但是sweep regions都集中在一个gene或者一个domain上(Fig.5D)。
具体例子上,发现pop I特异的alleles(SNPs)和pop II特异的alleles(SNPs)集中在不一样的位置(基因功能)上,各自安好(Fig.6A,6B)。
但是也有在同一段位置(基因功能)上,pop I和II的alleles(SNPs)同时出现的,但是相互仍有所不同(Fig.6C)。
Figure.5D
pop I,II特异性的sweep regions在reference genome上位置的呈现。
Figure.6
(A) 仅在pop I特异的alleles(SNPs);(B) 仅在pop II特异的alleles(SNPs); ©同一段位置上,pop I和II的alleles(SNPs)的分布也表现出不同。并且这些位置对应的gene功能也标记了出来。
- Q7: 第3部分工作结果如何?
- A7: 为了今后可以将pop特异的SNPs和genes用于快速分型健康疾病以及疾病亚型,这里做了探索性的关联分析(Fig.7)。本文将healthy、UC,CD三个cohort的reads map到reference genome上(上面事先标记SNPs与genes信息)。
发现healthy的宏基因组reads在pop I特异的SNPs上map的比例最高;CD的宏基因组reads在pop II特异的SNPs上map的比例最高(Fig
.7A,B)。相似的结论也在pop特异的genes上看到(Fig.7C,D)。
Figure.7
pop I & II 的特异性SNPs(A,B)与genes(C,D)在不同类型cohort上富集。因此他们可以与cohort种类进行关联,并作为区分cohort类型的指标。
可改进之处:
- 这篇文章本质上是将以前的16S、marke gene比对,放到了更多的identical regions上,如果用这些identical regions来建phylogeny的话,应该也可以展示出本文的gene flow units在网路上的关系。(即我相信用其他不那么绕的方法,也可以看到本文网络上的结构。)
- 阐述算法的验证数据量还是较少。
- 在构建gene flow和找sweep regions上逻辑连贯性不足:gene flow是基于ident regions来的,但是在找pop特异性region时却抛弃了这个概念,转而去看pop内部共有alleles。如果要使得逻辑更为连贯,应该继续看ident regions(哪怕是几个regions的组合),并找出pop特异性ident regions;或者在构建network时,就以alleles作为特征进行构建,拥有一类与其他cluster明显不同alleles的cluster是一个pop。又或者在构建网络时,两者都考虑;在找pop特异性片段时,两者也都考虑。
- 【思考亮点】如果上述分析过程是最佳的,逻辑上的不连贯性可能表明背后暗含的现象:在所有pop内部的gene flow是相似的,都会传播A、B、C片段,所以分析这些片段并不能展现pop特异性。所以gene flow的流通只能划分pop,但是要区分pop在生态学上的特异性,还需要看选择压力造成alleles的区别。可是通读本文没看到这个假设的讨论,也没看到对不同pop间gene flow片段的比较。
- 既然对于近期HGT,mutate都来不及,那是不是表观遗传也来不及修饰,这个是不是也可以作为null model的一部分呢。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 第36讲:App 逆向的常见技巧
现在我们可以看到很多 App 在请求 API 的时候都有加密参数,前面我们也介绍了一种利用 mitmdump 来实时抓取数据的方法,但是这总归还有些不方便的地方。 如果要想拿到 App 发送的请求中包含哪些加密参数,就得剖析本源,深入到 App …...
2024/4/17 8:46:55 - 设计模式之单例模式的多种使用方式以及单例的优化
设计模式之单例模式的多种使用方式以及单例的优化 具体使用案例如下: using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;n…...
2024/4/13 2:37:45 - UserWarning: style lookup by style_id is deprecated. Use style name as key instead. return self._get
Error: 在学习python《AUTOMATE THE BORING STUFF WITH PYTHON》一书Chapter13有关word的处理,在程序运行中碰到错误:UserWarning: style lookup by style_id is deprecated. Use style name as key instead. return self._get_style_id_from_style(sel…...
2024/4/30 18:49:47 - 对象与对象引用的区别
对象与对象引用的区别 直接举例子吧,从例子中更容易理解对象与对象引用的区别 先建立一个Demo类,用于后面的分析。 public class Demo{//默认构造方法public Demo{} }接下来,我们用Demo类来创建一个对象。 Demo demonew Demo();这一条语句&…...
2024/4/26 7:01:40 - web项目存储文件被存储了两次,在两个目录下都存储了(文件同时存储在target目录和 Webapp目录)
保存文件被存储了两次 1、文件存储路径是默认发布路径 idea自动默认存储在发布路径下(target目录下) 2、JRebel有一个默认存储路径在 Webapp下,所以文件存储了两次 JRebel热部署插件有一个配置,在项目的resources下,有一个rebel.xm…...
2024/5/4 15:16:38 - 谈谈对MVC、MVP和MVVM的理解?
Web1.0时代 在web1.0时代,并没有前端的概念。开发一个web应用多数采用ASP.NET/JAVA/PHP编写,项目通常由多个aspx/jsp/php文件构成,每个文件中同事包含了HTML、CSS、JavaScript、C#/JAVA/PHP代码,系统整体架构可能是这样࿱…...
2024/4/15 9:11:25 - FPGA 学习 03 蜂鸣器实验
music_test.v 文件 module music_test(Clk, //时钟信号Rst_n, //复位信号CNT_ENABLE, //Cnt_Enable1 时,开启定时//Cnt_Enable0 时低电平时,不使能定时beep );input Clk ; input Rst_n ; input CNT_ENABLE ; output beep ;wire [31:0]CNT_NOW ; wire …...
2024/4/26 19:45:52 - 语言模型中unigram、bigram、trigram的概念
语言模型中unigram、bigram、trigram的概念 unigram 一元分词,把句子分成一个一个的汉字 bigram 二元分词,把句子从头到尾每两个字组成一个词语 trigram 三元分词,把句子从头到尾每三个字组成一个词语. softword :视情况而定的分词ÿ…...
2024/4/27 20:14:57 - MySQL数据库常用命令,用的时候看着直接套用
show databases;显示所有数据库 create database name;创建数据库 use name;使用数据库 drop name 直接删除数据库, 不提醒 show tables; 显示数据库中的表 desc name ;显示表的详细数据 create database mysql;创建一个数据库mysql 创建表: create table 表名( 列…...
2024/5/4 15:13:37 - MQTT服务器搭建和客户端代码编写(java实现)
MQTT服务器搭建和客户端代码编写(java实现) 服务器 关于linux系统,可以在阿里云购买云服务器或者利用虚拟机安装CentOs系统。我用的就是阿里云的云服务器,比较方便吧 安装Emqx服务器 安装必要的依赖: $ sudo yum install -y yum-utils de…...
2024/4/30 23:52:21 - c++define的用法
在写程序时经常会碰到这样一个问题,我们需要重复写很多相同的代码,并且这些代码结构相同。总是想自己把这段代码封装一下然后直接进行调用,但是如果这段代码逻辑并不复杂,并且代码量也不大,不适合进行封装,…...
2024/4/9 12:13:26 - 正则表达式regexp_like的用法详解
正则表达式regexp_like的用法详解ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 …...
2024/4/9 7:29:04 - C#的chart控件生成的波形图Y轴自适应
既然用到了chart控件,那么这个图像就有各种不确定的数据以及多条曲线 在一个表上显示 1.Y轴的自适应 关于Y轴的自适应只需要在设置图表时将最大值和最小值改为一下代码即可 this.chart1.ChartAreas[0].AxisY.IsStartedFromZero false; 2.多条线的展示(…...
2024/4/29 18:43:01 - Hive行转列函数
Hive行转列函数 concat select e.empno,e.ename,e.job,concat(e.empno,e.ename,e.job) from emp e;cancat_ws:concat加强版,但是只能够处理string,所以需要强转 select e.empno,e.ename,e.job,concat_ws(-,case(e.empno as string),e.ename,e.job) fr…...
2024/5/4 16:53:48 - 算法:线性时间选择(4850)
算法:线性时间选择 Description 给定线性序集中n个元素和一个整数k,n<2000000,1<k<n,要求找出这n个元素中第k小的数。 Input 第一行有两个正整数n,k.接下来是n个整数(0<ai<1e9)。 Outp…...
2024/4/9 14:21:16 - Leetcode每日刷题——两数之和
Leetcode每日一题——两数之和 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示…...
2024/4/9 19:51:41 - 深度学习调参tricks总结
转载自公众号datawhale 深度学习训练调参的tricks...
2024/4/11 15:08:04 - springcloud借助logbook输出http日志详细步骤
1.pom添加logbook依赖 2.在服务提供者工程添加logbook filter以输出日志 3.在服务消费者工程httpclient添加logbook拦截器...
2024/4/24 20:28:33 - LINGO学习笔记02
极力推荐观看教程作者视频,不止包含知识点,同时包含随堂练习帮助你巩固知识。我自己记的笔记肯定没有视频教程讲的仔细。链接 稠密集合与稀疏集合 稠密集合与稀疏集合都是派生集合 稠密集合:如果一个派生集合在定义时省略了元素列表&#x…...
2024/4/22 20:12:18 - 主题模型(二)概率潜在语义分析(PLSA或PLSI)
上一节主题模型(一)LSA(LSI)提到了LSA得到的结果很难解释,并不是一个概率模型,因此并不是一个真正意义上的主题模型,但是其基本思想为主题模型奠定了基础。Hofman在LSI的基础上提出了概率潜在语…...
2024/4/25 18:57:45
最新文章
- [C++基础学习-05]----C++函数详解
前言 在学习C的基础阶段,函数是一个非常重要的概念。函数是用来完成特定任务的一段代码,它可以被多次调用,并且可以接受参数和返回值。 正文 01-函数简介 函数的定义: 在C中,函数的定义通常包括函数的返回类…...
2024/5/4 21:27:40 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 【鸿蒙千帆起】《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验
《开心消消乐》已经完成鸿蒙原生应用开发,乐元素成为率先完成鸿蒙原生应用开发的20游戏厂商之一。作为一款经典游戏,《开心消消乐》已经拥有8亿玩家,加入鸿蒙原生应用生态,将为其带来更优的游戏性能和更多创新体验。自9月25日华为…...
2024/5/3 3:39:24 - C++ //练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。
C Primer(第5版) 练习 11.14 练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。 环境:Linux Ubuntu(云服务器&#x…...
2024/5/1 13:00:20 - 产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡
01、产品概述 亿迅A8000金融加速卡,是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科,将可编程逻辑芯片与金融行业深度结合,通过可编程逻辑芯片对交易行情加速解码,实现低至纳秒级的解码引擎,端到端的处理时延…...
2024/5/2 2:35:23 - 416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
2024/5/4 12:05:22 - 【Java】ExcelWriter自适应宽度工具类(支持中文)
工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...
2024/5/4 11:23:32 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/4 14:46:16 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/3 16:00:51 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/4 12:10:13 - 【Objective-C】Objective-C汇总
方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...
2024/5/3 21:22:01 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/3 23:17:01 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/4 14:46:12 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/4 14:46:11 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/4 14:46:11 - 用欧拉路径判断图同构推出reverse合法性:1116T4
http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai 和 a i 1 a_{i1} ai1 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然࿰…...
2024/5/4 2:14:16 - 【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
2024/5/4 21:24:42 - Hive默认分割符、存储格式与数据压缩
目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...
2024/5/4 12:39:12 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/4 13:16:06 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/4 16:48:41 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/4 14:46:05 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/4 2:00:16 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/3 22:03:11 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/4 9:07:39 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/4 14:46:02 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57