北京夏天气温:天气太热
这篇博客起始于2016年8月,完成于来年的2月,中间经历了9月份的初稿,请不要纠结文章中的时间。
炎热的季节终于要过去了,这个夏天我在做什么?在忍受炎热。 进入九月份终于凉快多了。 所以给自己的忠告就是夏天一定要找个凉快一点的地方,否则连正常的工作都没法做。每天同炎热作斗争,电脑也因为过热而经常罢工。 另外觉得自己应该无法在北纬30度附近生活,只能向北,不能向南。在美国德州的人们夏天都是怎么度过的?
2016年这个夏天对我来说到底有多热?我在7月份的博客草稿箱里就有一个待完成的北京夏天气温统计相关的文章,结果8月份草稿箱里又躺了一篇同样标题的,终于在2017年2月份完成了。
关于热的概念,不是因温度升高难受,而是因空气湿度大而感到更热,但是我没有下载湿度的数据进行分析,如果以后有机会再补上。
分析完数据,我发现最好用的气象数据下载网站还属NOAA.GOV,大学时做数学建模当时要下载美国Florida的气象水文数据,直接NOAA,FTP下载。现在NOAA更加智能化的帮助用户提取时间点的数据。反观国内的气象数据下载网站,国家气象局,中科院,实名注册都要费老半天时间,谁用谁放弃。
那么大家肯定会问,这点屁事,写一篇博客就成了,为啥你水了2篇? 因为没空调真的是太热了
Fedora24
八月一日将系统升级,拥抱Fedora24,谢天谢地升级很顺利。
新版本的字体有了很大改进,在终端下显示很清晰舒服,但是在文件浏览器下字体有些单薄。
字体如下所示:
不是为什么升级完,jekyll没法用了。
提示错误信息
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’: libruby.so.2.2: cannot open shared object file: No such file or directory
索性删除ruby*和所有Gem安装的包(gem uninstall -aIx
),重新安装一次,即可。
北京7月的气温
我所在的屋子没有空调,所以夏天会很热,但是我没要想到竟然会这么热。
由于热得是在是受不了了,所以找来了从我出生到现在,北京的每日气温数据,我想看一下今年究竟处于__我所经历的所有时间里__同期的什么水平。
经多简单的统计,我发现,在7月北京的最高平均气温是34.4摄氏度,最低气温是18.8摄氏度,而这两个温度都是进入新世纪(21世纪)后的温度。 最高气温是41.66度,进入2001年后,最高气温是41.11度。
(注意,这篇文章是我后补的,所以我获取了2016年七月份每天的数据。)
从下图可以看到,北京的平均气温在进入七月的第一个7天里会有一个小幅度的上升然后回落,在月末最后5天又会重复一次同样的过程。
值得注意的是7月9日,这一天的1st四分位数和3rd四分位数都非常接近中位数,说明这一天的温度差异非常的小。所以我可以预测,2017年的7月9日,北京的日平均气温应在26摄氏度左右(7月里最舒服的一天)。
我刚想“神棍”得预测一下7月9日的气温,但当我把2015和2016年的气温放到直方图上时,这两年的气温都高于历史同期水平,是图上的两个outlier!! 并且这两年的气温走势也不符合我刚才说的月初7天一个小坡,月末5天一个小坡。
近两年完全不按照历史规律来办事(╯°Д°)╯︵ ┻━┻
。
2016年7月的平均气温,有3天是进入2001年以来的最高气温,这估计是我会觉得这么热的主要原因。
当然光考虑气温不代表人感受到的实际热度,还要考虑湿度的影响,湿度大,外加气温高,会让人感到更热。
我直接找到2016年7月的日湿度数据,发现不下雨的时候平均湿度维持在50%~60%左右,下雨的时候,会维持在80%~90%。由于北京多为阵雨,并且经常出现海淀下雨,朝阳没雨的情况(一个城市竟然会按“城区”下雨),并且每天最高湿度都能达到80%~90%,所以整个7月内人们都会感到很闷热。
ContrastRank:一种用于评估推定的癌症驱动基因和肿瘤样品分类的新方法
突然发现一个悲剧的事情,类似inoreader的RSS订阅应用无法正常显示我博客里的数学公式,如果你发现在阅读文章时非常的不通顺,请移步到博客阅读。20170705
找驱动基因是癌症研究领域的永恒话题。这篇文章是三个月前看的了,笔记耽误了三个月(已经变成)一年,有些当时的想法可能已经不记得了。标题中“推定的癌症驱动基因”就是假定的癌症驱动基因。
本文主要介绍一下这篇文章中推定驱动基因的ContrastRank
方法,以及我看的另一篇文章 Identifying cancer driver genes in tumor genome sequencing studies 中的方法。
ContrastRank
在ContrastRank
方法中作者认为在基因组上出现的罕见突变对于癌症的发生发展起到了重要的作用。所以找驱动基因,就是要估计基因上出现的罕见的非同义突变。然后定义罕见的致病变异(PDV)为allele frequency < 0.5%
的突变,存在至少一个PDV的基因叫做假定的受损基因(PIGs)。对于每一个样本中的基因,他们还计算了假定缺陷率(PDR)。最后根据假定的受损基因(PIGs)的概率的log10数值作为分值,来断定驱动基因。
数据样本
选自TCGA的三种腺癌,每种腺癌至少有200个配对的样本(正常组织/肿瘤组织)。分别是结肠腺癌,肺癌和前列腺癌。
Identifying cancer driver genes
作者首先介绍了之前人们推定驱动基因时忽略的几个问题:
- 非silent mutation的种类包括很多(missense, nonsense, deletions(indels), mutation in splice sites),对于蛋白质的影响也不同,mutation的选择压力也因为mutation的种类和其所在基因组位置不同而不同。
- 不同的样本有着不同的背景突变频率。如果一个基因的突变只存在于有大量突变的样本中,那么这些突变很可能是属于特异性样本有大量突变的结果,而不是癌症的原因。
- 不同的三联密码子产生非同义突变的概率不同。
接下来作者定义了driver-like non-silent mutation在某个样本中发现的事件是伯努利随机变量\(Y_{ij}\)。接下来又定义一个样本中出现的non-silent突变的最大值\(T_{ij}\)以及经验分布函数\(F_{ij}=P(T_{ij}<x|Y_{ij}=1,M_{0})\),然后通过\(logP(Y_{ij}=y_{ij}, T_{ij}>t_{ij}, j=1,...,J|M_0)\) 得到检验所需的统计量\(Z_i\)(我不清楚logP这个是怎么回事)。 在求背景分布时,作者假设transitions(转换)和transversion(颠换)突变的频率不相同,并且根据mutation出现在CpG区域和非CpG岛区域进行了mutation类型的划分。通过从背景分布中算统计量的p-value的方法,来推定驱动基因。
数据样本
肺腺癌数据:Ding, L. et al. (2008) Somatic mutations affect key pathways in lung adenocarcinoma. Nature, 455, 1069–1075.
小结
这两种方法, Identifying cancer driver genes的结果更符合我对驱动基因的定义。首先驱动基因不一定是有罕见突变的基因,可能很多样本中都有这样的突变。 另外ContrastRank
方法在结直肠腺癌的样本中,没找出APC这个关键的基因,我个人觉得效果不好。
NIPT检测
NIPT(Noninvasive prenatal testing)非侵入式产前检测,国内一般称作“无创DNA产前检测技术”。之前一直没有时间看,这个技术究竟怎么从母亲的血液中测胎儿的DNA,现在有时间了,赶紧记录一下原理。
NIPT技术细分为两种:一种是测CNV,另一种是测SNP。 在2012年时比较流行的4中具体方式是1:
- Sequenom 公司:定量,短序列全基因组测序,并且评估胚胎DNA含量
- Verinata 公司:定量,短序列全基因组深度测序,并评估胚胎的DNA含量
- Ariosa 公司:定量,目标区域扩增,并且根据SNP频率来确定胚胎DNA含量
- Natera 公司:基于非定量的SNP,分析等位基因频率(这个方法中用白细胞的测序结果作为母亲的基因型)
其中重点要说明的是,测CNV是不用区分母亲和胎儿的DNA的,首先,我们明确母亲没有任何一种三体综合征和染色体缺失,那么在这种条件下仍然检测出一定比例的三倍体或者单倍体,那么就说明是胚胎出现了问题。
从测序角度来说就是测序深度越高越精确,对于测序结果是否说明有染色体异常,用假设检验(Z-score)来估计其异常程度。
下图比较了四个公司的方法的准确性,可以看到对于21三体综合征是最准确的,对于18三体综合征和单倍体的检测准确性低。
测不准的原因在于测序技术有GC偏好性,并且在13和X染色体上表现得很明显2。
NIPT方法目前主要还是用于测染色体倍增或者缺失(截至2013年),对于一些微缺失和微倍增( microdeletions and microduplication )用芯片的方法也开展了检测研究。
我个人的理解,孕妇首先应该做常规血检和B超检查,如果检查认为有问题,可以先做一个无创DNA产前检测来确认一下,如果无创也指示有问题或者数值处于临界值,那么继续做羊水穿刺来确定。
我本认为技术应该很高超,结果看完相关网络资料发现不用区分母婴的DNA时,方法也就很常规了。
=========================
2019年12月18日更新,修改错别字,标注失效链接
我从网上搜NIPT的具体计算方法,结果第一篇文章是自己的。。。看样子需要再写一篇算法的介绍。