diff options
author | rafan <rafan@FreeBSD.org> | 2008-04-06 12:49:05 +0800 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2008-04-06 12:49:05 +0800 |
commit | 31642abe3e120390d0384d76ae967e9982d57cc7 (patch) | |
tree | 58f930ac9505de92b9808a09cb87775250ecf63c /biology/mapm3 | |
parent | 48a6b4ab16d2e8058e6be505adabdf779d93e98b (diff) | |
download | freebsd-ports-gnome-31642abe3e120390d0384d76ae967e9982d57cc7.tar.gz freebsd-ports-gnome-31642abe3e120390d0384d76ae967e9982d57cc7.tar.zst freebsd-ports-gnome-31642abe3e120390d0384d76ae967e9982d57cc7.zip |
MAPMAKER/EXP is a linkage analysis package designed to help construct primary
linkage maps of markers segregating in experimental crosses. MAPMAKER/EXP
performs full multipoint linkage analysis (simultaneous estimation of all
recombination fractions from the primary data) for dominant, recessive, and co-
dominant (e.g. RFLP-like) markers. MAPMAKER/EXP is an experimental-cross-only
successor to the original MAPMAKER program.
MAPMAKER/QTL is a companion program to MAPMAKER/EXP which allows one to map
genes controlling polygenic quantitative traits in F2 intercrosses and BC1
backcrosses relative to a genetic linkage map. More information on MAPMAKER/QTL
can be found in the technical report (included with MAPMAKER/QTL).
WWW: http://www.broad.mit.edu/ftp/distribution/software/mapmaker3/
PR: ports/122452
Submitted by: Tassilo Philipp <tphilipp at potion-studios.com>
Diffstat (limited to 'biology/mapm3')
27 files changed, 1100 insertions, 0 deletions
diff --git a/biology/mapm3/Makefile b/biology/mapm3/Makefile new file mode 100644 index 000000000000..d0f9634ce1a4 --- /dev/null +++ b/biology/mapm3/Makefile @@ -0,0 +1,26 @@ +# New ports collection makefile for: mapm3 +# Date created: 26 March 2008 +# Whom: Tassilo Philipp <tphilipp@potion-studios.com> +# +# $FreeBSD$ +# + +PORTNAME= mapm3 +PORTVERSION= 3.0 +CATEGORIES= biology +MASTER_SITES= http://www.broad.mit.edu/ftp/distribution/software/mapmaker3/ \ + ftp://ftp.ibiblio.org/pub/academic/biology/molbio/mapmaker/ \ + http://iubio.bio.indiana.edu/soft/molbio/qtl/mapmaker/ \ + http://www.mirrorservice.org/sites/iubio.bio.indiana.edu/molbio/qtl/mapmaker/ +DISTNAME= mapm3-source +EXTRACT_SUFX= .tar.Z + +MAINTAINER= tphilipp@potion-studios.com +COMMENT= Constructs linkage maps of markers segregating in experimental crosses + +NO_WRKSUBDIR= yes + +post-patch: + ${CP} ${WRKSRC}/sun/* ${WRKSRC} + +.include <bsd.port.mk> diff --git a/biology/mapm3/distinfo b/biology/mapm3/distinfo new file mode 100644 index 000000000000..70b391930184 --- /dev/null +++ b/biology/mapm3/distinfo @@ -0,0 +1,3 @@ +MD5 (mapm3-source.tar.Z) = 8aa7a061d32a49c8704c1a5c4b31aa2d +SHA256 (mapm3-source.tar.Z) = 107c8d0e7e89e2fe43fe17233d38c22161def851c8094435f3440a39c0cdca4c +SIZE (mapm3-source.tar.Z) = 1321227 diff --git a/biology/mapm3/files/patch-Makefile b/biology/mapm3/files/patch-Makefile new file mode 100644 index 000000000000..0b1a8f1454d0 --- /dev/null +++ b/biology/mapm3/files/patch-Makefile @@ -0,0 +1,54 @@ +--- Makefile.orig 2008-04-04 20:05:29.000000000 +0000 ++++ Makefile 2008-04-04 19:51:04.000000000 +0000 +@@ -16,6 +16,7 @@ + #### + #### For Macs with A/UX, use: SYS= -D_SYS_AUX + #### For DECStations, use: SYS= -D_SYS_ULTRIX ++#### For modern BSD systems (added for FreeBSD 6.3 port) use: SYS= -D_SYS_BSD + #### For PC's with WATCOM C/386 use the special Makefile instead, + #### No other ports are built in yet. Please do them, and tell us how! + #### Refer to lib/system.h and lib/syscode.c for ideas. +@@ -24,7 +25,7 @@ + #### datasets (roughly 5000 loci vs 1000 loci). For even bigger datasets, + #### modify mapm/mapm.h. + +-SYS= -D_SYS_SUNOS ++SYS= -D_SYS_BSD -D_BIG_DATASETS + + #### Next define the system libraries to link with Mapmaker. On SunOS, Ultrix + #### and other vanilla-ish BSD systems, the correct setting is: +@@ -46,7 +47,7 @@ + #### Be sure that you have write permission to this directory (e.g. you may + #### need to be logged in as "root" to install MAPMAKER in some directories). + +-DIR= /usr/local/bin ++DIR= ${PREFIX}/bin + + #### RDLN below refers to the GNU Readline library, which can (optionally) be + #### used by MAPMAKER to provide interactive command line editing. See the +@@ -70,9 +71,11 @@ + #### (see the end of readline/readline.c). Readline will not compile on + #### A/UX without using GCC instead of A/UX's cc (because it needs alloca). + +-OUR_LIB= gnu.o +-GNU_OPT= -D_GNU_READLINE -I. +-GNU_LIBS= -L$(RDLN) -lreadline ++#OUR_LIB= gnu.o ++#GNU_OPT= -D_GNU_READLINE -I. ++OUR_LIB= lib.o ++GNU_OPT= ++#GNU_LIBS= -L$(RDLN) -lreadline + + #### Now we specify the commands used to compile MAPMAKER. The stuff + #### below works on Sun SPARCStations running SunOS 4.1.x (aka Solaris 1.x) +@@ -82,8 +85,8 @@ + #### person at your site should be able to figure out what to do almost + #### trivially. See the file INSTALL.ME for details. + +-COMPILE= cc +-LINKALL= cc ++COMPILE= ${CC} ++LINKALL= ${CC} + LINKLIB= ld -r + DELETE= rm -f + INSTALL= cp diff --git a/biology/mapm3/files/patch-lib-iolib.c b/biology/mapm3/files/patch-lib-iolib.c new file mode 100644 index 000000000000..4d845b2f6321 --- /dev/null +++ b/biology/mapm3/files/patch-lib-iolib.c @@ -0,0 +1,11 @@ +--- lib/iolib.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/iolib.c 2008-03-23 15:39:56.000000000 +0000 +@@ -299,7 +299,7 @@ + } + + +-void fgetln(fp) /* ln is side-effected. */ ++void fgetln_(fp) /* ln is side-effected. */ + FILE *fp; + { + if (fp==stdin) { getln("? "); return; } diff --git a/biology/mapm3/files/patch-lib-iolib.h b/biology/mapm3/files/patch-lib-iolib.h new file mode 100644 index 000000000000..c753073dc5aa --- /dev/null +++ b/biology/mapm3/files/patch-lib-iolib.h @@ -0,0 +1,78 @@ +--- lib/iolib.h.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/iolib.h 2008-04-03 20:00:49.000000000 +0000 +@@ -53,9 +53,9 @@ + conditions. Assume its really only one (or maybe 2-3) lines. ps_ is similar, + but for internal use only by the functions in this library. + +-Ln is a global input string side-effected by getln() and fgetln(). ++Ln is a global input string side-effected by getln() and fgetln_(). + The pointer ln itself may be side-effected, (eg: by the token parsing +-routines) as it is reset during each call to getln() or fgetln(). ++routines) as it is reset during each call to getln() or fgetln_(). + However, the string space used to hold the input line is reused, and + any pointers into the ln string which you saved may point to trash + after one of these calls. Ln is alloced for 2K chars, leaving lots of +@@ -66,7 +66,7 @@ + word breaks, converting tabs to spaces (every 8 chars), buffering + output (perhaps multiple lines!) and more. The do_fwrite() function does + not do this. Similarly, the getln() function despace()es, +-lowercase()es, and filter()s its input, while fgetln(), input(), and ++lowercase()es, and filter()s its input, while fgetln_(), input(), and + finput() functions do not [yes, it's a somewhat odd inconsistancy, but + it's handy]. + +@@ -254,6 +254,14 @@ + files! (The obvious exception is logging and input redirection, for which + you should use the rather carefuly crafted routines described above!) */ + ++/* Mimics 'writable string' behaviour which wasn't problematic in some old ++ pre '89 code. GCC supported it for a long time via the -fwritable-strings ++ option. However, as of version 3.4, it was declared deprecated, and removed ++ in later versions. A lot of the code depends on this questionable behaviour, ++ so the following macro is used throughout this *BSD port. */ ++#define WRS(s) (char[]){(s)} ++ ++ + bool make_filename(); /* args: char *name; int mode; char *extension; + This turns name into a perfectly valid file name, and returns TRUE if this + was possible. The name may include a directory specification - otherwise it +@@ -277,7 +285,7 @@ + #define APPEND "a" + void close_file(); /* args: FILE *fp; */ + +-bool end_of_file(); /* args: FILE *fp; returns TRUE if finput() or fgetln() ++bool end_of_file(); /* args: FILE *fp; returns TRUE if finput() or fgetln_() + will be able to grab a new line from the file. */ + bool end_of_text(); /* args: FILE *fp; Like an end-of-file test, except it also + returns TRUE if rest of the file is white. As a side-effect, it will step +@@ -289,17 +297,17 @@ + + #define fpr(fp) fprint(fp,ps) + #define fwp(fp) fwrite(fp,ps) +-#define fnl(fp) fwrite(fp,"\n") ++#define fnl(fp) fwrite(fp,WRS("\n")) + + void finput(); /* args: FILE *fp; char *str; int max_input_chars; */ +-void fgetln(); /* args: FILE *fp; side-effects global char *ln; +- Finput() and fgetln() both return a filter()ed line, and on end-of-file, the ++void fgetln_(); /* args: FILE *fp; side-effects global char *ln; ++ Finput() and fgetln_() both return a filter()ed line, and on end-of-file, the + ENDOFILE message is sent. Str must have room for max_input_chars+1 chars, + and only max_input_chars-1 chars can usually be read, as a '\n' may be read + in at the end and then deleted from the string. */ + + void fgetdataln(); /* args: FILE *fp; int *count; side-effects global ln; +- Like fgetln(), although this skips null (white) and comment lines (those ++ Like fgetln_(), although this skips null (white) and comment lines (those + beginning with a '#' in the leftmost position. Also, each time any line is + read from the file (data, null, or comment), *count is incremented. */ + +@@ -329,7 +337,7 @@ + + extern char *ps_, *ln_; /* input and output strings for the library only */ + extern char *linebuf; /* tty output buffer */ +-extern char *gotln, *lnptr; /* input line for getln(), fgetln() */ ++extern char *gotln, *lnptr; /* input line for getln(), fgetln_() */ + + extern FILE **in_fp; /* the "stack" of input files for redirecting input */ + extern int redirs; diff --git a/biology/mapm3/files/patch-lib-makehelp.c b/biology/mapm3/files/patch-lib-makehelp.c new file mode 100644 index 000000000000..b32c1600d4d1 --- /dev/null +++ b/biology/mapm3/files/patch-lib-makehelp.c @@ -0,0 +1,81 @@ +--- lib/makehelp.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/makehelp.c 2008-03-27 21:52:37.000000000 +0000 +@@ -131,7 +131,7 @@ + { + close_file(file); + +- fwrite(hlp,"@end\n"); ++ fwrite(hlp,WRS("@end\n")); + close_file(hlp); + + write_topics_and_end(); +@@ -172,9 +172,9 @@ + strcpy(man_name, argv[4]); + + strcpy(code_failed,code_name); +- make_filename(code_failed,FORCE_EXTENSION,"failed"); ++ make_filename(code_failed,FORCE_EXTENSION,WRS("failed")); + strcpy(final_hlp_name,hlp_name); +- make_filename_in_dir(final_hlp_name,FORCE_EXTENSION,"help", ++ make_filename_in_dir(final_hlp_name,FORCE_EXTENSION,WRS("help"), + FORCE_DIR,argv[5]); + + file= open_file(file_name,READ); +@@ -187,16 +187,16 @@ + matrix(entry,MAX_COMMANDS,MAXLINE+1,char); + + /* start help file 12345678901234567890123456789012345 */ +- fwrite(hlp, "#MAPMAKER help file - do not edit!\n"); ++ fwrite(hlp,WRS("#MAPMAKER help file - do not edit!\n")); + pos= 34l + LINE_BREAK_LEN; + + /* code file */ +- fwrite(code,"/* MAPMAKER help code file - do not edit! */ \n\n"); +- fwrite(code,"#define INC_LIB \n#define INC_SHELL \n"); +- fwrite(code,"#include \"system.h\" \n\n"); ++ fwrite(code,WRS("/* MAPMAKER help code file - do not edit! */ \n\n")); ++ fwrite(code,WRS("#define INC_LIB \n#define INC_SHELL \n")); ++ fwrite(code,WRS("#include \"system.h\" \n\n")); + /* sf(ps,"char help_filename[]= \"%s\";\n\n",final_hlp_name); + fwrite(code,ps); */ +- fwrite(code,"void make_help_entries()\n{\n"); ++ fwrite(code,WRS("void make_help_entries()\n{\n")); + + /* man file */ + man_write_title(); +@@ -242,7 +242,7 @@ + strcpy(name,str+i); despace(name); + nextstr(); + sf(ps,"\t%s... ",name); pr(); flush(); +- ++ + if (streq(type,"cmd")) parse_entry(CMD,name,abbreviation); + else if (streq(type,"opt")) parse_entry(OPT,name,abbreviation); + else if (streq(type,"param")) parse_entry(PAR,name,abbreviation); +@@ -419,7 +419,7 @@ + sf(ps," mktopic(%d,\"%s\",TOP,%ldl);\n",s,temp,position[s]); + fpr(code); s++; + } +- fprint(code,"}\n"); ++ fprint(code,WRS("}\n")); + } + + +@@ -681,7 +681,7 @@ + case TOP: + man_write_line(""); + strcpy(upcase,section[s]); uppercase(upcase); +- sf(temp," %s\(%d\) %s ",(s>=10 ? "":" "),s,upcase); s++; break; ++ sf(temp," %s(%d) %s ",(s>=10 ? "":" "),s,upcase); s++; break; + case CMD: + strcpy(upcase,entry[i]); uppercase(upcase); + sf(temp," %s Command ",upcase); break; +@@ -718,7 +718,7 @@ + if (entry_type[i]==TOP) { + man_write_line(""); + strcpy(upcase,section[s]); uppercase(upcase); +- sf(temp,"%s\(%d\) %s ",(s>=10 ? "":""),s,upcase); s++; ++ sf(temp,"%s(%d) %s ",(s>=10 ? "":""),s,upcase); s++; + man_write_line(temp); + } else { + sf(temp,"%s%s",entry[i],(entry_type[i]==HLP ? "*":"")); diff --git a/biology/mapm3/files/patch-lib-shell.c b/biology/mapm3/files/patch-lib-shell.c new file mode 100644 index 000000000000..b558288fd6aa --- /dev/null +++ b/biology/mapm3/files/patch-lib-shell.c @@ -0,0 +1,81 @@ +--- lib/shell.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/shell.c 2008-03-27 21:24:20.000000000 +0000 +@@ -129,7 +129,7 @@ + + run { + strcpy(name,version_filename); +- if (!make_filename_in_dir(name,FORCE_EXTENSION,".v", ++ if (!make_filename_in_dir(name,FORCE_EXTENSION,WRS(".v"), + FORCE_DIR,CODE_DIR)) send(CANTOPEN); + fp=open_file(name,READ); + finput(fp,ln_,MAXLINE); p=ln_; /* don't hack &ln_ */ +@@ -226,7 +226,7 @@ + help_uses_wimp_help= FALSE; + + help_file=NULL; +- if (make_filename_in_dir(help_filename,FORCE_EXTENSION,HELP_EXT, ++ if (make_filename_in_dir(help_filename,FORCE_EXTENSION,WRS(HELP_EXT), + DEFAULT_DIR,CODE_DIR)) { + run help_file=open_file(help_filename,READ); + except_when(CANTOPEN) {} +@@ -950,7 +950,7 @@ + use_uncrunched_args(); + get_one_arg(stoken,sREQUIRED,file_name); + +- if (!make_filename(file_name,DEFAULT_EXTENSION,"in")) ++ if (!make_filename(file_name,DEFAULT_EXTENSION,WRS("in"))) + error("bad input file name"); + else redirect_input(file_name,TRUE); /* verbose -> messages */ + } +@@ -972,7 +972,7 @@ + usage_error(1); + + } else if (!nullstr(file_name)) { +- if (!make_filename(file_name,DEFAULT_EXTENSION,"out")) ++ if (!make_filename(file_name,DEFAULT_EXTENSION,WRS("out"))) + sf(ps,"error: Bad photo file name"); + if (!photo_to_file(file_name,"a")) + sf(ps,"error: Unable to open photo file '%s'\n",file_name); +@@ -1080,12 +1080,12 @@ + else if (topic_help_key[i]==HELPLESS) print(NO_HELP_KEY); + else { + fgoto_line(help_file,topic_help_key[i]); +- fgetln(help_file); ++ fgetln_(help_file); + got_any=FALSE; + while (ln[0]!='@') { + got_any=TRUE; + print(ln); nl(); +- fgetln(help_file); ++ fgetln_(help_file); + } + if (!got_any) print(NO_HELP_KEY); + } +@@ -1131,12 +1131,12 @@ + else if (cmd[i]->help_key==HELPLESS) print(NO_HELP_KEY); + else { + fgoto_line(help_file,cmd[i]->help_key); +- fgetln(help_file); ++ fgetln_(help_file); + got_any=FALSE; + while (ln[0]!='@') { + got_any=TRUE; + print(ln); nl(); +- fgetln(help_file); ++ fgetln_(help_file); + } + if (!got_any) print(NO_HELP_KEY); + } +@@ -1164,10 +1164,10 @@ + { print(NO_HELP_KEY); nl(); print(SURROGATE_ABOUT); } + else { + fgoto_line(help_file,n); +- fgetln(help_file); ++ fgetln_(help_file); + while (ln[0]!='@') { + print(ln); nl(); +- fgetln(help_file); ++ fgetln_(help_file); + } + } + nl(); print(MOREHELP0); print(MOREHELP1); print(MOREHELP2); diff --git a/biology/mapm3/files/patch-lib-syscode.c b/biology/mapm3/files/patch-lib-syscode.c new file mode 100644 index 000000000000..c74d4b58c6ce --- /dev/null +++ b/biology/mapm3/files/patch-lib-syscode.c @@ -0,0 +1,43 @@ +--- lib/syscode.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/syscode.c 2008-03-27 21:03:12.000000000 +0000 +@@ -198,7 +198,7 @@ + long fseekvalue= 0L; + frewind(fp); + run while (fseekvalue < index-1) { +- fgetln(help_file); ++ fgetln_(help_file); + fseekvalue+=len(ln)+1; + } except_when(ENDOFILE) return(FALSE); + return(TRUE); +@@ -742,26 +742,26 @@ + + } else if (matches(argv[i]+1,"load")) { + check_file_arg(*argc_ptr-i,argv[i+1],file_arg[LOAD_FILE_ARG], +- "load","data",argv[0],READ); ++ WRS("load"),WRS("data"),argv[0],READ); + prep_it=FALSE; + argv[i++][0]='\0'; argv[i][0]='\0'; + } else if (matches(argv[i]+1,"prep")) { + check_file_arg(*argc_ptr-i,argv[i+1],file_arg[LOAD_FILE_ARG], +- "prep","raw",argv[0],READ); ++ WRS("prep"),WRS("raw"),argv[0],READ); + prep_it=TRUE; + argv[i++][0]='\0'; argv[i][0]='\0'; + } else if (matches(argv[i]+1,"run")) { + check_file_arg(*argc_ptr-i,argv[i+1],file_arg[RUN_FILE_ARG], +- "run","in",argv[0],READ); ++ WRS("run"),WRS("in"),argv[0],READ); + argv[i++][0]='\0'; argv[i][0]='\0'; + } else if (matches(argv[i]+1,"photo")) { + check_file_arg(*argc_ptr-i,argv[i+1],file_arg[PHOTO_FILE_ARG], +- "photo","out",argv[0],APPEND); ++ WRS("photo"),WRS("out"),argv[0],APPEND); + append_it=TRUE; + argv[i++][0]='\0'; argv[i][0]='\0'; + } else if (matches(argv[i]+1,"out")) { + check_file_arg(*argc_ptr-i,argv[i+1],file_arg[PHOTO_FILE_ARG], +- "photo","out",argv[0],WRITE); ++ WRS("photo"),WRS("out"),argv[0],WRITE); + append_it=FALSE; + argv[i++][0]='\0'; argv[i][0]='\0'; + } else if (matches(argv[i]+1,"help")) { diff --git a/biology/mapm3/files/patch-lib-system.h b/biology/mapm3/files/patch-lib-system.h new file mode 100644 index 000000000000..a030b5a46fd2 --- /dev/null +++ b/biology/mapm3/files/patch-lib-system.h @@ -0,0 +1,71 @@ +--- lib/system.h.orig 2008-04-04 20:05:29.000000000 +0000 ++++ lib/system.h 2008-03-27 20:49:34.000000000 +0000 +@@ -43,6 +43,7 @@ + _SYS_OSF Specifics for OSF/1 for DEC Alpha (like, if it ever ships) + _SYS_AIX Specifics for the inferior but marketable AIX (RISC or other?) + _SYS_HPUX Specifics for HP-UX (8.x?) for HP 9000/700 series. ++ _SYS_BSD Specifics for modern BSD systems (tested on FreeBSD 6.3) + _SYS_UNIX Basic Unix semantics, defined if any one of the above is + + _SYS_WATCOM Specifics for WATCOM C/386 9.0 with apropriate libraries +@@ -86,6 +87,11 @@ + #else + #ifdef _SYS_AUX + #define _SYS_UNIX /* Note: NOT _SYS_MAC */ ++#else ++#ifdef _SYS_BSD ++#define _SYS_UNIX ++#else ++#endif + #endif + #endif + #endif +@@ -191,6 +197,9 @@ + #ifdef _SYS_ULTRIX + #define SIGHANDLE void + #endif ++#ifdef _SYS_BSD ++#define SIGHANDLE void ++#endif + + + +@@ -210,10 +219,14 @@ + #ifdef _SYS_ULTRIX + #define USE_RANDOM + #else ++#ifdef _SYS_BSD ++#define USE_DRAND48 /* bsd has 'random' */ ++#else + #define USE_SRAND + #endif + #endif + #endif ++#endif + + + /***************************** C-Library ************************************** +@@ -282,6 +295,14 @@ + #define QSORT_LENGTH int /* actually width is an int, not a unsigned */ + #endif + ++#ifdef _SYS_BSD /* modern BSD systems (tested on FreeBSD 6.3) */ ++#define CALLOC_PTR_TO char ++#define CALLOC_NUM_TYPE size_t /* unsigned in man page is wrong? */ ++#define SIZEOF_TYPE size_t ++#define QSORT_DATA_PTR_TO char ++#define QSORT_LENGTH int /* actually width is an int, not a unsigned */ ++#endif ++ + #ifdef _SYS_AUX /* just like ULTRIX? */ + #define CALLOC_PTR_TO char + #define CALLOC_NUM_TYPE size_t /* unsigned in man page is wrong? */ +@@ -583,7 +604,7 @@ + #include <signal.h> + #include <errno.h> + #include <time.h> /* for ctime() def - Who does not have this file? */ +-#include <malloc.h> ++#include <stdlib.h> + #include <sys/types.h> + + #ifdef TRY_WINSIZE diff --git a/biology/mapm3/files/patch-mapm-chroms.c b/biology/mapm3/files/patch-mapm-chroms.c new file mode 100644 index 000000000000..c05d3afac62e --- /dev/null +++ b/biology/mapm3/files/patch-mapm-chroms.c @@ -0,0 +1,29 @@ +--- mapm/chroms.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/chroms.c 2008-03-27 21:25:42.000000000 +0000 +@@ -909,7 +909,7 @@ + write_map(fp, chromosome->map_list[i]); + } + +- fprint(fp,"*Assignments and Placements:\n"); ++ fprint(fp,WRS("*Assignments and Placements:\n")); + for (locus=0; locus< raw.num_markers; locus++) { + sf(ps,"*%-8s %2d",raw.locus_name[locus],assignment[locus]->status); + fpr(fp); +@@ -943,7 +943,7 @@ + MAP *map; + + /* chromosomes */ +- fgetln(fp); ++ fgetln_(fp); + stoken(&ln,sREQUIRED,word); + if (!streq(word,"*Chromosomes:") || !itoken(&ln,iREQUIRED,&num_chroms)) { + baddata("error finding *Chromosomes:"); +@@ -957,7 +957,7 @@ + baddata("listed number of chromosomes and actual number do not agree"); + } + +- fgetln(fp); ++ fgetln_(fp); + if (!streq(ln,"*Assignments and Placements:")) + baddata("error finding *Assignments and Placements:"); + for (locus=0; locus < raw.num_markers; locus++) { diff --git a/biology/mapm3/files/patch-mapm-database.c b/biology/mapm3/files/patch-mapm-database.c new file mode 100644 index 000000000000..bed345d6f69a --- /dev/null +++ b/biology/mapm3/files/patch-mapm-database.c @@ -0,0 +1,11 @@ +--- mapm/database.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/database.c 2008-03-27 21:26:48.000000000 +0000 +@@ -45,7 +45,7 @@ + get_one_arg(stoken, sREQUIRED, out_name); + + /* force file extension to be ".data" */ +- make_filename(out_name, FORCE_EXTENSION, ".data"); ++ make_filename(out_name, FORCE_EXTENSION, WRS(".data")); + + /* make a function call to a procedure which connects to the database */ + get_from_database(); diff --git a/biology/mapm3/files/patch-mapm-info.c b/biology/mapm3/files/patch-mapm-info.c new file mode 100644 index 000000000000..d90cc8cb2a38 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-info.c @@ -0,0 +1,41 @@ +--- mapm/info.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/info.c 2008-03-27 21:26:18.000000000 +0000 +@@ -966,9 +966,9 @@ + class[locus]); + fpr(fp); + } +- fprint(fp,"*Classes:\n"); ++ fprint(fp,WRS("*Classes:\n")); + for (i=0; i<NUM_CLASSES; i++) +- { fprint(fp,"*"); fprint(fp,class_name[i]); fnl(fp); } ++ { fprint(fp,WRS("*")); fprint(fp,class_name[i]); fnl(fp); } + } + + +@@ -980,12 +980,12 @@ + real rate; + char temp_locus_name[NAME_LEN+2], word[TOKLEN+1]; + +- fgetln(fp); ++ fgetln_(fp); + if (sscanf(ln,"%s %d %d",word,&num_groups,&num_orders)!=3 || + !streq(word,"*OrderInfo:")) baddata("expected '*OrderInfo: # #'"); + + for (locus=0; locus < raw.num_markers; locus++) { +- fgetln(fp); ++ fgetln_(fp); + + if (!nstoken(&ln,sREQUIRED,temp_locus_name,NAME_LEN+1) || + temp_locus_name[0]!='*' || len(temp_locus_name)<2) +@@ -1007,9 +1007,9 @@ + order_next[locus]= ord_next; + class[locus]= class_num; + } +- fgetln(fp); if (!streq(ln,"*Classes:")) baddata("bad classes"); ++ fgetln_(fp); if (!streq(ln,"*Classes:")) baddata("bad classes"); + for (i=0; i<NUM_CLASSES; i++) +- { fgetln(fp); strcpy(class_name[i],ln+1); } ++ { fgetln_(fp); strcpy(class_name[i],ln+1); } + } + + diff --git a/biology/mapm3/files/patch-mapm-map_info.h b/biology/mapm3/files/patch-mapm-map_info.h new file mode 100644 index 000000000000..d16778b5dc62 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-map_info.h @@ -0,0 +1,11 @@ +--- mapm/map_info.h.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/map_info.h 2008-03-31 00:14:48.000000000 +0000 +@@ -215,7 +215,7 @@ + /***** Chromosome framework, assignment, and placement stuff - chroms.c *****/ + + extern SAVED_LIST *chromosome; /* malloced by allocate_mapping_structs() */ +-#define chrom2str(x) ((x)>=0 ? chromosome->map_list[x]->map_name : "none") ++#define chrom2str(x) ((x)>=0 ? chromosome->map_list[x]->map_name : WRS("none")) + bool isa_chrom(); /* args: char *name; int *chrom; side-effected if TRUE */ + #define num_chromosomes (chromosome->num_maps) + extern int current_chrom; /* set by the sequence command or reset_state() */ diff --git a/biology/mapm3/files/patch-mapm-mapm.h b/biology/mapm3/files/patch-mapm-mapm.h new file mode 100644 index 000000000000..95473a631fa7 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-mapm.h @@ -0,0 +1,11 @@ +--- mapm/mapm.h.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/mapm.h 2008-03-16 13:53:32.000000000 +0000 +@@ -19,7 +19,7 @@ + #define command void /* needed if INC_SHELL was not defined */ + #endif + +-#include "system.h" ++#include "../lib/system.h" + + + /***************** MAPM Constants *****************/ diff --git a/biology/mapm3/files/patch-mapm-maps.c b/biology/mapm3/files/patch-mapm-maps.c new file mode 100644 index 000000000000..7fa271809f84 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-maps.c @@ -0,0 +1,72 @@ +--- mapm/maps.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/maps.c 2008-03-23 15:39:56.000000000 +0000 +@@ -592,7 +592,7 @@ + + clean_map(map); + +- fgetln(fp); ++ fgetln_(fp); + if (!nstoken(&ln,sREQUIRED,name,NAME_LEN+1) || name[0]!='*' || + sscanf(ln,"%d %d %d %d %lf",&num_loci,&unlink,&sex,&errors,&like)!=5) + baddata("expected *chrom-name # # # #"); +@@ -603,31 +603,31 @@ + strcpy(map->map_name,name+1); map->allow_errors= errors; + map->num_loci=num_loci; map->log_like=like; + +- fgetln(fp); ++ fgetln_(fp); + for (i=0; i<num_loci; i++) { +- if (nullstr(ln)) fgetln(fp); ++ if (nullstr(ln)) fgetln_(fp); + if (!itoken(&ln,iREQUIRED,&num)) send(CRASH); + map->locus[i]=num; + } +- fgetln(fp); ++ fgetln_(fp); + for (i=0; i<num_loci-1; i++) { +- if (nullstr(ln)) fgetln(fp); ++ if (nullstr(ln)) fgetln_(fp); + if (!rtoken(&ln,rREQUIRED,&rnum)) send(CRASH); + map->rec_frac[i][MALE]=rnum; + } + + if (raw.data_type==CEPH && sex) { +- fgetln(fp); ++ fgetln_(fp); + for(i=0; i<num_loci-1; i++) { +- if (nullstr(ln)) fgetln(fp); ++ if (nullstr(ln)) fgetln_(fp); + if (!rtoken(&ln,rREQUIRED,&rnum)) send(CRASH); + map->rec_frac[i][FEMALE]=rnum; + } + } else for (i=0; i<num_loci-1; i++) map->rec_frac[i][FEMALE]=0.0; + +- fgetln(fp); ++ fgetln_(fp); + for(i=0; i<num_loci-1; i++) { +- if (nullstr(ln)) fgetln(fp); ++ if (nullstr(ln)) fgetln_(fp); + if (!itoken(&ln,iREQUIRED,&num)) send(CRASH); + map->fix_interval[i]=num; + } +@@ -637,7 +637,7 @@ + matrix(map->error_lod,map->max_loci,raw.data.f2.num_indivs,real); + } + for (i=0; i<map->num_loci; i++) { +- fgetln(fp); ++ fgetln_(fp); + if (!stoken(&ln,sREQUIRED,str) || !streq(str,"errors")) + send(CRASH); + if (!rtoken(&ln,rREQUIRED,&rnum)) send(CRASH); +@@ -646,9 +646,9 @@ + for(j=0; j<raw.data.f2.num_indivs; j++) + map->error_lod[i][j]= 0.0; + } else { +- fgetln(fp); ++ fgetln_(fp); + for (j=0; j<raw.data.f2.num_indivs; j++) { +- if (nullstr(ln)) fgetln(fp); ++ if (nullstr(ln)) fgetln_(fp); + if (!rtoken(&ln,rREQUIRED,&rnum)) send(CRASH); + map->error_lod[i][j]=rnum; + } diff --git a/biology/mapm3/files/patch-mapm-npt_cmds.c b/biology/mapm3/files/patch-mapm-npt_cmds.c new file mode 100644 index 000000000000..7eb33051e6c6 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-npt_cmds.c @@ -0,0 +1,11 @@ +--- mapm/npt_cmds.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/npt_cmds.c 2008-03-27 21:27:12.000000000 +0000 +@@ -78,7 +78,7 @@ + nomore_args(num_args); + + run { +- if (!make_filename(name,FORCE_EXTENSION,PS_EXT)) ++ if (!make_filename(name,FORCE_EXTENSION,WRS(PS_EXT))) + { sf(ps,"illegal filename '%s'",name); error(ps); } + fp= open_file(name,WRITE); + sf(ps,"Drawing map in PostScript file '%s'... \n",name); pr(); diff --git a/biology/mapm3/files/patch-mapm-print.c b/biology/mapm3/files/patch-mapm-print.c new file mode 100644 index 000000000000..02cdedf67133 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-print.c @@ -0,0 +1,11 @@ +--- mapm/print.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/print.c 2008-03-27 21:34:40.000000000 +0000 +@@ -540,7 +540,7 @@ + } + } + +-#define MAPPING_HEAD1\ ++#define MAPPING_HEAD1 \ + " 2nd Left " + #define MAPPING_HEAD2 \ + " Num Name Assignment Chrom LOD Mapping Like Locus Errors" diff --git a/biology/mapm3/files/patch-mapm-reader.c b/biology/mapm3/files/patch-mapm-reader.c new file mode 100644 index 000000000000..d6e122742099 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-reader.c @@ -0,0 +1,191 @@ +--- mapm/reader.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/reader.c 2008-03-27 21:10:18.000000000 +0000 +@@ -81,7 +81,7 @@ + + void getdataln(fp) /* get next nonblank,noncomment data file line */ + FILE *fp; +-{ do { fgetln(fp); data_line++; } while (nullstr(ln)||ln[0]=='#'); } ++{ do { fgetln_(fp); data_line++; } while (nullstr(ln)||ln[0]=='#'); } + + + void baddata(reason) /* send data reading error message */ +@@ -135,7 +135,7 @@ + char tmpname[PATH_LENGTH+1]; + + make_filename(name,FORCE_EXTENSION,ext); +- strcpy(tmpname,name); make_filename(tmpname,FORCE_EXTENSION,TEMP_EXT); ++ strcpy(tmpname,name); make_filename(tmpname,FORCE_EXTENSION,WRS(TEMP_EXT)); + + fp=NULL; *exists=FALSE; + run { +@@ -162,7 +162,7 @@ + bool exists; + { + char tmpname[PATH_LENGTH+1], oldname[PATH_LENGTH+1]; +- strcpy(tmpname,name); make_filename(tmpname,FORCE_EXTENSION,TEMP_EXT); ++ strcpy(tmpname,name); make_filename(tmpname,FORCE_EXTENSION,WRS(TEMP_EXT)); + strcpy(oldname,name); make_filename(oldname,FORCE_EXTENSION,oldext); + + if (exists) { rename_file(name,oldname); } +@@ -214,7 +214,7 @@ + raw.data.f2.cross_type); + print(" ok\n"); + +- make_filename(name,FORCE_EXTENSION,MAPS_EXT); strcpy(type,"map"); ++ make_filename(name,FORCE_EXTENSION,WRS(MAPS_EXT)); strcpy(type,"map"); + run { + fp2=NULL; + fp2=open_file(name,READ); +@@ -228,7 +228,7 @@ + close_file(fp2); + } except_when(CANTOPEN) { } /* need a better handler */ + +- make_filename(name,FORCE_EXTENSION,TWO_EXT); strcpy(type,"two-point"); ++ make_filename(name,FORCE_EXTENSION,WRS(TWO_EXT)); strcpy(type,"two-point"); + run { + fp2=NULL; + fp2=open_file(name,READ); +@@ -240,7 +240,7 @@ + close_file(fp2); + } except_when(CANTOPEN) { } /* need a better handler */ + +- make_filename(name,FORCE_EXTENSION,THREE_EXT); strcpy(type,"three-point"); ++ make_filename(name,FORCE_EXTENSION,WRS(THREE_EXT)); strcpy(type,"three-point"); + run { + fp2=NULL; + fp2=open_file(name,READ); +@@ -285,39 +285,39 @@ + run { + strcpy(name,base_name); + if (save_genos_too) { +- fp= start_save_to_file(name,DATA_EXT,"genotype",&exists); ++ fp= start_save_to_file(name,WRS(DATA_EXT),"genotype",&exists); + write_f2_data(fp); /* deals with header and magic number */ + close_file(fp); fp=NULL; +- finish_save_to_file(name,DATA_OLD,exists); ++ finish_save_to_file(name,WRS(DATA_OLD),exists); + } +- fp= start_save_to_file(name,MAPS_EXT,"map",&exists); ++ fp= start_save_to_file(name,WRS(MAPS_EXT),"map",&exists); + write_magic_number(fp,"map"); + write_order_data(fp); + write_mapping_data(fp); + write_status(fp); + close_file(fp); fp=NULL; +- finish_save_to_file(name,MAPS_OLD,exists); ++ finish_save_to_file(name,WRS(MAPS_OLD),exists); + + if (two_pt_touched) { +- fp= start_save_to_file(name,TWO_EXT,"two-point",&exists); ++ fp= start_save_to_file(name,WRS(TWO_EXT),"two-point",&exists); + write_magic_number(fp,"two-point"); + write_two_pt(fp); + close_file(fp); fp=NULL; +- finish_save_to_file(name,TWO_OLD,exists); ++ finish_save_to_file(name,WRS(TWO_OLD),exists); + } + if (three_pt_touched) { +- fp= start_save_to_file(name,THREE_EXT,"three-point",&exists); ++ fp= start_save_to_file(name,WRS(THREE_EXT),"three-point",&exists); + write_magic_number(fp,"three-point"); + write_three_pt(fp); + close_file(fp); fp=NULL; +- finish_save_to_file(name,THREE_OLD,exists); ++ finish_save_to_file(name,WRS(THREE_OLD),exists); + } + if (num_traits>0) { +- fp= start_save_to_file(name,TRAIT_EXT,"traits",&exists); ++ fp= start_save_to_file(name,WRS(TRAIT_EXT),"traits",&exists); + write_magic_number(fp,"trait"); + write_traits(fp); + close_file(fp); fp=NULL; +- finish_save_to_file(name,TRAIT_OLD,exists); ++ finish_save_to_file(name,WRS(TRAIT_OLD),exists); + free_traits(); + } + two_pt_touched= FALSE; +@@ -576,15 +576,15 @@ + char header[MAXLINE+1]; + + if (raw.data.f2.cross_type==F2_INTERCROSS) +- fprint(fp,"prepared data f2 intercross\n"); ++ fprint(fp,WRS("prepared data f2 intercross\n")); + else if (raw.data.f2.cross_type==F2_BACKCROSS) +- fprint(fp,"prepared data f2 backcross\n"); ++ fprint(fp,WRS("prepared data f2 backcross\n")); + else if (raw.data.f2.cross_type==RI_SIB) +- fprint(fp,"prepared data f2 ri-sib\n"); ++ fprint(fp,WRS("prepared data f2 ri-sib\n")); + else if (raw.data.f2.cross_type==RI_SELF) +- fprint(fp,"prepared data f2 ri-self\n"); ++ fprint(fp,WRS("prepared data f2 ri-self\n")); + else if (raw.data.f2.cross_type==F3_SELF) +- fprint(fp,"prepared data f3\n"); ++ fprint(fp,WRS("prepared data f3\n")); + + sf(header,"%d %d %d\n",raw.filenumber,raw.data.f2.num_indivs, + raw.num_markers); fprint(fp,header); +@@ -593,7 +593,7 @@ + sf(ps,"*%-10s ", raw.locus_name[i]); + fpr(fp); + for (j=0; j<raw.data.f2.num_indivs; j++) { +- if (j%50==0 && j!=0) fprint(fp,"\n "); ++ if (j%50==0 && j!=0) fprint(fp,WRS("\n ")); + sf(ps,"%c",raw.data.f2.allele[i][j]); + fpr(fp); + } +@@ -828,9 +828,7 @@ + char *symb; + { + /* CHANGED FOR THIS VERION - NOW READS "-AHBCD" */ +- +- if (chr==symb[0]) return(MISSING_DATA); +- else if (chr==symb[1]) return(PARENTAL_TYPE_A); ++if (chr==symb[0]) return(MISSING_DATA); else if (chr==symb[1]) return(PARENTAL_TYPE_A); + else if (chr==symb[2]) return(HYBRID_TYPE_H); + else if (chr==symb[3]) return(PARENTAL_TYPE_B); + else if (chr==symb[4]) return(TYPE_NOT_A); +@@ -856,26 +854,26 @@ + fnl(fp); + } + fnl(fp); +- fprint(fp,"#QTL only variables:\n"); +- fprint(fp,"*Print mapm loci: 1\n"); +- fprint(fp,"*Like tolerance: 0.001\n"); +- fprint(fp,"*Brute force: 1\n"); +- fprint(fp,"*Max intervals: -7\n"); +- fprint(fp,"*Max continuous vars: -3\n"); +- fprint(fp,"*Max wiggles: 0\n"); +- fprint(fp,"*Max compares: 0\n"); +- fprint(fp,"*Default units: 1\n"); +- fprint(fp,"*Chromosomes: 0\n"); +- fprint(fp,"*Number of contexts: 1\n"); +- fprint(fp,"*Active context: 0\n"); ++ fprint(fp,WRS("#QTL only variables:\n")); ++ fprint(fp,WRS("*Print mapm loci: 1\n")); ++ fprint(fp,WRS("*Like tolerance: 0.001\n")); ++ fprint(fp,WRS("*Brute force: 1\n")); ++ fprint(fp,WRS("*Max intervals: -7\n")); ++ fprint(fp,WRS("*Max continuous vars: -3\n")); ++ fprint(fp,WRS("*Max wiggles: 0\n")); ++ fprint(fp,WRS("*Max compares: 0\n")); ++ fprint(fp,WRS("*Default units: 1\n")); ++ fprint(fp,WRS("*Chromosomes: 0\n")); ++ fprint(fp,WRS("*Number of contexts: 1\n")); ++ fprint(fp,WRS("*Active context: 0\n")); + fnl(fp); +- fprint(fp,"*Context 1\n"); ++ fprint(fp,WRS("*Context 1\n")); + if(num_traits == 1) +- fprint(fp,"*Trait: 0\n"); ++ fprint(fp,WRS("*Trait: 0\n")); + else +- fprint(fp,"*Trait: -1\n"); +- fprint(fp,"*Named sequences: 0\n"); +- fprint(fp,"*Sequence history: 0\n"); ++ fprint(fp,WRS("*Trait: -1\n")); ++ fprint(fp,WRS("*Named sequences: 0\n")); ++ fprint(fp,WRS("*Sequence history: 0\n")); + } + + diff --git a/biology/mapm3/files/patch-mapm-state.c b/biology/mapm3/files/patch-mapm-state.c new file mode 100644 index 000000000000..b27e385af297 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-state.c @@ -0,0 +1,18 @@ +--- mapm/state.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/state.c 2008-04-03 19:37:40.000000000 +0000 +@@ -734,7 +734,7 @@ + { + int i, usenum; + +- fprint(fp,"*MapmakerStatusInfo:\n"); ++ fprint(fp,WRS("*MapmakerStatusInfo:\n")); + + sf(ps,"*PrintNames: %d\n",print_names); fpr(fp); + sf(ps,"*Tolerance: %lf\n",tolerance); fpr(fp); +@@ -852,5 +852,5 @@ + load_table(context[i]->sequence_history,fp,INDEX_BY_NUMBER,num); + } + +- if (the_seq_history_num>0) set_current_seq("none",FALSE); ++ if (the_seq_history_num>0) set_current_seq(WRS("none"),FALSE); + } diff --git a/biology/mapm3/files/patch-mapm-sys_cmds.c b/biology/mapm3/files/patch-mapm-sys_cmds.c new file mode 100644 index 000000000000..9307cf7feb6e --- /dev/null +++ b/biology/mapm3/files/patch-mapm-sys_cmds.c @@ -0,0 +1,47 @@ +--- mapm/sys_cmds.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/sys_cmds.c 2008-03-27 21:28:05.000000000 +0000 +@@ -98,7 +98,7 @@ + close_file(fp); + if (raw) { + strcpy(run_file,name); +- make_filename(run_file,FORCE_EXTENSION,PREP_EXT); ++ make_filename(run_file,FORCE_EXTENSION,WRS(PREP_EXT)); + if (!redirect_input(run_file,FALSE)) { + sf(ps,"unable to run file '%s'... skipping initialization\n", + run_file); pr(); +@@ -145,7 +145,7 @@ + if (!prev_data) print("no data are loaded\n"); + else { sf(ps,DATA_LOADED,raw.filename,data_info(TRUE)); pr(); } + } else { +- fp=try_to_open(name,FORCE_EXTENSION,DATA_EXT,prev_data); ++ fp=try_to_open(name,FORCE_EXTENSION,WRS(DATA_EXT),prev_data); + if (prev_data) try_to_unload(fp,TRUE,auto_save,TRUE,just_prepared); + try_to_load(fp,name,prev_data,FALSE); + just_prepared=FALSE; +@@ -169,7 +169,7 @@ + if (streq(&name[end-4],DATA_EXT) || streq(&name[end-4],DATA_OLD) ||... + error(RAW_EXTENSION); */ + +- fp= try_to_open(name,DEFAULT_EXTENSION,RAW_EXT,prev_data); ++ fp= try_to_open(name,DEFAULT_EXTENSION,WRS(RAW_EXT),prev_data); + if (prev_data) try_to_unload(fp,TRUE,auto_save,TRUE,just_prepared); + try_to_load(fp,name,prev_data,TRUE); + just_prepared=TRUE; +@@ -186,7 +186,7 @@ + get_one_arg(stoken,"",name); new_name= !nullstr(name); + /* want to change this so it sets raw.filename only AFTER it writes OK */ + +- if (new_name && !make_filename(name,FORCE_EXTENSION,DATA_EXT)) ++ if (new_name && !make_filename(name,FORCE_EXTENSION,WRS(DATA_EXT))) + { sf(ps,BAD_FILENAME,name); error(ps); } + + run { +@@ -621,7 +621,7 @@ + for (j=num_seq_tokens-1; j>i; j--) + strcpy(seq_tokens[j+1],seq_tokens[j]); + /* this is severly broken, if len(appendage) > TOKLEN */ +- strcpy(seq_tokens[i+i],appendage); ++ strcpy(seq_tokens[i+1],appendage); + num_seq_tokens++; + + untokenize_seq(new_seq,seq_tokens,num_seq_tokens); diff --git a/biology/mapm3/files/patch-mapm-two_cmds.c b/biology/mapm3/files/patch-mapm-two_cmds.c new file mode 100644 index 000000000000..bfb068015135 --- /dev/null +++ b/biology/mapm3/files/patch-mapm-two_cmds.c @@ -0,0 +1,16 @@ +--- mapm/two_cmds.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ mapm/two_cmds.c 2008-04-03 19:58:42.000000000 +0000 +@@ -698,11 +698,11 @@ + + if (!print_names) { + print("\n log-likelihood differences\n"); +-print( " count markers a-b-c b-a-c a-c-b\n"); ++print(" count markers a-b-c b-a-c a-c-b\n"); + /* 12345: 1234 1234 1234 */ + } else { + print("\n log-likelihood differences\n"); +-print( " count markers a-b-c b-a-c a-c-b\n"); ++print(" count markers a-b-c b-a-c a-c-b\n"); + /* 12345: 123456789 123456789 123456789 */ + } + diff --git a/biology/mapm3/files/patch-quant-qcmds.c b/biology/mapm3/files/patch-quant-qcmds.c new file mode 100644 index 000000000000..39bee743f5d4 --- /dev/null +++ b/biology/mapm3/files/patch-quant-qcmds.c @@ -0,0 +1,93 @@ +--- quant/qcmds.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ quant/qcmds.c 2008-03-27 21:30:08.000000000 +0000 +@@ -1348,7 +1348,7 @@ + if (nullstr(args)) { + if (!data_loaded()) print(NO_LOADED_DATA); else { + strcpy(tfile,raw.file); +- make_filename(tfile,FORCE_EXTENSION,TRAIT_EXT); ++ make_filename(tfile,FORCE_EXTENSION,WRS(TRAIT_EXT)); + sf(ps,LOADED_DATA,raw.file,tfile,"",raw.n_indivs, + (raw.data_type==BACKCROSS ? "backcross":"intercross"), + raw.n_loci,raw.n_traits,maybe_s(raw.n_traits)); pr(); +@@ -1363,9 +1363,9 @@ + nstoken(&args,sREQUIRED,dfile,PATH_LENGTH); tfile[0]='\0'; + nomore_args(num_args); + run { +- if (!make_filename(dfile,FORCE_EXTENSION,DATA_EXT)) send(CANTOPEN); ++ if (!make_filename(dfile,FORCE_EXTENSION,WRS(DATA_EXT))) send(CANTOPEN); + fpa= open_file(dfile,READ); +- fgetln(fpa); ++ fgetln_(fpa); + + if (streq(ln,"prepared data f2 backcross")) { + strcpy(geno_chars,default_backcross_chars); +@@ -1384,11 +1384,11 @@ + } + + strcpy(tfile,dfile); +- if (!make_filename(tfile,FORCE_EXTENSION,TRAIT_EXT)) ++ if (!make_filename(tfile,FORCE_EXTENSION,WRS(TRAIT_EXT))) + send(CANTOPEN); + fpb = open_file(tfile,READ); + strcpy(mfile,dfile); +- if (!make_filename(mfile,FORCE_EXTENSION,MAPS_EXT)) ++ if (!make_filename(mfile,FORCE_EXTENSION,WRS(MAPS_EXT))) + send(CANTOPEN); + fpc = open_file(mfile,READ); + +@@ -1449,7 +1449,7 @@ + + out_name = get_temp_string(); + strcpy(out_name,in_name); +- make_filename(out_name,FORCE_EXTENSION,DATA_EXT); ++ make_filename(out_name,FORCE_EXTENSION,WRS(DATA_EXT)); + + fp = open_file(in_name,READ); + getdataln(fp); crunch(ln); +@@ -1488,7 +1488,7 @@ + name = mkstrcpy(raw.file); + name3 = mkstrcpy(raw.file); + name2 = "dummy.qtls"; +- make_filename(name, FORCE_EXTENSION, QTL_EXT); ++ make_filename(name, FORCE_EXTENSION, WRS(QTL_EXT)); + + /* The following accounts for the case where there is no file 'name' + (i.e. it makes one) */ +@@ -1500,7 +1500,7 @@ + close_file(fp); + } + +- make_filename(name3, FORCE_EXTENSION, QTL_OLD); ++ make_filename(name3, FORCE_EXTENSION, WRS(QTL_OLD)); + run { + fp = open_file(name2, WRITE); + sf(ps,"Now saving %s...\n",name); pr(); +@@ -1520,8 +1520,8 @@ + } + + name2="dummy.traits"; +- make_filename(name, FORCE_EXTENSION, TRAIT_EXT); +- make_filename(name3, FORCE_EXTENSION, TRAIT_OLD); ++ make_filename(name, FORCE_EXTENSION, WRS(TRAIT_EXT)); ++ make_filename(name3, FORCE_EXTENSION, WRS(TRAIT_OLD)); + run { + fp = open_file(name2, WRITE); + sf(ps,"Now saving %s...\n",name); pr(); +@@ -1560,7 +1560,7 @@ + save_wiggle(fp,i); + } + +- fprint(fp,"#Compares\n"); ++ fprint(fp,WRS("#Compares\n")); + + fprintf(fp,"%d %d\n",num_compares,first_compare); + for(i = 0; i < num_compares; i++) { +@@ -1587,7 +1587,7 @@ + + run { + strcpy(name,raw.file); +- make_filename(name,FORCE_EXTENSION,QTL_EXT); ++ make_filename(name,FORCE_EXTENSION,WRS(QTL_EXT)); + fp= open_file(name,READ); + + if(fscanf(fp,"%d\n",&filenum) != 1) send(IOERROR); /* KLUDGE */ diff --git a/biology/mapm3/files/patch-quant-qraw.c b/biology/mapm3/files/patch-quant-qraw.c new file mode 100644 index 000000000000..5185a1c8c018 --- /dev/null +++ b/biology/mapm3/files/patch-quant-qraw.c @@ -0,0 +1,53 @@ +--- quant/qraw.c.orig 2008-04-04 20:05:29.000000000 +0000 ++++ quant/qraw.c 2008-03-27 21:30:39.000000000 +0000 +@@ -124,7 +124,7 @@ + + void getdataln(fp) /* get next nonblank/noncomment data file line */ + FILE *fp; +-{ do { fgetln(fp); BADDATA_line_num++; } while(nullstr(ln) || ln[0]=='#'); ++{ do { fgetln_(fp); BADDATA_line_num++; } while(nullstr(ln) || ln[0]=='#'); + BADDATA_ln= ln; } + real read_map_distance(); + void read_map_locus(); +@@ -426,13 +426,13 @@ + + for(j=0;j<raw.n_indivs;j++) { + if(j % 5 == 0 && j != 0) +- fprint(fp,"\n "); ++ fprint(fp,WRS("\n ")); + sf(ps,"%12.3lf ", raw.trait[j][i]);fpr(fp); + } + fnl(fp); + } + +- fprint(fp,"#QTL only variables:\n"); ++ fprint(fp,WRS("#QTL only variables:\n")); + sf(ps,"*Print mapm loci: %d\n", print_mapm_loci);fpr(fp); + sf(ps,"*Like tolerance: %lf\n",like_tolerance);fpr(fp); + sf(ps,"*Brute force: %d\n",brute_force);fpr(fp); +@@ -452,21 +452,21 @@ + sf(ps, "chr%d %d\n", i+1, raw.chrom_n_loci[i]); fpr(fp); + for(j=0;j<raw.chrom_n_loci[i];j++) { + if(j % 18 == 0 && j != 0) +- fprint(fp,"\n"); ++ fprint(fp,WRS("\n")); + sf(ps, "%d ",order[loci_tot]);fpr(fp); + loci_tot++; + } + fnl(fp); + for(j=0;j<raw.chrom_n_loci[i]-1;j++) { + if(j % 12 == 0 && j != 0) +- fprint(fp,"\n"); ++ fprint(fp,WRS("\n")); + sf(ps, "%.4lf ",map_space[map_tot]);fpr(fp); + map_tot++; + } + fnl(fp); + map_tot++; +- fprint(fp,"0\n"); +- fprint(fp,"0\n"); ++ fprint(fp,WRS("0\n")); ++ fprint(fp,WRS("0\n")); + } + sf(ps,"*Number of contexts: %d\n",num_contexts); + fpr(fp); diff --git a/biology/mapm3/files/patch-sun-xmapmaker b/biology/mapm3/files/patch-sun-xmapmaker new file mode 100644 index 000000000000..03b5254505cf --- /dev/null +++ b/biology/mapm3/files/patch-sun-xmapmaker @@ -0,0 +1,9 @@ +--- sun/xmapmaker.orig 2008-04-04 20:05:29.000000000 +0000 ++++ sun/xmapmaker 2008-04-04 19:59:32.000000000 +0000 +@@ -10,5 +10,5 @@ + else if (-e /usr/openwin/demo/xterm) then + exec /usr/openwin/demo/xterm $xoptions $fontsize -e $program $* + else +- exec xterm $options $fontsize -e $program ++ exec xterm $xoptions $fontsize -e $program + endif diff --git a/biology/mapm3/files/patch-sun-xqtl b/biology/mapm3/files/patch-sun-xqtl new file mode 100644 index 000000000000..963adade779f --- /dev/null +++ b/biology/mapm3/files/patch-sun-xqtl @@ -0,0 +1,9 @@ +--- sun/xqtl.orig 2008-04-04 20:05:29.000000000 +0000 ++++ sun/xqtl 2008-04-04 19:59:41.000000000 +0000 +@@ -10,5 +10,5 @@ + else if (-e /usr/openwin/demo/xterm) then + exec /usr/openwin/demo/xterm $xoptions $fontsize -e $program $* + else +- exec xterm $options $fontsize -e $program ++ exec xterm $xoptions $fontsize -e $program + endif diff --git a/biology/mapm3/pkg-descr b/biology/mapm3/pkg-descr new file mode 100644 index 000000000000..047ad9a17f87 --- /dev/null +++ b/biology/mapm3/pkg-descr @@ -0,0 +1,13 @@ +MAPMAKER/EXP is a linkage analysis package designed to help construct primary +linkage maps of markers segregating in experimental crosses. MAPMAKER/EXP +performs full multipoint linkage analysis (simultaneous estimation of all +recombination fractions from the primary data) for dominant, recessive, and co- +dominant (e.g. RFLP-like) markers. MAPMAKER/EXP is an experimental-cross-only +successor to the original MAPMAKER program. + +MAPMAKER/QTL is a companion program to MAPMAKER/EXP which allows one to map +genes controlling polygenic quantitative traits in F2 intercrosses and BC1 +backcrosses relative to a genetic linkage map. More information on MAPMAKER/QTL +can be found in the technical report (included with MAPMAKER/QTL). + +WWW: http://www.broad.mit.edu/ftp/distribution/software/mapmaker3/ diff --git a/biology/mapm3/pkg-plist b/biology/mapm3/pkg-plist new file mode 100644 index 000000000000..e5821ac6aeaa --- /dev/null +++ b/biology/mapm3/pkg-plist @@ -0,0 +1,6 @@ +bin/mapmaker +bin/mapmaker.help +bin/qtl +bin/qtl.help +bin/xmapmaker +bin/xqtl |