1先决条件

1.1从先前的稳定的版本更新

PureCN完全向后兼容输入生成的版本1.10、1.12和1.14,但1.16稍微改变偏见数据库和注册的映射区间权重直接到数据库中。简单地重新创建这个RDS文件利用新特性:

Rscript PURECN / NormalDB美元。R——outdir OUT_REF美元\ coveragefiles example_normal。列表\——基因组hg19 normal_panel normal_panel——化验agilent_v6美元

PureCN1.10引入了一个全新的正常的数据库格式等几个重要的改善不是分裂数据库示例性常染色体的正常化。因此有必要重新运行(不仅推荐)NormalDB.R从1.8版本升级的时候。

从1.6版升级,我们强烈推荐本教程后从零开始。

1.2安装

描述的命令行脚本在本教程中,我们将需要安装PureCN与建议的依赖关系:

如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“PureCN”,依赖= TRUE)

另外,手动安装所需要的软件包的命令行脚本:

BiocManager:安装(c (“PureCN”、“optparse”,“TxDb.Hsapiens.UCSC.hg19。knownGene”、“org.Hs.eg.db”))

(替换hg19你的基因版本)。

使用替代和在许多情况下推荐PSCBS市场细分:

#默认不支持区间权重BiocManager PSCBS::安装(“PSCBS”) #修补PSCBS支持下的区间权重BiocManager::安装(“lima1 / PSCBS”ref =“add_dnacopy_weighting”)

叫突变签名,安装的GitHub版本deconstructSigs包:

BiocManager:安装(“raerose01 / deconstructSigs”)

2准备环境和assay-specific参考文件

  • 开始R和输入以下命令行脚本的路径:
系统。文件(“extdata”,包=“PureCN”)
# # [1]“/ tmp / RtmpLLE1Mp / Rinst36cf4c9305be / PureCN / extdata”
  • 退出R和存储这条道路在一个环境变量,例如在BASH中:
美元出口PURECN = " /道路/ / PURECN / extdata”Rscript PURECN / PURECN美元。R——帮助用法:/路径/ / PureCN /本月/ extdata / PureCN。R[选项]…
  • 从床上文件生成一个区间文件包含鱼饵坐标(不一定需要与第三方分割,在相应的部分5):
#指定路径PureCN应该存储参考文件$出口OUT_REF =“reference_files Rscript PureCN / IntervalFile美元”。R——infile baits_hg19。床\——fasta hg19。fa -外部档案OUT_REF / baits_hg19_intervals美元。txt \——offtarget基因组hg19 \——出口OUT_REF / baits_optimized_hg19美元。床\——mappability wgEncodeCrgMapabilityAlign100mer。大佬\——reptiming wgEncodeUwRepliSeqK562WaveSignalRep1.bigWig

在内部,这个脚本使用rtracklayer解析infile。确保文件格式与文件扩展名匹配。看到rtracklayer文档加载文件的问题。检查基因组鱼饵文件的版本匹配的参考。不包括chrM鱼饵以防捕获组件包括一些。

——offtarget国旗将包括不相干的读取。包括他们建议除了扩增子数据。

——基因组版本需要注释外显子与基因符号。使用hg19 / hg38人类基因组,而不是b37 / b38。你可能会得到一个警告,一个注释包不见了。hg19,安装TxDb.Hsapiens.UCSC.hg19.knownGene在R。

——出口参数是可选的。如果提供,该脚本将存储修改后的文件例如(再次每个间隔为床rtracklayer格式支持)。这是非常有用的,当保险计算与GATK等第三方工具。

——mappability论点应该提供一个rtracklayer解析文件mappability分数在第一个元数据列。如果提供,非目标区域将被限制在区域中指定该文件。较低的目标区域mappability将被排除在外。hg19,从UCSC的网站下载文件。选择最适合您的公里大小平均映射读取长度。hg38,下载推荐76公里或100公里mappability文件通过Waldron实验室的礼貌:

请参见常见问题部分的主要装饰图案等指令如何生成一个文件为其他引用。

类似地,——reptiming参数需要复制时间分数相同的格式。如果提供,GC-normalized和对数转换覆盖测试是一个线性关系这一点并相应地规范化。这是可选的,只提供了一个小有利于覆盖正常化,但可以确定样品具有高增殖。需要——offtarget是有用的。

3创建VCF文件

PureCN调用者不附带变体。使用第三方工具来生成一个已为每个样本。

重要的建议:

  • 使用MuTect 1.1.7如果可能的话

  • vcf等其他tumor-only呼叫者MuTect 2,VarScan2FreeBayes支持,但是只有非常有限的工件将这些调用者进行过滤。确保提供vcf过滤。请参见FAQ部分主要装饰图案中常见的问题和问题相关的输入数据。

  • 由于生殖系snp是需要推断allele-specific复制数据,提供的VCF需要包含体细胞和生殖系变异。确保上游过滤不移除高质量的单核苷酸多态性,特别是由于生殖系数据库的存在。

  • 运行变量调用者50 - 75碱基对区间填充的杂合的snp数量增加

4运行PureCN内部分割

下面描述了PureCN运行内部拷贝数归一化和分割。

4.1报道

对于每一个样本,肿瘤和正常,计算GC-normalized保险:

#计算和GC-normalize报道从BAM文件Rscript PURECN美元/覆盖。R——outdir / SAMPLEID \美元——bam $ {SAMPLEID}。bam \ $ OUT_REF / baits_hg19_intervals间隔。txt # GC-normalize覆盖从GATK DepthOfCoverage文件Rscript PURECN美元/覆盖。R——outdir / SAMPLEID \——美元$ {SAMPLEID} .coverage报道。sample_interval_summary \ $ OUT_REF / baits_hg19_intervals.txt间隔

GATK相似,这个脚本也需要一个文本文件包含BAM列表或覆盖文件名称(每行一个)。必须将文件扩展名.list:

#计算和GC-normalize报道从BAM列表中文件Rscript PURECN美元/覆盖。R——outdir \——美元bam法线。列表\ $ OUT_REF / baits_hg19_intervals间隔。txt \——核4

重要的建议:

  • 只提供——keepduplicatesorgydF4y2Ba——removemapq0如果你知道你在做什么,总是使用相同的命令行参数对肿瘤和法线

4.2NormalDB

建立一个正常的数据库覆盖正常化,复制路径GC-normalized正常覆盖所有文件在一个文本文件,逐行:

ls - a * loess.txt正常。广州|猫> example_normal。#自已GC-normalized文件列表Rscript PURECN / NormalDB美元。R——outdir OUT_REF美元\ coveragefiles example_normal。列表\——基因组hg19化验agilent_v6 #当正常面板VCF可用无与伦比的样本(强烈推荐)Rscript PURECN / NormalDB美元。R——outdir OUT_REF美元\ coveragefiles example_normal。列表\——基因组hg19 normal_panel normal_panel——化验agilent_v6美元

重要的建议:

  • 考虑不同数据库生成差异显著时,例如样品用不同的阅读或插入长度尺寸分布

  • 特别是,切忌将获得正常的数据与不同的捕获工具(如。安捷伦SureSelect v4v6)

  • 这里提供一个正常的面板VCF预先执行映射偏见更快的运行时。已是一个唯一的要求广告格式字段包含引用的数量和alt读取所有样本。看到示例文件$ PURECN / normalpanel.vcf.gz

  • 理想的结果,检查interval_weights.png文件找到好的偏离本宽度。您将需要重新运行IntervalFile.R——offtargetwidth参数和计算保险。

  • ——分析参数是可选的,仅用于提供试验名称添加到输出文件

  • 警告指向可能使用错误的鱼饵文件意味着超过5%的目标接近0覆盖在所有正常样本。床上的低覆盖率将生成目标文件——outdir。如果由于任何原因没有访问到正确的文件,建议重新运行IntervalFile.R命令和文件提供这种床——排除

4.3PureCN

现在assay-specific文件创建和所有保险计算,我们运行PureCN.R规范化、划分和确定纯度和倍性:

mkdir / SAMPLEID #美元没有匹配的正常(最小测试运行)Rscript PURECN / PURECN美元。R——/ SAMPLEID \美元——肿瘤/ SAMPLEID美元/ $ {SAMPLEID} _coverage_loess.txt。广州\——sampleid sampleid美元\ vcf {sampleid} _mutect美元。vcf \——normaldb OUT_REF / normalDB_hg19美元。rds \ $ OUT_REF / baits_hg19_intervals间隔。txt \ hg19——基因组# Production pipeline run $ Rscript $PURECN/PureCN.R --out $OUT/$SAMPLEID \ --tumor $OUT/$SAMPLEID/${SAMPLEID}_coverage_loess.txt.gz \ --sampleid $SAMPLEID \ --vcf ${SAMPLEID}_mutect.vcf \ --statsfile ${SAMPLEID}_mutect_stats.txt \ --normaldb $OUT_REF/normalDB_hg19.rds \ --mappingbiasfile $OUT_REF/mapping_bias_hg19.rds \ --intervals $OUT_REF/baits_hg19_intervals.txt \ --snpblacklist hg19_simpleRepeats.bed \ --genome hg19 \ --force --postoptimize --seed 123 # With a matched normal (test run; for production pipelines we recommend the # unmatched workflow described above) $ Rscript $PURECN/PureCN.R --out $OUT/$SAMPLEID \ --tumor $OUT/$SAMPLEID/${SAMPLEID}_coverage_loess.txt.gz \ --normal $OUT/$SAMPLEID/${SAMPLEID_NORMAL}_coverage_loess.txt.gz \ --sampleid $SAMPLEID \ --vcf ${SAMPLEID}_mutect.vcf \ --normaldb $OUT_REF/normalDB_hg19.rds \ --intervals $OUT_REF/baits_hg19_intervals.txt \ --genome hg19 # Recreate output after manual curation of ${SAMPLEID}.csv $ Rscript $PURECN/PureCN.R --rds $OUT/$SAMPLEID/${SAMPLEID}.rds

重要的建议:

  • 即使匹配法线是可用的,它通常是最好使用正常的数据库覆盖正常化。当一个匹配提供正常的报道——正常那么正常的池覆盖规范化和去噪步骤跳过!

  • 总是提供正常的覆盖数据库忽略低质量区域分割和增加纯合缺失的灵敏度高纯度样品。

  • 正常的面板VCF文件是用于映射偏差纠正,特别是推荐没有匹配的法线。看到FAQ的主要装饰图案如何生成这个文件。这不是测试运行的必要条件。

  • MuTect 1.1.7数据文件(VCF)的主要输出文件除了应提供更好的工件过滤。如果已生成的管道执行构件过滤好,不需要这个文件。

  • ——postoptimize标记定义了纯度应该优化使用这两种等位基因变体分数和拷贝数,而不是拷贝数。这导致一个重要的运行时增加whole-exome数据。

  • 如果——从是一个目录,它将使用示例id作为文件所有输出文件的前缀。否则PureCN将使用——从作为前缀。

  • ——平行标志将使当地最适条件的平行安装。看到BiocParallel获取详细信息。这个脚本将使用默认的后端。

  • ——funsegmentation PSCBS将成为新的默认在1.18。目前支持区间权重需要一个补丁(见部分1.2)。

  • 违约是校准和应该为大多数样本产生接近理想的结果。一些常见的情况下,改变默认值是有意义的:

    • 高纯度、高质量:癌症类型纯度高的预期,如卵巢癌、预计当质量非常好(高覆盖率,年轻的样品),——maxcopynumber 8

    • 小板和高覆盖率:——填充100(或更高版本),需要运行这个填充的变体调用者或没有间隔文件。使用相同的设置面板的法线VCF这样snp侧翼地区有可靠的映射偏差估计。的——maxhomozygousloss参数可能还需要一些调整与大型差距非常小的面板被删除。

    • 细胞系:安全跳过寻找低纯度细胞系的解决方案:——maxcopynumber 8,——minpurity 0.9,——maxpurity 0.99。添加——modelhomozygous发现LOH区域样本中不正常的污染(不提供这个标志匹配正常VCF)中的数据是可用的。

    • cfDNA:——minpurity 0.1,——minaf 0.01(或降低)——错误0.0005(或更低,当有UMI-based纠错)。注意,估计纯度非常错误的真正的纯度低于5 - 7%;这些样品通常标记为non-aberrant。

    • 扩增子数据:——模型betabin(扩增子数据并非官方支持)

    • 所有化验:——maxsegments应该设置一个值,以便无一例外只有质量差的样品超过这个截止。对于癌症类型异质性高,还建议增加——maxnonclonal0.3 - -0.4(这将增加运行时明显whole-exome数据)。

5与第三方分割PureCN运行

5.1一般使用

如果你已经有了从第三方工具(例如分割CNVkit,GATK4,EXCAVATOR2)。最小测试运行:

Rscript PURECN / PURECN美元。R——出$ / $ SAMPLEID \ SAMPLEID SAMPLEID \美元——segfile / SAMPLEID美元/ $ {SAMPLEID} .cnvkit.seg \——vcf {SAMPLEID} _mutect美元。vcf \ $ OUT_REF / baits_hg19_intervals间隔。txt \ hg19——基因组

看到更多的细节和文件格式的主要装饰图案。

6生物标记物

Dx.R提供拷贝数变异指标常用的生物标记物,最重要的是肿瘤突变负担(三甲),染色体不稳定(CIN)和突变特征。

#为床上文件提供可调用的地区,例如通过# GATK CallableLoci。有用的计算每megabase突变和#排除低质量的地区。grep调用$ {SAMPLEID} _callable_status。床> \ $ {SAMPLEID} _callable_status_filtered。床#只有数突变可调用的地区,也在PureCN减去忽略#是什么。通过——snpblacklist R,喜欢简单重复,从突变/ # megabase计算#也寻找宇宙突变签名# (http://cancer.sanger.ac.uk/cosmic/signatures) Rscript PureCN美元/ Dx。R——/ SAMPLEID美元/ SAMPLEID \——rds美元/ SAMPLEID / $ {SAMPLEID}。rds \——可调用$ {SAMPLEID} _callable_status_filtered。床\——排除hg19_simpleRepeats.bed\ --signatures \ --signature_databases signatures.exome.cosmic.v3.may2019 # Restrict mutation burden calculation to coding sequences Rscript $PureCN/FilterCallableLoci.R --genome hg19 \ --infile ${SAMPLEID}_callable_status_filtered.bed \ --outfile ${SAMPLEID}_callable_status_filtered_cds.bed \ --exclude '^HLA' Rscript $PureCN/Dx.R --out $OUT/$SAMPLEID/${SAMPLEID}_cds \ --rds $OUT/SAMPLEID/${SAMPLEID}.rds \ --callable ${SAMPLEID}_callable_status_filtered_cds.bed \ --exclude hg19_simpleRepeats.bed

重要的建议:

  • 运行GATK CallableLoci——minDepth N其中N是大约20%的平均目标覆盖所有的样品。

7参考


表1: IntervalFile
参数名称 相应PureCN论点 PureCN函数
——fasta reference.file preprocessIntervals
——infile interval.file preprocessIntervals
——offtarget off.target preprocessIntervals
——targetwidth average.target.width preprocessIntervals
——mintargetwidth min.target.width preprocessIntervals
——smalltargets small.targets preprocessIntervals
——offtargetwidth average.off.target.width preprocessIntervals
——offtargetseqlevels off.target.seqlevels preprocessIntervals
——mappability mappability preprocessIntervals
——minmappability min.mappability preprocessIntervals
——reptiming reptiming preprocessIntervals
——reptimingwidth average.reptiming.width preprocessIntervals
——基因组 txdb,org annotateTargets
——输出文件
——出口 rtracklayer:出口
——版本- v
-力- f
——帮助- h

表2: 报道
参数名称 相应PureCN论点 PureCN函数
——砰 bam.file calculateBamCoverageByInterval
——白 index.file calculateBamCoverageByInterval
——覆盖 coverage.file correctCoverageBias
——时间间隔 interval.file correctCoverageBias
——方法 方法 correctCoverageBias
——keepduplicates keep.duplicates calculateBamCoverageByInterval
——removemapq0 mapqFilter ScanBamParam
——outdir
——核心 数量的cpu使用多个BAMs时提供
——平行 使用默认BiocParallel后端当多个BAMs提供
——种子
——版本- v
-力- f
——帮助- h

表3: NormalDB
参数名称 相应PureCN论点 PureCN函数
——coveragefiles normal.coverage.files createNormalDatabase
——normal_panel normal.panel.vcf.file calculateMappingBiasVcf
——分析—— 可选的试验名称 用于输出文件的名字。
——基因组- g 可选的基因版本 用于输出文件的名字。
——outdir - o
——版本- v
-力- f
——帮助- h

表4: PureCN
参数名称 相应PureCN论点 PureCN函数
——sampleid -我 sampleid runAbsoluteCN
——正常 normal.coverage.file runAbsoluteCN
——肿瘤 tumor.coverage.file runAbsoluteCN
——已 vcf.file runAbsoluteCN
——rds file.rds readCurationFile
——mappingbiasfile mapping.bias.file setMappingBiasVcf
——normaldb normalDB(序列化saveRDS) calculateTangentNormal,filterTargets
——segfile seg.file runAbsoluteCN
——logratiofile log.ratio runAbsoluteCN
——性 runAbsoluteCN
——基因组 基因组 runAbsoluteCN
——时间间隔 interval.file runAbsoluteCN
——statsfile stats.file filterVcfMuTect
——minaf af.range filterVcfBasic
——snpblacklist snp.blacklist filterVcfBasic
——错误 错误 runAbsoluteCN
——dbinfoflag DB.info.flag runAbsoluteCN
——popafinfofield POPAF.info.field runAbsoluteCN
——mincosmiccnt min.cosmic.cnt setPriorVcf
——funsegmentation fun.segmentation runAbsoluteCN
——α α segmentationCBS
——undosd undo.SD segmentationCBS
——maxsegments max.segments runAbsoluteCN
——minpurity test.purity runAbsoluteCN
——maxpurity test.purity runAbsoluteCN
——minploidy min.ploidy runAbsoluteCN
——maxploidy max.ploidy runAbsoluteCN
——maxcopynumber test.num.copy runAbsoluteCN
——postoptimize post.optimize runAbsoluteCN
——bootstrapn n bootstrapResults
——modelhomozygous model.homozygous runAbsoluteCN
——模型 模型 runAbsoluteCN
——logratiocalibration log.ratio.calibration runAbsoluteCN
——maxnonclonal max.non.clonal runAbsoluteCN
——maxhomozygousloss max.homozygous.loss runAbsoluteCN
——outvcf return.vcf predictSomatic
,- o
——平行 BPPARAM runAbsoluteCN
——核心 BPPARAM runAbsoluteCN
——种子
——版本- v
-力- f
——帮助- h

表5: Dx
参数名称 相应PureCN论点 PureCN函数
——rds file.rds readCurationFile
——可调用的 可调用的 callMutationBurden
——排除 排除 callMutationBurden
——maxpriorsomatic max.prior.somatic callMutationBurden
——签名 deconstructSigs: whichSignatures
——signature_databases deconstructSigs: whichSignatures
——从
——版本- v
-力- f
——帮助- h