Dreme - TypeError: 'PWM' object is not iterable. Possible solution.

18 views
Skip to first unread message

Jaime Alvarez Benayas

unread,
Dec 1, 2016, 3:53:13 PM12/1/16
to MEME Suite Q&A
Hello,

I am getting the following error with DREME meme_4.11.2 patch 2:

File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 1900, in <module>
                                                       if __name__ == '__main__': main()
                                                     File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 1849, in main
                                                       alph, given_only)
                                                     File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 1156, in find_print
                                                       nref, use_consensus, pos_seqs, neg_seqs, alph, given_only)
                                                     File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 739, in re_extend_cores
                                                       refine_from_re(re_pvalues, re, nref, pos_seqs, neg_seqs, alph, given_only)
                                                     File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 847, in refine_from_re
                                                       new_re = specialize_using_consensus(re, pos_seqs, alph, given_only)
                                                     File "/shared/sudlab1/General/apps/bio/meme_4.11.2/bin/dreme", line 906, in specialize_using_consensus
                                                       (pwm, nsites) = make_pwm_from_re(re, seqs, alph, given_only)
                                                   TypeError: 'PWM' object is not iterable


I have been looking at the code and have seen that the call to make_pwm_from_re() returns a sequence.PWM object, however the return is expecting two objects (pwm, nsites):

# Convert REs to consensus strings and create combined consensus string.
(pwm, nsites) = make_pwm_from_re(re, seqs, alph, given_only)


Also, nsites is not used in get_consensus_from_re(), I am guessing it's from an older version.

This happens both in specialize_using_consensus() and get_consensus_from_re().

Thanks.
Reply all
Reply to author
Forward
0 new messages