ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
114 stars 30 forks source link

生信技能树-day16 转录组上游分析-概述、fastq、准备工作 #5135

Closed ixxmu closed 3 months ago

ixxmu commented 3 months ago

https://mp.weixin.qq.com/s/JH86aRUVgBF2GBdHNOrNQQ

ixxmu commented 3 months ago

生信技能树-day16 转录组上游分析-概述、fastq、准备工作 by 生信菜鸟团

从我们生信技能树历年的几千个马拉松授课学员里面募集了一些优秀的创作者,某种意义来说是传承了我们生信技能树的知识整理和分享的思想!


今天的是三周合计15天的数据挖掘授课学员一点一滴整理的授课知识点笔记哦,还有互动练习题哈,欢迎大家点击文末的阅读原文去关注我们学员的公众号哦!

转录组测序分析

转录组测序概述

转录组测序分析的流程

中心法则、non-coding RNA分类

此部分需要理解的重点

  1. 构建文库→质检→上机测序
  2. SBS(Sequencing-By-Synthesis):通过单分子阵列实现在小型芯片(Flowcell)上进行桥式PCR反应。通过可逆阻断技术实现每次只合成一个碱基,再利用四种带有不同荧光标记的碱基,通过荧光激发/捕获,读取碱基信息:基于可逆终止的、荧光标记dNTP,边合成边测序
  3. 双端测序,得到的文件每个样本有2个fastq文件,指的是read1和read2
  4. 测序得到的是荧光信号,根据荧光信号定量

fastq数据格式

  • 测序平台→原始图像数据→碱基识别Base Calling→原始测序序列Raw Data

  • 文件格式为FASTQ(fq)

  • 包含测序序列信息及对应质量信息,每个Read由四行组成:

  1. 第一行:@开头+Illumina测序识别符Sequence Identifiers(和描述文字)
  1. 第二行:碱基序列

  2. 第三行:+开头(和测序识别符)

  3. 第四行:对应序列的测序质量的ASCII码

  • 碱基质量值Quality Score/Q-score:碱基识别出错的概率的整数映射,值越说明碱基识别准确度越高,识别越可靠
  • 第四行中的字母和符号为Q值+33(也有可能是+64,根据不同机器)在ACSII表中对应的字符
  • 实际质控报告结果示例:
  1. ReadNum:原始数据有多少对Read
  2. BaseNum:原始数据有多少碱基
  3. Q20:Phred值大于20的碱基数占总碱基数的百分比,其他同理

准备工作

1.工作目录管理

这一部分非常非常非常重要,拥有一个优秀的工作习惯比什么都重要

1.1 目录一览
## 示例如下:
├── database # 数据库存放目录,包括参考基因组,注释文件,公共数据库等
├── project  # 项目分析目录
    └── Human-16-Asthma-Trans #具体项目
        ├── data # 数据存放目录
        │   ├── cleandata # 过滤后的数据
            │ ├── trim_galore # trim_galore过滤
      │ └── fastp     # fastp过滤
        │   └── rawdata # 原始数据
        ├──  Mapping # 比对目录
        │   ├── Hisat2 # Hisat比对
        │   └── Subjunc # subjunc比对
        └── Expression # 定量
            ├── featureCounts # featureCounts
            └── Salmon # salmon定量
1.2 详细命令
# 进入到个人目录
cd ~

## 1.建立数据库目录:在数据库下建立参考基因组数据库,注意命名习惯:参考基因组版本信息
mkdir -p database/GRCh38.105

## 2.建立项目分析目录
mkdir project
cd project
mkdir Human-16-Asthma-Trans # 注意项目命名习惯:物种-样本数-疾病-分析流程
cd Human-16-Asthma-Trans

# 建立数据存放目录
mkdir -p  data/rawdata  data/cleandata/trim_galore  data/cleandata/fastp
# 建立比对目录
mkdir -p Mapping/Hisat2  Mapping/Subjunc
# 建立定量目录
mkdir -p Expression/featureCounts  Expression/Salmon
# 创建差异分析目录
mkdir Diff_analysis
# 查看整个分析目录准备结构
tree
.
├── data
│   ├── cleandata
│   │   ├── fastp
│   │   └── trim_galore
│   └── rawdata
├── Diff_analysis
├── Expression
│   ├── featureCounts
│   └── Salmon
└── Mapping
    ├── Hisat2
    └── Subjunc
课后习题答案

1.统计reads_1.fq文件种共有多少条reads?

# NR表示行号
# %表示取余数
zless  SRR1039510_1.fastq.gz | grep "@SRR" -c
zless  SRR1039510_1.fastq.gz | grep '^@SRR' |wc -l
zless -S SRR1039510_1.fastq.gz | paste - - - - |wc -l
zless  SRR1039510_1.fastq.gz |wc -l | awk '{print $0/4}'
zless -S SRR1039510_1.fastq.gz |awk '{ if(NR%4==2) {print} }' |wc -l

# sed 版本 课后习题

2.输出reads_1.fq文件中所有的序列ID(即第一行)

zless  SRR1039510_1.fastq.gz | grep '^@SRR'  |less -S
zless  SRR1039510_1.fastq.gz | paste - - - - |cut -f 1 |less -S
zless -S SRR1039510_1.fastq.gz |awk '{if(NR%4==1){print}}' |less -S

3.输出SRR1039510_1.fastq.gz文件中所有的序列(即第二行)

zless  SRR1039510_1.fastq.gz | paste - - - - |cut -f 2 |less -S
zless -S SRR1039510_1.fastq.gz |awk '{if(NR%4==2){print}}' |less -S 

4.统计SRR1039510_1.fastq.gz碱基总数

# 简单版本
zless -S SRR1039510_1.fastq.gz |paste - - - - |cut -f 2 |tr -d '\n' |wc -m
zless -S SRR1039510_1.fastq.gz |paste - - - - |cut -f 2 |grep -o [ATCGN] |wc -l

# awk的高阶用法:BEGIN END模块
zless -S SRR1039510_1.fastq.gz |awk '{ if(NR%4==2){print} }' | awk 'BEGIN {num=0} {num=num+length($0)}  END{ print "num="num}'

from 生信技能树


文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶: