======统一版流程操作指南======
**项目执行目录:**
中国区:/TJPROJ7/GB_TR/PJ_GB/ncRNA/sRNA
海外:/TJPROJ11/GB_TR/PJ_GB/ncRNA/sRNA
分期号.拉丁名.日期
例:X204SCXXXXXXXX-Z01-F00X.Homo_sapiens.20220624
注意命名规范,命名不同可能会导致流程错误
===== 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:
检查是否有分析步骤没有完成,如果确认无误,可以删除项目路径下的checkResult_failed,touch checkResult_success,续投JOB
可以从结果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 自动化手动流程结果对比文档 ====
{{ :products_tr:调控统一流程:国内和海外small统一流程:统一版srna自动化手动流程结果对比.xlsx |}}
==== 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中不会生成/执行此步骤
{{ :products_tr:novel.png?600 |}}
=== 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去除,可能会导致原始数据量较少)
=== 特殊情况处理 ===
2022/8/10前启动且需要重新QC的项目执行以下操作:
执行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)
内部不推荐,尽量推荐客户选择planA,实在不行可参考以下内容
提取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