milaboratory / mixcr

MiXCR is an ultimate software platform for analysis of Next-Generation Sequencing (NGS) data for immune profiling.
https://mixcr.com
Other
326 stars 79 forks source link

One cell barcode assigned to different clonotype IDs #786

Open jsialar opened 2 years ago

jsialar commented 2 years ago

I ran MIXCR on single cell data TCR data. After exportClones , I saw some rows with the same cell barcodes (tagValueCELL column) but different cloneId. This means one cell belongs to different clonotypes, which doesn't make sense biologically to me. However, is this the expected behavior? I am guessing the clonotype groupings are decided without taking tagValueCELL into consideration. i.e. 2 groups of reads with similar cell barcode sequence but different CDR3 sequence will produce 2 clonotypes with the same cell barcodes. I am using docker version 4.0.0-268-develop to run all the analysis (align, correctAndSortTags, assemblePartial, assemble, assembleContigs, exportClones). Sorry I haven't tried to replicate this issue in the stable release. Just want to check quickly if this result is expected.

mehdiborji commented 2 years ago

This is known that some cells can have multiple functional CDR3 of the same chain, if nonfunctional this can be even higher. Expressed mRNA doesn't mean they are dimerized on the surface. Morever, you can (and will always) have multiple TCR molecules captured in some of the droplets. This value will be higher if your library has high amount of background/ambient RNA. Also you don't specify if they are the same chain or different chains. If they are not the same chain then it's definitely a good expected result to get the pair of TRA/TRB or TRG/TRD.

jsialar commented 2 years ago

Thanks @mehdiborji . Regarding:

If they are not the same chain then it's definitely a good expected result to get the pair of TRA/TRB or TRG/TRD.

If they are not the same chain, I thought they should belong to the same clonotype, and the algorithm would consider that they have the same cell barcode and therefore assign both alignments to the same clonotype. My understanding is that a clonotype is defined by both chains.