CNS图表复现11—RNA-seq数据可不只是表达量矩阵结果

本文是参考学习 CNS图表复现11—RNA-seq数据可不只是表达量矩阵结果的学习笔记。可能根据学习情况有所改动。
前面我们提到了:CNS图表复现10—表达矩阵是如何得到的,有粉丝提问,既然都开始走RNA-seq数据的上游分析了,到Linux服务器操作了,难道仅仅是为了拿到表达矩阵文件吗?RNA-seq数据分析可以有很多啊,比如融合基因,可变剪切,甚至变异位点。

的确文章正文是注明了全部的肿瘤病人的所有的癌症测序样品的热点区别情况,就是图1的:(C) Circle plot of the clinically identified oncogenic driver (outer circle) and treatment time point (inner circle) for each sample.

图片

<figcaption style="margin: 5px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 12px;">癌症病人的肿瘤样品的突变总结</figcaption>

这个图的数据来源在文章的附件Excel表格,内容如下;

图片

<figcaption style="margin: 5px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 12px;">癌症病人的肿瘤样品突变数据详情</figcaption>

可以看到,每个病人的每个肿瘤样品是否含有突变位点,以及多少个癌症单细胞是含有这样的突变,都写的清清楚楚。

那么问题就来了,这个项目的单细胞RNA-seq数据肯定是可以推断具体的每个细胞是否有突变位点,不然就不会有上面的表格了!再具体看附件Excel表格,发现有更具体的信息,如下:

图片

<figcaption style="margin: 5px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 12px;">每个单细胞的突变情况</figcaption>

也就是说,每个细胞具体突变是什么,都列出一清二楚,而每个细胞我们只有单细胞RNA-seq数据,所以这个突变信息毫无疑问就是从这些单细胞RNA-seq数据拿到的!

RNA-seq数据找变异位点的最佳实践

很多人问针对RNA-seq数据如何找变异位点,尤其是肿瘤,比如TCGA计划的海量RNA-seq数据,所以我就写了教程:

并且分享了代码,就是STAR aligner 2-pass的比对,衔接上 GATK的MuTect2流程找变异位点。而且2018年6月发表在PeerJ的BIOINFORMATICS AND GENOMICS的文章标题是;《Detection and benchmarking of somatic mutations in cancer genomes using RNA-seq data》的文章,跟我的教程基本上差不多。

同样的,我们也是拿几个样品测试流程,样品的介绍在前面的教程:CNS图表复现10—表达矩阵是如何得到的

conda activate rna
mkdir -p align 
cd align


star_index=$HOME/biosoft/starFusion/db/GRCh38_gencode_v31_CTAT_lib_Oct012019.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa.star.idx/
ls -lh $star_index
bin_star=$HOME/biosoft/STAR-2.7.3a/bin/Linux_x86_64/STAR  
## versionGenome           2.7.0d
gatk=$HOME/biosoft/gatk/gatk-4.1.8.1/gatk
DBSNP=$HOME/biosoft/GATK/resources/bundle/hg38/dbsnp_146.hg38.vcf.gz
kgSNP=$HOME/biosoft/GATK/resources/bundle/hg38/1000G_phase1.snps.high_confidence.hg38.vcf.gz
kgINDEL=$HOME/biosoft/GATK/resources/bundle/hg38/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz
bed=$HOME/annotation/CCDS/human/exon_probe.GRCh38.gene.150bp.bed

GENOME=$HOME/biosoft/starFusion/db/GRCh38_gencode_v31_CTAT_lib_Oct012019.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa
# $gatk  CreateSequenceDictionary -R $GENOME # 最新版gatk,这个步骤非常快

for id in  {15..19} 
do 
fq1=../clean/SRR107772${id}_1_val_1.fq.gz
fq2=../clean/SRR107772${id}_2_val_2.fq.gz
sample=SRR107772${id}

# star软件超级消耗内存,严格控制线程数量哦!
$bin_star --runThreadN  1  --genomeDir $star_index  \
--twopassMode Basic --outReadsUnmapped None --chimSegmentMin 12  \
--alignIntronMax 100000 --chimSegmentReadGapMax parameter 3  \
--alignSJstitchMismatchNmax 5 -1 5 5  \
--readFilesCommand zcat --readFilesIn $fq1 $fq2 --outFileNamePrefix  ${sample}_

mv ${sample}_Aligned.out.sam $sample.sam
samtools sort -o $sample.bam  $sample.sam
samtools index $sample.bam
samtools flagstat $sample.bam  > $sample.flagstat
# 这里需要判断上一个步骤是否成功,判断命令状态,简化脚本,就不写啦
# rm  $sample.sam 

sambamba markdup --overflow-list-size 600000  --tmpdir='./'  -r  $sample.bam  ${sample}_rmd.bam

$gatk SplitNCigarReads -R $GENOME \
-I ${sample}_rmd.bam \
-O  ${sample}_rmd_split.bam

# 因为我的star比对得到的bam文件里面没有 Read groups
# 参考:https://gatkforums.broadinstitute.org/gatk/discussion/6472/read-groups
$gatk AddOrReplaceReadGroups   -I  ${sample}_rmd_split.bam  \
  -O  ${sample}_rmd_split_add.bam -LB $sample -PL ILLUMINA -PU $sample -SM $sample
$gatk  --java-options "-Xmx20G -Djava.io.tmpdir=./"   BaseRecalibrator \
        -I  ${sample}_rmd_split_add.bam \
        -R $GENOME \
        -O ${sample}_recal.table --known-sites $kgSNP --known-sites $kgINDEL

$gatk  --java-options "-Xmx20G -Djava.io.tmpdir=./"   ApplyBQSR \
        -I  ${sample}_rmd_split_add.bam -R $GENOME --output ${sample}_recal.bam -bqsr ${sample}_recal.table

bam=${sample}_recal.bam
$gatk  --java-options "-Xmx20G -Djava.io.tmpdir=./"   HaplotypeCaller  \
        -ERC GVCF  -L $bed -R $GENOME -I $bam  --dbsnp $DBSNP -O  ${sample}_gatk.gvcf
done  

关于这个star软件安装,已经配套数据库文件的准备工作, 见:2019年11月:最新版针对RNA-seq数据的GATK找变异流程的教程。当然了,这个代码有点超纲了,对绝大部分初学者来说。需要把Linux的6个阶段跨越过去 ,

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容