1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-23 04:23:08 +00:00

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>
This commit is contained in:
Rong-En Fan 2008-04-06 04:49:05 +00:00
parent 745985ef4c
commit 7e14529975
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=210625
28 changed files with 1101 additions and 0 deletions

View File

@ -43,6 +43,7 @@
SUBDIR += linux-foldingathome
SUBDIR += lsysexp
SUBDIR += mafft
SUBDIR += mapm3
SUBDIR += migrate
SUBDIR += molden
SUBDIR += mopac

26
biology/mapm3/Makefile Normal file
View File

@ -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>

3
biology/mapm3/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (mapm3-source.tar.Z) = 8aa7a061d32a49c8704c1a5c4b31aa2d
SHA256 (mapm3-source.tar.Z) = 107c8d0e7e89e2fe43fe17233d38c22161def851c8094435f3440a39c0cdca4c
SIZE (mapm3-source.tar.Z) = 1321227

View File

@ -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

View File

@ -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; }

View File

@ -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;

View File

@ -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 ? "*":""));

View File

@ -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);

View File

@ -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")) {

View File

@ -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

View File

@ -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++) {

View File

@ -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();

View File

@ -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); }
}

View File

@ -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() */

View File

@ -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 *****************/

View File

@ -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;
}

View File

@ -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();

View File

@ -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"

View File

@ -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"));
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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 */
}

View File

@ -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 */

View File

@ -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);

View File

@ -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

View File

@ -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

13
biology/mapm3/pkg-descr Normal file
View File

@ -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/

6
biology/mapm3/pkg-plist Normal file
View File

@ -0,0 +1,6 @@
bin/mapmaker
bin/mapmaker.help
bin/qtl
bin/qtl.help
bin/xmapmaker
bin/xqtl