突变mutation signatures

拿到突变的数据之后,一般会先看除了进行突变注释,看突变所在的基因和造成的氨基酸变化,还会看具体的碱基变化类型,共96种,以三个碱基为统计单位,看三联核苷酸中间的碱基变化类型的个数,以C变为A为例(等同负链G变为T),NCN>NAN,N可以为任意碱基,所以有4*4=16种,所有情况为96种。

统计96种突变类型的具体数目,之后会进行突变的signature分析有三种:

  1. 与已知的cosmic signature进行比较,看哪些signature比重高
  2. 利用非负矩阵分解NFM找novel的signature
  3. 分析1和2之后,看novel的signature和已知的signature的相似性

突变的signature是内外部环境共同作用下造成的一些特定的变异特征,这些因素包括DNA修复或者复制缺陷,吸烟饮酒等等。

找cosmic的signature

利用R包deconstructSigs进行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 假设你有一个数据框,包含了突变的信息,以包自带的sample.mut.ref为例
head(sample.mut.ref)

# Convert to deconstructSigs input,得到96碱基突变数据框
# 指定染色体位置、突变碱基和样本名所在的列名
sigs.input <- mut.to.sigs.input(mut.ref = sample.mut.ref, 
                                sample.id = "Sample", 
                                chr = "chr", 
                                pos = "pos", 
                                ref = "ref", 
                                alt = "alt")

# 提取样本的mutation signature
# 这里的signature.nature2013或者signatures.cosmic就是参考的signature,如果你有自己的signature数据,比如SomaticSignatures包找到的,也可以在这个地方指定,这样就计算的是提供的singature
sample_1 = whichSignatures(tumor.ref = sigs.input, 
                           signatures.ref = signatures.nature2013, # 参考signature 
                           sample.id = 1,  # 样本的barcode 
                           contexts.needed = TRUE,
                           tri.counts.method = 'default' # 是否进行normalzie
                           )
                           
sample_1$weights[1:3]

#  Signature.1A Signature.1B Signature.2
#1            0    0.1564832           0
 

找novel的signature

利用SomaticSignatures包进行,这里找到的novel signature可以作为参考的signature用deconstructSigs,注意96突变类型数据框的名应一致。

Prognostic versus predictive value of biomarkers

1 A prognostic biomarker provides information about the patients overall cancer outcome, regardless of therapy, whilst a predictive biomarker gives information about the effect of a therapeutic intervention. A predictive biomarker can be a target for therapy. REF: PMID 18396036, “Prognostic versus predictive value of biomarkers in oncology” 2 The term prognostic value refers to a genetic factor’s ability to project the natural history of disease in relation to another factor (such as treatment or environmental exposure or another genetic factor; henceforth referred to as treatment) by discriminating between good versus bad prognosis, thereby providing insights into whom to treat with novel modalities.

群体遗传学中基于Fst&Pi的选择消除分析

Fst衡量群体分化程度

1说明两个population是完全独立的。0说明两个population之间自由interbreeding。Fst值越大,说明genetic distance越远。值越低,说明大多数的genetic variation是发生在同一个population的。

Wright建议,实际研究中,F ST为0~0.05:群体间遗传分化很小,可以不考虑; F ST为0.05~0.15,群体间存在中等程度的遗传分化; F ST为0.15~0.25,群体间遗传分化较大; F ST为0.25以上,群体间有很大的遗传分化。

其中 代表 Weir & Cockerham 的 Fst。F 统计量反映了群体结构的变化,它受不同因素的影响,比如突变,遗传漂变,近亲交配,选择作用或 Wahlund 效应(指一个种群中由于亚种群的结构导致的异质性的下降)。在中性进化条件下,F 统计量的大小主要决定于遗传漂变和迁移等因素的影响,如果种群中一个等位基因因为对于特定生境的适合度较高而经历适应性选择,那么其频率的升高会增大种群分化水平,反映在 F 统计量上就是有较高的 Fst 值

肿瘤免疫表型-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

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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