18

WGCNA的输入矩阵到底是什么格式

虽然我们全国巡讲课程并不讲解WGCAN内容,因为时间的确有限,短短的3天要传授给大家R语言,linux还有RNA-seq数据分析实战,希望给大家打造好的基础成为合格的生信工程师,但是我们公众号有数不胜数的高级分析教程,比如WGCNA,有了基础的大家看教程就容易很多。今天收到生信技能树201908北京站学员提问,问题描述是: Continue reading

18

学徒复现WGCNA文章图表

生信技能树学徒培养到现在已经正式走过了一个年头,不知道这个风雨飘摇的业务还能持续多久,一个月的时间说长也不长,能在我的陪伴下走到WGCNA环节的学徒其实不多,因为要学linux和R基础,还有4大NGS组学,大量知识点其实是学徒培养结束后漫长的数据分析生涯再接再厉。 Continue reading

18

RNA-seq数据不仅仅是表达量

RNA-seq数据毫无疑问是目前NGS领域被使用最频繁的了,但是大部分科研人员对它的理解,还停留在表达量层面,尤其是基于基因的表达量,无非就是分组,然后走差异分析这样的统计学检验,绘制火山图和差异基因热图,上下调的通路。
先不说大家对RNA-seq数据的标准分析是否一定是对的,这样的简陋的分析其实是对数据的暴殄天物! Continue reading

18

IRX2基因对NPC的预后

发表在Int J Clin Exp Pathol 2018;文章:Up-regulation of the IRX2 gene predicts poor prognosis in nasopharyngeal carcinoma
仅仅是医院收集了病人的随访时间,检测其中一个感兴趣基因的表达量,这样的汇总数据统计就可以发文章。 Continue reading

18

最好用的融合基因查找工具终于正式发表了

就是STAR-fusion啦,它可以直接基于STAR比对好的bam文件来做分析,而大多数其它融合基因查找工具,需要从fastq文件开始,不太方便。之前我在生信技能树公众号介绍过它,那个时候发表该工具的文章是:STAR-Fusion: Fast and Accurate Fusion Transcript Detection from RNA-Seq 在biorxiv预印本: Continue reading

18

转录本定量本来就不是一件容易的事情

gtf文件大家都了解,基因或者外显子的坐标相对独立,但是转录本很不一样,同一个基因的不同转录本共用外显子,这样的话它们的坐标其实很多都是overlap的,这样,我们的二代测序的100bp或者150bp的reads就无法判定它到底属于哪一个转录本!(这个时候全长转录组测序(iso-seq)可能是更好的选择) Continue reading

18

招聘全球宣讲行程规划师

这是一个我也不知道该招聘什么样的人才的招聘通知!

生信技能树的粉丝都知道,**2019是我们的巡讲和宣讲元年**,是我们用实际行动来身体力行的推进生物信息学的发展,这一年我们从繁华的北上广深杭,一路狂奔到了祖国西南部的成都、重庆及西部的西安,从华北地区的天津、呼和浩特,再到华中地区的武汉、长沙、郑州,都有我们的身影! Continue reading

18

在seurat3里面计算线粒体基因含量的2个方法

首先构建10x对象,这里就不赘述了,我在单细胞天地的2个教程:

  • 使用seurat3的merge功能整合8个10X单细胞转录组样本
  • seurat3的merge功能和cellranger的aggr整合多个10X单细胞转录组对比
    展示的非常清楚啦,因为每个教程想说明的情况不一样,所以需要重新把计算线粒体基因含量讲解一下。
    为了维持教程的统一性,我这里一直使用 sce 来代表构建好的seurat对象。

    第一种方法

    因为计算某些基因含量这个需求实在是太常见了,所以特意设置了一个函数:PercentageFeatureSet

    sce <- CreateSeuratObject(Read10X('../scRNA/filtered_feature_bc_matrix/'), "sce")
    head(sce@meta.data)
    GetAssayData(sce,'counts')
    sce[["percent.mt"]] <- PercentageFeatureSet(sce, pattern = "^MT-")
    VlnPlot(sce, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
    

    这样就可以可视化我们计算好的线粒体基因含量,下图可以看出需要最起码的过滤。
    image-20191008172956194
    一般来说,这个过滤起码得是线粒体基因含量占比25%以下的细胞才保留,当然也得考虑到生物学课题啦。

    第二种方法

    上面的方法是修改 sce[[“percent.mt”]] ,下面我们演示 AddMetaData 函数,同样是可以增加线粒体基因含量信息到我们的seurat对象。

    mt.genes <- rownames(sce)[grep("^MT-",rownames(sce))]
    C<-GetAssayData(object = sce, slot = "counts")
    percent.mito <- Matrix::colSums(C[mt.genes,])/Matrix::colSums(C)*100
    sce <- AddMetaData(sce, percent.mito, col.name = "percent.mito")
    sce[["percent.mito"]]
    

    也可以是添加核糖体基因含量

    rb.genes <- rownames(sce)[grep("^RP[SL]",rownames(sce))]
    percent.ribo <- Matrix::colSums(C[rb.genes,])/Matrix::colSums(C)*100
    sce <- AddMetaData(sce, percent.ribo, col.name = "percent.ribo")
    

    如下所示,可以看到部分细胞的核糖体基因含量也过高,至于过滤的指标,大家需要看文章啦!
    image-20191008173259017
    也可以是免疫球蛋白相关基因含量等等,取决于大家的生物学课题啦。

18

义诊

朋友圈医务工作者不少,经常看到各个疾病方向的义诊通知,各大城市均有,很佩服大家,而且我表示实名羡慕。虽然我不是学医的,但是也可以从另外一个层面帮助一下大家,我也来一个义诊,那就是我们生信技能树最擅长生物信息学方面的“义诊”啦! Continue reading