用户工具

站点工具


srna_pipeline

统一版流程操作指南

项目执行目录:

中国区:/TJPROJ7/GB_TR/PJ_GB/ncRNA/sRNA

海外:/TJPROJ11/GB_TR/PJ_GB/ncRNA/sRNA

分期号.拉丁名.日期

例:X204SCXXXXXXXX-Z01-F00X.Homo_sapiens.20220624

<color #ed1c24>注意命名规范,命名不同可能会导致流程错误</color>

1. 重构miRNA统一流程说明文档

1.1 环境变量

天津:

/TJPROJ7/GB_TR/PUBLIC/software/miniconda3/bin/activate

1.2 脚本爬取脚本

国内项目:
export PYTHONPATH=""
unset PERL5LIB
source /TJPROJ2/GB/PUBLIC/software/GB_TR/mRNA/miniconda3/bin/activate
export PATH=/TJPROJ2/GB/PUBLIC/software/GB_TR/mRNA/miniconda3/bin:$PATH
python /TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/bin/get_lims_info --project_type sRNA --name lims_name --pw lims_password --pjcode batch_id --local TJ --project_stage num --ProfitCode profitcode
python /TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/bin/get_lims_info_bendi -project_type sRNA --name lims_name --pw lims_password --pjcode batch_id --local TJ --project_stage num --ProfitCode profitcode

海外项目:
export PYTHONPATH=""
unset PERL5LIB
source /TJPROJ2/GB/PUBLIC/software/GB_TR/mRNA/miniconda3/bin/activate
export PATH=/TJPROJ2/GB/PUBLIC/software/GB_TR/mRNA/miniconda3/bin:$PATH
python /TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/bin/get_lims_info_hw --project_type sRNA --name lims_name --pw lims_password --pjcode batch_id --local TJ --project_stage num --ProfitCode profitcode
python /TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/bin/get_lims_info_hw_bendi --project_type sRNA --name lims_name --pw lims_password --pjcode batch_id --local TJ --project_stage num --ProfitCode profitcode

1.3 配置文件project.txt

[project]

#项目编号
project_number=X204SC22051832-Z01-F002

#项目名称
project_name=NVUK2022051110-SE-KI-16-human-NSCLC-sRNA-seq-10M reads-WBI Per

#合同编号
project_contract=H204SC22051832

#项目分期
project_stage=2

#RNA组编号
project_RNA=16

#项目运营
project_yunying=Na Wang 王娜

#项目运营经理邮箱
yunying_email=wangna6489@novogene.com

#项目信息
project_xinxi=Tiantong Fan 范天童

#项目信息负责人邮箱
xinxi_email=fantiantong6934@novogene.com

#项目销售
project_xiaoshou=Simon Stritt

#项目销售邮箱
xiaoshou_email=simon.stritt@novogene.com

#项目类型 sRNA/siRNA/piRNA
project_type=sRNA

#数据来源 novogene/other
project_source=novogene

#产品来源 gn/hw
product_source=hw

#数据量(M)
data_size=10

#测序类型, single/paired
project_readtype=single

#测序长度
project_readlength=50

#最终保留长度
project_keeplength=50

#是否交付clean data,填写yes或者no,海外默认yes
clean_data=yes

#文库号,以英文逗号隔开
project_library=FRRN220122876-1a,FRRN220122877-1a,FRRN220122874-1a,FRRN220122875-1a,FRRN220122873-1a

#文库路径,以英文逗号隔开,和文库号顺序相一致,同一文库号的路径以冒号隔开
project_libpath=/TJPROJ4/XJ/department_data-nova/1100/220625_A00289_0686_BHMLY7DRXY-new,/TJPROJ4/XJ/department_data-nova/1100/220628_A00808_1009_AHWYWGDRXY-new,/TJPROJ4/XJ/department_data-nova/1100/220625_A00289_0686_BHMLY7DRXY-new,/TJPROJ4/XJ/department_data-nova/1100/220625_A00289_0686_BHMLY7DRXY-new,/TJPROJ4/XJ/department_data-nova/1100/220628_A00808_1009_AHWYWGDRXY-new

#fastq所在路径,单端后缀为fq.gz,双端后缀为_1.fq.gz和_2.fq,gz,如已有文库号和文库号路
径,忽略该参数,一般纯分析项目使用
project_fqpath=

#样本名称,以英文逗号隔开,和文库号顺序相一致
project_sample=BCL,AC3,EC,AC1,AC2

#样本按照不同的实验处理分组,组间以英文逗号隔开,同一组的样本以英文冒号隔开
project_s2g=AC3:AC1:AC2,BCL:EC

#组名,以英文逗号隔开,和分组信息相对应
project_group=AC,Other

#比较组合,处理组vs对照组,不同比较组合用英文逗号隔开,如AvsB,其中A和B为组名
project_compare=ACvsOther

#差异韦恩组合,不同比较组以英文冒号隔开,不同维恩组合以英文逗号隔开。如果不画venn图,等号
后面不填
project_venn=

#共表达venn图,既可以画样品间的,可以画组间的,同一venn图中的样品或者组以vs隔开,不同
共表达venn图以英文逗号隔开。如果不画共表达venn图,等号后面不填
project_coexpr_venn=AC1vsAC2vsAC3vsBCLvsEC,ACvsOther

#分析类型
analysis_type=Standard Analysis

#是否为外泌体 yes/no 默认no
exosome_type=

#需要排除的分析内容,以英文逗号隔开,1:QC/2:Mapping/3:Known/4:ncRNA/5:Repeat/6:Gene/7:Novel/8.Edit&family/9:Target/10:Diff/11:Enrichment/12:NAT/13:TAS
project_exclude=

#物种分类信息animal/plant
project_species=

#基因组版本,,同自动化基因组路径,填到genome前一层。
genome_version=

#物种的拉丁名,爬取信息搜集表里获得
latin=Homo_sapiens

#kegg物种缩写,如人hsa 小鼠mmu
kegg_abbr=hsa

#物种基因组大小,normal/large,小麦等基因组较大的物种填写large,用于建bam文件index
genome_size=normal

#差异分析软件,DESeq2/edgeR/DEGSeq,默认为DESeq2
diff=DESeq2,edgeR

#基因显著差异筛选阈值,pvalue或padj值,默认采用padj值0.05
padj=0.05,0.05

#基因显著差异fold change阈值
fc=1,2

#是否自动调参 true|false 仅在padj下有效
adjust=true

#调参后的p值
adjust_p=0.05,0.05

#调参后的fc值
adjust_fc=1,2

#adapter3
project_adapter3=AGATCGGAAGAGCACACGTCT

#adapter5
project_adapter5=GTTCAGAGTTCTACAGTCCGACGATC

#miRBase 可填多个,以英文逗号分割
project_abbr=hsa

#mismatch of bowtie in Mapping, 默认1
project_mismatch=1

#chrnum of circos, 默认10
project_chrnum=10

#model of novel 1.animal; 2.monocot; 3.dicots
project_model=

#type of target(RNAhybrid) only for animal 默认3utr_human
target_type=3utr_human

#organism refanimal or refplant
project_organ=

#NAT 植物分析时用,从/TJPROJ2/GB/PUBLIC/source/GB_TR/ncRNA/smallRNA/6plant_NAT/NAT/PlantNATsDB/spe.list中选择,没有用other代替
project_NAT=

#common 样本间公共序列分析,默认y(单样本无)
project_common=y

#report语言,海外默认English
project_reportlanguage=English

#流程部署位置,默认为TJ
local=TJ

#利润中心,默认为2001
ProfitCode=1100

#配置文件
configure=/TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/configure.txt

目前需要自己补全:

genome_version

project_exclude

project_model

project_organ

project_NAT(plant)

1.4 执行命令

export PYTHONPATH=""
unset PERL5LIB
source /TJPROJ7/GB_TR/PUBLIC/software/miniconda3/bin/activate
/TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/new/srna_pipeline

1.5 任务投递说明

QC: sjm QC.JOB

Analysis: sjm Analysis.JOB

1.6 差异调参设置

如果差异miRNA数量小于6为差异少的组:
1<=组个数<5 && 差异少组数>=1 调参
5<=组个数<=10 && 差异少组数>=2 调参
组个数>10 && 差异少组数>=5 调参

2. 旧miRNA统一流程说明文档

Pipline目录:

/TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/pipeline/sRNA_pipeline.py

2.1 参数说明

–project 分期号_物种拉丁名称,例如X204SC20072581-Z01-F001_Arabidopsis_thaliana
–project_source 数据来源,novogene/other,默认novogene,如数据来源于外包,填写other
–English 生成英文结题报告,填此参数,“y”;中文报告不填此参数
–ownername 自己的名字
–contract 合同编号_合同名称(以下划线分隔),例:NH150893_北京友谊医院3个小鼠SmallRNA测序及分析软件RNAseq-Mus-ZhD的开发
–code_number 分期号
–org 物种,只能是植物(refplant)或动物(refanimal)
–fq_dir 用于纯分析的raw data数据绝对路径(lib.fq.gz),公司下机数据不填。【纯分析】
–mapfile mapfile文件:路径<\t>文库名<\t>样本名
–sample 样本名,以逗号隔开,e.g.TR1,TR2,TS1,TS2
–group 样本分组方式,组内用冒号隔开,组间用逗号隔开,e.g.TR1,TR2,TS1,TS2,TR1:TR2,TS1:TS2【选填】
–groupname 组名,以逗号隔开,对应分的样本组e.g.TR1,TR2,TS1,TS2,TR,TS【选填】
–compare 样本组比较方式,处理:对照,组内用冒号隔开,组间用逗号隔开e.g.“2:1,1:3,2:3”【选填】;如果比较组合过多,可以将信息搜集表中的compare组合整理成com.txt文件,格式如下,然后填此文件即可:
–venn_cluster venn画图方式,适合2~4组比较;同一张venn图内的比较组用下划线隔开,不同的venn图间用逗号隔开,默认不画,e.g.“2:1_1:3_2:3,1:3_2:3”;只有一组compare时,次参数不填,默认做单样本间venn图【选填】;
–venn_sample 样本/组共表达venn图,填写方式 样本1:样本2:样本3,样本1:样本2
–abbr 物种缩写,3个小写字母,由老师提供,可以是多个,以逗号分隔;如果老师要分析miRBase中所有已知miRNA,则–abbr参数填all,所有动物填animal, 所有植物填plant
–spe 物种拉丁名,eg:Homo_sapiens
–mode 预测novel模式,value only be1,2,3; 1 for anima;2 for monocot; 3 for dicots
–chrNum 需要画密度图的染色体数,默认10
–refdir 自动化标准参考基因组格式,填到genome。例:/TJPROJ6/GB_TR/reference_data/new_pip/Animal/Homo_sapiens/Homo_sapiens_Ensemble_97/genome/
–refer genome.fa 路径,同级目录下应包含相应bowtie index【如填refdir参数,可不填此参数】
–rRNA/–tRNA/–snRNA/–snoRNA ncRNA 类fasta文件路径【如填refdir参数,可不填此参数】,如果公共库没有该信息也无法提取,用Rfam数据库代替,路径: /TJPROJ2/GB/PUBLIC/source/GB_TR/ncRNA/smallRNA/4ncRNA/bin/Rfam_ncRNA_DB
–exon exon.fa及index【如填refdir参数,可不填此参数】
–intron intron.fa及index【如填refdir参数,可不填此参数】
–utr3 3tur.fa 【动物必填】(transcript)【如填refdir参数,可不填此参数】
–transcript transcript.fasta【植物项目必填】【如填refdir参数,可不填此参数】
–targetsoft target软件,默认“both” (miRanda/RNAhybrid)【动物】
–geneAnn Gene Stable ID<\t>Gene Name<\t>Gene description【如填refdir参数,可不填此参数】
–genefile genome_gene.xls, 同有参【如填refdir参数,可不填此参数】
–gtf genome.gtf,同有参【如填refdir参数,可不填此参数】
–go go.txt,四列,同有参【如填refdir参数,可不填此参数】
–keggfile kegg.txt文件, 同有参【如填refdir参数,可不填此参数】
–kegg KEGG缩写
–repdir repeat_predict 文件夹【如填refdir参数,可不填此参数】
–NAT NAT物种缩写,从括号list中选择,植物NAT分析时用到。list在/TJPROJ2/GB/PUBLIC/source/GB_TR/ncRNA/smallRNA/6plant_NAT/NAT/PlantNATsDB/spe.list,如果没有用“other”代替【植物必填】
–type 动物靶向预测RNAhybrid软件需填类型,3utr_human,3utr_fly,3utr_worm中选择【动物必填】
–common 如果分析内容里有“4.样品间的公共序列和特异序列的分析(>;=2个样本)”,填写y,如果没有填写n,单个样本填n(新增参数),默认是y。
–cut_reads 是否cut数据,默认n (纯分析)
–datasize 数据量,默认10,单位M raw reads
–profitcode 利润中心 (区分国内,海外项目)

外包数据

外包数据一般为PE151,注意特殊参数:

–fq_dir 外包数据位置,sample.fq.gz格式
–cut_reads 填写y,从read1 cut 50bp
–ad3 AACTGTAGGCACCATCAAT 外包公司adapter
–project_source other 数据来源填成other,推送指标库用

关于数据释放,需运营在备注中说明:

pe151+se50 释放外包原始数据和cut后的数据
se50       仅释放cut后的数据

2.2 sRNA 任务投递及说明

QC:sjm log/QC.JOB

Analysis:sjm log/Analysis.JOB

运行完毕后检查项目路径下的check文件:

if checkResult_success:

检查结题报告和数据是否已成功上传,备份是否已经完成

elif checkResult_failed:

检查是否有分析步骤没有完成,如果确认无误,可以<color #ed1c24>删除项目路径下的checkResult_failed,touch checkResult_success,续投JOB</color>

可以从结果check邮件中查看缺失或错误的文件。以下文件中的邮箱信息需要配置好,不然可能收不到邮件

~/.lims_report_upload_gn_config
~/.lims_report_upload_hw_config

QC各shell说明

log/step1.sh - rawdata, QC,mapping \\
log/lims_qc_report_upload.sh - QC上传lims脚本\\

sjm方式:sjm log/Analysis.JOB

Analysis各shell说明

log/step2.sh - sRNA分类注释和定量\\
log/step3.sh - miRNA碱基编辑,target预测(split)\\
log/step4.sh - target预测(merge),差异miRNA分析,差异miRNA靶基因富集分析\\
log/generate_result_report.sh - 生成report 与result\\
log/release_data.sh - 生成释放数据\\
log/lims_final_report_upload.sh - 海外:上传结题报告(R)/中国区:上传结题报告及释放数据(R) \\
log/lims_release.sh - 海外:根据释放方式打包释放数据(D)(仅海外)
log/API_upload.sh - 上传API指标库脚本
log/magic.sh, log/upload_magic.sh - magic生成及上传脚本(仅国内)
log/check_result.sh - 自动检查结果脚本
backup/CMD_*.sh - 备份数据时执行(项目备份执行CMD_PJbackOSS.sh) \\

2.3 自动化手动流程结果对比文档

2.4 更新记录

2022/6/21 QC部分手动流程取消reduce id
2022/6/22 调整差异部分参数
2022/6/23 优化target清理脚本
2022/6/27 富集脚本优化,解决kegg和abbr不同时报错问题
2022/6/28 备份脚本优化
2022/6/30 run.sh增加project_source参数,公司下机可忽略此参数;增加API指标库推送脚本;更改magic/upload脚本位置
2022/7/7  GO脚本增加na.omit步骤
2022/7/13 海外流程增加英文QC报告/增加refdir参数
2022/7/14 优化结果文件打包/释放目录增加3.ref文件夹/取消project_sum/报告打包/重投result问题/国内magic备份
2022/7/18 Mapping参数mismatch改为1(国内海外统一)
2022/12/14 更新信息收集表模版中mirBase列表(删除部分物种),在mirBase官方提供的list中有,但是实际在mature.fa文件中不存在的物种。

3. 特殊项目处理

植物

1. novel部分二级结构预测慢

处理办法 Novel部分predict步骤加上-c 参数

例:/TJPROJ7/GB_TR/PUBLIC/source/ncRNA/gb_Small_man_pipline/8novel/bin/pipline_predict.sh -o sly.predict 
-i gene.unmap.fas -r ref/genome.fa -M ref/novel_mature_ref.fa -m 3 -k 15 -p 10  -g 50000 -c

在abbr/abbr.predict/predict.cmd中不会生成/执行此步骤

2. 大基因组

代表物种:小麦(Triticum_aestivum)

基因组较大,在预测过程中需要bowtie建大index

处理办法:替换脚本

sed -i 's#pipline_predict.sh#pipline_predict_large.sh#g' *_runnovel_miRNA.sh

3. 染色体/contig数量过多

** 代表物种:烟草(Nicotiana_tabacum),苜蓿(Medicago_sativa)

处理办法:调整预测步骤 -g 参数,调大

例:/TJPROJ2/GB/PUBLIC/source/GB_TR/ncRNA/smallRNA/8n_miRNA/bin/pipline_predict.sh -o mtr.predict 
-i gene.unmap.fas -r ref/Medicago_sativa_figshare_toplevel.fa -M ref/novel_mature_ref.fa -m 3 -k 15 
-p 10  -g 400000 -c

中国区旧流程处理办法

2022/8/10后新启动的项目,参照之前的投递方法,直接投递QC.JOB即可。特殊情况见下:

8/10号流程取消原流程中reduceID步骤(对5'adapter/3'adapter null等指标进行质控并从rawdata中抽reads去除,可能会导致原始数据量较少)

特殊情况处理

<color #ed1c24>2022/8/10前启动且需要重新QC的项目执行以下操作:</color>

执行run.sh后进入QC文件夹
sh generate_QC.sh
sh run_smallQC.sh_1
投递生成的QC脚本
后边Mapping照常跑
如果重复QC后发现数据量差别较大的,或者无法确认使用哪个脚本进行QC的可以找我确认。 by fantiantong

4. 常见售后

clean data fasta格式转fastq格式

planA. 客户接受fastq格式文件中的质量值为虚拟质量值

脚本路径:/TJPROJ2/GB/PUBLIC/source/GB_TR/Personalized_analysis/fa2fq/fasta_to_fastq.pl

使用:perl /TJPROJ2/GB/PUBLIC/source/GB_TR/Personalized_analysis/fa2fq/fasta_to_fastq.pl clean.fa 1>clean.fq

planB. 客户不接受fastq格式文件中的质量值虚拟,可以根据cleandata的ID从rawdata中提取(质量值为实际质量值,但是reads为未trim 3'adapter的reads)

<color #ed1c24>内部不推荐,尽量推荐客户选择planA,实在不行可参考以下内容</color>

提取clean.fa文件中的ID:

python /TJPROJ2/GB/PUBLIC/source/GB_TR/Personalized_analysis/fa2fq/get_id.py -c clean.fa -o id.txt

用seqtk进行提取

seqtk subseq raw.fq id.txt > clean.fq
srna_pipeline.txt · 最后更改: 2023/03/14 02:06 由 fengjie