dohlee / chromoformer

The official code implementation for Chromoformer in PyTorch. (Lee et al., Nature Communications. 2022)
GNU General Public License v3.0
31 stars 2 forks source link

Chromoformer regression #4

Closed Al-Murphy closed 1 year ago

Al-Murphy commented 1 year ago

Hi!

I'm trying to train chromoformer - regression for the expression level regression task. Where models were trained to predict log2-transformed RPKM values. Is the dataloader and model architecture set up for this anywhere or does it need to be changed?

I don't see anything returned by the dataloader currently that looks like the log2-transformed RPKM values although it does return label. Should I just swap this out for the expression value from the meta dataset or does it also need to be log transformed? Also should I thus change the output head to be suitable for regression?

Cheers, Alan.

Al-Murphy commented 1 year ago

Also, apologies but could you please explain each of the output items by the dataloader? I can't figure out some (or most realistically) so I just want to ensure I know what they are:

'label', 'x_p_2000', 'x_pcre_2000', 'pad_mask_p_2000', 'pad_mask_pcre_2000', 'interaction_mask_2000', 'x_p_500', 'x_pcre_500', 'pad_mask_p_500', 'pad_mask_pcre_500', 'interaction_mask_500', 'x_p_100', 'x_pcre_100', 'pad_mask_p_100', 'pad_mask_pcre_100', 'interaction_mask_100', 'interaction_freq'

Thanks for your help!

Al-Murphy commented 1 year ago

I've figured it out by working through the code, thanks!

ytang0831 commented 1 year ago

Hi, Murphy! @Al-Murphy

How did you do to get the predicted RPKM result? I ran the demo script, and the "prediction" returned seems not to be RPKM vlaues.
Many thanks!

Al-Murphy commented 1 year ago

Yeah you will need to change the Roadmap3D class in the chromoformer/data.py file to return the np.log2(meta.expression+1) rather than the label. I do believe the author is working to release a version to do this too though