Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

135 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

TranslocatoR

TranslocatoR finds translocations in MosaiCatcher-processed data. It can be used for both reciprocal and non-reciprocal translocations.

In this README:

  • How TranslocatoR Works
  • Getting Started
  • Using TranslocatoR
  • Ready-to-use Example

After processing the data with StrandPhaseR, the MosaiCatcher pipeline outputs a file containing all segments and their phased states. This file forms the input to TranslocatoR.
TranslocatoR has several ways for the detection of co-segregating segments. Besides the two main options, pq and majority, a further file of additional inferred strand-states can be provided by the user (trfile) as well as a file containing regions of interest in the sample.
TranslocatoR performs haplotype splitting for each segment: Note that with the majority option, each chromosome is represented by one ‘segment’ which is the majority state, and with the pq option each chromosome is represented by two segments, one for each arm. Finally each haplotype of each segment is compared to every other segment’s haplotype.

TranslocatoR outputs a matrix containing translocations by selecting all segments where p is below a user-chosen cutoff (default 0.01).

graph LR
n1(Strand-Seq) -->|BAM files| n2[MosaiCatcher]
n2 --> |Strand States| n4{TranslocatoR}
n3(manual strand state identification)-.trfile.-> n4
n4 -->n5(translocation)
n6(regions of interest)-.regions.-> n4
Loading

Getting Started

Installing from GitHub

If you want to use TranslocatoR directly without looking at the usage example first, you can install it directly from GitHub with the devtools() package. Simply run devtools::install_github(repo = "https://github.com/Sanders-Lab/TranslocatoR", ref = "master"), load the TranslocatoR library with library(TranslocatoR) and you're ready to go. Have fun!

If you would like to do an example run first to get a feel for how TranslocatoR output looks, you need to clone the directory and install the package separately. I have not yet been able to figure out how to make devtools install the subfolders necessary for the example to run. Clone the whole repository into your desired local directory by navigating to it, then running git clone --recurse-submodules https://github.com/Sanders-Lab/TranslocatoR.git. Inside Terminal or RStudio, navigate to the directory that now contains the cloned repo and set the TranslocatoR directory as your working directory. You can now run devtools::install() and TranslocatoR will be installed as normal. Don't forget to run library(TranslocatoR) and then you can then follow the usage example (keeping your working directory set to the cloned TranslocatoR repository folder).

TranslocatoR utilizes the following R packages: "data.table", "gtools", "ggplot2", "stringr", "discreteMTP", "assertthat" and these will be installed automatically if you do not have them on your machine yet.

Below we provide you with a ready-to-use example here, as well as some output-context.

Using TranslocatoR

Execute the following command and make sure to specify non-default arguments if needed.

translocatoR(data.folder, output.folder, samples, options="pq", binsize=100000L, cutoff=0.01, regions=NULL, trfile=NULL, blacklist=T) 
ArgumentComment
data.folderpath to MosaiCatcher data folder
output.folderabsolute path to output folder for TranslocatoR data
samplessamples in MosaiCatcher output folder to be analyzed by TranslocatoR. Use consistent ID throughout the data-set.
optionscan take one of multiple values "segments", "pq", "majority"; defaults to "pq".
binsizewhich binsize to use, defaults to 100kb
cutoffcutoff for significant FDR-corrected p-values, defaults to 0.01
regionslist of regions in the format "chr#:-" for potential translocations
trfilelist of manually-identified strand state of suspected translocation
blacklistList of coordinates for centromeres and short arms for acrocentric chromosomes. Defaults to TRUE and is strongly recommended.



data.folder should be the path to the MosaiCatcher data folder that contains your sample folders of choice. If you decide to use other files please ensure the following path-structure

|__<data.folder>
|__<sample ID> |__<strandphaser>
|__<StrandPhaseR_final_output.txt>

options

  • pq takes the strand states of the most distal segments on both the p- and q-arms of each chromosome. Translocations are expected to be on the ends of chromosomes.
  • majority identifies the majority state (i.e. the most prevalent strand state) of each chromo- some to use for comparison
  • segments automatically identifies all recurring segments in a library. This is useful for very complex events.

samples should give distinctive sample-ids. Multiple inputs are possible: samples=c("sampleA", "sampleB")

regions File containing regions of interest in a sample. These regions are the positions where recurrent strand state changes take place, or one expects to see a more complex translocation. TranslocatoR extracts the majority strand state for every given region in each cell and treats the regions as extra segments.

Provide a file in the following format, multiple sample-id inputs are possible:

samplechromstartend
RPE-BM510chr1280000900000
C7chr50555666



trfile Useful for non-reciprocal translocations: the translo- cated portion of a chromosome will look like a duplication and identifying its state is straightforward.

  • Cannot contain more than one sample-id. In order to supply several sample-ids provide several paths for the argument: trfile = c("path1", "path2", ...)
  • The first two columns of the .txt file must contain the sample- and cell-ids.
  • The states in this file will be treated as an extra segment in each cell.
samplecellchr10tr
RPE-BM510BM510_20306C
RPE-BM510BM510_20310W
RPE-BM510BM510_20315W

Output

The following output file structure will be created:

|__<your_output_folder> |__sample-ID # creates folder for each given sample
| |__haplotypes-per-arm.txt # raw data output
| |__outliers
| |__<outliers.txt> # cells that do not follow the predicted translocation pattern
| |__translocations | |__pvalue-table.txt # all possible combinations
| |__recurrent-segments.txt # recurring breakpoints that occur > 2x within the data set | |__translocations.txt # suggested translocations after applying pvalue cut-off

Some insight on how to understand the given output is given below.

Here we provide you ready-to-use data for testing TranslocatoR. Run TranslocatoR yourself:

translocatoR(
data.folder="data/example-data/example-input", output.folder="data/example-data/example-output/your-output", samples="RPE-BM510",
options="majority",
trfile="data/example-data/example-input/trfile-example.txt",
)

Input

  1. MosaiCatcher output-folder structure containing "RPE-BM510" as a sample: data/example-data/example-input
  2. Example file containing the manually-identified strand states of the suspected translocation data/example-data/example-input/trfile-example.txt

Output

  1. We provide you with the expected example-run output: data/example-data/example-output/example-run
  2. If you have run TranslocatoR yourself the output can be found here: data/example-data/example-output/your-output

translocation.txt The primary output-file of interest.

  • SegA/SegB: chromosomes that are affected by translocation: SegA translocates to SegB, haplotypespecific.
  • cor: Positive/negative correlation.
  • p: p-value
  • x: Number of matching states.
  • n: Number of cells.
  • pBH: FDR-adjusted p-value.

The other output files are useful for further reference, but not crucial.

  • outliers.txt Outlyer cells that do not match the segregation pattern for any of the identified translocations. Can be used to double-check the listed cells.
  • haplotypes-per-arm-txt Matrix containing all split haplotypes per cell.
  • pvalue-table.txt Full matrix of segment comparisons and p-values; no cut-off applied.
  • recurrent-segments.txt Matrix of recurrent segments (>1x; not entire chr). Lists start-/end-point in N-cells. Can be used to infer breakpoint and thus validate the detected translocations.

Understanding the Example Output

The output-file of primary interest is translocations.txt where TranslocatoR gives a list of detected translocation candidates ordered by FDR-adjusted p-values depending on the set cut-off. This list is affected by the arguments used for the run. In our example you can see of the three candidate translocation partners found for the tested segment (specified by trfile.txt) chr10tr chrX.H2 is the most probable partner. This coincides with the previously described translocation der(X)t(X;10) (Janssen et al., 2011, DOI: 10.1126/science.1210214). Hence, by going back to the data and looking at the candidate translocations in the other files provided by TranslocatoR and the MosaiCatcher pipeline, one can evaluate the candidate translocations.

About

Find translocations in Mosaicatcher-analyzed Strand-seq data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages