Keywords
NGS, patient derived xenograft, explant, disambiguation, sequencing
This article is included in the Python collection.
NGS, patient derived xenograft, explant, disambiguation, sequencing
Xenografts, both cell line and primary tumour, are routinely profiled in preclinical and translational research. Xenografts are used to study everything from new target identification to responses to targeted therapeutics and mechanisms of resistance1 in an environment that is more realistic than just 2D cell lines. However, due to mouse stromal contamination of the human tumour, not all the data resulting from studying the extracted samples are guaranteed to be of human origin.
Direct high throughput sequencing of grafted samples with a mixture of two species is routine practice. However with the high volume of data and computational challenges of alignment and kmer identification, new computational strategies are required to computationally separate the two species’ components for more accurate downstream analysis1, especially for the reduction of variant calling artefacts. However, the two-species alignment approach proposed in Bradford et al.1 excludes reads that align to both organisms, clearly dismissing a large portion of the data as evidenced in Table 1 and Table 2 when observing cross species alignment rates.
Sample | mm10 | hg19 | Ambiguous | Read pairs total |
---|---|---|---|---|
SRR1176814 | 47197650 | 26157† | 88542 | 47312349 |
SRR1528269 | 11502†† | 77102895 | 153767 | 77268164 |
Sample | mm10 | hg19 | Ambiguous | Read pairs total |
---|---|---|---|---|
SRR1930152 | 23126086 | 80694† | 849364 | 24056144 |
SRR387400 | 94289†† | 49677937 | 9880844 | 59653070 |
Algorithms designed for disambiguating the host and tumour sequences include e.g. the Xenome tool2, which is based on machine learning applied to k-mers from both species. However, the implementation is not readily available and is not free for non-academic users. In 3 the authors also aligned the reads to both species, but no attempt was taken to disambiguate the data and no implementation is readily available.
Here, an alternative approach using read alignment quality is proposed to further disambiguate reads that can be mapped to both species. Alignment is first performed to both species independently and the reads are disambiguated as a post-processing step. There is no requirement to maintain pseudo reference indices based on combinations of reference sequences. This approach shows a very high sensitivity and specificity on artificially generated samples obtained by mixing reads from the individual species. The Disambiguate tool is community supported and widely used in several open and closed source pipelines.
The Disambiguate algorithm works by operating on natural name sorted BAM files from alignments to two species. Name sorting is a critical part in not having to read all the data from both species’ alignments into memory simultaneously; the same read aligned to both species is disambiguated on the fly by going through both alignment files synchronously. For reads that have alignments to both species and therefore require disambiguation, the specific details of the disambiguation process are slightly different for the different aligners. Thus far the algorithm has been tested for BWA-MEM4 and Bowtie25 for DNA-seq, and TopHat26, STAR7 and Hisat28 for RNA-seq. Illumina’s paired end sequencing is preferred as the mate can often break a tie. Figure 1 illustrates the disambiguation process.
Disambiguate assigns the reads on a per-pair basis, based on the highest quality alignment of the read pair. For BWA and STAR the alignment score (AS, higher better) is used as the primary disambiguation metric followed by edit distance (NM, lower better) to the reference. For Tophat2 and Hisat2 based alignments the sum (lower better) of edit distance, number of reported alignments (NH) and the number of gap opens (XO) is used.
The algorithm is implemented in Python (with dependency on the Pysam package) and C++ (with dependency on BamTools), with the C++ version being approximately four times faster than the Python code. 64 bit unix/linux systems are supported.
Given name sorted alignment (BAM) files aligned to the two species of interest (e.g. human and mouse), the algorithm infers for each read the most likely origin. The output contains BAM files for both species, BAM files for ambiguous reads and a text file describing how many read pairs were assigned to each BAM file. The simplest way to perform all of the alignment and disambiguation is by running bcbio, in which Disambiguate is integrated, on the raw sequencing data.
To illustrate the utility of Disambiguate, raw publicly available human and mouse exome sequencing reads (100bp paired end Illumina data) were downloaded from the European Nucleotide Archive (ENA) with Run Accessions SRR1176814 and SRR1528269.
The reads were concatenated, aligned against hg19 and mm10 using BWA MEM, and processed using Disambiguate. Pre-disambiguation, for the human sample (SRR1528269), there were 39686392 read pairs (out of total 77268164), for which at least one read aligned to mouse. Similarly, for the mouse sample (SRR1176814), there were 25638785 read pairs (out of total 47312349) for which at least one read aligned to human. Table 1 summarises the post disambiguation results. As can be seen, the disambiguation algorithm correctly pulls apart virtually all of the read pairs. In other internal studies, Disambiguate has time and again highlighted samples with low human assigned component, correlating with poor extraction or lack of growth of the tumour cells in the host.
STAR aligned human (SRR387400) and mouse (SRR1930152) RNA-seq data was also analysed with very similar results, see Table 2.
In summary, Disambiguate provides an important tool for computationally separating sequence reads originating from two species. In human-mouse studies it also allows the study of the mouse stromal component for gene expression and DNA variation.
In addition to RNA-seq and whole genome sequencing, it is worth highlighting that for targeted hybridisation capture sequencing of xenograft samples, where baits from a single species are used, disambiguation is still highly recommended. This is best seen in Table 1 where a large number of human exome reads aligned to mouse and would potentially affect downstream interpretation without disambiguation.
Disambiguate has been well adopted in the open source community; it is integrated in the open source bcbio pipeline, and has been successfully used in both RNA and DNA sequencing of xenografts both at AstraZeneca and other research institutes. This is evidenced by the number of support tickets from a variety of organisations on the bcbio-nextgen Github page.
The data used here is available from the European Nucleotide Archive with Run Accession numbers SRR1176814 and SRR1528269.
Software integrating Disambiguate available from: https://github.com/chapmanb/bcbio-nextgen
Latest source code: https://github.com/AstraZeneca-NGS/disambiguate
Archived source code as at time of publication: DOI: 10.5281/zenodo.1660179
License: MIT.
MA authored the bwa and rna-star disambiguation algorithms, co-authored the manuscript and implemented the algorithms in Python. SG wrote the C++ implementation of the algorithms. JJ co-authored the manuscript. ZL designed and implemented the original Tophat (and Hisat2) disambiguation algorithm and co-authored the manuscript.
The authors wish to thank Brad Chapman, Rory Kirchner and Eric Schelhorn for feedback and fixes on Disambiguate.
Views | Downloads | |
---|---|---|
F1000Research | - | - |
PubMed Central
Data from PMC are received and updated monthly.
|
- | - |
Competing Interests: No competing interests were disclosed.
Competing Interests: No competing interests were disclosed.
Competing Interests: No competing interests were disclosed.
Alongside their report, reviewers assign a status to the article:
Invited Reviewers | |||
---|---|---|---|
1 | 2 | 3 | |
Version 2 (revision) 24 Jan 17 |
read | ||
Version 1 22 Nov 16 |
read | read | read |
Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list:
Sign up for content alerts and receive a weekly or monthly email with all newly published articles
Already registered? Sign in
The email address should be the one you originally registered with F1000.
You registered with F1000 via Google, so we cannot reset your password.
To sign in, please click here.
If you still need help with your Google account password, please click here.
You registered with F1000 via Facebook, so we cannot reset your password.
To sign in, please click here.
If you still need help with your Facebook account password, please click here.
If your email address is registered with us, we will email you instructions to reset your password.
If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance.
Comments on this article Comments (0)