Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meaning of UMI_cor = 2 in sc_gene_counting() #93

Open
PeteHaitch opened this issue Aug 27, 2018 · 2 comments
Open

Meaning of UMI_cor = 2 in sc_gene_counting() #93

PeteHaitch opened this issue Aug 27, 2018 · 2 comments

Comments

@PeteHaitch
Copy link
Contributor

I'm having a hard time understanding the documentation of UMI_cor = 2 in sc_gene_counting()

correct UMI sequencing error: 0 means no correction, 1 means simple correction and merge UMI with distance 1. 2 means merge on both UMI alignment position match.

Could you please clarify?

@LuyiTian
Copy link
Owner

for UMI_cor = 1, all UMIs that mapped to the same genes are grouped together and duplicated UMIs are removed.

for UMI_cor = 2, all UMIs that mapped to the same genes and in the same positions are grouped together and duplicated UMIs are removed. so UMI_cor assume that one molecule, after amplification, would only generate the same fragment.
Later on, I realized it is rarely the case and most protocols, including 10X and CEL-seq2, involves pre-amplification before the full-length cDNAs are cut down to fragments. So there could be more than one fragment for the one mRNA molecule. I did'not delete it in case it is useful in some special situation. But for the most time, it should not be used.

@PeteHaitch
Copy link
Contributor Author

Thanks, Luyi. So UMI_cor = 1 is the recommended value?
I think it would be useful to update the documentation with those extra details and ensure the default value matches the most common protocol(s).
Aside: a description of UMI_cor = 2 is missing from create_report():

scPipe/R/sc_workflow.R

Lines 203 to 211 in 02e9784

if (UMI_cor == 1) {
tx = gsub(pattern = "UMI_COR__", replacement = "simple correction and merge UMI with distance 1", x = tx)
}
else if (UMI_cor == 0) {
tx = gsub(pattern = "UMI_COR__", replacement = "no correction", x = tx)
}
else {
tx = gsub(pattern = "UMI_COR__", replacement = "unknown", x = tx)
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants