Current state of hashing summary I have added all ...
# hadge
l
Current state of hashing summary I have added all methods for which we already have nf-core modules to our hashing summary script (
htodemux
,
multiseq
,
demuxem
,
hasheddrops
and
gmmdemux
). We are currently still missing
bff
(PR) and
hashsolo
for hashing. @Nico Trummer, should I continue without these modules for now? Or do we have a solution for
bff
and
hashsolo
?
thankyou 1
n
For hashsolo the module exists here and for BFF there is the PR which fails due to too high memory consumption Can be fixed by changing the test data or checking if the tool has parameters that can lead to reduced memory footprint
l
Thanks! Then I'll add hashsolo.
I can try to adjust the parameters for bff. However, I can only see the different snapshots when I check out the failed jobs. Can I somehow see by how much we exceeded the 4/6 GB memory limit?
n
You cannot directly see it, but in some previous commit I increased the memory limit to 6GB and then it worked You could also try 5GB, 4.5 GB etc. until you know (debugging with the CI, wohoo xD) Just need to make sure we don't merge any alterations to the global memory limit, test-wise it's fine
l
Got it! So, for testing purposes, I gradually decrease the memory limit. Then I can estimate by how much we exceeded the memory limit. But then I still have to adjust the parameters, or in the worst case, the test dataset to stay below the 4 GB limit, right? Wohooo, CI debugging 🥳
@Seo Kim @Nico Trummer, is there a reason why hashsolo uses
*.h5ad
as input and not 10X matrices? This means I have to write a separate local module just to save the 10X matrix as
*.h5ad
. Does that make sense? The original module used the 10X matrix. From a user perspective, I would also rather start with a 10X matrix, wouldn't I?
n
I guess Seo can say more about this, but I am pretty sure you can just change it
👍 1
l
Thanks to @Nico Trummer for your tip on how to debug the memory problem. I learned a lot again.
Bff
is now working. party dino I would be happy if you could review it as soon as you have time (PR).
n
Done
gratitude thank you 1
l
I opened an issue for hashsolo because all barcodes are negative for our testing data. They have already helped me, but let me know if you have any ideas about the problem. I am just beginning to gain experience working with this kind of data.
n
I can't really help you with these things
l
No problem. We could solve it already. ✅ Thank you @Nico Trummer!
I updated
hashsolo
in this PR. In GitHub-Codespaces, I passed all tests. Unfortunately, I only passed the stub tests in the CI. All files show different snapshots.
n
I executed the tests locally on my laptop and get the same hashes as the ones that are created during the CI tests This means you can find the differences by comparing the files generated on github codespaces with the ones generated on my computer. Once you know what's different, you can either soften the tests or update the template script I will send you the
test_hashsolo.csv
which is generated as part of the
hto_data_10x
test, then you can compare
test_hashsolo.csv,test_hashsolo.h5ad
Most likely issues and fixes: • Different row/column order -> Fix by sorting • Differences at late decimal places -> Fix by rounding If you need to round, you can get some inspiration here
l
Thank you @Nico Trummer! It is a rounding problem:
Copy code
diff test_hashsolo.csv test_hashsolo-2.csv
2c2
< ACTATCTAGATGCCTT,35.0,314.0,1.0,0.0,0.0008512746193954035,0.9982658741923409,0.0008828511882637065,MS-12
---
> ACTATCTAGATGCCTT,35.0,314.0,1.0,0.0,0.0008512746193954033,0.9982658741923409,0.0008828511882637064,MS-12
12c12
How many digits do you recommend rounding to? Deseq2 uses
round_digits = NULL
by default. So do I just need to change the
round_digits
with
ext.args
to test the module? Or should I always round up a little by default for this module?
n
Not rounding by default is fine, people who value reproducibility so much that this matters can use
ext.args
to activate the rounding And for testing you can check at which number of decimals it becomes stable, I would probably start with 10 based on the example values you sent (if it does not work, you can still decrease)
l
Thanks! I now pass all tests in the CI. I would be happy if you could review it as soon as you have time (PR).
Hash demultiplexing is ready to be reviewed (PR)! party dino • all hashing modules are added to the pipeline • the pipeline now aggregates the results from all hashing modules in the
hash_summary.py
skript • as results we get a joined csv of the classification and assignment results from all modules • in addition,
hash_summary.py
outputs an summary
.h5ad
or
.h5mu
file on request Next to that, I opened another review-ready PR for a small improvement in
hasheddrops
!
The PR for
hasheddrops
has already been merged! Now all that's missing is the PR for the hash summary. @Nico Trummer, can you estimate when you will have time for this?