removeSharedOffTargets {scsR} | R Documentation |
remove from an siRNA genome wide screen (screenA) all the oligos with a seed that is contained also in a second screen (screenB) in oligos designed to target the same genes (i.e. if an oligo X that target gene K in screenA is found to have the same seed as an oligo Y in screenB that targets gene K, then oligo X is removed from screenA). In this way we can remove from a screen all the oligos that have potentially the same type of off-targets as those in another screen. We suggest to perform thie step before running a benchmark on the shared hits (because we don't want the benchmark to count shared hits that are generated by possible shared off-target effects)
removeSharedOffTargets(screenA, screenB, seedColName="seed7", geneColName="GeneID", seqColName="siRNA_seq", removeGenes=FALSE)
screenA |
screen to be filtered of the oligos that share the seed with oligos that target the same gene in a screenB |
screenB |
screenB |
seedColName |
name of the column that contains the seeds (character vector) |
geneColName |
name of the column that contains the gene identifiers (character vector) |
seqColName |
name of the column that contains the oligo sequences (character vector) |
removeGenes |
specify whether to remove just the oligos or the entire gene, as you would probably like to do when screenA is a pooled library (i.e. remove all the oligos that refer to a gene, even if only one oligos contains a seed that is common to oligos of screenB that refer to the same gene) (boolean) |
return screenA filtered of the oligos that are similar in seed to those of screenB. (data frame)
Andrea Franceschini
data(uuk_screen) data(uuk_screen_dh) # reduce the size of the input datasets in order to make the example faster # (you should not perform this operation in a real case) uuk_screen=head(uuk_screen, n=2500) uuk_screen_dh=head(uuk_screen_dh, n=2500) uuk_qi = removeSharedOffTargets(add_seed(uuk_screen), add_seed(uuk_screen_dh))