R、画图相关--整理
z-score:
比如,某样本的100个snv的深度差别很大。但是,想画这些点的深度图。值大的与值小的点,通过不同颜色很容易区分开来;但是,值大的与值中等大的点,不容易区分。这时,可以把深度转换为z-score,使深度值变小,再用不同颜色区分不同深度值。
R中进行normalization的方法:
计算z-score;quantile;scale;lowess
建模:
现有100个样本,每个样本有50个snp的vaf值。另一方面,知道每个样本对某化疗药是否的临床信息。
即:每个样本的信息如下:(0对化疗药是否敏感, (0.1, 0.5,0.2,0.9,.....,0.8, 0.3,0.9)50个snp的vaf值)。
据此,可以构造分类器:snp的vaf值与是否敏感之间的关系。
分类器构建完成后,可用于:来了一个新样本,我检测这个样本的50个snp的vaf值。将vaf值输入分类器,即可得知该样本对化疗药物是否敏感。
画图技巧:
1. x轴画control,y轴画tumor。
2. 图中的空白区域尽量少。
3. 项目初期的探索阶段,尽量画散点图。
数据处理:
技巧:
1. 让数据更集中,图更好看。
方法:取log。取log后可以让数据更集中,得到的图趋势更明显。
比如,A样本深度1000,B样本深度10000。如果直接展示该图,则坐标轴的变化幅度特别大。 如果取10的log,则A样本的值为3,B样本的值为4,坐标轴只相差1。
2. 消除不同样本之间测序深度的差异。
方法1:取比值,再取比值的log(这一步可做可不做)。
比如,样本1的处理前和处理后的gene A的表达值分别是1和100;样本2的处理前和处理后的gene A的表达值分别是5和500。由此,可以看出,样本2在geneA的深度是样本1的5倍。如何消除这种样本之间的深度差异呢?
取比值后,样本1的geneA的ratio是100/1=100;样本2的geneA的ratio是500/5=100。这样,样本1和样本2的深度上的差异就消除了。
方法2:对每个深度值取log10,取完log后,再比较样本1和样本2。取log后,样本1:变为:0~10。样本2:变为:log5~10+log5。(还不是很清楚这一点。这属于数据处理过程中的技巧。)
p-value:
拒绝零假设的概率。零假设一般是与想要的假设相反的假设。
比如,我期待这个位点发生突变,我的零假设是:这个位点没有发生突变。然后,证明零假设是小概率事件(概率<0.01)。这样,就证明了!零假设是大概率事件。
详细的描述:ref是参考基因组中该位点的碱基,如A,alt是某人测得的该位点的碱基,X。零假设:此人该位点的碱基是A。证明零假设是小概率事件。那么此人在该位点的碱基与ref不一致,不是A,即:此人在该位点的碱基发生了突变。
统计:
分布、检验:分布的累积就是检验。
偏离指数(deviation index,DI):待补充。
data.table的用法:
a[, nrow(.SD), by = list(Up, Down)]