ysora / stripenn

Architectural stripe detection from 3D genome conformation data
17 stars 3 forks source link

seeimage erroring with "getStripe.__init__() missing 1 required positional argument: 'seed'" #17

Closed Ariunaa5000 closed 1 year ago

Ariunaa5000 commented 1 year ago

Hi Sora,

Thank you for your helpful tool. I tried running seeimage, but had an error. Hoping you can shed some light on where it went wrong. Can also you advise on how to exactly utilize the heatmap to determine the max pixel? Should the coordinates be somewhere there is a stripe? My sequencing depth is around 1.5 billion reads each condition (as you mentioned this was important factor in determining max saturation).

Another set of questions I have is around compute parameters. If I am calling stripes at 1kb, should my max width be 32 (based on 8 for 10kb, and 16 for 5kb matrices)? How about the min length? How should that parameter be changed with 1kb matrix?

Thank you so much for your time!

Code I ran: stripenn seeimage --cool 1kb_ICE.cool -p 16:87000000-88000000 --out seeimage_heatmap/ Error:

Traceback (most recent call last):

  File "/export/apps/opt/envs/stripenn/bin/stripenn", line 8, in <module>
    sys.exit(main())
             ^^^^^^

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 59, in main
    app()

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 41, in seeimag
    seeimage.seeimage(cool, position, maxpixel, norm, out, slow)

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/seeimage.py", line 70, in seeimage
    obj = getStripe.getStripe(unbalLib, resol, 10, 8, 2.5, all_chromnames, chromnames, all_chromsizes, chromsizes, 2, 3)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TypeError: getStripe.__init__() missing 1 required positional argument: 'seed'
Ariunaa5000 commented 1 year ago

Tried running stripenn score and got the exact same error. I appreciate your help!

ysora commented 1 year ago

Hi Ariunaa5000, Sorry for the late response. I am suffering from dependency resolving problem which is not relevant to 'seed' issue. Thanks for reporting this, and I will try to solve it as soon as possible. By the time, what I can suggest is to use WashU Epigenomics Hi-C viewer first. Using this, you can adjust the score scale->AUTO and max score percentile to whatever you want to test. This is exactly same as how stripenn seeimage works. And for the max width, you don't need to set it as 32px. You can set it whatever you think is the maximum width of the stripe. For example, if you want to catch fine stripes, you can set it as 10px. But it is hard to say because I haven't dealt with 1kb resolution data yet. And for Min length, I think the default will work well.

Thanks!

Sora

ysora commented 1 year ago

Bug has been fixed and uploaded on PyPI with version 1.1.65.22. You can uninstall/reinstall stripenn using pip uninstall stripenn pip install stripenn==1.1.65.22

Many Thanks!!

Sora

Ariunaa5000 commented 1 year ago

Hi Sora,

Thank you so much for your prompt replies. Just tried running score to call differential stripes. Got a different error. What do you think causing it?

stripenn score --cool 1kb_ICE.cool -c KD_DBD_filtered.tsv -n 48 --out KD_DBD_stripes_DBD_cool

Run score function
Possible normalization methods are:
None
weight
Invalid normalization method. Normalization method is forced to None
Processing Chromosome: 1
100%|██████████| 624/624 [00:06<00:00, 96.32it/s]
Processing Chromosome: 2
100%|██████████| 608/608 [00:04<00:00, 143.59it/s]
Processing Chromosome: 3
100%|██████████| 496/496 [00:03<00:00, 144.56it/s]
Processing Chromosome: 4
100%|██████████| 478/478 [00:03<00:00, 154.17it/s]
Processing Chromosome: 5
100%|██████████| 453/453 [00:03<00:00, 143.07it/s]
Processing Chromosome: 6
100%|██████████| 428/428 [00:02<00:00, 161.28it/s]
Processing Chromosome: 7
100%|██████████| 398/398 [00:02<00:00, 145.08it/s]
Processing Chromosome: 8
100%|██████████| 366/366 [00:02<00:00, 162.14it/s]
Processing Chromosome: 9
100%|██████████| 354/354 [00:02<00:00, 159.81it/s]
Processing Chromosome: 10
100%|██████████| 339/339 [00:02<00:00, 148.69it/s]
Processing Chromosome: 11
100%|██████████| 338/338 [00:02<00:00, 148.08it/s]
Processing Chromosome: 12
100%|██████████| 335/335 [00:01<00:00, 177.38it/s]
Processing Chromosome: 13
100%|██████████| 288/288 [00:01<00:00, 154.44it/s]
Processing Chromosome: 14
100%|██████████| 269/269 [00:01<00:00, 176.06it/s]
Processing Chromosome: 15
100%|██████████| 257/257 [00:01<00:00, 171.34it/s]
Processing Chromosome: 16
100%|██████████| 226/226 [00:01<00:00, 197.53it/s]
Processing Chromosome: 17
100%|██████████| 203/203 [00:01<00:00, 183.35it/s]
Processing Chromosome: 18
100%|██████████| 196/196 [00:01<00:00, 164.92it/s]
Processing Chromosome: 19
100%|██████████| 148/148 [00:00<00:00, 197.02it/s]
Processing Chromosome: 20
100%|██████████| 158/158 [00:00<00:00, 192.47it/s]
Processing Chromosome: 21
100%|██████████| 121/121 [00:00<00:00, 292.25it/s]
Processing Chromosome: 22
100%|██████████| 129/129 [00:00<00:00, 275.99it/s]
Processing Chromosome: X
100%|██████████| 389/389 [00:02<00:00, 146.20it/s]
3.1. Calculating the number of available columns ...
100%|██████████| 23/23 [00:00<00:00, 31028.95it/s]
3.2. Constituting background ...
100%|██████████| 23/23 [00:00<00:00, 25683.97it/s]
Elapsed time for background estimation: 0.733 min
Traceback (most recent call last):

  File "/export/apps/opt/envs/stripenn/bin/stripenn", line 8, in <module>
    sys.exit(main())
             ^^^^^^

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 62, in main
    app()

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 58, in scoring
    score.getScore(cool, coordinates, norm, numcores, seed, out, mask)

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/score.py", line 52, in getScore
    pval = getStripe.getStripe.pvalue(obj, bgleft_up, bgright_up, bgleft_down, bgright_down, table)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/getStripe.py", line 552, in pvalue
    leftmost = pos1 - background_size * self.resol
               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

numpy.core._exceptions._UFuncNoLoopError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U8'), dtype('int64')) -> None
ysora commented 1 year ago

Hi Ariunaa,

Could you share your .cool file and .hic file if possible? That function usually works well with 5kb-resolution data. I think I also need to test it with 1kb-resolution data. Thanks,

Sora


From: Ariunaa Bayanjargal @.> Sent: Tuesday, August 15, 2023 1:28 PM To: ysora/stripenn @.> Cc: Yoon, Sora @.>; Comment @.> Subject: [External] Re: [ysora/stripenn] seeimage erroring with "getStripe.init() missing 1 required positional argument: 'seed'" (Issue #17)

Hi Sora,

Thank you so much for your prompt replies. Just tried running score to call differential loops. Got a different error. What do you think causing it?

stripenn score --cool 1kb_ICE.cool -c KD_DBD_filtered.tsv -n 48 --out KD_DBD_stripes_DBD_cool

`Run score function Possible normalization methods are: None weight Invalid normalization method. Normalization method is forced to None Processing Chromosome: 1 100%|██████████| 624/624 [00:06<00:00, 96.32it/s] Processing Chromosome: 2 100%|██████████| 608/608 [00:04<00:00, 143.59it/s] Processing Chromosome: 3 100%|██████████| 496/496 [00:03<00:00, 144.56it/s] Processing Chromosome: 4 100%|██████████| 478/478 [00:03<00:00, 154.17it/s] Processing Chromosome: 5 100%|██████████| 453/453 [00:03<00:00, 143.07it/s] Processing Chromosome: 6 100%|██████████| 428/428 [00:02<00:00, 161.28it/s] Processing Chromosome: 7 100%|██████████| 398/398 [00:02<00:00, 145.08it/s] Processing Chromosome: 8 100%|██████████| 366/366 [00:02<00:00, 162.14it/s] Processing Chromosome: 9 100%|██████████| 354/354 [00:02<00:00, 159.81it/s] Processing Chromosome: 10 100%|██████████| 339/339 [00:02<00:00, 148.69it/s] Processing Chromosome: 11 100%|██████████| 338/338 [00:02<00:00, 148.08it/s] Processing Chromosome: 12 100%|██████████| 335/335 [00:01<00:00, 177.38it/s] Processing Chromosome: 13 100%|██████████| 288/288 [00:01<00:00, 154.44it/s] Processing Chromosome: 14 100%|██████████| 269/269 [00:01<00:00, 176.06it/s] Processing Chromosome: 15 100%|██████████| 257/257 [00:01<00:00, 171.34it/s] Processing Chromosome: 16 100%|██████████| 226/226 [00:01<00:00, 197.53it/s] Processing Chromosome: 17 100%|██████████| 203/203 [00:01<00:00, 183.35it/s] Processing Chromosome: 18 100%|██████████| 196/196 [00:01<00:00, 164.92it/s] Processing Chromosome: 19 100%|██████████| 148/148 [00:00<00:00, 197.02it/s] Processing Chromosome: 20 100%|██████████| 158/158 [00:00<00:00, 192.47it/s] Processing Chromosome: 21 100%|██████████| 121/121 [00:00<00:00, 292.25it/s] Processing Chromosome: 22 100%|██████████| 129/129 [00:00<00:00, 275.99it/s] Processing Chromosome: X 100%|██████████| 389/389 [00:02<00:00, 146.20it/s] 3.1. Calculating the number of available columns ... 100%|██████████| 23/23 [00:00<00:00, 31028.95it/s] 3.2. Constituting background ... 100%|██████████| 23/23 [00:00<00:00, 25683.97it/s] Elapsed time for background estimation: 0.733 min Traceback (most recent call last):

File "/export/apps/opt/envs/stripenn/bin/stripenn", line 8, in sys.exit(main()) ^^^^^^

File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 62, in main app()

File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/cli.py", line 58, in scoring score.getScore(cool, coordinates, norm, numcores, seed, out, mask)

File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/score.py", line 52, in getScore pval = getStripe.getStripe.pvalue(obj, bgleft_up, bgright_up, bgleft_down, bgright_down, table) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/apps/opt/stripenn/lib/python3.11/site-packages/stripenn/getStripe.py", line 552, in pvalue leftmost = pos1 - background_size * self.resol



numpy.core._exceptions._UFuncNoLoopError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U8'), dtype('int64')) -> None

`

—
Reply to this email directly, view it on GitHub<https://github.com/ysora/stripenn/issues/17#issuecomment-1679332425>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABZHMJVIGZVNNN7LBTAOI5LXVOWUTANCNFSM6AAAAAA3KEU3UE>.
You are receiving this because you commented.Message ID: ***@***.***>
Ariunaa5000 commented 1 year ago

Hi Sora,

The 1kb cool file is 6G and .hic is 5.2G. How should I share them with you?

ysora commented 1 year ago

will Google drive or Dropbox work?

Sora


From: Ariunaa Bayanjargal @.> Sent: Tuesday, August 15, 2023 2:21 PM To: ysora/stripenn @.> Cc: Yoon, Sora @.>; Comment @.> Subject: [External] Re: [ysora/stripenn] seeimage erroring with "getStripe.init() missing 1 required positional argument: 'seed'" (Issue #17)

Hi Sora,

The 1kb cool file is 6G and .hic is 5.2G. How should I share them with you?

— Reply to this email directly, view it on GitHubhttps://github.com/ysora/stripenn/issues/17#issuecomment-1679389963, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABZHMJXD7PJVDL6SV7J3MRLXVO44FANCNFSM6AAAAAA3KEU3UE. You are receiving this because you commented.Message ID: @.***>

Ariunaa5000 commented 1 year ago

Hi Sora,

What email address should I share the dropbox folder with?

ysora commented 1 year ago

@.*** please! Thanks!!

Sora

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Ariunaa Bayanjargal @.> Sent: Friday, August 18, 2023 4:06:29 PM To: ysora/stripenn @.> Cc: Yoon, Sora @.>; Comment @.> Subject: [External] Re: [ysora/stripenn] seeimage erroring with "getStripe.init() missing 1 required positional argument: 'seed'" (Issue #17)

Hi Sora,

What email address should I share the dropbox folder with?

— Reply to this email directly, view it on GitHubhttps://github.com/ysora/stripenn/issues/17#issuecomment-1684383899, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABZHMJVEJ3PXKZRY5RTCRHDXV7DMLANCNFSM6AAAAAA3KEU3UE. You are receiving this because you commented.Message ID: @.***>

Ariunaa5000 commented 1 year ago

Sorry. All I see is asterisks.

ysora commented 1 year ago

remove the spaces

Ariunaa5000 commented 1 year ago

Got it. Just shared it with you. Let me know if you have any questions for me.

ysora commented 1 year ago

Okay! thanks, let me look into it!

Sora

ysora commented 1 year ago

Could you share your command lines to get the stripe coordinates (compute function) and to get scores (score function)?

Ariunaa5000 commented 1 year ago

Compute stripenn compute --cool DBD_1kb_ICE.cool --chrom $chromosomes -w 16 -m 0.93,0.94,0.95,0.96,0.97 -n 48 --out DBD_stripes stripenn compute --cool iEF_1kb_ICE.cool --chrom $chromosomes -w 16 -m 0.93,0.94,0.95,0.96,0.97 -n 48 --out KD_stripes

Score stripenn score --cool DBD_1kb_ICE.cool -c KD_DBD_filtered.tsv -n 48 --out KD_DBD_stripes_DBD_cool stripenn score --cool iEF_1kb_ICE.cool -c KD_DBD_filtered.tsv -n 48 --out KD_DBD_stripes_KD_cool

For the score function, I followed your advice from one of the closed issues. Filtered stripes from compute of both conditions were combined to make the tsv file. (could that be the issue? that i only combined the filtered stripes not all?)

ysora commented 1 year ago

Looks good! One thing to make sure is that you don't have header line in the middle of KD_DBD_filtered.tsv? Since I don't know how you combined KD_stripes and DBD_stripes.

Thanks!

Sora

Ariunaa5000 commented 1 year ago

Oh good point! Just checked. You are right. I have the header from the second file in the middle. I will remove it and give it another try.

Ariunaa5000 commented 1 year ago

Success!!! Thank you for your help and also including many helpful metrics in the outputs!

ysora commented 1 year ago

Great!!! Congrats!! I will close this issue! Thanks,

Sora