1.1 审核合同编号、分期编号、合同名称、分析类型、cleandata、数据量、分析软件
注意国内的BIF<color #ed1c24>添加隐藏的内部识别缩写</color>:
G是GATK 的缩写,表示要使用GATK软件进行分析 S 是sentieon 的缩写,表示要使用sentieon软件进行分析 Q_F 是质控拼接(flash软件)缩写,目前一直有样品送样 PC, 意思是pcr-free 类型 O 表示 其它个性化分析,详细内容可以在 “3. 其他要求”,进行填写
1.2 审核样品名称命名是否规范
<color /yellow>命名要求:</color>请采用字母、数字和下划线 (即_) 表示(不能有空格和—符号),长度控制在8(海外)/15(国内)个字符以内,不能以数字开头,不要使用系统预留的设备名,例如CON、PRN、AUX、CLOCKS、NUL、COM1、COM2、COM3、LPT1等作为样本名或组名。
1.3 审核NovoID是否<color /yellow>唯一</color>,物种名是否正确
<color /yellow>参考基因组填写规范:</color>
第1列是物种拉丁名,必须填写(注意:信息搜集表中不能有公式,物种拉丁名必须填写文字);
第2列是参考基因组ID,是内部的参考基因组自动化数据库的Genome ID,可以在信息收集表 提供的列表index.html网址中依据物种拉丁名查找;
<color #ed1c24>如果正确填写了第1、2列,则第3、4列不要填写;</color>
如果是客户自己给的链接,需要填写第1、3、4列,物种拉丁名、FASTA Download Link*、GFF3 / GFF / GTF Download Link*,最好是到文件;如果是没有到文件的网址,也要填写到FASTA Download Link*、GFF3 / GFF / GTF Download Link*对应的单元格
审核点: <1>填写自动化数据库列表的Genome ID,查找到集群路径,检查准备好的文件,可以直接使用; <2>如果Genome ID没有填写,直接填写的网址链接,需要确认是否链接到文件,是否可以正常下载; 如果是网址链接:先到自动化数据库里面进行查找,如果没有,再到部门准备的参考基因组石墨链接里面进行查找; 如果都没有,可以写邮件申请进行准备; 可能会遇到没有填写或者填写不规范的,这种情况需要和运营进行沟通。
参考基因组数据库中,小鼠和人的参考基因组提供的是94的版本,如果老师要使用其它版本,辛苦让老师提供到文件的参考文件链接。
有些客户会将个性化分析或者特殊要求填在这里,研究背景和目的也注意检查是否有备注个性化相关信息。
1.6 其它注意事项:
(1)、国内混库项目 需填写index列
(2)、T7平台项目 测序策略请填写 T7-PE150
(3)、国内<color #ed1c24>混库是指:多个样品,多个诺禾编号,建立一个文库,数据下机也是一个文库,对应一个图表名称的情况。</color>
混库填写规则:
1、样品名称填写:把要混为一个库的多样品名称,使用英文输入法的逗号分隔,依次填写到同一个单元格,例如:
2,诺禾编号填写:把要混为一个库的多样品对应的诺禾编号,使用英文输入法的逗号分隔,依次填写到同一个单元格,例如:
<color #22b14c>注意:样品名称要和下机单里面的样品名称顺序一致,诺禾编号的顺序要和样品名称的顺序一致。</color>
3、其它列正常填写就好。
基本审核标准同上,此外,需检查以下几点:
2.1 表1中亲子代关系与表型对应。要求:将与父本p1表型性状一致的子代池定为子代池s1;将与母本p2表型性状一致的子代池定为子代池s2。当类型为:1亲本+2子代,亲本须对应表1 第6列 p1;若类型为:2亲本+1子代 或者 1亲本+1子代,子代须对应表1 第6列 s2。
2.2 表3中 子代混池个数(2个子代混池个数取均值)与子代群体类型(杂合选F2,纯合选RIL) 为必填项。
天津集群:/TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline.py
美国集群:/PUBLIC/source/HW/RESEQ/GB_WGS_pipe/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline.py
英国集群:/PUBLIC/source/RESEQ/WGS/GB_WGS_pipe/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline.py
新加坡集群:/PUBLIC/source/HW/RESEQ/GB_PAG/WGS_manual/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline.py
南京集群:/NJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline.py
天津集群:/TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline_v2.0.py
美国集群:/PUBLIC/source/HW/RESEQ/GB_WGS_pipe/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline_v2.0.py
英国集群:/PUBLIC/source/RESEQ/WGS/GB_WGS_pipe/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline_v2.0.py
新加坡集群:/PUBLIC/source/HW/RESEQ/GB_PAG/WGS_manual/gbwgs_pipline_v2/pipline/WGS_reseq_pipeline_v2.0.py
天津集群:/TJPROJ5/GB_PAG/USER/yanyoudong/pipline/bashprofile/gbwgs.bash_profile
美国集群:/RLNAS02/GB/GB_PAG/USER/yanyoudong/pipline/bashprofile/gbwgs.bash_profile
英国集群:/UKPROJ4/GB/GB_PAG/USER/yanyoudong/bashprofile/gbwgs.bash_profile
南京集群:/NJPROJ2/GB/GB_PAG/USER/yanyoudong/bashprofile/NJ.bash_profile
新加坡集群:/PUBLIC/source/HW/RESEQ/GB_PAG/WGS_manual/yanshuang_profile
主要参数 | 值类型 | 参数说明【default】 | 是否必须 |
---|---|---|---|
–project | [string] | 合同名与分期名,在报告生成及脚本生成过程中需要,要求填写规则:合同号_分期号 | Y |
–pwd | [dir] | 项目分析路径,默认为当前路径 | N |
–samp_list | [file] | 需要分析的样本信息 | Y |
–ref | [file] | 参考基因组文件 | Y |
–refURL | [string] | 参考基因组下载路径,用于在报告中体现 | N |
–speci | [string] | 样本的物种名称 | Y |
–gff | [file] | 参考基因组描述的gff文件 | Y |
–bed | [file] | 用于GATK变异检测的bed区间 | N |
–merge | [logic] | 是否对同一样本不同lane的raw data进行合并,默认为N(不合并直接分lane交付) | N |
–cutfq | [logic] | 是否对raw data 进行截数据,默认不截 | N |
–analy_array | [string] | 指明分析内容,默认为1,2.1,进行QC 和mapping (详细见下面模块规划列表) | N |
–startpoint | [string] | 指定开始分析的位置,默认为None (一般有ln,bwa_mem,finalbam 选择) | N |
–sched | [string] | 流程使用的qsub参数,默认为用户可用队列 | N |
–karyotype | [file] | Circos图所需要的染色体说明文件。当-circos 参数为N时,可以不填写 | N |
–circos | [logic] | 是否绘制Circos图 | N |
–snpcompare | [string] | 确认是否进行SNP genotyping,Y1为基于samtools call后进行genotyping,Y2为基于GATK joint calling 后进行genotyping | N |
–newjob | [string] | 生成的job 文件名,默认为year.month.day.job | N |
–PCRFree | [logic] | PCR-Free建库的样本需要指定为Y,使用对应的报告模板,默认为N | N |
–cleandata | [logic] | 是否释放clean data | N |
–autoconfig | [logic] | 是否自动配置sample_list | Y |
–lenPart | [int] | samtools群call染色体拆分份数,如不需要拆分 指定为1即可,数目不得超过染色体数目 | N |
–splitlength | [int] | GATK群call拆分的长度,低于最长染色体长度时会拆分染色体,尽量选择大于最长的染色体长度,非必须参数,如不需拆分不指定即可。长度不得小于最长染色体长度。 | N |
–containingN | [int] | 用指定去N时的含N阈值 | N |
–maxN | [int] | 用于指定去N时含N峰值的阈值 | N |
–T7 | [logic] | 是否T7测序,默认为N,T7项目注意配置为Y | N |
–compare_group | [file] | somatic 分析样本对照关系,注意表头 #normal 在前,tumor在后 | N |
–byChr_num | [int] | somatic Indel 分析拆分数目,一般为主染色体的数目 | N |
–insertfa | [file] | call外源插入必填参数,插入序列 fasta文件路径 | N |
–gRNA | [file] | OffTarget分析的guide RNA序列 fasta文件路径 | N |
–param | [file] | 指定过滤VCF参数的文件路径,用于群体进化、GWAS等高级分析 | N |
–group | [file] | 样本和亚群的对应关系 group.txt文件路径,注意表头#sample在前,group在后,用于群体进化分析 | N |
–NT | [logic] | 是否进行NT比对,默认为Y(当配置–NT N时,QC无NT部分,适应周期短、大项目) | N |
–category | [string] | 物种大类,默认从animal,plant,viruses,fungi,bacteria五大类中选择,用于群体进化的功能注释分析 | N |
–dup | [string] | Mapping处理dup方法,可从rmdup和markdup中二选一,默认rmdup,若需选择markdup注意改用WGS_reseq_pipeline_v1.0_markdup.py | N |
根据分析顺序,赋予每个分析模块一个编号,简化参数列表,并定义每个分析模块之间的依赖关系,当依赖关系不满足时给出提示信息并退出程序:
代号 | 模块 | 说明 | 依赖于 |
---|---|---|---|
1 | quality_control | Rawdata 软链并质控 | 无 |
2 | Mapping | Clean data 比对到参考基因组 | 1 |
2.1 | mapping_bwa | 使用 bwa_mem 将 clean data 比对到参考基因组 | 1 |
3 | snpindel_call | SNP/InDel 检测并注释 | 1,2.1 |
3.1 | snpindel_call_samtools | 使用 samtools 检测 SNP/InDel 并注释(samtools 1.3.1) | 1,2.1 |
3.2 | snpindel_call_GATK | 使用 GATK 检测 SNP/InDel 并注释 (GATK v4.0.5.1) | 1,2.1 |
3.3 | snpindel_call_GATK_joint | 使用 GATK Joint Genotype 检测 SNP/InDel 并注释 | 1,2.1 |
3.4 | snpindel_call_samtools_joint | 使用 samtools群call 检测 SNP/Indel 并注释 | 1,2.1 |
4 | sv_call | SV 检测并注释 | 1,2.1 |
4.1 | sv_call_breakdancer | 使用 breakdancer 检测 SV 并注释 | 1,2.1 |
5 | cnv_call | CNV 检测并注释 | 1,2.1 |
5.1 | cnv_call_cnvnator | 使用 CNVnator 检测 CNV 并注释 | 1,2.1 |
5.2 | cnv_call_freec | 使用 freec 检测 CNV并注释 | 1,2.1 |
6 | somaticsnpindel | somatic SNP Indel并注释(高级分析流程) | 1,2.1 |
6.1 | somatic_snpindel_call_MuTect2 | 使用GATK mutect2检测somatic SNP Indel并注释(高级分析流程) | 1,2.1 |
7 | somaticsv | somatic SV检测并注释(高级分析流程) | 1,2.1 |
7.1 | somatic_sv_call_Delly | 使用delly 检测somatic SV并注释(高级分析流程) | 1,2.1 |
8 | somaticcnv | somatic CNV检测并注释(高级分析流程) | 1,2.1 |
8.1 | somatic_cnv_call_Freec | 使用freec 检测somatic CNV并注释(高级分析流程) | 1,2.1 |
9 | call_insert | call外源插入(高级分析流程) | 1 |
9.1 | call_insert_virusfinder | 使用Virusfinder检测外源插入(高级分析流程,需merge) | 1 |
9.2 | call_insert_sv | 使用SV方法检测外源插入(高级分析流程) | 1,2.1,4.1 |
9.3 | call_insert_bamreads | Virusfinder和SV方法均无结果时从bam中提取相关序列(高级分析流程) | 1,2.1 |
9.4 | crisper_off_target | Crisper检测off-target(高级分析流程) | 1,2.1,6.1 |
10 | BSA | BSA(高级分析流程) | 1,2.1,3.3 |
10.1 | BSA_index | 基于GATK群call的BSA分析(高级分析流程) | 1,2.1,3.3 |
11 | pop_structure | 群体进化的遗传结构分析(高级分析流程) | 1,2.1,3.3或3.4 |
11.1 | nj_tree | 使用Treebest绘制NJ进化树(高级分析流程) | 1,2.1,3.3或3.4 |
11.4 | gcta_pca | 使用GCTA分析PCA(高级分析流程) | 1,2.1,3.3或3.4 |
11.6 | admixture_structure | 使用Admixture分析Structure(高级分析流程) | 1,2.1,3.3或3.4 |
12 | selective | 群体进化的选择消除分析(高级分析流程) | 1,2.1,3.3或3.4,11 |
12.1 | Fst | 使用vcftools计算Fst值(高级分析流程) | 1,2.1,3.3或3.4,11 |
12.2 | PI | 使用vcftools计算π值(高级分析流程) | 1,2.1,3.3或3.4,11 |
12.3 | TajimaD | 使用vcftools计算Tajima's D值(高级分析流程) | 1,2.1,3.3或3.4,11 |
12.4 | Fst_PI | 结合Fst和π值结果的联合筛选(高级分析流程) | 1,2,3,11,12.1,12.2 |
13 | linkage_disequilibrium | 群体进化的连锁不平衡分析(高级分析流程) | 1,2.1,3.3或3.4,11 |
13.1 | LD_Haploview | 使用Haploview计算LD(高级分析流程) | 1,2.1,3.3或3.4,11 |
13.2 | LD_PopLDdecay | 使用PopLDdecay计算LD(高级分析流程) | 1,2.1,3.3或3.4,11 |
14 | gene_flow | 群体进化的基因流分析(高级分析流程) | 1,2.1,3.3或3.4,11 |
14.1 | Treemix | 使用Treemix分析基因流(高级分析流程) | 1,2.1,3.3或3.4,11 |
15 | gene_function | 群体进化的功能注释分析(高级分析流程) | 1,2.1,3.3或3.4,12.4 |
15.1 | function_annotation | 基于选择消除的联合筛选结果进行GO和KEGG功能注释(高级分析流程) | 1,2.1,3.3或3.4,12.4 |
注意: 1、如果需要结果和报告,至少要有snpindel_call(模块3)中任意一个(3.1或3.2或3.3或3.4),没有snpindel_call(例如只有4.1的SV和5.1的CNV,没有3.1)是无法生成结题报告的; 如果snpindel_call(3)、sv_call(4)和cnv_call(5)都没有,只有高级分析模块的话,整理结果文件会报错。 2、call插入的9.1模块暂时停用,原因是Virusfinder软件目前有问题,call没有结果;如有call插入分析需求,优先选9.2,其次9.3 3、call插入的9.2和9.3模块已经包括 插入序列和参考基因组fa的合并及准备基因组 过程,无需手动合并基因组fa,配置--insertfa插入序列fasta文件路径即可 注意严格按照fasta格式配置插入序列文件,第一行">"后为插入序列名称(尽可能不要包含特殊字符如下划线或空格,仅由字母和数字组成为宜) 4、call插入的9.4模块是基于6.1的somatic_snpindel_call_MuTect2进行的,因此需要配置somatic必需的--compare_group和--gRNA参数,也就是需要确定WT对照样本和guide RNA sequence序列,详见上述“主要参数”部分。 5、BSA需要在Config目录下配置BSA_cfg文件,其内容示例如下: p1 p2 s1 s2 等号右边填写实际项目 报告中的样本名。有则填写,如只有1亲本1子代,则只写p2=parent2 s2=offspring2。 p1=parent1(亲本1)[p1报告中的样本名] p2=parent2(亲本2) s1=offspring1(子代池1,性状与亲本1一致) s2=offspring2(子代池2,性状与亲本2一致) num=33(子代混池的单株数均值) poptype=F2(子代群体类型,杂合选F2, 纯合写RIF)
通过选定分析模块对应的编号,流程会自动建立对应模块的分析路径。
路径 | 说明 |
---|---|
Config | 存放sample_list project_info.txt 等文件 |
XJ | 存放下机数据的软链接,目录结构同下机目录 |
RawData | 存放每个样本 raw data 的软链接和脚本,子目录以 sampleID 命名 |
QC | 存放每个样本的质控结果(clean data 和质控图表文件)和相应脚本,子目录以 sampleID 命名。目录下包含NT目录,存放每个样本 clean data 的 blast 结果和相应脚本,子目录以 sampleID 命名 |
Reference | 存放参考基因组统计文件和 gff 文件生成的注释文件,karyotype.xls及相应脚本 |
Mapping | 存放每个样本的Mapping结果和相应脚本,子目录以 sampleID 命名。目录下包含Alnstat目录,存放每个样本 比对统计结果和相应脚本,子目录以 sampleID 命名 |
VarDetect | 存 放 每 个 样 本 的SNP、InDel,SV,CNV,变异统计结果。分别对应SnpInDel、SV、CNV、Varstat目录。变异结果目录下以样本名.软件命名。Varstat目录包含各变异类型的统计结果及统计结果的可视化。SnpInDel_somatic、SV_somatic、CNV_somatic包含Somatic分析结果。Varstat_somatic包含somatic分析结果的统计。Insert包含call外源插入分析结果。BSA包含BSA分析结果。 |
Report | 存放任务生成的报告和相应脚本。子目录以运行的任务名命名(job) |
Result | 存放结果文件的目录。 |
Release | 存放释放文件的目录。 |
log | 以对应 job 名存放流程执行的JOB文件及所有 job 的标准输出和标准错误输出,目录按照 job 名区分,设置为P101SC18113162-01-J005_Primary_20200609、P101SC18113162-01-J005_Mapping_20200609、P101SC18113162-01-J005_QC_20200609类似格式方便区分管理。 |
script | 冗余清理及备份上传脚本 |
record | 指标数据库内容的文件形式 |
注意:高级分析如OffTarget、群体进化、GWAS等,会另外建立AdvanceAnalysis分析路径,用于存放高级分析结果。
1. 全基因组重测序基本分析
python WGS_reseq_pipeline.py \ --project C101SC18113162_P101SC18113162-01-J005 \ --samp_list ./Config/sample_list \ --ref /TJPROJ5/GB_PAG/reference_data/Animal/ncbi_Caenorhabditis_Elegans_WBcel235_GCF_000002985_6/Sequence/WholeGenomeFasta/genome.fa \ --refURL ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/735/GCF_000001735.4_TAIR10.1/GCF_000001735.4_TAIR10.1_genomic.fna.gz \ --speci Caenorhabditis_Elegans \ --gff /TJPROJ5/GB_PAG/reference_data/Animal/ncbi_Caenorhabditis_Elegans_WBcel235_GCF_000002985_6/Annotation/Genes/genome.gff3 \ --merge N \ --cutfq N \ --circos Y \ --snpcompare N \ --autoconfig N \ --PCRFree N \ --cleandata N \ --analy_array 1,2.1,3.1,4.1,5.1 \ --karyotype ./Reference/karyotype.xls \ --newjob P101SC18113162-01-J005
此分析包括 QC,mapping,samtools SNP/InDel,breakdancer SV,CNVnator CNV。
<note important>本脚本参数需要根据不同区域项目具体情况进行调整:
1. 主脚本路径修改为相应集群路径
2. 根据自己项目情况修改merge,cutfq,PCRFree等参数
2. –cleandata 需要设置为Y,不需要设置为N。
3. 若 –circos Y 则 –karyotype 必须指定配置文件
4. –newjob 根据项目情况指定job命名
</note>
2. 样本加测
对于需要加测的样本,需要重新构建 sample_list,该文件只含加测数据,流程会自动识别工作目录下的 qc_list 以判断样本是否为加测,所以加测时,注意保留上批样本的 qc_list。
python WGS_reseq_pipeline.py \ --project C101SC18113162_P101SC18113162-01-J005 \ --samp_list ./Config/sample_list_jiace \ --ref /TJPROJ5/GB_PAG/reference_data/Animal/ncbi_Caenorhabditis_Elegans_WBcel235_GCF_000002985_6/Sequence/WholeGenomeFasta/genome.fa \ --refURL ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/735/GCF_000001735.4_TAIR10.1/GCF_000001735.4_TAIR10.1_genomic.fna.gz \ --speci Caenorhabditis_Elegans \ --gff /TJPROJ5/GB_PAG/reference_data/Animal/ncbi_Caenorhabditis_Elegans_WBcel235_GCF_000002985_6/Annotation/Genes/genome.gff3 \ --merge N \ --cutfq N \ --circos Y \ --snpcompare N \ --autoconfig N \ --PCRFree N \ --cleandata N \ --analy_array 1 \ --karyotype ./Reference/karyotype.xls \ --newjob P101SC18113162-01-J005
<note tip>注 1:待加测数据量足够后,将上批数据的 sample_list 跟加测的 sample_list 合并成一个新的 sample_list,以 bwa_mem startpoint 进行后续分析。
注 2:生成报告和数据释放时,流程会自动识别 qc_list 中的样本信息进行报告生成和数据释放。如果遇到分批需要分批释放或者分批出报告的情况,则需要更改 qc_list 中的样本信息,再生成报告和数据释放结果。</note>
3. 重测与重建库样本
对于重测与重建库样本,需要在将不要的数据手动在 sample_list 及 qc_list 中删除,之后按加测方法分析新数据即可。
1. 配置sample_list
#lane | sampleID | LibID | NovoID | Index | SeqStra | Path | Volume | PATHFLOWDATE | Analysis_type | Cleandata | Index | EQRUNID | Sequencing_Platform | Insertsize | ADDREMARK | EQTYPE | TESTNO | ADDTESTSTYPE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | VC1760_B3_5 | FDSW202139062-1r | FKDO202139062-1A | 7UDI2350;5UDI2350 | PE150 | /TJPROJ4/XJ/department_data-nova/2002/200601_A00920_0307_AH5C2TDSXY-new | 1 | 2020-06-04 11:29:29 | snpInDel+SV+CNV | NO | - | 200601_A00920_0307_AH5C2TDSXY | Illumina | 350bp | S4 XP | Novaseq PE150 | ||
4 | VC1760_B3_8 | FDSW202139063-1r | FKDO202139063-1A | 7UDI2351;5UDI2351 | PE150 | /TJPROJ4/XJ/department_data-nova/2002/200602_A00881_0303_BH5CG7DSXY-new | 1 | 2020-06-05 10:23:08 | snpInDel+SV+CNV | NO | - | 200602_A00881_0303_BH5CG7DSXY | Illumina | 350bp | 加测 | S4 XP | Novaseq PE150 | |
1 | VC1760_B5_7 | FDSW202139064-1r | FKDO202139064-1A | 7UDI2353;5UDI2353 | PE150 | /TJPROJ4/XJ/department_data-nova/2002/200604_A00821_0351_AH5GN7DSXY-new | 1 | 2020-06-07 10:11:36 | snpInDel+SV+CNV | NO | - | 200604_A00821_0351_AH5GN7DSXY | Illumina | 350bp | S4 XP | Novaseq PE150 | ||
4 | VC1760_B5_7 | FDSW202139064-1r | FKDO202139064-1A | 7UDI2353;5UDI2353 | PE150 | /TJPROJ4/XJ/department_data-nova/2002/200602_A00881_0303_BH5CG7DSXY-new | 1 | 2020-06-05 10:23:08 | snpInDel+SV+CNV | NO | - | 200602_A00881_0303_BH5CG7DSXY | Illumina | 350bp | 加测 | S4 XP | Novaseq PE150 |
注:如果第一行是 title,则需要以#号开头,每列的意思如下:
第一列:样本在 FlowCell 上的 Lane 号(Ori_Lane);
第二列:样本的编号(sampleID);
第三列:样本的文库编号(LibID);
第四列:样本的诺禾编号,一个样本有唯一诺禾编号(NovoID);
第五列:构建文库所使用的 Index,与LIMS上QC Index编号一致(Index);
第六列:样本的测序策略,如 PE150(SeqStra);
第七列:样本分析需要使用的数据存储路径,一般是原始下机数据路径(Path);
第八列:数据量(Volume);
第九列:下机路径时间(PATHFLOWDATE);
第十列:分析类型(Analysis_Type);
第十一列:是否需要Cleandata(Cleandata);
第十二列:混库项目需要填写正确的index序列,非混库 -(Index);
第十三列:FC号(EQRUNID);
第十四列:测序平台(Sequencing_Platform);
第十五列:插入片段长度(Insertsize);
第十六列:是否加测(ADDREMARK);
第十七列:上机类型(EQTYPE);
第十八列:测序策略(TESTNO);
第十九列:ADDTESTSTYPE 记录用(ADDTESTSTYPE)
自动配置:
–autoconfig Y。目前自动配置sample_list只支持LIMS下机路径在集群中都存在的分期,下机路径已删除的分期不能自动抓取下载datapath信息。自动配置逻辑:抓取下载BIF 生成project_info.txt、解析BIF、下载datapath信息、合并datapath及解析后的样本信息生成sample_list。配置karyotype.xls逻辑上不依赖于以上步骤。
非自动配置:
先将–autoconfig Y,运行主流程配置脚本,会在Config下生成配置sample_list project_info.txt 文件的脚本getsamplelist.sh。脚本第一行注释为半自动配置生成脚本的一个示例,若BIF自动下载有问题,则将–BIF 设置为 手动上传的BIF的位置,刷新脚本后重新执行配置脚本。
若信息表的解析有问题,可以将样本新及样本信息的头信息行拷贝到纯文本文件中,后将–samples_information设置为该文件的位置,刷新该脚本,后重新执行该脚本。以下为–samples_information文件示例(\t分隔):
#Analysis_Type | snpInDel+SV+CNV | |||||||
#Cleandata | NO | |||||||
#Sample Name | Novogene ID | Species Name | Description | Library Type | Sequencing Strategy | Data Output(G bases) | Sample Name in Report | Remarks |
---|---|---|---|---|---|---|---|---|
ML01_gDNA | FKDN210367301-1A | Arabidopsis thaliana | NovaSeq 6000 PE150 | 4 | sco4_2_10_pale | |||
ML02_gDNA | FKDN210367302-1A | Arabidopsis thaliana | NovaSeq 6000 PE150 | 4 | sco4_2_10_green | |||
ML03_gDNA | FKDN210367303-1A | Arabidopsis thaliana | NovaSeq 6000 PE150 | 4 | sco4_2_6 |
2. 配置karyotype文件
–circos Y时候 会自动配置karyotype.xls文件,生成文件到Reference目录下。具体配置步骤位于Reference/statFa.sh中的Make Circos config步骤中,若参考基因组中存在较多的scaffold不需要生成Circos图,则可以通过Config_Circos.py -r 参数设置为 “.fai,24”,.fai文件后为”,” + 需要绘制Circos图的染色体个数。默认自动配置时,无该数目,若需要修改需要手动执行,如不设置 最多保留160个染色体绘制Circos图,防止组装较差参考基因组直接配置该文件。以下为karyotype.xls示例:
#V1 | V2 | V3 | V4 | V5 | V6 | V7 |
---|---|---|---|---|---|---|
chr | - | NC_003279.8 | NC_003279.8 | 0 | 15072434 | chr1 |
chr | - | NC_003280.10 | NC_003280.10 | 0 | 15279421 | chr2 |
chr | - | NC_003281.10 | NC_003281.10 | 0 | 13783801 | chr3 |
chr | - | NC_003282.8 | NC_003282.8 | 0 | 17493829 | chr4 |
chr | - | NC_003283.11 | NC_003283.11 | 0 | 20924180 | chr5 |
chr | - | NC_003284.9 | NC_003284.9 | 0 | 17718942 | chr6 |
chr | - | NC_001328.1 | NC_001328.1 | 0 | 13794 | chr7 |
第一列:chr 定义一个染色体。
第二列:短线占位符通常用来定义所属关系,对于染色体来说,没有所属。
第三列:ID 是染色体唯一且不能重复的标识。
第四列:LABEL 是将来用于显示在图上的文本。
第五第六列:START 和 END 值定义了染色体的大小。对于染色体组型文件,需要指明的是,这里的START 和 END 应该是染色体本身的大小,而不是你想绘制部分的起止位置。指定绘制部分将由其它文件来定义。
第七列:COLOR 是预定义显示的颜色。对于人类基因组而言,circos 预设了与染色体相同的名字做为颜色名,比如 chr1, chr2, …, chrX, chrY, chrUn。
3. 配置project_info.txt
目前若无法自动配置的时候 不能通过半自动配置来生成,只能手动配置。以下为示例:(实验室、利润中心、合同号、分期号、分期名称、PC邮箱、BI邮箱、Double check邮箱、PC、BI、Double check、分期开始时间、分期结束时间)(1、美国实验室为:Davis实验室;利润中心为2002/2011时会默认为天津实验室,如为南京实验室需要手动修改):
#ProductionBase | ProfitCode | CONTRACT_NUMBER | batchid | PJ_NAME | PC_EMAIL | BI_EMAIL | DOUBLE_EMAIL | PC | BI | DOUBLE_CHECK | SALES_MAN | SDATE | EDATE | PJ_NAME |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
天津实验室 | 1100 | H204SC21072744 | X204SC21072744-Z02-F002 | NVUK2021071425-DE-UniHamburg-Liebers-18-lncRNA-6G-WBI-5-plant WGS-4G-WBI | tianguangjing7425@novogene.com | yanyoudong@novogene.com | yangya6605@novogene.com | Guangjing Tian 田光晶 | Youdong Yan 闫有东 | Ya Yang 杨亚 | Movsisyan Naira | 2021-11-17 00:00:00 | 2021-12-25 00:00:00 | Plant and Animal Whole Genome Sequencing (WBI) |
若不需要该脚本配置或者已半自动配置完成,请将–autoconfig设置为N。
4. sjm 投递
执行完run_WGS.sh后,会将sjm提交的job文件生成到log目录下。
任务会自动切分成 QC、Mapping、Mapping后的分析三部分,在log目录下依据所给出的newjob前缀 生成三部分对应的job。每一部分的任务完成后、依次执行下一部分的任务。
可以sjm直接提交该文件,若流程意外中断需要重新提交可以sjm 最新的*.status,流程中断出可以从*log中查询。
如需人工指定流程提交的断点,通过–startpoint来指定,该参数 必须与主流程目录下的../Config/WGS_memory_config.py中的task名称相同。如出现run_WGS.sh后 job文件中所有任务状态被设置为done的问题,请先检查–startpoint 参数。(正常情况下–startpoint task前的任务会被设置成done。第一次执行QC的时候不要设置–startpoint ln,这个设置会跳过处理参考基因组的statFa步骤。)
5. 意外跑断
意外跑断的话(包括盘满、集群问题引起跑断),找到最新的 job.status 或 job.status.bak文件,判断其中各任务状态是否正确,尤其是 running 状态,但是实际已经完成的任务。重新 sjm 投递 job.status。
<note important>特别注意:
(1)在 sjm 之前,需要确定之前的 sjm 进程已经结束,如果尚未结束,需要 kill 掉之后再 sjm,以免出现任务重复投递的情况。确定 sjm 进程是否结束的方法是:在提交 sjm 任务的节点,使用 top –u yourname 或者使用 ps xf 查看 job 的进程是否存在。上一个 job 的进程可以从它的*.job.status.log 第一行看到,即 sjm process ID: XXXXX。
(2)在 sjm 之前,需要确定之前的 sjm 是否存在已经 qsub 的任务,如果存在需要 qdel掉之后再 sjm。运行命令:sjm job.status 或:sjm job.status.bak</note>
6. 指定从某一部分开始运行
对于需要指定分析起点的情况,提供了一个–startpoint 参数。刷新脚本,再执行新生成的 job 文件即可。数据下机之后一般先做 QC,如果继续 mapping 分析,将 startpoint 设置为 bwa_mem;mapping 完成后,继续分析,则需指定 startpoint 为 finalbam。
7. 数据释放
当项目结题检查无问题后进行数据释放
项目数据释放目录为:
国内:Release/Results_合同号_分期号_部门号_日期
海外:Release/分期号
1、标准交付目录追加个性化分析结果操作:
a、在释放数据路径的上一级:建立05.Customized_Analysis , 命令mkdir 05.Customized_Analysis
b、在05.Customized_Analysis文件夹下整理个性化分析结果文件,整理完成后压缩文件夹, zip -r 05.Customized_Analysis.zip 05.Customized_Analysis; c、将05.Customized_Analysis.zip 以相对路径软链到释放数据路径里面;
d、在总的README.txt里面,追加说明:05.Customized_Analysis.zip:Personalized analysis result files . 或者05.Customized_Analysis.zip:个性化分析结果文件。
c、总MD5.txt增加05.Customized_Analysis.zip的MD5值 md5sum 05.Customized_Analysis.zip >>MD5.txt
d、更新release_tree.html:以天津集群为例 国内:python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/makeReleaseReadmeHTML.py --release_path . --output ./Readme.html --content /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/WGS_mode_GN.txt --html_template /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/DataRelease_ReadMe_ZH.html 海外:python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/makeReleaseReadmeHTML.py --release_path . --output ./Readme.html --content /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/WGS_mode_EN.txt --html_template /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/tools/DataRelease_ReadMe_EN.html
e、重新生成checkSize.xls perl /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v2/Uploadandrelease/dirCheckSize.pl .
8. 数据清理
当数据释放无问题后执行数据清理:
step1:
交付完成无问题执行script下r1.byebye_reseq.sh,会进行删除中间文件(NT比对中间文件,mapping深度统计中间文件,若不释放cleandata则删除clean.fq.gz),会生成删除前后总目录大小、各文件大小的日志文件 供查询清理情况。
step2:
转移到冷存后上云前若无问题深度清理,执行r2.byebye_reseq.sh,只保留sh,下机数据和结果文件统计文件等(bam等重要文件会被删除,请确认无误可删除后 方可执行),会生成删除前后总目录大小、各文件大小的日志文件 供查询清理情况。目前清理脚本给定的为原分析目录绝对路径,防止误删,如候选项目备份到冷存目录下需要清理时,将给定项目路径参数改换为冷存目录下的项目路径即可。
9. 天津/南京数据备份冷存
规则:
基本规则:信息负责人自行备份个人项目和下机数据
备份时间:
a、项目交付无问题后,项目备份上云
b、若项目未分析完成或有售后 个性化分析等还暂时用数据,可以酌情备份到冷存
备份说明:
备份需要sample_list,请保证最后的sample_list是完整的
备份完成后一定要检查备份后的记录及是否有报错
注意点:备份冷存前和上云前需要自动清理冗余和该删除文件
执行:
项目备份云存储执行:backup/CMD_PJbackOSS.sh
项目备份冷存执行:backup/CMD_PJbackLC.sh
项目备份完成后执行下机备份,作为lims上依然还存在的数据路径的补充备份
下机路径执行:backup/CMD_XJback.sh
执行后生成记录日志文件:
下机数据转冷存相关文件、脚本:
备份完成后需检查文件:XJback_DONE PJback_DONE PJback_WARNNING XJback_WARNNING BackUP_LOG
备份完成后删除下机路径需要的文件:X101SC21051093-Z01-F002.yanyoudong.PJback.RM_XJ_PATH.sh
X101SC21051093-Z01-F002.yanyoudong.XJback.RM_XJ_PATH.sh
项目备份记录文件:X101SC21051093-Z01-F002.yanyoudong.PJ_BACKUP_LC_INFO.xls
#ProductionBase | ProfitCode | PJ_TYPE | batchid | PC_EMAIL | BI_EMAIL | DOUBLE_EMAIL | PJ_CODE | PJ_NAME | CONTRACT_NUMBER | PC | BI | DOUBLE_CHECK | SALES_MAN | SDATE | EDATPJ_PATH | FROM | FROM_SIZE | PJ_LC_PATH | TO | TO_SIZE | PJ_BACKUP_TIME | PJ_BACKUP_MAN |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
天津实验室 | 2002 | 动植物全基因组变异检测 | X101SC21051093-Z01-F002 | liuchang@novogene.com | yanyoudong@novogene.com | yanyoudong@novogene.com | X101SC21051093 | 西湖大学200个宏基因组建库测序分析技术服务(委托)合同 | H101SC21051093 | Chang Liu 刘畅 | Youdong Yan 闫有东 | Youdong Yan 闫有东 | Wenjuan Xie谢文娟 | None | None | /TJPROJ5/GB_PAG/PJ_GB/reseq/WGS/2002/yanyoudong/X101SC21051093-Z01-F002.unknown.20211008 | /TJPROJ5/GB_PAG/PJ_GB/reseq/WGS/2002/yanyoudong/X101SC21051093-Z01-F002.unknown.20211008/backup/data_release | 337.14G | /TJNAS01/GB/GN_RESEQ/BackUP/PJ/TJPROJ5/GB_PAG/PJ_GB/reseq/WGS/2002/yanyoudong/X101SC21051093-Z01-F002.unknown.20211008 | /TJNAS01/GB/GN_RESEQ/BackUP/PJ/TJPROJ5/GB_PAG/PJ_GB/reseq/WGS/2002/yanyoudong/X101SC21051093-Z01-F002.unknown.20211008/backup/data_release | 337.14G | 2021-10-11 13:23:21 |
#ProductionBase | ProfitCode | CONTRACT_NUMBER | batchid | PJ_NAME | PC_EMAIL | BI_EMAIL | DOUBLE_EMAIL | PC | BI | DOUBLE_CHECK | SALES_MAN | SDATE | EDATE | PJ_PATH | PJ_PATH_SIZE | PJ_LC_TIME | PJ_LC_PATH |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
天津实验室 | 2002 | C101SC18113162 | P101SC18113162-01-J005 | 浙江西湖高等研究院4个线虫WGS-seq变异检测分析技术服务(委托)合同 | danghuijie@novogene.com | danghuijie@novogene.com | danghuijie@novogene.com | Kevin Pham | danghuijie | danghuijie | test | 2020-05-27 23:57:30 | 2020-05-27 | /TJPROJ5/GB_PAG/USER/yanyoudong/test/v2_WGS_test/compare | 2.8G | 2020/06/19 17:04:34 | /TJNAS01/GB/GN_RESEQ/GB_PAG/PJ_GB/reseq/WGS/yanyoudong/compare/compare |
(1)run_WGS.sh阶段完成
sample_list、project_info.txt、karyotype.xls配置(若设置autoconfig Y),生成结果位于Config下。
校验fastq文件,生成下机数据目录结构,并将fastq文件按原目录结构链接到XJ目录下(只链接fastq文件)。
按照配置生成各个需要的目录结构。
(2)sjm提交job文件后执行逻辑
先执行RawData下 ln*sh:链接,md5*sh:生成MD5值, dup*sh:统计Rawdata dup值。(若需要merge、cutfq也在此阶段提交)
提交QC下的qc*sh:质控脚本,现为fastp质控软件,质控生成统计数据,作图,并convert。gzip*sh:压缩可能存在的未压缩clean fastq,生成cleandata 的MD5值。NT目录:抽取reads NT比对。
Mapping下的:bwa_mem*sh:比对,samtools_sort*sh bam排序,picard_merge*sh: merge bam(若为merge模式 则缺失这一步),filter_rmdup*sh:去dup,finalbam*sh:生成最终的bam。
VarDetect下为各类型的call变异及统计:SnpInDel下为SNP、InDel,根据GATK、samtools不同。SV下为breakdancer的SV结果。CNV下为cnvnator的CNV结果。Varstat下为各类型的变异统计结果可视化结果,结果分布于对应的目录下,Circos图和密度图位于Circos目录下。
Report目录下为各个阶段的报告,具体报告类型取决于run_WGS.sh中的–analy_array,报告的位置取决于run_WGS.sh中的–newjob。国内海外报告类型取决于project_info.txt 中的利润中心,2002/2011时为国内报告,否则为海外报告。海外报告脚本:HW_reseq_Report.py,具体类型取决于报告脚本的–analy_array参数。国内QC报告脚本:GN_reseq_QC_report.py,国内Mapping报告脚本:GN_reseq_Mapping_report.py,国内结题报告脚本:GN_reseq_Primary_report.py。
Result目录下为各个阶段的结果目录,Release目录下为最终的释放目录
1、报告生成和结果释放中的样本是根据自动生成的 qc_list 判断的,如果需要拆分样本,只需要提供新的 qc_list 文件即可。
2、流程默认不释放 cleandata,如果需要只需将–cleandata 指定为 Y。
3、PCR-free 建库的样本,需要指定–PCRFree 参数为 Y,使用 PCR-free 对应的报告模板。
4、某些参考基因组的 gff 文件由于格式问题,流程可能会识别不了。需要检测 Reference 目录下 refGeneMrna.fa 和 refGene.txt 是否为空,如果为空文件,则需要手动修改 gff。
5、karyotype 文件是生成 Circos 图所必须的,里面只需要包括要展示的染色体即可(流程默认展示最长的前24条染色体)。
6、流程默认不进行 SNP genotyping,如果需要只需将–snpcompare 指定为 Y1 或 Y2。
7、byebye 脚本会清除项目路径下冗余文件,需待项目结题后根据数据清理规则执行。
1) 如果执行生成 job 文件的 shell 时报错,注意检查 sample_list 中的内容和格式是否正确,检查 qc_list 是否包含错误信息。
2) 若流程运行完毕,而结果未产生,则先查看xx.job.status.log中哪些任务failed,再查看 log 中这个任务的报错信息,寻找原因。当脚本修改完毕后,可用 startpoint 参数定点重新提交。
1. 数据量:数据量不足反馈运营加测
2. 测序质量:Q20一般大于90%,Q30一般大于80% ,含N/低质量一般小于2% , Effective 高于 95%, 错误率一般低于0.1,质量较差反馈运营,建议调参或重测
3. 接头率一般低于5% ,GC 无大幅度分离,若超过标准反馈运营调参或重建库
4. NT比对:排名前10的物种是近缘物种,无明显污染,出现异常,反馈运营确认
1. mapping rate:一般高于90%,若普遍较低,一般要求样本间差异不大,同批次样本间正常≤1%。
2. dup rate:一般小于15% ,超过15%进行反馈(美国集群需要检查,体现在报告中),PCR-Free 文库需要小于10%。
3. 检查GC%是否与参考基因组偏离:要求偏离不超过3%,GC%偏离需要进行反馈,进行污染排查,GC Bias 排查和Genome Coverage 排查。
4. coverage:与物种、测序深度、基因组组装情况有关,深度相近的样本间≤5%。
5. 检查样本图片是否可以正常查看
1. 检查物种名,项目名,项目号是否一致
2. 检查图片是否可以正常查看,查看统计表格数值,是否出现异常
3. SNP&INDEL&SV&CNV检出数同批次同类样本间差异不大
4. 检查Circos 图:染色体数目、长度、顺序都要合乎规范
当报告生成后需要向LIMS上传QC,Mapping及结题报告,上传时需要备注To 运营 的报告审核信息 及 To double check 的信息
To 运营内容主要为报告审核及问题说明建议
To check内容包括不限于:
1. 样本数 2. 目标数据量 3. 是否加测,重测,重建库 4. 是否有特殊处理(去低质量,去dup,去接头,污染处理,更换注释文件等及必要的路径或目录说明) 5. 项目执行路径及数据释放路径 6. 报告审核和建议等
上传报告:对应报告目录下生成Upload_*_Report.sh,检查报告无误后,运行上传。海外报告与数据释放逻辑均分离。国内QC项目、带分析项目结题报告上传需要与数据释放同时执行。在此之前需要线下发送doublecheck检查,可执行对应报告目录下生成Doublecheck_*_Report.sh。
释放数据:Release目录下生成datarelease_*sh,用于释放最终数据。国内数据释放与报告上传同时执行。海外项目注意在上传报告后还需要再执行释放数据。
目前报告上传及数据释放都有自动生成的report_memo.txt,线下发送check或者上传lims前需要补全report_memo.txt内备注信息。
天津:/TJPROJ2/GB/PUBLIC/database/GB_PAG/LibStat
南京:/NJPROJ2/GB/PUBLIC/database/GB_PAG/LibStat
美国:/PUBLIC/database/HW/LibStat
英国:/PUBLIC/database/GB_PAG/LibStat
上述指标库路径中的文件更新到2021年10月,在此之后执行的WGS项目指标库文件均生成在过程目录下的record目录中。
1、注释文件内容统计说明:
SNP:Total为变异总数,等于vcf文件中的数目。注释类型数加和不等于Total。(存在多等位位点,等位位点有可能会因为突变类型不一样 导致注释到不同的类型,导致注释的数目多于Total) Indel:Total为变异总数,等于vcf文件中的数目。注释类型数加和不等于Total。(存在多等位位点,等位位点有可能长度不同,类型不同,导致不同的等位位点可能注释到不同注释类型,长度不同可能有的注释到移码突变 有的是非移码突变,插入缺失类型不同也会造成不一样的注释类型,导致注释的数目多于Total) SV:Total为变异总数。注释的内容只有INS DEL INV三种类型,故注释内容总数小于 变异总数。 CNV:Total为变异总数。注释内容总数等于Total。
1、WGS自动转手动脚本
路径:/TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v1/toolsmanual/autotomanual.py
注意事项:
执行脚本前,需要先手动配置并执行run.sh,刷出手动目录后再执行。
run.sh中的–newjob必须含Mapping或Primary字样。
参数说明:
示例:
#软链到call变异,没有圈图,完成后需手动生成结题报告和释放目录
python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v1/toolsmanual/autotomanual.py –autoprjdir /TJPROJ5/GB_PAG/PJ_AI/reseq/projects/GN/gn_005/2002/X101SC2108/X101SC21081362-Z01/J001 –manualprjdir .
#软链到call变异,有圈图,直接生成结题报告和释放目录
python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v1/toolsmanual/autotomanual.py –autoprjdir /TJPROJ5/GB_PAG/PJ_AI/reseq/projects/GN/gn_005/2002/X101SC2108/X101SC21081362-Z01/J001 –manualprjdir . –circos y –report y
#软链到mapping,完成后需手动生成Mapping报告和释放目录
python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v1/toolsmanual/autotomanual.py –autoprjdir /TJPROJ5/GB_PAG/PJ_AI/reseq/projects/GN/gn_005/2002/X101SC2108/X101SC21081362-Z01/J001 –manualprjdir . –endpoint finalbam
#软链到mapping,直接生成Mapping报告和释放目录
python /TJPROJ2/GB/PUBLIC/source/GB_PAG/WGS_manual/gbwgs_pipline_v1/toolsmanual/autotomanual.py –autoprjdir /TJPROJ5/GB_PAG/PJ_AI/reseq/projects/GN/gn_005/2002/X101SC2108/X101SC21081362-Z01/J001 –manualprjdir . –endpoint finalbam –report y
脚本逻辑:按照 rawdata,cleandata,qc,nt,mapping,call变异等分部分软链