RNA-seq 上游实战&排坑记录

RNA-seq 上游实战&排坑记录

一.流程总览

(每个流程几乎包括参数详解,代码,结果,报错,注意)
01.安装conda
02.安装软件
03.数据下载
04.sra to fastq
05.fastqc质控
06.Trim(除去低质量碱基和接头)
07.Hisat2 Mapping
08.sam to bam(格式转换,排序,建立索引,查看reads比对情况)
09.bam to featurecounts

二.环境/文件

1.阿里云2核16G型云服务器,300G高效云盘;
2.Hisat2官网人类基因组索引文件
3.基因组注释文件
4.PRJNA497524,人骨肉瘤细胞中某个基因缺失与野生型各两个样本的转录组测序数据。

三.实战步骤,报错,处理,结果

01.安装conda

安装流程 详见技能树连接,踩雷率较低,按照流程一步步来即可。https://www.jianshu.com/p/a84cd44bac67
参数详解 https://www.jianshu.com/p/ce8af4e7869d

02.安装软件

安装流程 代码参见https://www.jianshu.com/p/a84cd44bac67但本次实战橘色标出的软件未用到,且tophat安装出现报错

在这里插入图片描述

报错 因为python环境引发的报错

RNA-seq 上游实战&排坑记录_第1张图片
03.SRR数据下载
由于prefetch下载极慢,按技能树推荐,采用Aspera。

Aspera安装 步骤详见https://blog.csdn.net/weixin_44879403/article/details/106489201
参数详解 其重要参数如“-I,-P等”详见 https://www.jianshu.com/p/dc2252fab020

报错及解决:

  1. 安装aspera不能在root用户在这里插入图片描述

解决:创建新用户,详见 https://blog.csdn.net/weixin_37182342/article/details/80298464

  1. Ascp报错can not resolve target host
    在这里插入图片描述
    解决:换用ENA数据库下载(好像ENA比NCBI更容易成功)
    ENA: https://www.ebi.ac.uk/ena/browser/sequence-search (在搜索栏输入PRJNA号)
    在这里插入图片描述

  2. 参数多检查
    由于NCBI和ENA数据库中参数据存放地址,以及它们在Aspera的用户名不同,因而代码也不同。详细区别及参数注意详见https://www.jianshu.com/p/cf0a7bli937413 很重要!

  3. 短信提示收到DDOS攻击
    可能是ascp启用了多路下载,主动流量暴增被判定为DDOS
    (来自技能树群友的回复)于是从百度云1核2G换成了阿里云2核4G,解决。

  4. 注意数据是单端还是双端,查看方法参https://mp.weixin.qq.com/s/8fM_an05VoTwp0JhexHbXw

运行代码及结果(5min-0.5h不等)
将ENA中搜索得到的sra或fastq文件的下载链接复制后,按照上述参数详解下载。
RNA-seq 上游实战&排坑记录_第2张图片
RNA-seq 上游实战&排坑记录_第3张图片

05.fastqc质控

软件 Fastq-dump
参数详解 参数详解参见 https://www.jianshu.com/p/43680bdd42ae

运行代码及结果
RNA-seq 上游实战&排坑记录_第4张图片
RNA-seq 上游实战&排坑记录_第5张图片
后使用multiqc合并成一个.
结果
每一个双端测序的样本,会分别生成html结果报告,.gz,.zip 3个文件
(质控报告的解读详见https://www.cnblogs.com/emanlee/p/10271528.html )
RNA-seq 上游实战&排坑记录_第6张图片
(注:从此步骤开始只做两个样本,605和602,分别是敲除和野生型的)

06.Trim(除去低质量碱基和接头)

软件 Trim Galore
参数详解 参数详解参见 https://www.cnblogs.com/emanlee/p/10298054.html

运行代码及结果
在这里插入图片描述

RNA-seq 上游实战&排坑记录_第7张图片
在这里插入图片描述
得到的val_1.fq.gz用于下一步的比对,trimming report可以查看数据修剪的情况
比如该图为602号样本的两个read数据,分别过滤了0.8%的碱基和0.2%碱基
RNA-seq 上游实战&排坑记录_第8张图片
在这里插入图片描述
注意事项或报错

  1. 在写trim.sh时要注意dir的绝对路径,详见https://www.jianshu.com/p/74a328f4d23a

  2. 存储不够:trim-galore处理时会先后生成三种文件,其中每个val_1.fq.gz文件约为5-6个G,因存储不够而暂停,于是决定挂载三块100G的云盘(尤其是后面的sam文件更大),重新运行。挂载步骤
    https://yq.aliyun.com/articles/225380?type=2

  3. 云盘挂载的坑:首先一个小tips,挂载后读写权限可以直接在Filezilla中右键选择目录,修改文件属性,挂载了云盘的目录的读写权限在这里非常重要!如图
    在这里插入图片描述

  4. Nohup(将程序挂在后台即便用户注销也不阻碍)使用也容易出错,其使用方法详见
    https://www.cnblogs.com/klb561/p/10153834.html
    出现: appending output to nohup.out或者nohup: ignoring input and redirecting stderr to stdout都不用紧张,都是正常的,但是为了避免出错,最好在Filezilla中实时观察“待输出的文件”的大小变化(不断点刷新),或者下载nohup.out文件查看有无ERROR。

  5. 基础的类似于代码中的* 以及${}的用法,以及vi编辑器,cat&EOF命令写sh文件可以百度下。

07.Hisat2 比对到基因组
运行代码及结果
RNA-seq 上游实战&排坑记录_第9张图片
得到sam文件用于后续分析,得到的mapping.xls查看比对率,605样本的比对率为97.69%
602样本的比对率为97.85%,单个样本比对时间将近3小时。
RNA-seq 上游实战&排坑记录_第10张图片
RNA-seq 上游实战&排坑记录_第11张图片
结果解读详见莎菲基因培训PPT
在这里插入图片描述
RNA-seq 上游实战&排坑记录_第12张图片
报错以及解决

  1. hisat2 –help正常,但是运行显示参数的command not found,参照技能树的批量比对代码,详见https://www.jianshu.com/p/a84cd44bac67
    RNA-seq 上游实战&排坑记录_第13张图片
    解决:发现自己添加的—summary-file参数没有传递${id},改过来之后就对了,但是自己感觉问题是不是和hisat2的版本,没有被识别有关?最后还是用了单个比对的代码,见上图。

  2. NO memory,建议我在更大内存的设备上re-run,于是升级成了8G,然后到16G内存

  3. 也遇到过这个,但是网上查解释说这个不碍事儿,希望有大佬解答下在这里插入图片描述

  4. -x参数的基因组索引文件可以从hisat官网下载(最好用迅雷会员下,人类的4.3G)
    或者从NCBI/Ensebmle数据库下载genome.fna 文件用hisat2-build 构建索引。
    这里也需要一点软连接的知识。
    RNA-seq 上游实战&排坑记录_第14张图片
    08.sam转bam
    参数详解
    参数详解以及背景知识详见
    https://blog.csdn.net/xiaomotong123/article/details/106504192/

运行代码及结果

  1. 格式转换(view命令)
    Bam是sam的二进制形式,因而小得多。

  2. 排序(sort命令)在这里插入图片描述
    Sort命令会生存多个sort.bam文件,比如这里的48个,最后合并成为一个bam
    RNA-seq 上游实战&排坑记录_第15张图片
    并且合并后的bam.sort因为排序后去除重复而比原始bam 文件小
    在这里插入图片描述

  3. 建立索引(index命令)
    在这里插入图片描述
    生成bam.index文件,见步骤2中的图
    在这里插入图片描述

  4. 查看reads比对情况(flagstat命令)RNA-seq 上游实战&排坑记录_第16张图片
    该结果的详细解读详见:https://blog.csdn.net/u013553061/article/details/53402232

09.bam to featurecounts
参数详解及用法
https://www.bioinfo-scrounger.com/archives/407/
需要在Gencode 网站下载基因组注释文件,我这里的是gencode.v34.annotation.gtf

运行代码及结果
在这里插入图片描述
RNA-seq 上游实战&排坑记录_第17张图片
得到最终featureCounts文件!

四.感悟总结:

  1. 最重要的一点,处理人类基因组数据一定要先选择好服务器的配置,最初配置是2和4G,40G存储,后来在hisat2比对的过程中逐渐升级到340G,内存16G,2核。费用为300+一个月,没能抢到技能树推出的64线程256G服务器一年700+的名额,希望能赶上下次活动。高配可以避免一些不重要的报错。

  2. Nohup命令挂载后台真香,尤其是中午晚上睡觉前挂上。

  3. 每个软件的参数如果—help英文难理解,在百度上直接搜索中文的参数详解会容易点,参数一定要心细的去看。

  4. 不同数据的存放路径,以及是否能成功读取(每个文件的权限)也是程序能否跑成的一关键点。

  5. Filezilla中查看“待生成的文件”的变化,以及nohup的内容可以更一步确认脚本运行的情况。

  6. Root和非root用户对于挂载了云盘的目录的执行权限(移动,或读写)也是不同的。

  7. 出现问题或者遇到看不懂的,可以自己设计小实验去找一下原因看一下结果,也可以百度搜索一下(大部分的坑是别人出现过的),也可以在生信技能树的扣扣群里求助1800多位学友。

  8. 每一步骤的结果解读,每个步骤有什么用,也都可以百度或者谷歌有助于真正的了解行业背景,而不是运行个结果完事儿。

  9. 在运行前预感到哪个参数不太确定,或者哪里可能出现问题,千万不能偷懒放过,不然跑出来会心累,还要重搞。

  10. 每次笔记都要安利一波曾大佬&生信技能树,在简书,公众号,B站,博客,知乎中都有发布教程和资源,东西很多但是一定要心静的去看和尝试。

你可能感兴趣的:(生物学)