Skip to main content

PRISM: Methylation Pattern-based, Reference-free Inference of Subclonal Makeup

Project description

Methylation Pattern-based, Reference-free Inference of Subclonal Makeup.

Prerequisites

PRISM depends on the mapping result of Bismark, a bisulfite read mapping tool. Please prepare an alignment file (BAM file) of your reduced representation bisulfite sequencing (RRBS) data with Bismark. Also note that PRISM only applies to RRBS data, unfortunately, the feasibility of PRISM to the data from other methylation profiling technique such as whole genome bisulfite sequencing (WGBS), methylated DNA immunoprecipitation sequencing (MeDIP-Seq), or methyl-CpG binding domain-based capture sequencing (MBDCap-Seq) has not been verified.

Installation

PRISM can be installed via PyPI.

pip install subclone-prism

Usage

The PRISM analysis is done in three steps: extract - preprocess - deconvolute.

extract

prism extract command extracts viable epiloci from a BAM file. In other words, it extracts genomic regions harboring a sufficient number of mapped reads (>= d) with a sufficient number of CpGs (>= c). A resulting file with those epiloci information is generated, whose file extension will be .met afterwards. To extract epiloci with default settings (d = 20, c = 4), simply run the command below:

prism extract -i sample.bam -o sample.met

If you want to specify your own cutoffs for the required sequencing depth and the number of CpGs, say, d = 15 and c = 3, run as follows:

prism extract -i sample.bam -o sample.met -d 15 -c 3

Note that depending on the reference genome used, you may have to specify -u/--prepend-chr option. Also, you should use -x/--paired option to inform PRISM that you are using paired-end sequencing data. For a more detailed description about all options, run prism extract -h.

preprocess

prism preprocess command corrects for the errors in methylation patterns in order to amplify the number of fingerprint epiloci and calibrate for the subclone size estimates.

prism preprocess -i sample.met -o sample.corrected.met

You may benefit from multithreading with -t/--threads option.

prism preprocess -i sample.met -o sample.corrected.met -t 30

This step is resource intensive, so by default PRISM tries to pre-filters the epilocus that is not likely to be a fingerprint epilocus. This pre-filtering of course can be turned off by -f/--no-prefilter option and this indeed gives a better estimates of subclones. However, please be warned, depending on your data size, this step will last long. To help you deciding whether or not to apply prefiltering, with 30 threads (-t 30) ~200M met file took about 5 hours to be preprocessed without prefiltering.

prism preprocess -i sample.met -o sample.corrected.met --no-prefilter -t 30

For a more detailed description about all options, run prism preprocess -h.

deconvolute

prism deconvolute command infers the subclonal composition of the sample. Simply give methylation pattern-corrected epiloci file.

prism deconvolute -i sample.corrected.met -o sample.prism.result

Another feature of PRISM is that it can utilize two or more samples from a single tumor at the same time, and jointly infer subclonal composition. To provoke joint-analysis, specify a list of corrected.met files.

prism deconvolute -i sample1.corrected.met sample2.corrected.met -o sample.prism.result

For a more detailed description about all options, run prism deconvolute -h.

scatter

prism scatter command generates a scatterplot of the PRISM analysis result. You need a result of prism deconvolute. The dimension of anlaysis (i.e., the number of samples you gave to prism deconvolute command) should not be more than three to visualize it. Note that the file extension of output file should be a general one for image files such as png, jpg, or pdf.

prism scatter -i sample.prism.result -o sample.png

annotate

prism annotate command does functional annotation of the PRISM analysis result. It requires collections of genomic intervals as BED files. Give one or more BED file to prism annotate, with representative annotation term for each BED file. Basically it generates annotated result, with an additional column having comma-separated terms that the epiloci is annotated to.

prism annotate -i sample.prism.result -o sample.prism.annotated.result --beds annotation_a.bed annotation_b.bed --annotation-names ANNOTATION-A ANNOTATION-B

To extract epiloci with specific annotation term, use the command below.

cat sample.prism.annotated.result | grep 'ANNOTATION-A'

Also, scatterplots with annotation can be generated with --figure option.

prism annotate -i sample.prism.reslt -o sample.prism.annotated.result --beds annotation_a.bed annotation_b.bed --annotation-names ANNOTATION-A ANNOTATION-B --figure sample.prism.annotated.png

Workflow

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subclone-prism-0.1.0.tar.gz (1.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page