转录组上游分析

转录组上游分析
Song Xudong创建环境
conda create -n rna_p3 python=3 sra-tools |
上游分析软件下载
conda install -y 软件名=版本号 |
例如sra-tools
conda install bioconda::sra-tools |
具体下载可在conda官网找到 https://anaconda.org/
下载
质控清洗:fastqc multiqc trim-galore
比对计数: hisat2 subread samtools=1.6 salmon
建议一个个安装,顺利完成
示例文件下载
参考文章
https://www.nature.com/articles/s41422-021-00477-x#data-availability
找到文章中
All data generated in the current study are available in the Gene Expression Omnibus with accession number GSE154290.
在NCBI网站中:https://www.ncbi.nlm.nih.gov/
选择GEO DataSets
查找GSE154290
PAIRED 表示为双端测序
SRA.txt
SRR12207279 |
prefetch下载
单个下载
prefetch SRR1482462 |
批量下载
prefetch -f no -p --option-file SRA.txt |
后台下载
nohup prefetch SRR12207279 & |
##使用超算无法通过提交sbatch的方式下载,怀疑是sbatch任务的网络问题
后台批量下载
nohup prefetch -f no --option-file SRA.txt & |
$ nohup: ignoring input and appending output to ‘nohup.out’ 并不是报错,按回车继续
查看后台任务
jobs |
会显示
UID PID PPID C STIME TTY TIME CMD
dk_szy 195230 145297 4 15:11 pts/2 00:00:00 prefetch -f no –option-file SRA.txt
删除后台任务
kill -9 1 |
下载完成
会在nohub.out文件中显示下载的进展,可查看是否完整下载
SRA文件转为FASTQ格式
单个转格式
慢的转换,太慢了,不建议使用
#将当前 |
使用这个转换,多线程转换格式,输出的为fq的文件
fasterq-dump --split-3 ./SRR12207283 |
批量转格式
小命令:删除当前目录SRR文件夹里的所有分文件夹,只保留其文件
find ./SRR -mindepth 1 -type d -exec sh -c 'mv {}/* ./SRR; rmdir {}' \; |
fasterq-dump进行批量转换,将所有 .sra 文件都放在SRR文件夹里
# 设置输入目录 |
生成在当前路径 ./fastq-result 下的 fastq 文件
md5检查文件完整性
这样检验似乎并不是很准确,需要用数据来源处所给的 md5 值进行比对
生成md5值
md5sum *gz >md5.txt |
检查,要在当前文件夹下
md5sum -c md5.txt |
原始数据质量查看
fastqc
ls ./fastq-result/* | xargs fastqc -t 12 -o ./fastq-result/ |
multiqc
multiqc ./fastq-result/ -o ./fastq-result/ |
质控
trim_galore
单个质控
-q 25 质量
–phred33 测序类型
–length 35 最短长度
–stringency 3 设定可以忍受的前后adapter重叠的碱基数,默认为1(非常苛刻)。可以适度放宽,因为后一个adapter几乎不可能被测序仪读到。
–paired 双端测序
-o ./clean_data/ 设置输出目录
./fastq-result/SRR12207279_1.fastq ./fastq-result/SRR12207279_2.fastq 为输入文件
trim_galore -q 25 --phred33 --length 35 --stringency 3 --paired -o ./clean_data/ ./fastq-result/SRR12207279_1.fastq ./fastq-result/SRR12207279_2.fastq |
批量质控
运行目录下包含 ./fastq-result/ 这个文件夹,存放测序数据 .fastq或 .fastq.gz
方法一:这个是标准的单线程循环方式,较慢。4个双端数据,大概半个小时,慢但是不容易出错
# 设置工作目录为fastq文件所在的目录 |
fq.gz格式文件是处理后得到的数据,txt格式文件是样品处理的结果报告,也包括软件运行的参数信息
方法二:多任务同时进行,4个双端数据,10分钟
# 设置工作目录为fastq文件所在的目录 |
结果
再次查看样品质量
XXXXXX_val_1.fq即为清洗后的序列
fastp质控
此处为扩展学习
conda下载fastp
# note: the fastp version in bioconda may be not the latest |
单个
输入 -i -I 双端测序文件 ,输出 -o -O 质控处理后文件,和 json文件,fastp.html结果
fastp -i in.R1.fq.gz -I in.R2.fq.gz -o out.R1.fq.gz -O out.R2.fq.gz |
批量
# 创建清理后的文件夹 |
下载参考基因组
参考:http://www.360doc.com/content/21/0708/21/44561002_985728537.shtml
Hisat2官网的 UCSC参考基因下载地址 https://daehwankimlab.github.io/hisat2/download/#h-sapiens
官网提供了人和小鼠的索引文件下载,压缩包有make_grch38_tran.sh文件,详细记录了创建索引的过程。
一般要先构建索引然后进行比对,但是人和鼠的索引在Hisat2官网可直接下载使用
https://blog.csdn.net/qq_74093550/article/details/131915068
下载并解压所需的 mm10 或 grcm38 的index文件
下载UCSC mm10,小鼠参考基因,创建文件夹并下载到 ./reference 测试中使用这个
wget https://genome-idx.s3.amazonaws.com/hisat/mm10_genome.tar.gz |
另一个参考基因组GRCm38,GRCm38下载后为同一个文件?小鼠还是直接用UCSC mm10
wget https://cloud.biohpc.swmed.edu/index.php/s/grcm38/download -O GRCm38.tar.gz |
参考序列及注释下载汇总
直接可用的索引和注释
UCSC下载,推荐 https://hgdownload.soe.ucsc.edu/downloads.html
选择物种,下载chromFa.tar.gz
人
##基因组 UCSC hg38 |
小鼠
##基因组 UCSC mm10 |
自己构建参考序列索引(可选)
下载参考:https://blog.csdn.net/u011262253/article/details/117486244
如果不使用UCSC则需要这一步
Ensembl数据库
参考:https://blog.csdn.net/flashan_shensanceng/article/details/115705200
在Ensembl数据库:https://asia.ensembl.org/index.html
找到我们数据的物种
参考基因组和注释文件都有很多的版本,需要我们根据实际情况进行选择
Ensemble提供两种组装形式和3种重复序列处理方式的参考基因组,分别是primary、toplevel 、unmasked(dna) 、soft-masked(dna_sm) 和masked(dna_rm) 。
一般选择 .dna.primary或.dna_sm.primary!!!!!!
没有的话选择 .dna.toplevel.fa.gz 也可
分别包含三种类型的.gtf(general tranfer format)和.gff(general feature format)注释文件,根据自己需求选择合适注释信息
- gtf:全部的注释信息,选择这个就好
- chr:染色体注释信息
- abinitio:预测基因集注释信息
如选择:
Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
Homo_sapiens.GRCh38.112.gtf.gz
NCBI数据库
https://www.ncbi.nlm.nih.gov/datasets/genome/
我们下载
Genome sequences (FASTA)
Annotation features (GTF)
GENCODE数据库
如果只涉及人类和小鼠,极力推荐 GENCOE,这里有着相较其他数据库,最新最全的基因组和其注释信息。
一般选择
Genome sequence (GRCh38.p14) | ALL |
---|---|
Comprehensive gene annotation | CHR |
UCSC数据库
因为只有人和鼠的是已经有构建好索引的文件可以直接用,但是其他物种还是需要自己进行构建
在官网中找到自己的物种 https://hgdownload.soe.ucsc.edu/downloads.html
自己选择合适的文件
下载结果
构建方法
参考 https://blog.csdn.net/weixin_40640700/article/details/116891230
例如Ensembl数据库中下载小鼠的参考序列,用 hisat2 构建,
注意,使用什么软件构建索引,就使用什么软件进行比对,并使用序列对应的注释
下载参考序列和注释 https://asia.ensembl.org/Mus_musculus/Info/Index
选择下载
参考基因 Mus_musculus.GRCm39.dna.primary_assembly.fa.gz
注释文件 Mus_musculus.GRCm39.112.gtf.gz
使用命令下载
#基因文件 |
构建命令,需要等待的时间较长,可能1-2h
#解压文件 |
得到8个索引文件,前面的 MusGRCm39 为自己设置的索引名字,结尾为 ht2
使用自己构建的索引和官方提供的索引进行比较
自己索引比对率和官方比对率比较,相差无几
暂未进行较多尝试
samtools sort -@ 12 -o ./688.bam ./6668888.sam |
值得注意的是自己从Ensembl数据库中下载的对应注释,生成的count矩阵需要geneid为 ENSMUSG00000104478,之后需要进行ID转换
hisat2比对基因
hisat2单个比对
一个样,花了8分钟,多样品记得调整运行时间
index='/public/home/dk_szy/songxudong/rna-test/reference/mm10/genome' |
hisat2批量比对
hisat2
比对将双端的fq文件转为》sam文件》bam文件
sam太大,命令中转为bam就自动删除了
结果在 ./align/ 文件夹中
25行 hisat2 -t -p 20 -x $index \ 中和通过调整 -p 20 的线程数加速运行
|
查看运行结果
grep alignment slurm-555095.out 为运行的报告文件,提取关于alignment的结果
grep alignment slurm-555095.out |
生成counts表达矩阵
使用featureCounts 计数得到
下载参考基因注释
UCSC mm10 为例
https://hgdownload.soe.ucsc.edu/goldenPath/mm10/bigZips/genes/
gtf=’/public/home/dk_szy/songxudong/rna-test/reference/gft/mm10.refGene.gtf.gz’ 为注释文件,要和比对中的参考基因对应!!!
date |
结果在./counts中
count矩阵 counts.txt
注释结果解读 multiqc_report.html
类型转换
featureCounts的结果包含基因长度,可直接使用进行转换
整理为带基因长度的文件
|
转录本相关
未深入了解使用
基于PASA软件
简单介绍的视频:https://www.bilibili.com/video/BV1KE421g7kT?t=3053.0&p=7
样品的重命名和分组
这部分可省略
counts.txt 中根据分组进行修改,样品少则手动在 Excel 中修改也一样
下载的数据从ncbi中下载 Metadata
在R语言中进行修改
需要
Metadata文件 SraRunTable.txt
count文件 counts.txt
###环境设置 |
用于下游分析的文件 count-改名.csv
分组信息文件 分组.csv
文件目录
test :测试文件
SRR:下载的源文件
fastq-result:解压后的双端文件
clean_data:质控后的序列文件
align:比对后未注释的文件
counts:对比后的count文件,需进行样品重命名
reference:参考序列和注释文件
.sh 按步骤的分析操作文件 sbatch XXX.sh