psp-gen not executing when used inside a bash script

39 views
Skip to first unread message

srivast...@gmail.com

unread,
Jun 16, 2015, 3:22:08 AM6/16/15
to meme-...@googlegroups.com, Shashank Chepurwar
I had to get the meme output text files for many sequences in the discriminative mode. I tried to automate the process using a bash script. The automation could not be possible because psp-gen didn't run inside the bash script. Rest all of the program was fine, except the psp-gen command. Hence the output I got was corresponding to the normal mode and not the discriminative mode. Kindly tell me what could be done so that psp-gen also runs inside the bash script. Thanks in advance :)

James Johnson

unread,
Jun 16, 2015, 7:30:34 PM6/16/15
to meme-...@googlegroups.com, hellosh...@gmail.com
I am slightly perplexed because running the Perl script psp-gen from a bash script should be identical to running it outside of a bash script.

Is it reporting any errors from psp-gen (like missing Perl libraries) or warnings from MEME? Does the generated psp file look correct?

Edit:
After discussion over email we determined that the cause was that a similar looking Unicode character "EN DASH" (U+2013) had taken the place of one of the dashes (U+002D) in the command. This probably occurred due to copying the argument from the HTML documentation.

I intend to improve the error reporting of psp-gen so it's easier to determine the cause of problems like this in future. I will also try to change the documentation so copying and pasting will not result in odd Unicode characters.

srivast...@gmail.com

unread,
Jun 19, 2015, 4:58:13 PM6/19/15
to meme-...@googlegroups.com, hellosh...@gmail.com
No error is being shown. It's just that I am getting the output in normal mode and not in the discriminative mode. The .psp file is not generated correctly.

boyas...@gmail.com

unread,
Apr 10, 2017, 4:59:30 AM4/10/17
to MEME Suite Q&A, hellosh...@gmail.com
Dear James,

Thanks for sharing MEME. I want to run MEME in discriminative mode. So I run psp-gen on Linux (with perl5.24.0) first to generate dna.psp for MEME.

psp-gen -pos pos-dna.fasta -neg neg-dna.fasta > dna.psp

However I encounter the message "Can't call method "find_unknown" on unblessed reference at /home/meme/lib/perl/PriorUtils.pm line 1421, <INFILE> line 31."

And PriorUtils.pm line 1421:

1420 # check sequence

      die("sequence data `$seq[$SEQPOS]' not from alphabet `".


<INFILE> line 31:

>GRMZM2G173742_T01


Since the psp-gen version only has  -alpha (DNA|prot       default: DNA) parameter, differing from the option listed in Online help page http://meme-suite.org/doc/psp-gen.html#detail,
I have added the parameter (-dna DNA), but the message showed (USAGE: psp-gen -pos filename -neg filename [options]) .


So what shall I do at this stage.

Thanks for your kindness.

boyas...@gmail.com

unread,
Apr 10, 2017, 5:32:29 AM4/10/17
to MEME Suite Q&A, hellosh...@gmail.com
Regarding that the seq is DNAseq, not from alphabet, I have deleted line 1421, but faced the warning:
 Can't call method "translate_seq" on unblessed reference at /export/home/tempo001/meme/lib/perl/PriorUtils.pm line 1424, <INFILE> line 31.
 
 Then I deleted line 1424 having "translate_seq", the warning like following:
Can't use string ("WSMKRYBDHVN") as a HASH ref while "strict refs" in use at /home/meme/lib/perl/PriorUtils.pm line 182.

Now I have no idea to go further. 
Thanks again.

boyas...@gmail.com

unread,
Apr 10, 2017, 11:41:35 PM4/10/17
to MEME Suite Q&A, hellosh...@gmail.com
OK! Now meme (v4.11.3) works fine after I replace PriorUtils.pm with that from /meme_4.10.0/scripts/

However, PriorUtils.pm seems to be different between these two MEME versions.

Thanks again.
Reply all
Reply to author
Forward
0 new messages