• Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    R
  • License
    Other
  • Created almost 12 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An R package for inferring the subclonal architecture of tumors

An R package for inferring the subclonal architecture of tumors

Installation instructions:

As of mid-2022, the NORMT3 package, which is a dependency of sciclone/bmm, has been removed from CRAN. It can be installed manually by doing something like:

$ wget https://cran.r-project.org/src/contrib/Archive/NORMT3/NORMT3_1.0.4.tar.gz
$ R CMD install NORMT3_1.0.4.tar.gz

Then proceed with the below instructions:

Both the 'sciClone' package and it's 'bmm' dependency can be installed by doing the following:

#install IRanges from bioconductor
source("http://bioconductor.org/biocLite.R")
biocLite("IRanges")
#install devtools if you don't have it already
install.packages("devtools")
library(devtools)
install_github("genome/bmm")
install_github("genome/sciClone")

If you prefer to build the package by hand, follow these steps:

  • Make sure that you have the dependencies from the CRAN and BioConductor repos: IRanges, rgl, RColorBrewer, ggplot2, grid, plotrix, methods, NORMT3, MKmisc, TeachingDemos

  • install the bmm package from https://github.com/genome/bmm

  • Download and build from source:

      git clone [email protected]:genome/sciclone.git
      R CMD build sciclone
      R CMD INSTALL sciClone_1.1.0.tar.gz
    

Usage

library(sciClone)

#read in vaf data from three related tumors
#format is 5 column, tab delimited: 
#chr, pos, ref_reads, var_reads, vaf

v1 = read.table("data/vafs.tumor1.dat",header=T);
v2 = read.table("data/vafs.tumor2.dat",header=T);
v3 = read.table("data/vafs.tumor3.dat",header=T);

#read in regions to exclude (commonly LOH)
#format is 3-col bed
regions = read.table("data/exclude.loh")

#read in segmented copy number data
#4 columns - chr, start, stop, segment_mean   
cn1 = read.table("data/copy_number_tum1")
cn2 = read.table("data/copy_number_tum2")
cn3 = read.table("data/copy_number_tum3")

#set sample names
names = c("Sample1","Sample2","Sample3")


#Examples:
#------------------------------------
#1d clustering on just one sample
sc = sciClone(vafs=v1,
         copyNumberCalls=cn1,
         sampleNames=names[1],
         regionsToExclude=reg1)
#create output
writeClusterTable(sc, "results/clusters1")
sc.plot1d(sc,"results/clusters1.1d.pdf")

#------------------------------------
#2d clustering using two samples:
sc = sciClone(vafs=list(v1,v2),
              copyNumberCalls=list(cn1,cn2),
              sampleNames=names[1:2],
               regionsToExclude=regions)
#create output
writeClusterTable(sc, "results/clusters2")
sc.plot1d(sc,"results/clusters2.1d.pdf")
sc.plot2d(sc,"results/clusters2.2d.pdf")


#------------------------------------
#3d clustering using three samples:
sc = sciClone(vafs=list(v1,v2,v3),
              copyNumberCalls=list(cn1,cn2,cn3),
              sampleNames=names[1:3],
               regionsToExclude=regions)
#create output
writeClusterTable(sc, "results/clusters2")
sc.plot1d(sc,"results/clusters2.1d.pdf")
sc.plot2d(sc,"results/clusters2.2d.pdf")
sc.plot3d(sc, sc@sampleNames, size=700, outputFile="results/clusters3.3d.gif")

#This pattern generalizes up to N samples, except for plotting, which caps out at 3d for obvious reasons.

Visualization

single-tumor plot

1d plot

2d comparison plot

2d plot

3d comparison plot

3d plot

Notes

  • Requires host system to have imagemagick installed before it can produce animated gif output of 3d plots.

  • Input formats described in more detail in the R documentation (see ?sciClone)

  • Many questions regarding sciClone usage have been asked and answered on Biostar: https://www.biostars.org/t/sciclone/

Accessory Scripts and Data

The sciClone-meta repo contains all data and scripts used to create the figures in the manuscript. It also contains a small suite of tests that demonstrate the capabilities of sciClone and verify that it is installed correctly.

Reference

Manuscript published at PLoS Computational Biology (doi:10.1371/journal.pcbi.1003665)

SciClone: Inferring clonal architecture and tracking the spatial and temporal patterns of tumor evolution

Christopher A. Miller1*, Brian S. White2*, Nathan D. Dees1, John S. Welch2,3, Malachi Griffith1, Obi Griffith1, Ravi Vij2,3, Michael H. Tomasson2,3, Timothy A. Graubert2,3, Matthew J. Walter2,3, William Schierding1, Timothy J. Ley1,2,3, John F. DiPersio2,3, Elaine R. Mardis1,3,4, Richard K. Wilson1,3,4, and Li Ding1,2,3,4

1The Genome Institute

2Department of Medicine

3Siteman Cancer Center

4Department of Genetics Washington University, St. Louis, MO 63110, USA

* These authors contributed equally to this work

More Repositories

1

bam-readcount

Count bases in BAM/CRAM files
CMake
300
star
2

pindel

Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data. It uses a pattern growth approach to identify the breakpoints of these variants from paired-end short reads.
C++
160
star
3

breakdancer

SV detection from paired end reads mapping
C++
110
star
4

analysis-workflows

Open workflow definitions for genomic analysis from MGI at WUSM.
Common Workflow Language
102
star
5

gms

The Genome Modeling System installer
Perl
77
star
6

genome

Core modules used by the GMS
Perl
61
star
7

bfx-workshop

A course on genomics and bioinformatics from WU
HTML
55
star
8

somatic-sniper

A tool to call somatic single nucleotide variants.
C
40
star
9

docs

22
star
10

joinx

a tool for processing .bed and .vcf files
C++
21
star
11

scrna_mutations

Supplementary data for Petti, et al 2019 scRNA mutation publication
Python
16
star
12

mendelscan

Analyze exome data for Mendelian disorders. Still in alpha-testing.
Java
10
star
13

ptero

Shell
9
star
14

tigra-sv

8
star
15

sciclone-meta

accessory scripts and documentation related to the sciclone R package at genome/sciclone
R
6
star
16

rss2jira

Create JIRA issues when keywords are matched in RSS feeds.
Python
5
star
17

docker-rnaseq

A fat docker image for running RnaSeq
R
4
star
18

UR

Rich Transactional Objects for Perl
Perl
4
star
19

bmm

R package that uses a variational Bayesian approach to fitting a mixture of Beta distributions
R
4
star
20

dindel-tgi

A fork of dindel
C++
3
star
21

docker-bcftools

Docker container for bcftools
Dockerfile
3
star
22

vcf-evaluation

scripts and modules to facilitate comparing gold standard VCFs
Perl
3
star
23

docker-star

Docker container for the star aligner
Dockerfile
3
star
24

docker-bam_readcount_helper-cwl

Python
3
star
25

graphite

Graphite Config and Cron Scripts
Perl 6
3
star
26

ptero-lsf

Ptero services to run commands via LSF
Python
2
star
27

cle-chromoseq

Repository for CLE ChromoSeq Assay
Python
2
star
28

pairoscope

simple static plots of read pairing information
C++
2
star
29

docker-dna-alignment

A fat docker image for running alignment
Shell
2
star
30

aml31Benchmarking

R
2
star
31

cle-myeloseqhd

Python
2
star
32

tgi-workflow

the workflow server used at TGI
Perl
2
star
33

flow-core

JavaScript
2
star
34

cncwl

1
star
35

docker-vep-cwl

Variant of vep image without an ENTRYPOINT
1
star
36

cle-myeloseq

Repo for cle myeloseq/haloplex assay
Perl
1
star
37

docker-gossamer

Docker container for gossamer bioinformatics suite
1
star
38

ptero-workflow

Client-facing API for the PTero system
Python
1
star
39

cle

Repo for cle related software
WDL
1
star
40

qc-metric-aggregator

Given the output directory of a QC pipeline and a threshold config file, parse out the desired metrics and evalute them against the thresholds.
Python
1
star
41

docker-custom-clinvar-vcf

Python
1
star
42

docker-samtools-cwl

Dockerfile
1
star
43

ptero-petri

Petri net core of the PTero system
Python
1
star
44

somatic-snv-test-data

Example Data for SomaticSniper
1
star
45

build-common

common build scripts used in c/c++ projects
Python
1
star
46

nessy-client-perl

Perl client for the nessy-server lock daemon
Perl
1
star
47

nessy-server

Python
1
star
48

cancer-genomics-workflow-wiki

A full featured, including pull requests, git repo for the arvados_trial Wiki
Shell
1
star
49

docker-fgbio

A docker image for using fgbio
1
star
50

docker-strelka

A docker image for Strelka
1
star