GEO数据库中的文件(SOFT)

除了用GEO2下载数据外,还可以自己直接下载。在看GSE数据集的时候,会看到这三个文件。

Download family Format Description
SOFT formatted family file(s) SOFT SOFT family files are text files that incorporate complete data and meta data for all Platform, Sample and Series records in the family
MINiML formatted family file(s) MINiML MINilML family files are XML files that incorporate complete data and metadata for all Platform, Sample and series records in the family
Series Matrix File(s) TXT Series matrix files are text files that include a tab-delimited value-matrix table generated from the VALUE' column of each Sample, headed by Sample and Series metadata. These files are suitable for loading into spreadsheet applications such as Excel. CAUTION: data are extracted directly from the original records with no consideration as to whether the values are directly comparable.

下数据当然可以用GEO2R,不一定每次都自己下载原始文件,但了解文件格式和内容是很重要的。SOFT formatted family file,MINiML formatted family file,Series Matrix File。以https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE68849为例。

SOFT formatted family file

1,Meta信息

这个文件的头数据记录数据集的编号,实验介绍,包含的样本,使用的平台,上传人等信息,和网页显示的对应。^开头表示entity实体,!表示entity的属性,#表示描述行。

用miRDeep2来定量miRNA丰度

一直用miRDeep2来定量miRNA。miRDeep2包含了bowtie比对和定量两步,比自己搭流程更方便一点。最近换了太服务器准备跑miRDeep2,发现要准备的文件还挺多,比如全基因组的bowtie索引,miRBase的序列等,都忘记当初准备的过程了,所以重新整理一下。

安装

我用conda 安装的

1
mamba install -c bioconda mirdeep2

文件准备

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
mkdir -p ~/ref/miRBase22
cd ~/ref/miRBase22

# 下载miRBase22
wget -c https://www.mirbase.org/ftp/CURRENT/mature.fa.gz
wget -c https://www.mirbase.org/ftp/CURRENT/hairpin.fa.gz

# 提取人has的序列
gunzip mature.fa.gz hairpin.fa.gz
extract_miRNAs.pl mature.fa hsa > mature_ref.fa
extract_miRNAs.pl hairpin.fa hsa > hairpin_ref.fa

# 如果需要预测novel miRNA,还需要下载人基因组序列
wget -c https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_43/GRCh38.p13.genome.fa.gz
gunzip GRCh38.p13.genome.fa.gz
bowtie-build GRCh38.p13.genome.fa GRCh38.p13.genome.fa

运行miRDeep2

这里没有预测新的novel miRNA,另外fastq应该是经过质控后的,不含adapter序列。

Science Advances | 群体遗传学揭示驯化对蜜蜂进化的重要影响

动植物驯化是人类改造自然界的形式之一,促进了由游猎社会向农业定居社会的变革,在人类社会早期的重要性与火的使用、工具的制造及语言的产生相并列。蜂蜜作为史前人类最主要的甜味物质来源,早在石器时代便有猎取的记载。尽管西方蜜蜂Apis mellifera在全球广泛商业化饲养,但由于难以实现完全可控的交配(蜂王和雄蜂在高空飞行交尾导致野生群和饲养群之间持续的基因交流),学界长期认为其未被完全驯化。虽则如此,若人为将蜂群迁出其自然分布区,便可摆脱野生群体这一干扰因素;尤其是在一种致命的体外寄生虫(狄斯瓦螨Varroa destructor)于上世纪后半叶扩张至全球大部分地区之后,西方蜜蜂野生种群已然踪迹难寻。因此,在进行起源与进化相关的群体遗传学分析时,如若将经过高度人工干预的物种样本视为野生群体,势必会导致结果出现偏差,这可能是近年间不断有新的西方蜜蜂系(lineage)和亚种被报道的重要原因。

扬州大学吉挺与吉林省养蜂科学研究所牛庆生、黑龙江省农业科学院牡丹江分院高夫超等团队合作,以我国独特地方资源东北黑蜂(Dongbei bee)为研究对象,系统阐释了人工驯养对物种进化的巨大影响,并在全球首次提出蜜蜂品种的概念。研究发表于Science子刊《Science Advances》,并作为亮点论文(Featured Article)在官网主页重点推介。期刊副总编辑(Deputy Editor)、美国哥伦比亚大学地球环境可持续研究中心主任Shahid Naeem教授评价称:“该研究利用现代基因组工具记录驯化,是一项值得关注的研究方式,我真的非常喜欢。”

图片来源:Science Advances官网

pTMB (Persistent mutation burden)

The pTMB was defined as the number of mutations in either the multi-copy or single-copy category.

https://www.nature.com/articles/s41591-022-02163-w

feautredImage

肿瘤突变负荷TMB经常用在预测免疫治疗反应,但效果有时候并不是很好。这篇文章的作者评估了不太可能发生缺失loss的基因组区域中的突变情况,涉及31 种肿瘤类型 (n = 9,242) 和 8 个接受免疫治疗的队列 (n = 524)。作者发现单拷贝区域中的突变和每个细胞中存在多个拷贝的突变构成了持续性肿瘤突变负担 (persistent tumor mutation burdedn,pTMB),并且与免疫治疗反应有关。 在免疫治疗的选择性压力下,肿瘤进化过程中保留了持persistent mutation,并且具有高 pTMB的肿瘤的有更多炎症相关微环境。 pTMB的存在,阻碍癌细胞克服的进化瓶颈,因此可能在免疫治疗的背景下推动持续的免疫肿瘤控制。

R语言中phyper做超几何检验

phyper

基因集分析有两种,一种是GSEA(gene set enrichment analysis),需要根据所有基因logFC排序,根据rank来算enrichment score,还有一种是ORA(Over-representation analysis),看选出的显著的基因集是否和已知的基因集显著相关。对于ORA分析,常用超几何分布来检验。在R语言中,用的函数是phyper。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
############## 以基因集分析为例,超几何检验看通过差异筛选出的基因集genes是否和已知的某个基因集gene_set显著相关
# x: 研究者筛选出的基因集genes和待检验的已知基因集之间的重叠的基因数目gene_set----> length(intersect(genes, gene_set))
# m: 已知基因集内的基因数目---->length(gene_set)
# n: 背景基因集减去m---->length(universe) - n
# k: 研究者筛选出的差异基因的数目length(genes)
############## 以挑选红球和黑球为例,看挑选的球中是否富集红球
# 有一堆球,红球有n_red个,黑球有n_black个,总共为n个(n_red + n_black),拿出来n_out个球,其中有n_red_out个红球
# x: n_red_out拿出来的球中的红球数
# m: n_red红球数
# n: n - n_red = n_black黑球数
# k: n_out拿出来的球
phyper(x - 1, m, n, k, lower.tail = FALSE)

$$ phyper(…, lower.tail = FALSE)计算的是Pr(X>x)在计算p值时,x-1计算的才是Pr(X≥x) $$