用于miRNA-seq二代测序数据分析
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chenziyin fd7ee12059 调整匹配优先级 1 year ago
assets Initial version 1 year ago
tasks 修正错误 1 year ago
README.md 修正格式错误 1 year ago
ReadStats.wdl 错误修正 1 year ago
inputs 同步至HPC-v20190527版 1 year ago
workflow.wdl 调整匹配优先级 1 year ago

README.md

安装指南

# 激活choppy环境
source activate choppy
# 安装app
choppy install chenziyin/miRNAseq

快速使用

  1. 新建项目文件夹

  2. 准备样本描述文件:samples.csv

    • 文件需为csv格式(以逗号分隔的文本)
    • 文件中必须包含的列为:
      • sample_id:样本名称,该名称将自动作为生成结果文件的前缀名
      • raw_fastq:原始FASTQ测试数据所在OSS路径(仅R1)
      • adapter_seq:建库时所使用3’ 接头序列(详见附录A. 常用建库方法接头序列)
      • randomBase_in_adapter:接头末端的随机碱基个数(详见附录A. 常用建库方法接头序列)
      • sequencing_length: 测序长度,如使用PE150测序时填写150

注意:

使用excel制作csv文件时,请不要将保存的csv文件直接作为输入,易导致异常错误。

推荐使用文本编辑器(如记事本,notepad++等)打开csv文件,确认:

(1)每2个值之间使用逗号分隔,行末没有逗号

(2)逗号前后没有多余的空格(非常重要!!!)

(3)每行前后没有多余的逗号,且没有多余的仅由逗号组成的行

如果在服务器上运行choppy,推荐使用 vim samples.csv 命令新建samples.csv文件,并将表格以逗号分隔的纯文本形式粘贴至其中,并按esc+ZZ 退出

  1. 批量提交任务
   choppy batch miRNAseq-latest <File::samples.csv> --project-name <String::project_name>

参数说明:

  • <File::samples.csv>:此处填写在上一步之做的samples.csv所在路径
  • <String::project_name>:自定义项目名称,app的运行结果将自动存储在以该名称命名的文件夹下

注意:

1) 左右尖角括号(<>)代表此处的值需要由用户根据实际情况键入相应的值。替换入具体值后左右不需要保留尖叫括号

2)--project-name为必须参数,是用户自定义的项目名称。但需注意:

  a. project_name中不得包含空格,短横线,否则会导致运行异常
  b. project_name中可以包含阿拉伯数字,但不得以数字开头,否则会导致运行异常
  c. 项目名称不得与已有的项目名称(包含 oss://choppy-cromwell-result/test-choppy/ 目录下的文件夹名称和test-choppy服务器目录下的文件夹名称)相同
  d. 推荐的[项目命名格式]<http://choppy.3steps.cn/go-choppy/choppy-docs/issues/1>为:Project_computecontent_data_people,如:```ANY180412MAQC_rnaseq_190609_lizhihui```

app测试

用于app测试的文件位于 oss://choppy-app-example-data/miRNAseq/ 目录下

  • Test_10k_NEXTflex.fastq.gz 中包含了NEXTflex small RNA kit v3所建文库的测序结果中的前10000条read

  • test_10k_QIAseq.fastq.gz 中包含了QIAseq miRNA kit所建文库的测序结果中的前10000条read

  • samples.csv是app测试时所需提交的samples.csv文件

输出文件说明

运行APP后,

每个sample对应一个文件夹,内部结构如下:

  • call-Fastqc
    • fastqc.html
    • fastqc.zip
  • call-TrimAdapt
    • .trimAdapt.fastq.gz
    • .trimAdapt.log
    • .trimAdapt.lengthDistribute
  • call-ReadFilter
    • .trimAdapt.filter.fastq.gz
    • .filter.log
  • call-Align2miRNA
    • .align2miRNA.log
    • .align2miRNA.sam
    • .miRNAUnaligned.fastq.gz
  • call-Align2PreMiRNA
    • .align2PreMiRNA.log
    • .align2PreMiRNA.sam
    • .PreMiRNAUnaligned.fastq.gz
  • call-Align2piRNA
    • .align2piRNA.log
    • .align2piRNA.sam
    • .piRNAUnaligned.fastq.gz
  • call-Align2tRNA
    • .align2tRNA.log
    • .align2tRNA.sam
    • .tRNAUnaligned.fastq.gz
  • call-Align2RNA
    • .align2RNA.log
    • .align2RNA.sam
    • .RNAUnaligned.fastq.gz
  • call-Align2Hg38
    • .align2Hg38.log
    • .align2Hg38.sam
    • .Hg38Unaligned.fastq.gz
  • call-Quantification
    • .matureMiR.readCount
  • call-ReadStats
    • .readStats
    • .trimAdapt.filter.align2RNA.grouped.readCount

主要结果说明

定量结果
  1. miRNA定量表达谱: /call-Quantification/<sample_ID>.matureMiR.readCount
    • 包含两列:
      • ID.miRNA
      • ReadCount:定位到相应miRNA的read数(即Raw Count)
质控结果
  1. 测序质量检测:call-Fastqc/*._fasqtc.html

    • 网页格式,下载后使用浏览器打开
    • 重点关注以下内容:
      • 单碱基测序质量(Per base sequence quality):横轴长度在75bp前的部分,单碱基质量值应不低于28(绿色部分)
      • N碱基个数(Per base N count):红线应紧贴X轴
      • 测序片段长度(Sequence Length Distribution):曲线呈单峰分布(三角形),且峰值与预期测序长度相一致
  2. 片段类型统计:/call-ReadStats/<sample_id>.readStats

    • 可能的片段类型包括:
      • adapter not found:因无法识别接头而被丢弃的片段数 > 原因:片段3’接头部分存在插入缺失突变(多数),片段中无3’接头序列(少数)
      • adapter dimer:引物二聚体片段数
      • too short:因插入片段长度过短而被丢弃的片段数
      • low sequencing quality: 由于质量不满足要求丢弃的read数(包括单碱基质量过低,或N碱基数目过多)
      • mature miRNA:比对到miRNA成熟体参考序列的片段数
      • hairpin miRNA: 比对到miRNA剪切前体参考序列(pre-miRNA)的片段数
      • piRNA: 比对到piRNA参考序列的片段数
      • tRNA: 比对到tRNA参考序列的片段数
      • mRNA: 比对到mRNA参考序列的片段数
      • lncRNA: 比对到lncRNA参考序列的片段数
      • rRNA: 比对到rRNA参考序列的片段数
      • YRNA: 比对到YRNA参考序列的片段数
      • other small RNA: 比对到 misc_RNA, guide_RNA, vault_RNA, small nuclear RNA, small cytoplasmic RNA 或 small nucleolar RNA 参考序列的片段数
      • other from transcriptome: 比对到人转录组,但比对结果不属于以上mature miRNA等9个类别的片段数
      • other from human genome: 能比对到人类参考基因组,但不能比对到转录组上的片段数
      • not from human genome:不能比对到人类曹考基因组的片段数
  3. 文库中插入片段长度分布: call-TrimAdapt/trimAdapt.lengthDistribute

    • 包含两列,记录不同长度(第一列)的插入片段数目(第二列)


APP概述

miRNAseq analysis pipeline 是一个全自动app,用于对miRNA-seq二代测序FASTQ结果中的human miRNA片段定量。

适用范围:

  1. 本APP适用于ILLUMINA系列测序仪(HiSeq, NextSeq, NovaSeq等)产生的SE50/SE75二代测序数据。对于PE数据,仅使用R1作为数据源

  2. 本APP仅用于Human miRNA-seq文库数据分析。

  3. 目前尚不支持UMI分析

流程与参数

使用的软件及版本

  • fastqc: 0.11.5
  • fastp:0.19.6
  • bowtie: 1.2.2

流程示意

参考基因组

mature miRNA

下载自 miRBase v22.1 ( http://www.mirbase.org )mature.fa 并进行以下编辑:

(1)仅提取出其中人miRNA序列

(2)将U碱基转化为T碱基

(3)根据成熟体所对应的剪切前体(pre-miRNA),将成熟体序列两端各延伸5bp

pre-miRNA

下载自 miRBase v22.1 ( http://www.mirbase.org )hairpin.fa 并进行以下编辑

(1)仅提取出其中人miRNA序列

(2)将U碱基转化为T碱基

piRNA

下载自 piRBase ([http://www.regulatoryrna.org/database/piRNA/download.html]) Human piRNA sequence v2.0

tRNA

下载自 UCSC Table Browser([http://genome.ucsc.edu/cgi-bin/hgTables] )

- Genome: Human, Assembly: Dec.2013(GRCh38/hg38)
- group: all tracks, track: tRNA Genes, table: tRNA
- region: genome, 
- output format: sequence 
转录组

全人转录组参考序列下载自 NCBI: ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.38_GRCh38.p12/GCF_000001405.38_GRCh38.p12_rna.fna.gz

并根据序列ID中的最后一栏对序列进行分类

全参考基因组

全人参考基因组序列下载自NCBI:[ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.38_GRCh38.p12/ GCF_000001405.38_GRCh38.p12_genomic.fna.gz]

详细参数

  1. 切除接头:根据adapter_sequence 序列进行切除,切除时使用fastp默认参数

  2. 质量过滤:

1)一条read中,质量不满足qualified_quality_phred(default:20) 的碱基在read占比超过unqualified_percent_limit(default:20)%时,该read将被过滤

2) read中,N碱基数目超过n_base_limit (default: 2)的read将被过滤

  1. 长度过滤:去接头后长度小于length_required(default:16)的read将被过滤

  2. miRNA识别

    • 使用bowtie(end-to-end模式)进行匹配

    • 匹配时最多允许max_mismatch_allowed (default: 1)个错配

附录

A.常用建库方法及接头序列

建库试剂盒 adapter_seq randomBase_in_adapter 参考资料
Truseq smallRNA library prep kit (Illumina) TGGAATTCTCGGGTGCCAAGG 0 [1]
QIAseq miRNA Library Kit (QIAGEN) AACTGTAGGCACCATCAAT 0 [2
NEBNext Multiplex Small RNA Library Prep Set for Illumina (NEB) AAGATCGGAAGAGCACACGTCT 0 [3]
NEXTflex small RNA Kit TGGAATTCTCGGGTGCCAAGG 4 [4]

[1] Illumina Adapter Sequences (1000000002 v07) From http://support.illumina.com.cn/downloads/illumina-customer-sequence-letter.html

[2] https://www.qiagen.com/us/resources/faq?id=f12b85b4-df4f-43b5-9e82-a4fd0ddbdc&lang=en

[3] NEBNext Multiplex Small RNA Library Prep Set for Illumina manual

[4] NEXTflex® Small RNA-Seq Kit v3 Automation Guide

B. FAQ

**Q1 结果中没有检测到miRNA / miRNA检出率过低 **

A1.

首先需要确认是否切接头成功。

  1. 打开~/Call-TrimAdapt/trimAdapt.log日志文件
  2. 查看Filtering result*项目下的reads with adpater trimmed
    • 该项为接头切除成功的read数
    • 数值过低说明接头识别失败,需要检查提供的接头序列(adapter_seq)是否正确。
  3. 查看Filtering result*项目下的reads failed due to too long
    • 如果reads with adapter trimmedreads failed due to too long两项之和不等于总read数,检查samples.csv文件中提供的sequencing_length是否填写正确
  4. 如果建库中使用4N接头,查看日志文件中是否进行了随机碱基切除(Trim 4 random base from both sides)
    • 如果app没有进行该步骤,检查samples.csv中的randomBase_in_adapter一列是否填写正确

之后打开~/call-ReadStats/.readStats文件查看文库中片段组成:

(1)adapter dimer(>20%)较高提示建库过程中连接效率低,文库产物被大量的引物二聚体所占据

(2)low quality较高(>10%)提示此次测序质量较差,可以用于比对的片段占比较低,可以结合fastqc.html结果查看原因

(3)too short:较高提示文库中存在大量短(16bp一下)片段,可能是抽提/建库过程存在问题或者样本质量较差,具体可结合 .trimAdapt.lengthDistribute 查看序列分布情况

(4)Not from human genome较高(>30%)时,建议手动查看原始序列,并将序列去接头后使用NCBI Blast判断可能的片段来源