### 安装指南 ```bash # 激活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``` 退出 3. 批量提交任务 ```bash choppy batch miRNAseq-latest --project-name ``` 参数说明: - ``````:此处填写在上一步之做的***samples.csv***所在路径 - ``````:自定义项目名称,app的运行结果将自动存储在以该名称命名的文件夹下 > 注意: > > 1) 左右尖角括号(<>)代表此处的值需要由用户根据实际情况键入相应的值。替换入具体值后左右不需要保留尖叫括号 > > 2)```--project-name```为必须参数,是用户自定义的项目名称。但需注意: > a. project_name中不得包含空格,短横线,否则会导致运行异常 > b. project_name中可以包含阿拉伯数字,但不得以数字开头,否则会导致运行异常 > c. 项目名称不得与已有的项目名称(包含 oss://choppy-cromwell-result/test-choppy/ 目录下的文件夹名称和test-choppy服务器目录下的文件夹名称)相同 > d. 推荐的[项目命名格式]为: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 - \*._fasqtc.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/.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/.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](http://www.mirbase.org/) )mature.fa 并进行以下编辑: (1)仅提取出其中人miRNA序列 (2)将U碱基转化为T碱基 (3)根据成熟体所对应的剪切前体(pre-miRNA),将成熟体序列两端各延伸5bp ##### pre-miRNA 下载自 *miRBase v22.1* ( [http://www.mirbase.org](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将被过滤 3. 长度过滤:去接头后长度小于```length_required(default:16)```的read将被过滤 4. 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](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/1000000002694) v07) From [2] [f12b85b4](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/f12b85b4)-df4f-43b5-9e82-[a4fd0ddbdc](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/a4fd0ddbdcc0)&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.** 首先需要确认是否切接头成功。方法为打开~/Call-TrimAdapt/trimAdapt.log日志文件,查看Filtering result*项目下的: ***reads with adpater trimmed***:该项为接头切除成功的read数,数值过低说明接头识别失败,需要检查提供的接头序列(```adapter_seq```)是否正确。 之后打开~/call-ReadStats/.readStats文件查看文库中片段组成: (1)***Adapter dimer***较高提示建库过程中连接效率低,文库产物被大量的引物二聚体所占据 (2)***Low quality***较高提示此次测序质量较差,可以用于比对的片段占比较低 (3)***Too short***:较高提示抽提/建库过程存在问题或者样本质量较差,导致文库中插入大量的短(16bp一下)片段 (4)若***For align***: 项数值正常,而检测到的miRNA数量低,考虑 ​ a. 如果建库时使用了4N引物, ​ 查看samples.csv中,```randomBase_in_adapter```是否设置正确。 ​ 查看~/call-TrimAdapt/**.trimAdapt.log**日志文件,若其中没有trim 4 random base相关记录,则可能是```randomBase_in_adapter```设置不正确 ​ 打开~ /call-LengthStats/**.trimAdapt.lengthDistribute**,若片段主要分布在32bp附近,则很可能是4N碱基未切除成功 ​ b. 如果建库时未使用4N引物 ​ 打开~ /call-LengthStats/**.trimAdapt.lengthDistribute**,查看片段长度分布