As the ArchR github seems to be overwhelmed lately maybe some of you will have an answer.
Digging into GeneScore
calculation in ArchR, I looked a bit more closely to the addGeneScoreMat
function which gives each gene a weight multiplied by the tile matrix.
In this process the gene body length is extended by 5000bp upstream (geneUpstream
) by default, which is fine by me.
ArchR also create a "gene activity score calculation" which can be extended from 1000bp to 100kbp downstream or upstream TSS. Which is also fine if you stop extending the gene activity area when entering the venicity of another gene.
ArchR team is making this statement as a comment in their code after extending the gene activity area :
We will test when genes pass by another gene promoter
My problem is : why are they checking genes passing another gene promoter and not gene body ?
As if a geneA is antisense downstream of geneB, geneA will suck up all geneB reads before reaching its promoter.