作者归档:zzx

肿瘤免疫表型-cold (excluded, desert) and hot

根据免疫状态,肿瘤可以分为hot,肿瘤内外富集免疫浸润淋巴细胞,有明显的免疫浸润性;excluded,免疫细胞没有浸润到肿瘤内部而富集在肿瘤外部,desert,肿瘤不怎么有免疫浸润细胞。

理论上讲,hot tumor更能从免疫治疗获得收益。

Tumor immune phenotypes

继续阅读

C++14 standard requested but CXX14 is not defined

在安装R包的时候遇到报错,C++14 standard requested but CXX14 is not defined

查了很多办法,刚开始是根据https://github.com/stan-dev/rstan/issues/892修改.R下面的Makevars,

但是包另外一个错g++: error: unrecognized command line option ‘-std=c++14’

于是继续查到c++1y这个问题,但依然没有解决问题。

复盘了一下,感觉是gcc的问题,所以升级了最新的gcc

# 系统是CentOS
sudo yum install centos-release-scl
sudo yum install devtoolset-10
scl enable devtoolset-10 bash

但是装包的时候新版的gcc依然不能别识别,所以修改Makevars,最终用了如下的配置,重点是指定了新版的g++和c++的路径,这样问题就解决了

MAKEFLAGS = -j18

## C++ flags
CXX=g++
CXX11=g++
CXX14=/opt/rh/devtoolset-9/root/usr/bin/g++
CXX17=g++

CXXFLAGS=-O3 -march=native -Wno-ignored-attributes
CXX11FLAGS=-O3 -march=native -Wno-ignored-attributes
CXX14FLAGS=-O3 -march=native -Wno-ignored-attributes
CXX17FLAGS=-O3 -march=native -Wno-ignored-attributes

CXXPICFLAGS=-fPIC
CXX11PICFLAGS=-fPIC
CXX14PICFLAGS=-fPIC
CXX17PICFLAGS=-fPIC

CXX11STD=-std=c++11
CXX14STD=-std=c++14
CXX17STD=-std=c++17

## C flags
CC=/opt/rh/devtoolset-10/root/usr/bin/gcc
FLAGS=-O3 -march=native

## Fortran flags
FC=gfortran
F77=gfortran
FFLAGS=-O3 -march=native
FCFLAGS=-O3 -march=native

总结:
1,upgrade gcc

2, specify the absolute gcc and g++ path

如果可以的话,建议把整个系统的gcc都替换成新版的

#####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
#####################################################################

用SRA-Explorer下载测序数据

下载数据的时候,偶然碰到了SRA-Explorer,感觉挺好用的,地址:https://sra-explorer.info/

这个页面本身非常小,见https://github.com/ewels/sra-explorer,利用的是SRA API。

检索好之后,选择你想下载的样本,点击Add ** to collection,然后点击右上角saved datasets,页面下方就可以原始的fastq的链接,用curl下载fastq的命令,用aspera下载fastq的命令,还有下载SRA的命令,以及样本的metadata。非常好用。

和SRA的Run Selector类似,https://www.ncbi.nlm.nih.gov/Traces/study/?

#####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
#####################################################################

预测模型校准曲线 Calibration curve

我们常用ROC曲线来衡量模型的预测能力,但很少关注模型的校准度calibration。

Calibration curve的横坐标是我们用模型预测的probability,比如我预测的是可能是肿瘤患者的概率,risk probability,纵坐标是真实的事件event的概率或者事件的proportion。

我们画图的时候,通常是点,需要进行平滑smooting,常用的是 loess方法。

如果我们预测的概率和真实的事件概率完全匹配,那么calibration plot则是一条斜率为1的直线(perfect calibration)。如果我们画出的先在perfect calibration上面,则表示underestimated,就是我们预测的风险或者概率低,真实情况却比较高;反之如果在perfect calibration在下,则是overestimated ,我们预测的风险比真实的风险要高。

根据吻合的程度,又分为poor calibration或者strong calibration,也可以做Hosmer–Lemeshow (HL) goodness-of-fit test。

参考:https://bmcmedicine.biomedcentral.com/articles/10.1186/s12916-019-1466-7

# rms包可以画calibration plot
library(rms)
val.prob(predicted.probability, TRUE.Label)

如果模型用rms建立的话,还可以用
rms::calibrate的方法

#我自己也参考别人写了一个函数,结果如下图,欢迎使用
library(loonR)
riskCalibrationPlot(TRUE.Label, predicted.probability)

#####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
#####################################################################