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