diff -uNr meme_4.5.0/configure meme_4.5.0.patch_1/configure --- meme_4.5.0/configure 2010-10-14 08:47:03.000000000 +1000 +++ meme_4.5.0.patch_1/configure 2010-12-03 11:08:37.000000000 +1000 @@ -12157,16 +12157,17 @@ # Check for compiler-specific settings +LARGE_FILE_SUPPORT=`getconf LFS_CFLAGS` if test "${CC}" = "gcc"; then ac_cc_opt="-O3" ac_cc_warn="-Wall -Wno-unused" ac_cc_debug="-ggdb" - CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__" + CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT" else ac_cc_opt="-O" ac_cc_warn="" ac_cc_debug="-g" - CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__" + CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT" fi # Set up default libxml2 settings diff -uNr meme_4.5.0/configure.ac meme_4.5.0.patch_1/configure.ac --- meme_4.5.0/configure.ac 2010-10-07 10:01:46.000000000 +1000 +++ meme_4.5.0.patch_1/configure.ac 2010-12-03 09:54:53.000000000 +1000 @@ -60,16 +60,17 @@ AM_CONDITIONAL(WANT_STRLCPY, test ["$have_strlcpy" = no]) # Check for compiler-specific settings +LARGE_FILE_SUPPORT=`getconf LFS_CFLAGS` if test "${CC}" = "gcc"; then ac_cc_opt="-O3" ac_cc_warn="-Wall -Wno-unused" ac_cc_debug="-ggdb" - CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__" + CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT" else ac_cc_opt="-O" ac_cc_warn="" ac_cc_debug="-g" - CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__" + CFLAGS="$ac_cc_warn -DUNIX -D__USE_FIXED_PROTOTYPES__ $LARGE_FILE_SUPPORT" fi # Set up default libxml2 settings diff -uNr meme_4.5.0/etc/tomtom-to-html.xsl meme_4.5.0.patch_1/etc/tomtom-to-html.xsl --- meme_4.5.0/etc/tomtom-to-html.xsl 2010-09-06 11:18:05.000000000 +1000 +++ meme_4.5.0.patch_1/etc/tomtom-to-html.xsl 2010-12-03 09:54:53.000000000 +1000 @@ -391,6 +391,9 @@ + + () + , @@ -571,7 +574,8 @@ - logo__ + align__ + _ + - .png diff -uNr meme_4.5.0/scripts/meme2meme.pl meme_4.5.0.patch_1/scripts/meme2meme.pl --- meme_4.5.0/scripts/meme2meme.pl 2010-09-03 15:14:40.000000000 +1000 +++ meme_4.5.0.patch_1/scripts/meme2meme.pl 2010-12-03 10:01:12.000000000 +1000 @@ -516,11 +516,14 @@ my @motif_list = (); my $motif = {}; my $index = 0; + my $new_pssm_ref; + my $new_pspm_ref; while ($line) { #look for the start of a motif if ($line =~ m/^MOTIF\s+(.*)$/) { my @words = split(/\s+/, $1); + die("Motif $index in $file missing motif name.\n") unless scalar(@words) > 0 && $words[0] ne ""; # if there was a previous motif then add it to the list push(@motif_list, $motif) if $motif->{id}; @@ -530,22 +533,25 @@ $pssm{$letter} = []; $pspm{$letter} = []; } + $new_pssm_ref = \%pssm; + $new_pspm_ref = \%pspm; my $id = $words[0]; - my $alt = ($words[1] ne "width" ? $words[1] : ""); + my $alt = (scalar(@words) > 1 && $words[1] ne "width" ? $words[1] : ""); my $url = $url_pattern; $url =~ s/MOTIF_NAME/$id/g; #use the original id in the url $motif = {id => $id, alt => $alt, bg => \%bg, - strands => $strands, url => $url, width => 0, sites => 0, pseudo => 0, evalue => 0, - pssm => \%pssm, pspm => \%pspm}; - + strands => $strands, url => $url, width => 0, sites => 0, pseudo => 0, evalue => 0}; + + $index += 1; } #look for the start of a log odds matrix elsif ($line =~ m/log-odds matrix:\s+(.*)$/) { $line = $1; $line =~ s/\s+$//; #trim right + $motif->{pssm} = $new_pssm_ref; my %motif_params = split(/\s+/, $line); #check that we have the parameters we require die("Motif $index in $file is missing required parameter(s) in log-odds matrix.\n") @@ -569,6 +575,7 @@ elsif ($line =~ m/^letter-probability matrix:\s+(.*)$/) { $line = $1; $line =~ s/\s+$//; #trim right + $motif->{pspm} = $new_pspm_ref; my %motif_params = split(/\s+/, $line); #check that we have the parameters we require die("Motif $index in $file is missing required parameter(s) in letter-probability matrix.\n") diff -uNr meme_4.5.0/scripts/runcheck_p.in meme_4.5.0.patch_1/scripts/runcheck_p.in --- meme_4.5.0/scripts/runcheck_p.in 2010-09-03 15:11:51.000000000 +1000 +++ meme_4.5.0.patch_1/scripts/runcheck_p.in 2010-12-03 10:04:14.000000000 +1000 @@ -1,40 +1,8 @@ #!/bin/sh -# runcheck - for testing of meme and mast +# runcheck_p - for testing of the parallel version of MEME. # # $Id: runcheck 1537 2007-01-12 21:48:56Z cegrant $ -# -# $Log$ -# Revision 1.7 2006/03/08 20:50:11 nadya -# merge chamges from v3_5_2 branch -# -# Revision 1.6.4.2 2006/01/24 02:24:29 nadya -# EXT is obsoleted by using printf() -# -# Revision 1.6.4.1 2006/01/24 02:04:55 nadya -# source meme_config to set needed environment -# make output table-like -# -# Revision 1.6 2005/10/07 02:54:28 nadya -# clean debugging output, fix typo -# -# Revision 1.5 2005/10/04 20:03:23 nadya -# changes to accommodate sh on solaris: -# substitute array with awk parsing and initialize err. -# -# Revision 1.4 2005/10/04 00:02:04 nadya -# change to "-f", the option "-e" does not run solaris -# -# Revision 1.3 2005/10/02 05:09:39 nadya -# add extension ".bin" to executables names for meme and mast -# -# Revision 1.2 2005/09/01 00:42:05 nadya -# call executables from $topdir befiore they are installed -# update sed regexpr -# -# Revision 1.1 2005/08/31 04:51:55 nadya -# create script and target for "make check" -# # set meme environment top=`pwd`/.. @@ -44,7 +12,6 @@ testdir=$top/tests fi meme=$top/src/parallel/meme_p -mast=$top/src/mast echo "****************************************" echo "Now Running Test for Parallel Version..." @@ -57,35 +24,9 @@ exit 1 fi -if [ ! -x $mast ] ; then - echo "$mast does not exist or is not executable" - echo "Run 'make' before running 'make check'" - exit 1 -fi - #################################################################### -# define functions +# define functions #################################################################### -# run mast tests -func_run_mast () { - echo "" - echo " Mast test for " - echo " ---------------------------------" - echo " Dataset Model result " - echo " ---------------------------------" - - for mod in $models - do - memefile=meme/meme.$dset.$mod$suffix - mastfile=mast/mast.$dset.$mod$suffix - database="$dir/common/$dset.s" - params="$dir/$memefile $database -oc $dirout/mast -nohtml -nostatus" - $mast $params - mv $dirout/mast/mast.xml $dirout/$mastfile - func_diff $mastfile "mast" - done -} - # run meme tests func_run_meme () { meme="@mpirun@ 2 $meme " @@ -117,22 +58,8 @@ e10="/Last updated/d" e11="/MPI/d" e12="/^$/d" - e13="/^mast /d" sed -e "$e1" -e "$e2" -e "$e3" -e "$e4" -e "$e5" -e "$e6" -e "$e7" \ - -e "$e8" -e "$e9" -e "$e10" -e "$e11" -e "$e12" -e "$e13" $1 > $1.sed -} - -func_xml_sed() { - e1='s///' - e2='s|[^<]*||' - e3='s|[^<]*||' - e4='s|[^<]*||' - e5='s|||' - e6='s/last_mod_date="[^"]*"/last_mod_date=""/' - e7='s/source="[^"]*"/source=""/' - e8='s/ $1.sed + -e "$e8" -e "$e9" -e "$e10" -e "$e11" -e "$e12" $1 > $1.sed } # checks two files for differences. Arguments - a filename @@ -154,13 +81,8 @@ echo "$str" "SKIPPED" return fi - if [ "$2" = "mast" ]; then - func_xml_sed $f1 - func_xml_sed $f2 - else - func_sed $f1 - func_sed $f2 - fi + func_sed $f1 + func_sed $f2 num=`diff $f1.sed $f2.sed | wc -l` status=$? if [ $status -eq 0 -a $num -eq 0 ]; then @@ -179,13 +101,6 @@ params="-text -dna -revcomp -nostatus -nmotifs 2 -minw 8" dir=$top/tests dirout=$top/tests/results - if [ ! -d $dirout/mast ]; then - cmd=`mkdir -p $dirout/mast` - status=$? - if [ $status -eq 1 ] ; then - exit 1 - fi - fi if [ ! -d $dirout/meme ]; then cmd=`mkdir -p $dirout/meme` status=$? @@ -225,7 +140,6 @@ # run tests func_set func_run_meme -func_run_mast func_clean exit $err diff -uNr meme_4.5.0/src/background.c meme_4.5.0.patch_1/src/background.c --- meme_4.5.0/src/background.c 2010-09-03 15:14:05.000000000 +1000 +++ meme_4.5.0.patch_1/src/background.c 2010-12-03 09:34:19.000000000 +1000 @@ -494,7 +494,7 @@ // get the total probability of this prefix summed over all suffixes if (wa % index_alen == 0) { int j; - for (j=0, total_w_prob=0; jmaxima; int n_psites = model->nsites_dis; fprintf(stdout, - "PREDICTED SITES AFTER EM FROM STARTING POINT WITH W = %i AND" + "\nPREDICTED SITES AFTER EM FROM STARTING POINT WITH W = %i AND" " NSITES = %f:\n", s_point->w0, s_point->nsites0); //model->w, n_psites); print_site_array(pred_sites, n_psites, stdout, model->w, dataset); double sig = dataset->objfun==Pv ? model->logpv : model->logev; @@ -617,6 +617,7 @@ /* initialize the new motif */ strcpy(model->cons0, s_point->cons0); + if (VERBOSE) { fprintf(stderr, "\nStarting point: %s\n", model->cons0); } w0 = model->w = model->pw = s_point->w0; init_theta(model->theta, s_point->e_cons0, w0, dataset->map,dataset->alength); diff -uNr meme_4.5.0/src/pmp_bf.c meme_4.5.0.patch_1/src/pmp_bf.c --- meme_4.5.0/src/pmp_bf.c 2010-09-03 15:11:50.000000000 +1000 +++ meme_4.5.0.patch_1/src/pmp_bf.c 2010-12-03 09:54:08.000000000 +1000 @@ -100,7 +100,8 @@ strcat(usage, " --pseudocount (default=0.1)\n"); strcat(usage, " --ustar