jernst98 / ChromHMM

GNU General Public License v3.0
71 stars 18 forks source link

Keep reporting error when I try to run CompareModels #27

Closed Ruitulyu closed 4 years ago

Ruitulyu commented 4 years ago

Hi ChromHMM community, I am trying to compare the model learned(15 states) from my data to the 25 state reference model using the command: java -mx40000M -jar ../Software/ChromHMM/ChromHMM.jar CompareModels ./emissions_15.txt comparedir/ CompareModels_25_vs_15_output & Or java -mx40000M -jar ../Software/ChromHMM/ChromHMM.jar CompareModels ./emissions_models_25_imputed12marks.txt comparedir/ CompareModels_25_vs_15_outputbut. But java keeps reporting the same error: Exception in thread "main" java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:349) at edu.mit.compbio.ChromHMM.StateAnalysis.makeModelEmissionCompare(StateAnalysis.java:3709) at edu.mit.compbio.ChromHMM.ChromHMM.main(ChromHMM.java:13364)

My 15 states model file(emissions_15.txt) is like:

15 9 E -7.269922091477281E7 200 probinit 1 5.235622776341956E-17 probinit 2 1.2517148579080288E-143 probinit 3 1.904313880953911E-90 probinit 4 3.503455166677451E-55 probinit 5 0.0 probinit 6 0.0 probinit 7 0.033447000056057066 probinit 8 7.423335149345567E-38 probinit 9 0.00142119621268763 probinit 10 0.0 probinit 11 8.880188451275828E-198 probinit 12 0.5565674946701097 probinit 13 0.13754666026699372 probinit 14 0.1661923584390444 probinit 15 0.10482529035510728 transitionprobs 1 1 0.8372502461768572 transitionprobs 1 2 0.06050386521636649 transitionprobs 1 3 0.0030487339485235484

my 25 states model file(emissions_models_25_imputed12marks.txt) is like: 25 12 E -8.803547773719434E8 200 probinit 1 0.0 probinit 2 0.0 probinit 3 0.0 probinit 4 0.0 probinit 5 0.0 probinit 6 0.0 probinit 7 0.0 probinit 8 0.0 probinit 9 0.0 probinit 10 0.0 probinit 11 0.0 probinit 12 0.0 probinit 13 0.0 probinit 14 0.0 probinit 15 0.0 probinit 16 0.0 probinit 17 2.276661721543571E-275 probinit 18 2.150547469890972E-283 probinit 19 1.2298440620696358E-152 probinit 20 0.0 probinit 21 9.446359175964622E-254 probinit 22 0.0 probinit 23 0.0 probinit 24 0.0 probinit 25 1.0 transitionprobs 1 1 0.5418988538970787 transitionprobs 1 2 0.196631989532827 transitionprobs 1 3 0.19101097372676046 transitionprobs 1 4 6.23309398148488E-4 transitionprobs 1 5 0.0 transitionprobs 1 6 0.0 transitionprobs 1 7 0.0 transitionprobs 1 8 2.1212879554907406E-4

Also I have a question here that, can I compare a model learned from mouse data to a model learned from human data? thanks! Best, Ruitu

jernst98 commented 4 years ago

Hi Ruitu,

It looks like you are giving CompareModels a model file and not an emissions file after file renaming. Is that the case? CompareModels is expecting emission files directly generated by ChromHMM.

You can use compare models to compare human and mouse if they were learned on the same set of marks. Note the heatmap only labels the columns by the number of states, so if you have multiple models with the same number of states, you may need to look at the text file CompareModels outputs to distinguish between them.

Best, -Jason

Ruitulyu commented 4 years ago

Hi Jason, You are exactly correct, I rename the model file to emissions file, then give it to CompareModels. I am currently working on comparing the 15-states model I learned from 8 histone marks to the published reference model with larger number of states from Roadmap Epigenomics, the goal is that I want to know if the states number I use during model learning is reasonable. so do you know when I can download the emission files of Roadmap Epigenomics models with 25 states? I googled a lot, but failed to find a place that I can download. thanks so much! Best, Ruitu

jernst98 commented 4 years ago

Hi Ruitu,

It is available here: https://egg2.wustl.edu/roadmap/data/byFileType/chromhmmSegmentations/ChmmModels/imputed12marks/jointModel/final/emissions_25_imputed12marks.txt

Best, -Jason

Ruitulyu commented 4 years ago

Thanks so much! Best, Ruitu

Ruitulyu commented 4 years ago

Hi Jason, It should work when I download the emission file you send to me, but it reports another error, it seems to be the reason that these two models learned from different number of marks, so CompareModels can only be used to compare models learned from same histone marks sets with different number of states? thanks! Best, Ruitu

jernst98 commented 4 years ago

Hi Ruitu,

The number of marks and the names of the marks in each model need to match, but the models could be learned on different data.

Best, -Jason

Ruitulyu commented 4 years ago

Thanks!