1、wget http://opengene.org/fastp/fastp
安装fastp工具
2、sudo apt install hisat2
安装hisat2工具
3、sudo apt install stringtie
安装stringtie工具
1 raw data 的质量评估与控制
使用 fastp-0.20.1 软件对 raw data 进行质量检测,同时去除含有接头的序列、碱基质量 phred 低于 15 的不合格序列和长度低于 15 的 reads,最终得到lean data。
2 序列比对
在对 raw data 进行过滤处理得到 clean data 后,需要将 reads 比对到相应物种的参考基因组上。使用 HISAT2-2.1.0 进行序列比对,下载参考基因组和注释文件,将 reads 比对到参考基因组上。
3 基因表达量定量与差异表达分析
将 HISAT2-2.1.0 比对后得到结果用 StringTie-1.3.4d 进行定量,从比对上的reads 中组装转录本,计算其中各转录本的表达水平,得到基因与转录本的counts 结果。在 RStudio 平台上使用 DESeq2 包进行差异表达分析。以|log2FC| > 1,Padj< 0.05 为标准进行筛选,获得差异表达的基因。
fastp -i L1xin_L1_313X13.R1.fastq.gz -I L1xin_L1_313X13.R2.fastq.gz -o L1xin_L1_313X13.R1.fastp.fastq.gz -O L1xin_L1_313X13.R2.fastp.fastq.gz
hisat2-build Equus_asinus.ASM1607732v2.dna.toplevel.fa genome_index
#(构建参考基因组的索引,“genome.fasta”参考基因组)
hisat2 -p 4 --dta -x genome_index -1 L1xin_L1_313X13.R1.fastp.fastq.gz -2 L1xin_L1_313X13.R2.fastp.fastq.gz -S L1xin_L1_313X13.sam
samtools view -bS L1xin_L1_313X13.sam > L1xin_L1_313X13.bam
samtools sort L1xin_L1_313X13.bam -o L1xin_L1_313X13.sort.bam
stringtie -e -B -p 4 -G Gallus_gallus.GRCg6a.101.chr.gtf -o L2-FZB_.gtf BNP11feiL4.sort.bam
服务器提交(使用服务器的条件下)
chmod +x 1.sh
jsub -J hrd -n 10 "./1.sh &> 1.out &"
#将上述文件写入到1.sh脚本文件中提交上服务器,得到1.out反馈文件以及其他后续文件
将所有样本处理完之后得到多个“stringtie”处理后的文件群,在处理过程中需要将不同样本经过stringtie处理得到的文件群保存到独立的文件夹中。
在安装stringtie时,软件会自带一个名为“prepDEpy”的脚本,将这个脚本文件放在刚才保存的文件夹外部,运行这个py脚本,即可得到这一系列样本的基因表达数据“gene_count_matrix.csv”和“transcript_count_matrix.csv”,其中“gene_count_matrix.csv”将会在后续处理中使用到。
自动化+1
# 遍历目录中的文件
for file in *R1.fastq.gz; do
if [[ -f $file ]]; then
# 提取文件名中.R1.fastq.gz之前的部分
base=$(basename "$file" .R1.fastq.gz)
# 检查索引文件是否存在
if [ ! -f genome_index.6.ht2 ]; then
# 如果不存在,则执行hisat2-build
hisat2-build Equus_asinus.ASM1607732v2.dna.toplevel.fa genome_index
else
# 如果存在,则执行fastp和hisat2-build以及后续命令
fastp -i "$base".R1.fastq.gz -I "$base".R2.fastq.gz -o "$base".R1.fastp.fastq.gz -O "$base".R2.fastp.fastq.gz -h "$base".fastp.html&& \
hisat2 -p 4 --dta -x genome_index -1 "$base".R1.fastp.fastq.gz -2 "$base".R2.fastp.fastq.gz -S "$base".sam && \
samtools view -bS "$base".sam | samtools sort -o "$base".sort.bam
fi
fi
done