snRNA-seq
数据概览桑基图
大概是实验设计如此,并没有找到哪个数据包含了实验组条件对应的损伤模型、损伤后取样时间,在文中也没有显式提及,找了几个隐晦提及的地方:
b, Susceptible and resilient subtypes of spinal
cord neurons. Volcano plot shows log2 odds ratios comparing neuron
proportions between the uninjured spinal cord and each injured
condition at 7 days post injury (x axis) versus statistical
significance (t-test, y axis).
b,c, Chronophotography (b) and walking performance
(n = 5 each) (c) of young and old mice after spontaneous recovery
from moderate ...
案例里用了《Glioblastoma cell differentiation trajectory predicts the
immunotherapy response and overall survival of
patients》,主要是使用scRNA-seq(单细胞RNA测序)和bulk
RNA-seq(整体RNA测序)来找出GBM分化相关基因然后预测患者总生存期之类的。
实验原理
主要就是干了质控、基因可视化、降维与聚类、周期判断、double
droplet、细胞类型注释、拟时序分析。
数据集
这堆数据集就是一轴是细胞,一轴是基因种类,每个点代表某个细胞/样本的某个基因表达量。
质控
质控主要就是过滤:
低质量的细胞(比如基因少、线粒体基因多)
双细胞(两个细胞被捕获到同一个液滴中)
高ERCC基因(External RNA Controls
Consortium),“是一组合成的RNA分子,它们的浓度已知,并且在测序实验中添加到样本中,以便可以用来校正技术变异和进行数据标准化”,在所有细胞中的浓度应该是一致的,所以如果ERCC基因...
:root {
--bits-offset: min(2vw,20px);
--bit-width: min(8vw,80px);
--bit-height: min(11vw,110px);
--bit-margin-bottom: min(1vw,10px);
--bit-margin-right: min(1vw,10px);
}
#app {
width: 100%;
height: calc(var(--bit-height) + var(--bit-margin-bottom) * 2);
}
#time {
position: relative;
width: calc(var(--bit-width) * 6 + var(--bits-offset) * 2 + var(--bit-margin-right) * 3);
hei...
异形描边
使用SVG,设置viewBox、preserveAspectRatio='none'以及子的stroke、vector-effect='non-scaling-stroke',转为base64设置为background,实现居中描边。
然后使用同样参数但无stroke有fill的SVG作为mask,消除外描边以及其被裁掉显示不理想的部分。
12background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='100%25' height='100%25' viewBox='0 0 580 143' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' fill='...
小撇步
更换礼物价格单位
礼物单位在html定死了是CN¥,但是甲方稿子里又是RMB,这时候我们可以:
对不起,做不到
魔改blivechat客户端
可以使用attr()获取礼物弹幕根元素里的price属性,创建content: "RMB"attr的伪元素。
但是,这个伪元素不像原来的价格元素一样,在html中处于期望的层级,如果只需要绝对定位还好,要是想用flex布局,与昵称等共处,就有点麻烦了。
思路:
定义根元素为flex,但原来的整个元素都在左边了。
使用根元素的伪元素做一个背景,但message里的内容右边距不对。
根元素有一个属性为price-level,可以依靠它获取新价格元素的的位数,计算宽度(等宽字体),使message或其父元素content加长。
昵称可以使用绝对定位后限定宽度。
完整关键设置: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849yt-live-chat-paid-mess...
JavaScript
[2023]方法使用jQuery.ajax获取数据,同步致假死,异步无法获取数据
在一个方法里使用ajax从后端获取数据,可以使用同步(async:false)
123456789101112function getTemperature() { var temperature; $.ajax({ async: false, type: 'GET', url: '', success: function (responseData) { temperature = responseData; } }); return temperature;}
但是,当方法运行时,即使新开一个进程,也会使页面的渲染停止,造成假死,可以使用Deferred对象:
Deferred.resolve()传递参数arg给回调函数。
Deferred.pr...
原理
WPA2-PSK认证模式
如图,在WPA2-PSK认证过程的四次握手中,PTK的一部分用于生成MIC(Message
Integrity Check),而
(PTK:Pairwise Transient
Key,PRF:Pseudorandom
Function,PMK:Pairwise Master
Key,Nonce:仅使用一次的随机数)
其中PMK由PSK派生,而
(PSK:Pre-Shared
Key,pdkdf2:Passphrase-Based Key Derivation Function
2)
于是,如果我们监听到了握手包,则可以获取SSID、二者MAC、ANonce、SNonce、MIC,便可以将其用于验证猜测的密码(passphrase)是否正确,进行离线攻击。
取消认证攻击
123456789uint8_t deauthPacket[26] = { /* 0 - 1 */ 0xC0, 0x00, // type, subtype c0: d...
css中的border-style渲染结果固定,并且不同浏览器中的表现也可能不一样,这带来许多不便。
例如,有时候我们希望圆点边框更加密集,然而此间距与border-width绑定。
这类边框,需要全边联动的效果,才不显得突兀。因此,我们可以借助SVG中stroke的良好可自定义性,通过background绘制边框。
12345background: url("data:image/svg+xml,%3csvg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'%3e%3crect x='6' y='6' width='100%' height='100%' fill='none' stroke='black' stroke-width='12' stroke-dasharray=...