SIB-PAIR: List of subroutines and functions

Sib-pair is largely written in standard Fortran 95 (as usual, there are a few system specific routines for file handling, time and date etc).

The Sib-pair source code is distributed as a single file, with C-preprocesser macros to deal with platform specific code. The "source lines" in the tables below are the lines within that single file.

The listings below are automatically generated (by an awk script), so check the source for additional informative comments that may have been skipped.

Listing is first by position in the source code file, then alphabetically. The organization of the source is modules, main, I/O, statistical library routines, association and linkage.

fonttype {japi}

Name of routine: fonttype
Source lines: 344 - 365
Type function
Call fonttype(s)
Modulejapi
Notes

aligntype {japi}

Name of routine: aligntype
Source lines: 367 - 390
Type function
Call aligntype(s)
Modulejapi
Notes

random {rngs}

Name of routine: random
Source lines: 418 - 428
Type function
Call random()
Modulerngs
Notes
  
 Algorithm AS 183 Appl Stat 1982; 31:188
 Returns a pseudo-random number from U(0,1)
  
 ix,iy,iz should be "randomly" initialised to 1-30000
 eg via time
  

uniqnam {rngs}

Name of routine: uniqnam
Source lines: 443 - 451
Type subroutine
Call uniqnam(nchar, str)
Modulerngs
Notes
 Random character string

rantri {rngs}

Name of routine: rantri
Source lines: 455 - 458
Type function
Call rantri()
Modulerngs
Notes
  
 Triangular random number generator
  

randn {rngs}

Name of routine: randn
Source lines: 467 - 489
Type function
Call randn()
Modulerngs
Notes
  
  The function RANDN() returns a normally distributed pseudo-random
  number with zero mean and unit variance.  Calls are made to a
  function subprogram RANDOM() which returns independent random
  numbers uniform in the interval (0,1).
  
  The algorithm uses the ratio of uniforms method of A.J. Kinderman
  and J.F. Monahan augmented with quadratic bounding curves.

permut {rngs}

Name of routine: permut
Source lines: 493 - 506
Type subroutine
Call permut(n, ia)
Modulerngs
Notes
  
 Permute the contents of an integer array
  

handler {interrupt}

Name of routine: handler
Source lines: 517 - 523
Type subroutine
Call handler()
Moduleinterrupt
Notes
 keyboard interrupt handler (exits after 6 interrupts, usually ctrl-C)

fgz_open {f95zlib}

Name of routine: fgz_open
Source lines: 659 - 687
Type subroutine
Call fgz_open(path, mode, fd, ios)
Modulef95zlib
Notes
 Wrapper for gzopen
   also reinitializes gzread's buffer

fgz_rewind {f95zlib}

Name of routine: fgz_rewind
Source lines: 691 - 700
Type subroutine
Call fgz_rewind(fd, ios)
Modulef95zlib
Notes
 Wrapper for gzrewind

fgz_read {f95zlib}

Name of routine: fgz_read
Source lines: 705 - 788
Type subroutine
Call fgz_read(fd, lin, advance, ios)
Modulef95zlib
Notes
 Wrapper for gzread
   read one line of text from buffer

fgz_write {f95zlib}

Name of routine: fgz_write
Source lines: 792 - 833
Type subroutine
Call fgz_write(fd, lin, advance, ios)
Modulef95zlib
Notes
 write one line of text to a gzipped textfile

fgz_close {f95zlib}

Name of routine: fgz_close
Source lines: 837 - 845
Type subroutine
Call fgz_close(fd, ios)
Modulef95zlib
Notes
 Wrapper for gzclose

pipe_open {f95pipes}

Name of routine: pipe_open
Source lines: 893 - 904
Type subroutine
Call pipe_open(command, fd, ios)
Modulef95pipes
Notes
 wrapper for popen
   fd%stat gives mode

pipe_rewind {f95pipes}

Name of routine: pipe_rewind
Source lines: 907 - 913
Type subroutine
Call pipe_rewind(fd, ios)
Modulef95pipes
Notes
 rewind pipe

pipe_read {f95pipes}

Name of routine: pipe_read
Source lines: 916 - 940
Type subroutine
Call pipe_read(fd, lin, advance, ios)
Modulef95pipes
Notes
 wrapper for fgets

pipe_write {f95pipes}

Name of routine: pipe_write
Source lines: 943 - 963
Type subroutine
Call pipe_write(fd, lin, advance, ios)
Modulef95pipes
Notes
 wrapper for fputs

pipe_close {f95pipes}

Name of routine: pipe_close
Source lines: 966 - 974
Type subroutine
Call pipe_close(fd, ios)
Modulef95pipes
Notes
 wrapper for pclose

newlun {fileio}

Name of routine: newlun
Source lines: 995 - 1009
Type subroutine
Call newlun(strm)
Modulefileio
Notes
 Find a free Fortran style unit

isgzipped {fileio}

Name of routine: isgzipped
Source lines: 1013 - 1035
Type function
Call isgzipped(filnam)
Modulefileio
Notes
 Test if gzipped file, reading magic number 31,139

open_port {fileio}

Name of routine: open_port
Source lines: 1039 - 1105
Type subroutine
Call open_port(filnam, port, mode, ios)
Modulefileio
Notes
 Open a (plain or gzipped) file or pipe for reading or writing

rewind_port {fileio}

Name of routine: rewind_port
Source lines: 1109 - 1125
Type subroutine
Call rewind_port(port, ios)
Modulefileio
Notes
 Reopen a file for reading or writing

readline {fileio}

Name of routine: readline
Source lines: 1129 - 1151
Type subroutine
Call readline(port, lin, advance, ios)
Modulefileio
Notes
 Read one record from file

writeline {fileio}

Name of routine: writeline
Source lines: 1155 - 1177
Type subroutine
Call writeline(port, lin, advance, ios)
Modulefileio
Notes
 Write one record to file

close_port {fileio}

Name of routine: close_port
Source lines: 1182 - 1205
Type subroutine
Call close_port(port, ios)
Modulefileio
Notes
 Close file for reading -  
   if gzipped but ZLIB not available, then delete temporary file

sow {scanner}

Name of routine: sow
Source lines: 1215 - 1226
Type function
Call sow(string)
Modulescanner
Notes
 skip leading whitespace

nextword {scanner}

Name of routine: nextword
Source lines: 1239 - 1324
Type subroutine
Call nextword(pos, s, eos, reserved, nword, word, stat, typ)
Modulescanner
Notes
 Next token in buffer

 Need to know which word if reading pedigree or case-control data
 as slashes separate alleles in data but are allowed in ID strings

 typ  action
 1    whitespace separated
 2    whitespace separated or reserved character (id by opchar())
 3    whitespace or slash separated (so genotypes can be written a/b) ped data
 4    whitespace or slash separated (so genotypes can be written a/b) case data

args {scanner}

Name of routine: args
Source lines: 1328 - 1358
Type subroutine
Call args(s, narg, arg, typ)
Modulescanner
Notes
 extracts narg arguments from input string s

getword {scanner}

Name of routine: getword
Source lines: 1362 - 1386
Type subroutine
Call getword(s, which, word)
Modulescanner
Notes
 extracts the nth whitespace-separated argument from input string s

wordpos {scanner}

Name of routine: wordpos
Source lines: 1390 - 1413
Type function
Call wordpos(s, which)
Modulescanner
Notes
 Find end of nth whitespace-separated argument in input string s

countargs {scanner}

Name of routine: countargs
Source lines: 1417 - 1437
Type function
Call countargs(s, typ)
Modulescanner
Notes
 return count of  whitespace-separated argument from input string s

getlabel {scanner}

Name of routine: getlabel
Source lines: 1441 - 1471
Type subroutine
Call getlabel(val, s, label)
Modulescanner
Notes
 extracts the matching value for a list of value=label pairs in a string

opchar {scanner}

Name of routine: opchar
Source lines: 1475 - 1485
Type function
Call opchar(ch)
Modulescanner
Notes
 is a reserved character for primitives?  "()*+-/<=>^:"

opsimple {scanner}

Name of routine: opsimple
Source lines: 1489 - 1497
Type function
Call opsimple(ch)
Modulescanner
Notes
 is a reserved character for name = value pair list?  "=:,;"

setup_hash {idhash_class}

Name of routine: setup_hash
Source lines: 1518 - 1559
Type subroutine
Call setup_hash(keytyp, nrec, hashtab, load)
Moduleidhash_class
Notes
 Allocate an open addressed hash table
   number of buckets is prime
   probe using exponential hash following Muehlbacher 2004 JUCS 10: 1239-1249

cleanup_hash {idhash_class}

Name of routine: cleanup_hash
Source lines: 1563 - 1572
Type subroutine
Call cleanup_hash(hashtab)
Moduleidhash_class
Notes
 release memory held by a hash table

fill_hash {idhash_class}

Name of routine: fill_hash
Source lines: 1576 - 1593
Type subroutine
Call fill_hash(hashtab, string_array)
Moduleidhash_class
Notes
 populate hash table

find_hashtab {idhash_class}

Name of routine: find_hashtab
Source lines: 1597 - 1616
Type subroutine
Call find_hashtab(str, string_array, hashtab, iaddress)
Moduleidhash_class
Notes
 Search hash table

string_hash {idhash_class}

Name of routine: string_hash
Source lines: 1620 - 1631
Type function
Call string_hash(str, ibound)
Moduleidhash_class
Notes
 String hash function (that used by SRFI-64)

make_lochash {lochash_class}

Name of routine: make_lochash
Source lines: 1639 - 1658
Type subroutine
Call make_lochash(nloci, loc, lochash)
Modulelochash_class
Notes
 Locus name hash table

insert_lochash {lochash_class}

Name of routine: insert_lochash
Source lines: 1662 - 1681
Type subroutine
Call insert_lochash(str, nloci, loc, lochash)
Modulelochash_class
Notes
 append most recent locus to hash table

show_lochash {lochash_class}

Name of routine: show_lochash
Source lines: 1683 - 1692
Type subroutine
Call show_lochash(nloci, loc, lochash)
Modulelochash_class
Notes
 Locus name hash table

show_one_iarray {showcomponent}

Name of routine: show_one_iarray
Source lines: 1699 - 1711
Type subroutine
Call show_one_iarray(nam, sep, nval, isall, array)
Moduleshowcomponent
Notes
 Utilities to print arrays

show_one_carray {showcomponent}

Name of routine: show_one_carray
Source lines: 1713 - 1725
Type subroutine
Call show_one_carray(nam, sep, nval, isall, array)
Moduleshowcomponent
Notes
 Utilities to print arrays

show_one_farray {showcomponent}

Name of routine: show_one_farray
Source lines: 1727 - 1739
Type subroutine
Call show_one_farray(nam, sep, nval, isall, array)
Moduleshowcomponent
Notes
 Utilities to print arrays

loccode {locus_types}

Name of routine: loccode
Source lines: 1773 - 1798
Type function
Call loccode(ch)
Modulelocus_types
Notes
 Locus types bitpatterns
 loctyp Compression_scheme Deleted Marker: Autosomal X-marker Haploid Y-chrom / Affection Quantitative
        CC D T  
 1      00 0 0 001 Autosomal marker
 2      00 0 0 010 X-chromosome marker
 4      00 0 0 100 Haploid unspecified
 5      00 0 0 101 Mitochondrial marker
 6      00 0 0 110 Y-Chromosome marker
 8      00 0 1 000 Trait unspecified
 9      00 0 1 001 Quantitative trait
 10     00 0 1 010 Binary trait
 11     00 0 1 011 Categorical trait

same_loctyp {locus_types}

Name of routine: same_loctyp
Source lines: 1802 - 1815
Type function
Call same_loctyp(loctyp, reftyp)
Modulelocus_types
Notes
 same locus type or same class, ignoring compression type but not where dropped

isactive {locus_types}

Name of routine: isactive
Source lines: 1817 - 1821
Type function
Call isactive(loctyp)
Modulelocus_types
Notes
 is an active variable

istrait {locus_types}

Name of routine: istrait
Source lines: 1823 - 1827
Type function
Call istrait(loctyp)
Modulelocus_types
Notes
 trait - active

isqtrait {locus_types}

Name of routine: isqtrait
Source lines: 1829 - 1833
Type function
Call isqtrait(loctyp)
Modulelocus_types
Notes
 quantitative trait

iscattrait {locus_types}

Name of routine: iscattrait
Source lines: 1835 - 1839
Type function
Call iscattrait(loctyp)
Modulelocus_types
Notes
 categorical trait - active

ismarker {locus_types}

Name of routine: ismarker
Source lines: 1841 - 1845
Type function
Call ismarker(loctyp)
Modulelocus_types
Notes
 marker - inactive or active

gencode {locus_types}

Name of routine: gencode
Source lines: 1847 - 1851
Type function
Call gencode(loctyp)
Modulelocus_types
Notes
 genotype encoding 1=standard 2=sequence 3=compressed SNP

ishaploid {locus_types}

Name of routine: ishaploid
Source lines: 1853 - 1857
Type function
Call ishaploid(loctyp)
Modulelocus_types
Notes
 is a haploid locus

iscompressed {locus_types}

Name of routine: iscompressed
Source lines: 1859 - 1863
Type function
Call iscompressed(loctyp)
Modulelocus_types
Notes
 is genotype storage compact (gencode > 1)

isactdip {locus_types}

Name of routine: isactdip
Source lines: 1865 - 1869
Type function
Call isactdip(loctyp)
Modulelocus_types
Notes
 most association/linkage procedures are for active diploid codominant markers

setup_loci {locus_data}

Name of routine: setup_loci
Source lines: 1917 - 1933
Type subroutine
Call setup_loci(n)
Modulelocus_data
Notes
 Allocate storage for locus descriptions

cleanup_loci {locus_data}

Name of routine: cleanup_loci
Source lines: 1937 - 1942
Type subroutine
Call cleanup_loci()
Modulelocus_data
Notes
 Deallocate storage for locus descriptions

expand_loci {locus_data}

Name of routine: expand_loci
Source lines: 1946 - 1989
Type subroutine
Call expand_loci(nextra, plevel)
Modulelocus_data
Notes
 Expand arrays for locus descriptions

insloc {locus_data}

Name of routine: insloc
Source lines: 1994 - 2005
Type subroutine
Call insloc(pos)
Modulelocus_data
Notes
  
 insert a locus into the locus list
 other details of the slot are left blank
  

setupmer {locus_data}

Name of routine: setupmer
Source lines: 2009 - 2032
Type subroutine
Call setupmer(port)
Modulelocus_data
Notes
 Preallocate arrays for locus descriptions from MERLIN locus file

setup_plink {locus_data}

Name of routine: setup_plink
Source lines: 2036 - 2056
Type subroutine
Call setup_plink(port, nmark, newsiz)
Modulelocus_data
Notes
 Allocate arrays for locus descriptions from PLINK .map file

setup_stat {locus_data}

Name of routine: setup_stat
Source lines: 2060 - 2065
Type subroutine
Call setup_stat(comment)
Modulelocus_data
Notes
 initialize locstat (stores test statistic for each locus)

show_locus_allocation {locus_data}

Name of routine: show_locus_allocation
Source lines: 2069 - 2085
Type subroutine
Call show_locus_allocation()
Modulelocus_data
Notes
 Diagnostics for locus structure

newloctyp {locus_data}

Name of routine: newloctyp
Source lines: 2087 - 2100
Type subroutine
Call newloctyp()
Modulelocus_data
Notes
 Old to new locus types

matrix_create {matrix_class}

Name of routine: matrix_create
Source lines: 2137 - 2183
Type subroutine
Call matrix_create(nr, nc, a, astat, setbufwidth)
Modulematrix_class
Notes
 Create a matrix container

matrix_zero {matrix_class}

Name of routine: matrix_zero
Source lines: 2187 - 2206
Type subroutine
Call matrix_zero(a)
Modulematrix_class
Notes
 zero a matrix

matrix_copy {matrix_class}

Name of routine: matrix_copy
Source lines: 2210 - 2283
Type subroutine
Call matrix_copy(a, b, iflag, newrows, newcols, setbufwidth)
Modulematrix_class
Notes
 Copy a matrix container (a -> b)

matrix_destroy {matrix_class}

Name of routine: matrix_destroy
Source lines: 2287 - 2301
Type subroutine
Call matrix_destroy(a)
Modulematrix_class
Notes
  
 Destroy a matrix container

matrix_active {matrix_class}

Name of routine: matrix_active
Source lines: 2305 - 2309
Type function
Call matrix_active(a)
Modulematrix_class
Notes
 Test if matrix allocated/active

matrix_size {matrix_class}

Name of routine: matrix_size
Source lines: 2313 - 2321
Type function
Call matrix_size(a)
Modulematrix_class
Notes
  
 Size of matrix in container

matrix_nrows {matrix_class}

Name of routine: matrix_nrows
Source lines: 2325 - 2330
Type function
Call matrix_nrows(a)
Modulematrix_class
Notes
 Number of matrix rows accessor

matrix_ncols {matrix_class}

Name of routine: matrix_ncols
Source lines: 2334 - 2339
Type function
Call matrix_ncols(a)
Modulematrix_class
Notes
 Number of matrix cols accessor

matrix_type {matrix_class}

Name of routine: matrix_type
Source lines: 2343 - 2348
Type function
Call matrix_type(a)
Modulematrix_class
Notes
 Matrix storage type

matrix_write {matrix_class}

Name of routine: matrix_write
Source lines: 2352 - 2375
Type subroutine
Call matrix_write(a, stream, iflag)
Modulematrix_class
Notes
 Write a matrix

matrix_write_row {matrix_class}

Name of routine: matrix_write_row
Source lines: 2380 - 2399
Type subroutine
Call matrix_write_row(irow, a, stream)
Modulematrix_class
Notes
 Write one row of a matrix to an open stream, 
 needed by disjoin, nuclear etc

matrix_read {matrix_class}

Name of routine: matrix_read
Source lines: 2403 - 2422
Type subroutine
Call matrix_read(stream, a, iflag)
Modulematrix_class
Notes
 Read a matrix

matrix_read_unformatted {matrix_class}

Name of routine: matrix_read_unformatted
Source lines: 2426 - 2444
Type subroutine
Call matrix_read_unformatted(stream, nr, nc, a, iflag)
Modulematrix_class
Notes
 Fill a matrix container from a unformatted stream

matrix_read_contents {matrix_class}

Name of routine: matrix_read_contents
Source lines: 2448 - 2505
Type subroutine
Call matrix_read_contents(stream, a, iflag)
Modulematrix_class
Notes
 Read in actual contents of matrix

matrix_read_row {matrix_class}

Name of routine: matrix_read_row
Source lines: 2510 - 2536
Type subroutine
Call matrix_read_row(stream, irow, a)
Modulematrix_class
Notes
 Read one row of a matrix from an open stream, 
 was written row major by matrix_write_row

matrix_set_row {matrix_class}

Name of routine: matrix_set_row
Source lines: 2540 - 2587
Type subroutine
Call matrix_set_row(ivals, irow, a, iflag)
Modulematrix_class
Notes
 Set row

matrix_get_row {matrix_class}

Name of routine: matrix_get_row
Source lines: 2591 - 2624
Type subroutine
Call matrix_get_row(a, irow, ivals, iflag)
Modulematrix_class
Notes
 Get row

matrix_copy_row {matrix_class}

Name of routine: matrix_copy_row
Source lines: 2628 - 2657
Type subroutine
Call matrix_copy_row(rowa, a, rowb, b, iflag)
Modulematrix_class
Notes
 Copy row 

matrix_set_col {matrix_class}

Name of routine: matrix_set_col
Source lines: 2661 - 2708
Type subroutine
Call matrix_set_col(ivals, icol, a, iflag)
Modulematrix_class
Notes
 Set col

matrix_get_col {matrix_class}

Name of routine: matrix_get_col
Source lines: 2712 - 2746
Type subroutine
Call matrix_get_col(a, icol, ivals, iflag)
Modulematrix_class
Notes
 Get col: updates column buffer

matrix_set_el {matrix_class}

Name of routine: matrix_set_el
Source lines: 2750 - 2772
Type subroutine
Call matrix_set_el(ival, irow, icol, a, iflag)
Modulematrix_class
Notes
 Set element: updates column buffer as well if current

matrix_get_el {matrix_class}

Name of routine: matrix_get_el
Source lines: 2776 - 2810
Type subroutine
Call matrix_get_el(irow, icol, a, ival, iflag)
Modulematrix_class
Notes
 Get element: updates column buffer

matrix_print {matrix_class}

Name of routine: matrix_print
Source lines: 2814 - 2842
Type subroutine
Call matrix_print(a)
Modulematrix_class
Notes
 Print matrix

setup_peds {ped_class}

Name of routine: setup_peds
Source lines: 2917 - 2987
Type subroutine
Call setup_peds(nped, nobs, numloc, numcol, dataset, astat, plevel)
Moduleped_class
Notes
 allocate pedigree data

copy_peds {ped_class}

Name of routine: copy_peds
Source lines: 2991 - 3030
Type subroutine
Call copy_peds(set1, set2)
Moduleped_class
Notes
 copy pedigree data

cleanup_peds {ped_class}

Name of routine: cleanup_peds
Source lines: 3034 - 3065
Type subroutine
Call cleanup_peds(dataset)
Moduleped_class
Notes
 deallocate pedigree structure arrays

expand_pheno {ped_class}

Name of routine: expand_pheno
Source lines: 3069 - 3090
Type subroutine
Call expand_pheno(newcol, dataset, astat)
Moduleped_class
Notes
 expand phenotype storage

expand_geno {ped_class}

Name of routine: expand_geno
Source lines: 3094 - 3140
Type subroutine
Call expand_geno(newcol, dataset, astat)
Moduleped_class
Notes
 expand genotype storage

expand_sgeno {ped_class}

Name of routine: expand_sgeno
Source lines: 3144 - 3188
Type subroutine
Call expand_sgeno(newcol, dataset, astat)
Moduleped_class
Notes
 expand SNP storage

get_geno {ped_class}

Name of routine: get_geno
Source lines: 3192 - 3237
Type subroutine
Call get_geno(idx, gcol1, gcol2, dataset, g1, g2)
Moduleped_class
Notes
 Extract a genotype either stored as alleles or SNP genotypes

encode_geno1 {ped_class}

Name of routine: encode_geno1
Source lines: 3242 - 3259
Type subroutine
Call encode_geno1(g1, g2, ig1, ig2)
Moduleped_class
Notes
 Transfer genotype to internal coding
 if snptyp = 1, then one allele per byte

encode_geno2 {ped_class}

Name of routine: encode_geno2
Source lines: 3264 - 3292
Type subroutine
Call encode_geno2(g1, g2, ig, whichpos)
Moduleped_class
Notes
 Transfer genotype to internal coding
 if snptyp = 2, then one genotype per byte

set_geno {ped_class}

Name of routine: set_geno
Source lines: 3296 - 3319
Type subroutine
Call set_geno(idx, gcol1, gcol2, dataset, g1, g2)
Moduleped_class
Notes
 Set a genotype

observed {ped_class}

Name of routine: observed
Source lines: 3323 - 3343
Type function
Call observed(idx, gcol, dataset)
Moduleped_class
Notes
 Test if genotype is observed

missing {ped_class}

Name of routine: missing
Source lines: 3345 - 3370
Type function
Call missing(idx, gcol, dataset)
Moduleped_class
Notes

show_ped_allocation {ped_class}

Name of routine: show_ped_allocation
Source lines: 3372 - 3453
Type subroutine
Call show_ped_allocation(dataset)
Moduleped_class
Notes

show_snp {ped_class}

Name of routine: show_snp
Source lines: 3455 - 3475
Type subroutine
Call show_snp(idx, gpos, dataset)
Moduleped_class
Notes

setup_freq {alleles_class}

Name of routine: setup_freq
Source lines: 3515 - 3522
Type subroutine
Call setup_freq(nall, allele_buffer)
Modulealleles_class
Notes
 initialize allele_data

copyfreq {alleles_class}

Name of routine: copyfreq
Source lines: 3526 - 3547
Type subroutine
Call copyfreq(allele_buffer, allele_buffer2)
Modulealleles_class
Notes
 Copy allele frequency data from one structure to another

expand_alleles {alleles_class}

Name of routine: expand_alleles
Source lines: 3551 - 3574
Type subroutine
Call expand_alleles(allele_buffer, nextra)
Modulealleles_class
Notes
 expand size of an allele frequency structure

cleanup_alleles {alleles_class}

Name of routine: cleanup_alleles
Source lines: 3578 - 3596
Type subroutine
Call cleanup_alleles(allele_buffer)
Modulealleles_class
Notes
 release memory held by an allele frequency structure

genot {alleles_class}

Name of routine: genot
Source lines: 3600 - 3614
Type subroutine
Call genot(allele_buffer, gfrq)
Modulealleles_class
Notes
  
 produce genotype frequencies for Metropolis algorithm
  

calc_gtp_freqs {alleles_class}

Name of routine: calc_gtp_freqs
Source lines: 3617 - 3635
Type subroutine
Call calc_gtp_freqs(allele_buffer)
Modulealleles_class
Notes
 or for sequential imputation

dohash_ped_id {idhash_funs}

Name of routine: dohash_ped_id
Source lines: 3656 - 3664
Type function
Call dohash_ped_id(idx, dataset, maxkey)
Moduleidhash_funs
Notes
 pedigree + individual ID

dohash_id {idhash_funs}

Name of routine: dohash_id
Source lines: 3666 - 3673
Type function
Call dohash_id(idx, dataset, maxkey)
Moduleidhash_funs
Notes
 individual ID 

domatch_ped_id {idhash_funs}

Name of routine: domatch_ped_id
Source lines: 3675 - 3683
Type function
Call domatch_ped_id(idx, iaddress, dataset)
Moduleidhash_funs
Notes
 match pedigree + individual ID

domatch_id {idhash_funs}

Name of routine: domatch_id
Source lines: 3685 - 3691
Type function
Call domatch_id(idx, iaddress, dataset)
Moduleidhash_funs
Notes
 match individual id

domatch_string_ped_id {idhash_funs}

Name of routine: domatch_string_ped_id
Source lines: 3693 - 3702
Type function
Call domatch_string_ped_id(pedstr, indstr, iaddress, dataset)
Moduleidhash_funs
Notes
 match search string to pedigree + individual ID

domatch_string_id {idhash_funs}

Name of routine: domatch_string_id
Source lines: 3704 - 3711
Type function
Call domatch_string_id(idstr, iaddress, dataset)
Moduleidhash_funs
Notes
 match search string to individual ID

betacf {statfuns}

Name of routine: betacf
Source lines: 3727 - 3762
Type function
Call betacf(a,b,x)
Modulestatfuns
Notes
  
 betacf from Numerical Recipes, 1986
  

ibeta {statfuns}

Name of routine: ibeta
Source lines: 3770 - 3837
Type function
Call ibeta(x, p, q)
Modulestatfuns
Notes
 This function computes the beta cumulative
 distribution function at the point x.  p and q are the
 exponents of x and 1-x in the beta density.  see KL Majumder
 GP Bhattacharjee (1973). Algorithm AS 63 The incomplete beta
 integral. Appl Stat 22: 409-411.

fp {statfuns}

Name of routine: fp
Source lines: 3841 - 3866
Type function
Call fp(x, n1, n2)
Modulestatfuns
Notes
  
 F-ratio P-values
  

tp {statfuns}

Name of routine: tp
Source lines: 3870 - 3877
Type function
Call tp(x, df)
Modulestatfuns
Notes
 Wrap fp to give t-distribution P-values
 

chip {statfuns}

Name of routine: chip
Source lines: 3881 - 3907
Type function
Call chip(chisq, df)
Modulestatfuns
Notes
  
 Evaluate central chi-square in FORTRAN
  

gammad {statfuns}

Name of routine: gammad
Source lines: 3913 - 4021
Type function
Call gammad(x, p, ifault)
Modulestatfuns
Notes
  
 Algorithm AS239  Appl. Statist. (1988) Vol. 37, No. 3
  
 Computation of the Incomplete Gamma Integral
  

chi2nc {statfuns}

Name of routine: chi2nc
Source lines: 4126 - 4189
Type function
Call chi2nc(x, f, ncp, ifault)
Modulestatfuns
Notes
 ALGORITHM AS 275 APPL.STATIST. (1992), VOL.41, NO.2

 Computes the noncentral chi-square distribution function
 with positive real degrees of freedom f and nonnegative
 noncentrality parameter theta

mvbvu {statfuns}

Name of routine: mvbvu
Source lines: 4262 - 4359
Type function
Call mvbvu(sh, sk, r)
Modulestatfuns
Notes
     A function for computing bivariate normal probabilities;
       developed using 
         Drezner, Z. and Wesolowsky, G. O. (1989),
         On the Computation of the Bivariate Normal Integral,
         J. Stat. Comput. Simul.. 35 pp. 101-107.
       with extensive modications for double precisions by    
         Alan Genz and Yihong Ge
         Department of Mathematics
         Washington State University
         Pullman, WA 99164-3113
         Email : alangenz@wsu.edu

 BVN - calculate the probability that X is larger than SH and Y is
       larger than SK.

 Parameters

   SH  REAL, integration limit
   SK  REAL, integration limit
   R   REAL, correlation coefficient
   LG  INTEGER, number of Gauss Rule Points and Weights

chisqd {statfuns}

Name of routine: chisqd
Source lines: 4453 - 4514
Type function
Call chisqd(p, n)
Modulestatfuns
Notes
 Richard Goldstein, Algorithm 451: Chi-Square Quantiles,
 Communications of the ACM, August 1973, Volume 16, Number 8, pages 483-484. 
 Transcribed to machine readable form by John Burkhardt

fact {statfuns}

Name of routine: fact
Source lines: 4567 - 4584
Type function
Call fact(n)
Modulestatfuns
Notes
  
 Factorial
  

lfact {statfuns}

Name of routine: lfact
Source lines: 4588 - 4593
Type function
Call lfact(n)
Modulestatfuns
Notes
  
 Log factorial
  

dpois {statfuns}

Name of routine: dpois
Source lines: 4612 - 4624
Type function
Call dpois(x, mu)
Modulestatfuns
Notes
  
 Log poisson density
  

dweib {statfuns}

Name of routine: dweib
Source lines: 4628 - 4645
Type function
Call dweib(x, mu, shap, cens)
Modulestatfuns
Notes
  
 Log Weibull density (with censoring)
  

mvndst {mftfuns}

Name of routine: mvndst
Source lines: 4704 - 4741
Type subroutine
Call mvndst(n, lower, upper, infin, correl, maxpts, abseps, releps, error, value, inform )
Modulemftfuns
Notes
     A subroutine for computing multivariate normal probabilities.
     This subroutine uses an algorithm given in the paper
     "Numerical Computation of Multivariate Normal Probabilities", in
     J. of Computational and Graphical Stat., 1(1992), pp. 141-149, by
          Alan Genz
          Department of Mathematics
          Washington State University
          Pullman, WA 99164-3113
          Email : AlanGenz@wsu.edu
  Parameters
     N      INTEGER, the number of variables.
     LOWER  REAL, array of lower integration limits.
     UPPER  REAL, array of upper integration limits.
     INFIN  INTEGER, array of integration limits flags:
            if INFIN(I) < 0, Ith limits are (-infinity, infinity);
            if INFIN(I) = 0, Ith limits are (-infinity, UPPER(I)];
            if INFIN(I) = 1, Ith limits are [LOWER(I), infinity);
            if INFIN(I) = 2, Ith limits are [LOWER(I), UPPER(I)].
     CORREL REAL, array of correlation coefficients; the correlation
            coefficient in row I column J of the correlation matrix
            should be stored in CORREL( J + ((I-2)*(I-1))/2 ), for J < I.
            THe correlation matrix must be positive semidefinite.
     MAXPTS INTEGER, maximum number of function values allowed. This
            parameter can be used to limit the time. A sensible
            strategy is to start with MAXPTS = 1000*N, and then
            increase MAXPTS if ERROR is too large.
     ABSEPS REAL absolute error tolerance.
     RELEPS REAL relative error tolerance.
     ERROR  REAL estimated absolute error, with 99% confidence level.
     VALUE  REAL estimated value for the integral
     INFORM INTEGER, termination status parameter:
            if INFORM = 0, normal completion with ERROR < EPS;
            if INFORM = 1, completion with ERROR > EPS and MAXPTS
                           function vaules used; increase MAXPTS to
                           decrease ERROR;
            if INFORM = 2, N > 500 or N < 1.

mvnlms {mftfuns}

Name of routine: mvnlms
Source lines: 4834 - 4849
Type subroutine
Call mvnlms( a, b, infin, lower, upper )
Modulemftfuns
Notes
  

covsrt {mftfuns}

Name of routine: covsrt
Source lines: 4853 - 5021
Type subroutine
Call covsrt(n, lower, upper, correl, infin, y, infis, a, b, cov, infi)
Modulemftfuns
Notes
  
 Subroutine to sort integration limits and determine Cholesky factor.

dkswap {mftfuns}

Name of routine: dkswap
Source lines: 5023 - 5030
Type subroutine
Call dkswap( x, y )
Modulemftfuns
Notes
 Swap elements  

rcswp {mftfuns}

Name of routine: rcswp
Source lines: 5034 - 5066
Type subroutine
Call rcswp( p, q, a, b, infin, n, c )
Modulemftfuns
Notes
  
 Swaps rows and columns P and Q in situ, with P <= Q.

dkbvrc {mftfuns}

Name of routine: dkbvrc
Source lines: 5117 - 5325
Type subroutine
Call dkbvrc(ndim, minvls, maxvls, functn, abseps, releps, abserr, finest, inform )
Modulemftfuns
Notes
  ABSEPS  Required absolute accuracy.
  RELEPS  Required relative accuracy.
***** Output parameters
  MINVLS  Actual number of function evaluations used.
  ABSERR  Estimated absolute accuracy of FINEST.
  FINEST  Estimated value of integral.
  INFORM  INFORM = 0 for normal exit, when
                     ABSERR <= MAX(ABSEPS, RELEPS*ABS(FINEST))
                  and
                     INTVLS <= MAXCLS.
          INFORM = 1 If MAXVLS was too small to obtain the required
          accuracy. In this case a value FINEST is returned with
          estimated absolute accuracy ABSERR.

dksmrc {mftfuns}

Name of routine: dksmrc
Source lines: 5327 - 5361
Type subroutine
Call dksmrc( ndim, klim, sumkro, prime, vk, functn, x )
Modulemftfuns
Notes
  

chfind {string_utilities}

Name of routine: chfind
Source lines: 5641 - 5665
Type function
Call chfind(string, ch)
Modulestring_utilities
Notes
 
 find an unescaped character in a string
 

strfind {string_utilities}

Name of routine: strfind
Source lines: 5670 - 5748
Type function
Call strfind(regexp, targt, nocase)
Modulestring_utilities
Notes
 
 Compare string to a search string, allowing wildcards '*.', and case
 matching
 

escape {string_utilities}

Name of routine: escape
Source lines: 5752 - 5778
Type subroutine
Call escape(str, trget)
Modulestring_utilities
Notes
 Escape a target character, usually "

setup_mem {scheme_lang}

Name of routine: setup_mem
Source lines: 6001 - 6068
Type subroutine
Call setup_mem(siz)
Modulescheme_lang
Notes
 Memory management

cleanup_bank {scheme_lang}

Name of routine: cleanup_bank
Source lines: 6074 - 6088
Type subroutine
Call cleanup_bank(sta, fin)
Modulescheme_lang
Notes
 Clean up memory arrays

 Zero a block of cells, including deallocating strings 

cleanup_mem {scheme_lang}

Name of routine: cleanup_mem
Source lines: 6092 - 6095
Type subroutine
Call cleanup_mem()
Modulescheme_lang
Notes
 Free all memory

save_scheme_image {scheme_lang}

Name of routine: save_scheme_image
Source lines: 6098 - 6118
Type subroutine
Call save_scheme_image(strm, ios)
Modulescheme_lang
Notes
 Save memory image

read_scheme_image {scheme_lang}

Name of routine: read_scheme_image
Source lines: 6121 - 6152
Type subroutine
Call read_scheme_image(strm, ios)
Modulescheme_lang
Notes
 Read memory image

gc_mark {scheme_lang}

Name of routine: gc_mark
Source lines: 6158 - 6197
Type subroutine
Call gc_mark(a)
Modulescheme_lang
Notes
 Mark-sweep garbage collector

 Mark cells to be saved

gc {scheme_lang}

Name of routine: gc
Source lines: 6202 - 6237
Type subroutine
Call gc(a, b, plevel)
Modulescheme_lang
Notes
 Copy all registers to free memory
 Reset pointers from old addresses to new addresses

getcell {scheme_lang}

Name of routine: getcell
Source lines: 6241 - 6264
Type function
Call getcell(a, b)
Modulescheme_lang
Notes
 Get next free cell

set_type {scheme_lang}

Name of routine: set_type
Source lines: 6269 - 6273
Type subroutine
Call set_type(p, iflag)
Modulescheme_lang
Notes
 Cell type operations

 Setting values

set_ivalue {scheme_lang}

Name of routine: set_ivalue
Source lines: 6274 - 6279
Type subroutine
Call set_ivalue(p, ivalue)
Modulescheme_lang
Notes
 Cell type operations

 Setting values

set_value {scheme_lang}

Name of routine: set_value
Source lines: 6280 - 6285
Type subroutine
Call set_value(p, val)
Modulescheme_lang
Notes
 Cell type operations

 Setting values

set_string {scheme_lang}

Name of routine: set_string
Source lines: 6286 - 6299
Type subroutine
Call set_string(p, str)
Modulescheme_lang
Notes
 Cell type operations

 Setting values

set_substring {scheme_lang}

Name of routine: set_substring
Source lines: 6300 - 6310
Type subroutine
Call set_substring(p, sta, fin, str)
Modulescheme_lang
Notes
 Cell type operations

 Setting values

set_car {scheme_lang}

Name of routine: set_car
Source lines: 6312 - 6315
Type subroutine
Call set_car(p, icar)
Modulescheme_lang
Notes
 Miniscm

set_cdr {scheme_lang}

Name of routine: set_cdr
Source lines: 6316 - 6319
Type subroutine
Call set_cdr(p, icdr)
Modulescheme_lang
Notes
 Miniscm

set_caar {scheme_lang}

Name of routine: set_caar
Source lines: 6320 - 6323
Type subroutine
Call set_caar(p, icaar)
Modulescheme_lang
Notes
 Miniscm

set_cdar {scheme_lang}

Name of routine: set_cdar
Source lines: 6324 - 6327
Type subroutine
Call set_cdar(p, icdar)
Modulescheme_lang
Notes
 Miniscm

set_syntaxnum {scheme_lang}

Name of routine: set_syntaxnum
Source lines: 6328 - 6331
Type subroutine
Call set_syntaxnum(p, op)
Modulescheme_lang
Notes
 Miniscm

get_ivalue {scheme_lang}

Name of routine: get_ivalue
Source lines: 6335 - 6339
Type function
Call get_ivalue(p)
Modulescheme_lang
Notes
 Getting values

get_value {scheme_lang}

Name of routine: get_value
Source lines: 6341 - 6349
Type function
Call get_value(p)
Modulescheme_lang
Notes
 Miniscm

rvalue {scheme_lang}

Name of routine: rvalue
Source lines: 6351 - 6359
Type function
Call rvalue(p)
Modulescheme_lang
Notes
 Miniscm

get_string {scheme_lang}

Name of routine: get_string
Source lines: 6363 - 6373
Type function
Call get_string(p)
Modulescheme_lang
Notes
 Strings
 

append_string {scheme_lang}

Name of routine: append_string
Source lines: 6377 - 6400
Type subroutine
Call append_string(p, str)
Modulescheme_lang
Notes
 Append to existing string

get_substr {scheme_lang}

Name of routine: get_substr
Source lines: 6402 - 6415
Type function
Call get_substr(p, sta, fin)
Modulescheme_lang
Notes
 Substring

get_strlen {scheme_lang}

Name of routine: get_strlen
Source lines: 6417 - 6421
Type function
Call get_strlen(p)
Modulescheme_lang
Notes
 String length

get_listlen {scheme_lang}

Name of routine: get_listlen
Source lines: 6423 - 6435
Type function
Call get_listlen(p)
Modulescheme_lang
Notes
 Miniscm

get_var {scheme_lang}

Name of routine: get_var
Source lines: 6441 - 6527
Type subroutine
Call get_var(string, pos, fin, istat)
Modulescheme_lang
Notes
 allowing access to Scheme environment from Sib-pair
 accessible variables are atomic
 result inserted into passed string

list_var {scheme_lang}

Name of routine: list_var
Source lines: 6531 - 6578
Type subroutine
Call list_var(typ, ple)
Modulescheme_lang
Notes
 List Sib-pair accessible (atomic or pair) variables

isafun {scheme_lang}

Name of routine: isafun
Source lines: 6582 - 6611
Type function
Call isafun(nam)
Modulescheme_lang
Notes
 Test if a macro function exists

procnum {scheme_lang}

Name of routine: procnum
Source lines: 6613 - 6617
Type function
Call procnum(p)
Modulescheme_lang
Notes
 Miniscm

syntaxnum {scheme_lang}

Name of routine: syntaxnum
Source lines: 6618 - 6622
Type function
Call syntaxnum(p)
Modulescheme_lang
Notes
 Miniscm

typeof {scheme_lang}

Name of routine: typeof
Source lines: 6626 - 6630
Type function
Call typeof(p)
Modulescheme_lang
Notes
 Underlying primitives for Scheme

isstring {scheme_lang}

Name of routine: isstring
Source lines: 6631 - 6635
Type function
Call isstring(p)
Modulescheme_lang
Notes
 Underlying primitives for Scheme

isnumber {scheme_lang}

Name of routine: isnumber
Source lines: 6636 - 6640
Type function
Call isnumber(p)
Modulescheme_lang
Notes
 Underlying primitives for Scheme

ispair {scheme_lang}

Name of routine: ispair
Source lines: 6641 - 6645
Type function
Call ispair(p)
Modulescheme_lang
Notes
 Underlying primitives for Scheme

car {scheme_lang}

Name of routine: car
Source lines: 6649 - 6653
Type function
Call car(p)
Modulescheme_lang
Notes
 car, cdr etc

cdr {scheme_lang}

Name of routine: cdr
Source lines: 6654 - 6658
Type function
Call cdr(p)
Modulescheme_lang
Notes
 car, cdr etc

caar {scheme_lang}

Name of routine: caar
Source lines: 6660 - 6665
Type function
Call caar(p)
Modulescheme_lang
Notes
 Miniscm

cadr {scheme_lang}

Name of routine: cadr
Source lines: 6666 - 6671
Type function
Call cadr(p)
Modulescheme_lang
Notes
 Miniscm

cdar {scheme_lang}

Name of routine: cdar
Source lines: 6672 - 6677
Type function
Call cdar(p)
Modulescheme_lang
Notes
 Miniscm

cddr {scheme_lang}

Name of routine: cddr
Source lines: 6678 - 6683
Type function
Call cddr(p)
Modulescheme_lang
Notes
 Miniscm

cadar {scheme_lang}

Name of routine: cadar
Source lines: 6684 - 6690
Type function
Call cadar(p)
Modulescheme_lang
Notes
 Miniscm

caddr {scheme_lang}

Name of routine: caddr
Source lines: 6691 - 6697
Type function
Call caddr(p)
Modulescheme_lang
Notes
 Miniscm

cadaar {scheme_lang}

Name of routine: cadaar
Source lines: 6698 - 6705
Type function
Call cadaar(p)
Modulescheme_lang
Notes
 Miniscm

cadddr {scheme_lang}

Name of routine: cadddr
Source lines: 6706 - 6713
Type function
Call cadddr(p)
Modulescheme_lang
Notes
 Miniscm

cddddr {scheme_lang}

Name of routine: cddddr
Source lines: 6714 - 6721
Type function
Call cddddr(p)
Modulescheme_lang
Notes
 Miniscm

issymbol {scheme_lang}

Name of routine: issymbol
Source lines: 6723 - 6727
Type function
Call issymbol(p)
Modulescheme_lang
Notes
 Miniscm

issyntax {scheme_lang}

Name of routine: issyntax
Source lines: 6728 - 6732
Type function
Call issyntax(p)
Modulescheme_lang
Notes
 Miniscm

isproc {scheme_lang}

Name of routine: isproc
Source lines: 6733 - 6737
Type function
Call isproc(p)
Modulescheme_lang
Notes
 Miniscm

isclosure {scheme_lang}

Name of routine: isclosure
Source lines: 6738 - 6742
Type function
Call isclosure(p)
Modulescheme_lang
Notes
 Miniscm

ismacro {scheme_lang}

Name of routine: ismacro
Source lines: 6743 - 6747
Type function
Call ismacro(p)
Modulescheme_lang
Notes
 Miniscm

iscontinuation {scheme_lang}

Name of routine: iscontinuation
Source lines: 6748 - 6752
Type function
Call iscontinuation(p)
Modulescheme_lang
Notes
 Miniscm

ispromise {scheme_lang}

Name of routine: ispromise
Source lines: 6753 - 6757
Type function
Call ispromise(p)
Modulescheme_lang
Notes
 Miniscm

isport {scheme_lang}

Name of routine: isport
Source lines: 6758 - 6762
Type function
Call isport(p)
Modulescheme_lang
Notes
 Miniscm

istrue {scheme_lang}

Name of routine: istrue
Source lines: 6764 - 6768
Type function
Call istrue(p)
Modulescheme_lang
Notes
 true or false value functions

isfalse {scheme_lang}

Name of routine: isfalse
Source lines: 6769 - 6773
Type function
Call isfalse(p)
Modulescheme_lang
Notes
 true or false value functions

isinteger {scheme_lang}

Name of routine: isinteger
Source lines: 6777 - 6781
Type function
Call isinteger(p)
Modulescheme_lang
Notes
 tower of numbers 

isfloat {scheme_lang}

Name of routine: isfloat
Source lines: 6782 - 6786
Type function
Call isfloat(p)
Modulescheme_lang
Notes
 tower of numbers 

isatom {scheme_lang}

Name of routine: isatom
Source lines: 6790 - 6794
Type function
Call isatom(p)
Modulescheme_lang
Notes
 Garbage collection
 

setatom {scheme_lang}

Name of routine: setatom
Source lines: 6795 - 6798
Type subroutine
Call setatom(p)
Modulescheme_lang
Notes
 Garbage collection
 

clratom {scheme_lang}

Name of routine: clratom
Source lines: 6799 - 6802
Type subroutine
Call clratom(p)
Modulescheme_lang
Notes
 Garbage collection
 

ismark {scheme_lang}

Name of routine: ismark
Source lines: 6803 - 6807
Type function
Call ismark(p)
Modulescheme_lang
Notes
 Garbage collection
 

setmark {scheme_lang}

Name of routine: setmark
Source lines: 6808 - 6811
Type subroutine
Call setmark(p)
Modulescheme_lang
Notes
 Garbage collection
 

clrmark {scheme_lang}

Name of routine: clrmark
Source lines: 6812 - 6815
Type subroutine
Call clrmark(p)
Modulescheme_lang
Notes
 Garbage collection
 

cons {scheme_lang}

Name of routine: cons
Source lines: 6819 - 6826
Type function
Call cons(reg1, reg2)
Modulescheme_lang
Notes
 Cons

ceqstr {scheme_lang}

Name of routine: ceqstr
Source lines: 6830 - 6847
Type function
Call ceqstr(cstr, reg)
Modulescheme_lang
Notes
 Contents of a Lisp string cell equal to a Fortran string

streq {scheme_lang}

Name of routine: streq
Source lines: 6851 - 6867
Type function
Call streq(a, b)
Modulescheme_lang
Notes
 Contents of a Lisp string equal to a Lisp string 

mk_number {scheme_lang}

Name of routine: mk_number
Source lines: 6871 - 6879
Type function
Call mk_number(num)
Modulescheme_lang
Notes
 Declare a number

mk_real {scheme_lang}

Name of routine: mk_real
Source lines: 6883 - 6891
Type function
Call mk_real(num)
Modulescheme_lang
Notes
 Declare a real

mk_string {scheme_lang}

Name of routine: mk_string
Source lines: 6895 - 6903
Type function
Call mk_string(str)
Modulescheme_lang
Notes
 Declare a string

mk_symbol {scheme_lang}

Name of routine: mk_symbol
Source lines: 6907 - 6924
Type function
Call mk_symbol(nam)
Modulescheme_lang
Notes
 Declare a symbol

gensym {scheme_lang}

Name of routine: gensym
Source lines: 6928 - 6947
Type function
Call gensym()
Modulescheme_lang
Notes
 automatically generate a unique symbol 

mk_atom {scheme_lang}

Name of routine: mk_atom
Source lines: 6952 - 6992
Type function
Call mk_atom(str)
Modulescheme_lang
Notes
 make symbol or number atom from string

mk_const {scheme_lang}

Name of routine: mk_const
Source lines: 6996 - 7037
Type function
Call mk_const(nam)
Modulescheme_lang
Notes
 
 Make a constant

mk_closure {scheme_lang}

Name of routine: mk_closure
Source lines: 7041 - 7050
Type function
Call mk_closure(c, e)
Modulescheme_lang
Notes
 make closure, c is code, e is environment

mk_continuation {scheme_lang}

Name of routine: mk_continuation
Source lines: 7054 - 7062
Type function
Call mk_continuation(d)
Modulescheme_lang
Notes
 make continuation

mk_port {scheme_lang}

Name of routine: mk_port
Source lines: 7066 - 7076
Type function
Call mk_port(iport, nam)
Modulescheme_lang
Notes
 make a port

test_port {scheme_lang}

Name of routine: test_port
Source lines: 7079 - 7090
Type function
Call test_port(iport)
Modulescheme_lang
Notes
 Test a port - return location in portaddress

reverse {scheme_lang}

Name of routine: reverse
Source lines: 7094 - 7111
Type function
Call reverse(a)
Modulescheme_lang
Notes
 Reverse list

non_alloc_rev {scheme_lang}

Name of routine: non_alloc_rev
Source lines: 7115 - 7131
Type function
Call non_alloc_rev(term, list)
Modulescheme_lang
Notes
 Reverse list -- no new cell generated

append {scheme_lang}

Name of routine: append
Source lines: 7135 - 7151
Type function
Call append(a, b)
Modulescheme_lang
Notes
 append list -- make new cells

eqv {scheme_lang}

Name of routine: eqv
Source lines: 7155 - 7170
Type function
Call eqv(a, b)
Modulescheme_lang
Notes
 equivalence of atoms

inchar {scheme_lang}

Name of routine: inchar
Source lines: 7174 - 7199
Type subroutine
Call inchar(ch)
Modulescheme_lang
Notes
 get a new character from input file or stdin

clearinput {scheme_lang}

Name of routine: clearinput
Source lines: 7203 - 7205
Type subroutine
Call clearinput()
Modulescheme_lang
Notes
 clear input buffer

flushinput {scheme_lang}

Name of routine: flushinput
Source lines: 7209 - 7215
Type subroutine
Call flushinput()
Modulescheme_lang
Notes
 back to standard input

backchar {scheme_lang}

Name of routine: backchar
Source lines: 7219 - 7221
Type subroutine
Call backchar()
Modulescheme_lang
Notes
 backstep one character in input buffer

skipspace {scheme_lang}

Name of routine: skipspace
Source lines: 7225 - 7235
Type subroutine
Call skipspace()
Modulescheme_lang
Notes
 skip whitespace

token {scheme_lang}

Name of routine: token
Source lines: 7239 - 7284
Type function
Call token()
Modulescheme_lang
Notes
 get next token

scheme_delim {scheme_lang}

Name of routine: scheme_delim
Source lines: 7288 - 7296
Type function
Call scheme_delim(ch)
Modulescheme_lang
Notes
 read characters to delimiter  -- hard coded to work on Windows as well

readstr {scheme_lang}

Name of routine: readstr
Source lines: 7298 - 7315
Type subroutine
Call readstr(res)
Modulescheme_lang
Notes
 Miniscm

readstrexp {scheme_lang}

Name of routine: readstrexp
Source lines: 7319 - 7342
Type subroutine
Call readstrexp(res, reslen)
Modulescheme_lang
Notes
 read rest of a quoted string

printatom {scheme_lang}

Name of routine: printatom
Source lines: 7346 - 7393
Type subroutine
Call printatom(l, space, ndigits)
Modulescheme_lang
Notes
 print an atom

padprint {scheme_lang}

Name of routine: padprint
Source lines: 7397 - 7413
Type subroutine
Call padprint(str, space)
Modulescheme_lang
Notes
 Pad printing of an atom

ok_abbrev {scheme_lang}

Name of routine: ok_abbrev
Source lines: 7415 - 7419
Type function
Call ok_abbrev(x)
Modulescheme_lang
Notes
 Miniscm

s_save {scheme_lang}

Name of routine: s_save
Source lines: 7421 - 7426
Type subroutine
Call s_save(a, b, c)
Modulescheme_lang
Notes
 Miniscm

s_return {scheme_lang}

Name of routine: s_return
Source lines: 7427 - 7435
Type subroutine
Call s_return(a)
Modulescheme_lang
Notes
 Miniscm

s_retbool {scheme_lang}

Name of routine: s_retbool
Source lines: 7436 - 7443
Type subroutine
Call s_retbool(tf)
Modulescheme_lang
Notes
 Miniscm

opexe0 {scheme_lang}

Name of routine: opexe0
Source lines: 7448 - 7782
Type subroutine
Call opexe0(op, inline)
Modulescheme_lang
Notes
 Apply Scheme commands - split into opexe0 to opexe10
   load -- let*

opexe1 {scheme_lang}

Name of routine: opexe1
Source lines: 7786 - 8004
Type subroutine
Call opexe1(op)
Modulescheme_lang
Notes
 Scheme procedures letrc -- call/cc

opexe2 {scheme_lang}

Name of routine: opexe2
Source lines: 8008 - 8277
Type subroutine
Call opexe2(op)
Modulescheme_lang
Notes
 Scheme procedures plus -- set-cdr!

opexe3 {scheme_lang}

Name of routine: opexe3
Source lines: 8281 - 8368
Type subroutine
Call opexe3(op)
Modulescheme_lang
Notes
 Scheme procedures not -- eqv?

opexe4 {scheme_lang}

Name of routine: opexe4
Source lines: 8372 - 8478
Type subroutine
Call opexe4(op, plevel)
Modulescheme_lang
Notes
 Scheme procedures force -- gc -- new-segment

opexe5 {scheme_lang}

Name of routine: opexe5
Source lines: 8482 - 8618
Type subroutine
Call opexe5(op, plevel)
Modulescheme_lang
Notes
 Scheme procedures read expression

opexe6 {scheme_lang}

Name of routine: opexe6
Source lines: 8622 - 8677
Type subroutine
Call opexe6(op)
Modulescheme_lang
Notes
 Scheme procedures length -- macro?

opexe7 {scheme_lang}

Name of routine: opexe7
Source lines: 8681 - 8766
Type subroutine
Call opexe7(op)
Modulescheme_lang
Notes
 Mathematical functions

opexe8 {scheme_lang}

Name of routine: opexe8
Source lines: 8770 - 8874
Type subroutine
Call opexe8(op)
Modulescheme_lang
Notes
 A few other library functions eg min, max

opexe9 {scheme_lang}

Name of routine: opexe9
Source lines: 8878 - 9129
Type subroutine
Call opexe9(op)
Modulescheme_lang
Notes
 string functions

getint {scheme_lang}

Name of routine: getint
Source lines: 9133 - 9149
Type subroutine
Call getint(pos, slen, string, res)
Modulescheme_lang
Notes
 Nonstandard library additions for system interface such as system, read-line

opexe10 {scheme_lang}

Name of routine: opexe10
Source lines: 9153 - 9529
Type subroutine
Call opexe10(op, plevel)
Modulescheme_lang
Notes
 Extensions for i/o and accessing system facilities eg inquire, time, date

opexe11 {scheme_lang}

Name of routine: opexe11
Source lines: 9533 - 9620
Type subroutine
Call opexe11(op)
Modulescheme_lang
Notes
 Statistical library

opexe12 {scheme_lang}

Name of routine: opexe12
Source lines: 9624 - 9885
Type subroutine
Call opexe12(op, plevel)
Modulescheme_lang
Notes
 Procedures that interact with Sib-pair

opexe13 {scheme_lang}

Name of routine: opexe13
Source lines: 9889 - 10211
Type subroutine
Call opexe13(op, plevel)
Modulescheme_lang
Notes
 Manipulate Sib-pair dataset

alldata {scheme_lang}

Name of routine: alldata
Source lines: 10215 - 10229
Type subroutine
Call alldata(res, extractor)
Modulescheme_lang
Notes
 pedigree data accessor

extract_ped {scheme_lang}

Name of routine: extract_ped
Source lines: 10233 - 10239
Type function
Call extract_ped(i, res)
Modulescheme_lang
Notes
 extractors for different pedigree data fields

extract_id {scheme_lang}

Name of routine: extract_id
Source lines: 10241 - 10247
Type function
Call extract_id(i, res)
Modulescheme_lang
Notes
 Miniscm

extract_iped {scheme_lang}

Name of routine: extract_iped
Source lines: 10249 - 10255
Type function
Call extract_iped(i, res)
Modulescheme_lang
Notes
 Miniscm

extract_fa {scheme_lang}

Name of routine: extract_fa
Source lines: 10257 - 10263
Type function
Call extract_fa(i, res)
Modulescheme_lang
Notes
 Miniscm

extract_mo {scheme_lang}

Name of routine: extract_mo
Source lines: 10265 - 10271
Type function
Call extract_mo(i, res)
Modulescheme_lang
Notes
 Miniscm

extract_imztwin {scheme_lang}

Name of routine: extract_imztwin
Source lines: 10273 - 10279
Type function
Call extract_imztwin(i, res)
Modulescheme_lang
Notes
 Miniscm

opexe14 {scheme_lang}

Name of routine: opexe14
Source lines: 10284 - 10987
Type subroutine
Call opexe14(op)
Modulescheme_lang
Notes
 Miniscm

opexe15 {scheme_lang}

Name of routine: opexe15
Source lines: 10993 - 11331
Type subroutine
Call opexe15(op)
Modulescheme_lang
Notes
 Miniscm

mk_syntax {scheme_lang}

Name of routine: mk_syntax
Source lines: 11337 - 11345
Type subroutine
Call mk_syntax(op, nam)
Modulescheme_lang
Notes

 Initialization of internal keywords

mk_proc {scheme_lang}

Name of routine: mk_proc
Source lines: 11347 - 11356
Type subroutine
Call mk_proc(op, nam)
Modulescheme_lang
Notes
 Miniscm

init_vars_global {scheme_lang}

Name of routine: init_vars_global
Source lines: 11360 - 11367
Type subroutine
Call init_vars_global()
Modulescheme_lang
Notes
 Initiate global environment

init_syntax {scheme_lang}

Name of routine: init_syntax
Source lines: 11371 - 11389
Type subroutine
Call init_syntax()
Modulescheme_lang
Notes
 Initiate syntax

init_procs {scheme_lang}

Name of routine: init_procs
Source lines: 11393 - 11665
Type subroutine
Call init_procs()
Modulescheme_lang
Notes
 Initiate procedures

init_scm {scheme_lang}

Name of routine: init_scm
Source lines: 11669 - 11824
Type subroutine
Call init_scm()
Modulescheme_lang
Notes
 Inlined init.scm

init_globals {scheme_lang}

Name of routine: init_globals
Source lines: 11828 - 11840
Type subroutine
Call init_globals()
Modulescheme_lang
Notes
 Initiate procedures

error0 {scheme_lang}

Name of routine: error0
Source lines: 11844 - 11850
Type subroutine
Call error0(s)
Modulescheme_lang
Notes
 Error handling

error1 {scheme_lang}

Name of routine: error1
Source lines: 11852 - 11860
Type subroutine
Call error1(s, a)
Modulescheme_lang
Notes
 Miniscm

init_scheme {scheme_lang}

Name of routine: init_scheme
Source lines: 11862 - 11865
Type subroutine
Call init_scheme()
Modulescheme_lang
Notes
 Miniscm

repl_scheme {scheme_lang}

Name of routine: repl_scheme
Source lines: 11869 - 11963
Type subroutine
Call repl_scheme(inline, ple)
Modulescheme_lang
Notes
 Scheme read-eval-print loop

create_form {formula_class}

Name of routine: create_form
Source lines: 12003 - 12146
Type subroutine
Call create_form(sta, fin, terms, nloci, loc, formula)
Moduleformula_class
Notes
 read commands and write appropriate formula structure

cleanup_form {formula_class}

Name of routine: cleanup_form
Source lines: 12148 - 12159
Type subroutine
Call cleanup_form(formula)
Moduleformula_class
Notes
 Simple regression formula structure and parser

 formula and design matrix
 formula is:   a   b   c   a*b   a*c   b*c  a*b*c
         T1    1   2   3    1     1     2     1
         T2    .   .   .    2     3     3     2
         T3    .   .   .    .     .     .     3
    TERMDIM    1   1   1    2     2     2     3

 Effects       1    2     3
         NLEV  n1   n2    n3
         STA   1    n1+1  n1+n2+1
         FIN   n1   n1+n2 n1+n2+n3
       INFORM  1    1     1       

sumcols_form {formula_class}

Name of routine: sumcols_form
Source lines: 12163 - 12203
Type subroutine
Call sumcols_form(formula)
Moduleformula_class
Notes
 If levels available, evaluate total number of model parameters
 

show_form {formula_class}

Name of routine: show_form
Source lines: 12205 - 12226
Type subroutine
Call show_form(formula)
Moduleformula_class
Notes
 Simple regression formula structure and parser

 formula and design matrix
 formula is:   a   b   c   a*b   a*c   b*c  a*b*c
         T1    1   2   3    1     1     2     1
         T2    .   .   .    2     3     3     2
         T3    .   .   .    .     .     .     3
    TERMDIM    1   1   1    2     2     2     3

 Effects       1    2     3
         NLEV  n1   n2    n3
         STA   1    n1+1  n1+n2+1
         FIN   n1   n1+n2 n1+n2+n3
       INFORM  1    1     1       

setup_props {mcmc_model}

Name of routine: setup_props
Source lines: 12383 - 12387
Type subroutine
Call setup_props(maxsiz)
Modulemcmc_model
Notes
 Allocate or deallocate work arrays

clean_props {mcmc_model}

Name of routine: clean_props
Source lines: 12388 - 12390
Type subroutine
Call clean_props()
Modulemcmc_model
Notes
 Allocate or deallocate work arrays

setup_mix {mcmc_model}

Name of routine: setup_mix
Source lines: 12394 - 12449
Type subroutine
Call setup_mix(ped, dataset, nchain, nqtl, nvar, family)
Modulemcmc_model
Notes
 Allocate a pedigree's data arrays

setup_ibd {ibd_class}

Name of routine: setup_ibd
Source lines: 12488 - 12500
Type subroutine
Call setup_ibd(ped, nobs, nvar, family)
Moduleibd_class
Notes
 Allocate a pedigree's data arrays

setup_table {contingency_table}

Name of routine: setup_table
Source lines: 12530 - 12541
Type subroutine
Call setup_table(ncat, maxcells, table)
Modulecontingency_table
Notes
 allocate space for contingency table

zero_table {contingency_table}

Name of routine: zero_table
Source lines: 12545 - 12557
Type subroutine
Call zero_table(table)
Modulecontingency_table
Notes
 zero table for reuse

clean_table {contingency_table}

Name of routine: clean_table
Source lines: 12561 - 12571
Type subroutine
Call clean_table(table)
Modulecontingency_table
Notes
 deallocate space

expand_table {contingency_table}

Name of routine: expand_table
Source lines: 12575 - 12598
Type subroutine
Call expand_table(nextra, table)
Modulecontingency_table
Notes
 increase available space

insert_table {contingency_table}

Name of routine: insert_table
Source lines: 12602 - 12661
Type subroutine
Call insert_table(ncat, values, table, iwt)
Modulecontingency_table
Notes
 insert data

search_table {contingency_table}

Name of routine: search_table
Source lines: 12665 - 12703
Type function
Call search_table(ncat, values, table)
Modulecontingency_table
Notes
 Search table

incr_table {contingency_table}

Name of routine: incr_table
Source lines: 12707 - 12713
Type subroutine
Call incr_table(pos, table, iwt)
Modulecontingency_table
Notes
 Increment cell count if correct address already available

print_table {contingency_table}

Name of routine: print_table
Source lines: 12717 - 12725
Type subroutine
Call print_table(table)
Modulecontingency_table
Notes
 print a table

marginal_table {contingency_table}

Name of routine: marginal_table
Source lines: 12729 - 12743
Type subroutine
Call marginal_table(nmargin, margin, table, martable)
Modulecontingency_table
Notes
 fill a table with marginal counts from another table

flat_table {contingency_table}

Name of routine: flat_table
Source lines: 12748 - 12793
Type subroutine
Call flat_table(mtable1, mtable2, table, mat)
Modulecontingency_table
Notes
 Convert table counts to a R (dim1 x dim2 ..x dimN-1) x C (dimN) matrix 
 so mtable1 is marginal table for vars 1..nloc-1, mtable2 is univariate

dim_table {contingency_table}

Name of routine: dim_table
Source lines: 12797 - 12810
Type function
Call dim_table(margin, table)
Modulecontingency_table
Notes
 get dimension of a margin

sort_table {contingency_table}

Name of routine: sort_table
Source lines: 12814 - 12826
Type subroutine
Call sort_table(cat, table)
Modulecontingency_table
Notes
 reorder values in 1-D table to match order in table index

findlev {contingency_table}

Name of routine: findlev
Source lines: 12830 - 12878
Type function
Call findlev(val, table)
Modulecontingency_table
Notes
 factor level based on position in (marginal) 1-D table

findrank {contingency_table}

Name of routine: findrank
Source lines: 12882 - 12901
Type function
Call findrank(val, table)
Modulecontingency_table
Notes
 find rank based on position in 1-D table

setup_pairs {pairlist_class}

Name of routine: setup_pairs
Source lines: 12920 - 12930
Type subroutine
Call setup_pairs(npairs, pairlist)
Modulepairlist_class
Notes
 allocate space for pairlist

clean_pairs {pairlist_class}

Name of routine: clean_pairs
Source lines: 12934 - 12940
Type subroutine
Call clean_pairs(pairlist)
Modulepairlist_class
Notes
 deallocate space

expand_pairs {pairlist_class}

Name of routine: expand_pairs
Source lines: 12944 - 12959
Type subroutine
Call expand_pairs(nextra, pairlist)
Modulepairlist_class
Notes
 increase available space

append_pair {pairlist_class}

Name of routine: append_pair
Source lines: 12963 - 12977
Type subroutine
Call append_pair(key1, key2, pairlist)
Modulepairlist_class
Notes
 
 append data, testing only latest entry for uniqueness

insert_pair {pairlist_class}

Name of routine: insert_pair
Source lines: 12981 - 13029
Type subroutine
Call insert_pair(key1, key2, pairlist)
Modulepairlist_class
Notes
 insert data

find_pair {pairlist_class}

Name of routine: find_pair
Source lines: 13033 - 13072
Type function
Call find_pair(key1, key2, pairlist)
Modulepairlist_class
Notes
 find a pair

complete {covariate_data}

Name of routine: complete
Source lines: 13096 - 13125
Type function
Call complete(useimp, idx, nvar, terms, locpos, loctyp, dataset)
Modulecovariate_data
Notes
  
 test if complete data for i'th individual
  

varlevels {covariate_data}

Name of routine: varlevels
Source lines: 13130 - 13219
Type subroutine
Call varlevels(typ, gene, numal, nvar, varlist, loc, loctyp, locpos, dataset, covariates, plevel)
Modulecovariate_data
Notes
 Collect necessary information to create dummy variables encoding a categorical trait
 allocates necessary marginal table storage

fixeff {covariate_data}

Name of routine: fixeff
Source lines: 13226 - 13344
Type subroutine
Call fixeff(idx, designpos, interc, gene, genemod, allele_buffer, nvar, varlist, loctyp, locpos, covariates, dataset, vals)
Modulecovariate_data
Notes
 One row of the design matrix for the fixed effects part of model for varcom and segsim.
 Possibly including one marker for full dummy encoding.
 Possibly including an intercept.
 Missing x values replaced by overall mean

xmeans {covariate_data}

Name of routine: xmeans
Source lines: 13348 - 13427
Type subroutine
Call xmeans(nvar, varlist, loctyp, locpos, dataset, covariates)
Modulecovariate_data
Notes
  
 Means for set of variables (incl dummies) in formula
  

clean_AS164 {AS164_class}

Name of routine: clean_AS164
Source lines: 13437 - 13444
Type subroutine
Call clean_AS164()
ModuleAS164_class
Notes
 Work arrays for AS164 -- allow passing of results to other routines

varmet {optimizer}

Name of routine: varmet
Source lines: 13466 - 13636
Type subroutine
Call varmet(fun, npar, b, f0, gradtl, toler, maxfn, ifault, plevel)
Moduleoptimizer
Notes
 Actual varmet minimizer

grad {optimizer}

Name of routine: grad
Source lines: 13640 - 13683
Type subroutine
Call grad(fun, npar, b, f0, g, sa, er, ifault)
Moduleoptimizer
Notes
 Calculate approximate gradient

vmerr {optimizer}

Name of routine: vmerr
Source lines: 13687 - 13703
Type subroutine
Call vmerr(ier, maxfn)
Moduleoptimizer
Notes
 varmet error messages

popgen_init {popgen_vcdata}

Name of routine: popgen_init
Source lines: 13730 - 13735
Type subroutine
Call popgen_init()
Modulepopgen_vcdata
Notes
 Cockerham-like multi-locus variance components

popgen_summary {popgen_vcdata}

Name of routine: popgen_summary
Source lines: 13736 - 13755
Type subroutine
Call popgen_summary(outstr, plevel)
Modulepopgen_vcdata
Notes
 Cockerham-like multi-locus variance components

popgen_homoz {popgen_vcdata}

Name of routine: popgen_homoz
Source lines: 13756 - 13769
Type subroutine
Call popgen_homoz(outstr, plevel)
Modulepopgen_vcdata
Notes
 Cockerham-like multi-locus variance components

printmat {symmetric_matrix}

Name of routine: printmat
Source lines: 13780 - 13791
Type subroutine
Call printmat(n, c, fstring)
Modulesymmetric_matrix
Notes
 print n rows of symmetric lower triangular matrix

postmult {symmetric_matrix}

Name of routine: postmult
Source lines: 13797 - 13817
Type subroutine
Call postmult(n, x, c, w)
Modulesymmetric_matrix
Notes
 Evaluate S x
 where S is symmetric lower triangular matrix
       x is a vector

postmultm {symmetric_matrix}

Name of routine: postmultm
Source lines: 13823 - 13847
Type subroutine
Call postmultm(n, m, x, c, w)
Modulesymmetric_matrix
Notes
 Evaluate S X
 where S is symmetric lower triangular matrix
       X is a full n*m matrix

sumsym {symmetric_matrix}

Name of routine: sumsym
Source lines: 13852 - 13868
Type subroutine
Call sumsym(n, c, res)
Modulesymmetric_matrix
Notes
 Evaluate 1' S 1
 where S is symmetric lower triangular matrix

quadmult {symmetric_matrix}

Name of routine: quadmult
Source lines: 13873 - 13894
Type subroutine
Call quadmult(typ, n, x, c, res)
Modulesymmetric_matrix
Notes
 Evaluate x' S x  or 1' S x
 where S is symmetric lower triangular matrix

quadxxm {symmetric_matrix}

Name of routine: quadxxm
Source lines: 13901 - 13921
Type subroutine
Call quadxxm(n, m, x, c, res)
Modulesymmetric_matrix
Notes
 Evaluate X' S X
 where S is symmetric lower triangular matrix
       X n*m matrix
 result returned in lower triangular form

quadxy {symmetric_matrix}

Name of routine: quadxy
Source lines: 13927 - 13942
Type subroutine
Call quadxy(n, x, c, y, res)
Modulesymmetric_matrix
Notes
 Evaluate x' S y
 where S is symmetric lower triangular matrix
       x, y are 1-D arrays

quadxymv {symmetric_matrix}

Name of routine: quadxymv
Source lines: 13948 - 13964
Type subroutine
Call quadxymv(n, m, x, c, y, res)
Modulesymmetric_matrix
Notes
 Evaluate X' S y
 where S is symmetric lower triangular matrix
       X full n*m matrix, y n-vector

quadxym {symmetric_matrix}

Name of routine: quadxym
Source lines: 13970 - 13981
Type subroutine
Call quadxym(n, m1, m2, x, c, y, res)
Modulesymmetric_matrix
Notes
 Evaluate X' S Y
 where S is symmetric lower triangular matrix
       X, Y full n*m1,n*m2 matrices

quadxy1 {symmetric_matrix}

Name of routine: quadxy1
Source lines: 13987 - 14002
Type subroutine
Call quadxy1(n, m, c, y, res)
Modulesymmetric_matrix
Notes
 Evaluate 1' S Y
 where S is symmetric lower triangular matrix
       Y full n*m matrix

quadform {symmetric_matrix}

Name of routine: quadform
Source lines: 14006 - 14020
Type subroutine
Call quadform(n, x, m, c, res)
Modulesymmetric_matrix
Notes
 Evaluate (y-m)' S (y-m) where S is symmetric lower triangular matrix

pre_grapheps {grapheps}

Name of routine: pre_grapheps
Source lines: 14029 - 14363
Type subroutine
Call pre_grapheps(outstr, xbound, ybound)
Modulegrapheps
Notes
 The grapheps Postscript functions
 See http://swiss.csail.mit.edu/~jaffer/Docupage/grapheps

xy_grapheps {grapheps}

Name of routine: xy_grapheps
Source lines: 14370 - 14484
Type subroutine
Call xy_grapheps(outstr, nvals, xvals, yvals, xlab, ylab, title, gstyle, gratio, typ)
Modulegrapheps
Notes
 Draw simple plot

 typ 1=scatterplot 2=jittered dotplot 3=mountain 4=bargraph
     10=square Q-Q plot

scatter_grapheps {grapheps}

Name of routine: scatter_grapheps
Source lines: 14488 - 14553
Type subroutine
Call scatter_grapheps(outstr, nvals, symbols, xvals, yvals, slab, xlab, ylab, title, gratio)
Modulegrapheps
Notes
 Draw scatterplot with different glyphs for each category

nextcmd

Name of routine: nextcmd
Source lines: 23606 - 23664
Type subroutine
Call nextcmd(commands, numcmd, linlen, s, more)
ModuleNone
Notes
 count number of commands on line and delineate next command 
 (using position of ";"'s) to be evaluated

ival

Name of routine: ival
Source lines: 23668 - 23688
Type function
Call ival(string)
ModuleNone
Notes
 character to integer conversion via internal read

fval

Name of routine: fval
Source lines: 23692 - 23719
Type function
Call fval(string)
ModuleNone
Notes
 character to float conversion via internal read

aval

Name of routine: aval
Source lines: 23724 - 23775
Type function
Call aval(string, gcode)
ModuleNone
Notes
 read allele values either numeric or letter code
   range of legal alleles depends on storage type

locfmt

Name of routine: locfmt
Source lines: 23779 - 23809
Type subroutine
Call locfmt(str, rep, newtyp)
ModuleNone
Notes
 Read simplified locus declaration eg 10m 10 m -> 10 autosomal markers

sow

Name of routine: sow
Source lines: 23813 - 23823
Type function
Call sow(string)
ModuleNone
Notes
 skip leading whitespace

eow

Name of routine: eow
Source lines: 23827 - 23836
Type function
Call eow(string)
ModuleNone
Notes
 find end of string

sclean

Name of routine: sclean
Source lines: 23840 - 23848
Type subroutine
Call sclean(string)
ModuleNone
Notes
 scrub non-ASCII characters

ismiss

Name of routine: ismiss
Source lines: 23852 - 23856
Type function
Call ismiss(string)
ModuleNone
Notes
  See if a string is a missing value

isint

Name of routine: isint
Source lines: 23860 - 23881
Type function
Call isint(string)
ModuleNone
Notes
  see if a string is a valid integer

isreal

Name of routine: isreal
Source lines: 23885 - 23904
Type function
Call isreal(string)
ModuleNone
Notes
  see if a string is a valid double precision number

iscomment

Name of routine: iscomment
Source lines: 23908 - 23923
Type function
Call iscomment(string)
ModuleNone
Notes
  See if a string is a comment

wrsex

Name of routine: wrsex
Source lines: 23927 - 23936
Type subroutine
Call wrsex(sex,ch)
ModuleNone
Notes
  
 write sex as character
  

wrdate

Name of routine: wrdate
Source lines: 23940 - 23953
Type subroutine
Call wrdate(date,str,typ)
ModuleNone
Notes
 write date as character

wraff

Name of routine: wraff
Source lines: 23957 - 23968
Type subroutine
Call wraff(value, ch, typ)
ModuleNone
Notes
  
 binary trait as character
  

wrform

Name of routine: wrform
Source lines: 23972 - 23987
Type subroutine
Call wrform(typ, nwid, ndec, fstring)
ModuleNone
Notes
 Fortran format statement to write one number

idwidths

Name of routine: idwidths
Source lines: 23991 - 24019
Type subroutine
Call idwidths(dataset, widths, name_formats)
ModuleNone
Notes
 Get maximum lengths of ID strings

phist

Name of routine: phist
Source lines: 24023 - 24039
Type subroutine
Call phist(pval1, pval2, histo)
ModuleNone
Notes
  
 Write P-values as a histogram: . + * ** ***
  

pstring

Name of routine: pstring
Source lines: 24043 - 24068
Type function
Call pstring(pval)
ModuleNone
Notes
  
 Write P-values as a string
  

corstring

Name of routine: corstring
Source lines: 24072 - 24082
Type function
Call corstring(rval)
ModuleNone
Notes
  
 Write correlation as a 6 character string (deal nicely with -1)
  

append

Name of routine: append
Source lines: 24086 - 24096
Type subroutine
Call append(word, note)
ModuleNone
Notes
 append one word to a string if enough room

addlet

Name of routine: addlet
Source lines: 24101 - 24111
Type subroutine
Call addlet(old, new)
ModuleNone
Notes
  
 prepend "x" to a string if starts with an integer
 Loki and R for example do not allow variable names that start with a digit
  

shorten

Name of routine: shorten
Source lines: 24116 - 24157
Type subroutine
Call shorten(idx, nwords, words, newlen, res)
ModuleNone
Notes
  
 create a shorter unique version of a string eg locus name
 Old versions of MENDEL for instance wants 8 character locus names
  

makeind

Name of routine: makeind
Source lines: 24162 - 24208
Type subroutine
Call makeind(typ, idx, eos, los, string)
ModuleNone
Notes
  
 hash an integer to a two character string 01-99,A-Z,a-z,a-z...
 append to name: typ=1, appended with underscore; typ=2, appended directly
  

mktmpfil

Name of routine: mktmpfil
Source lines: 24212 - 24234
Type subroutine
Call mktmpfil(str, filnam, wrkdir, ioerr)
ModuleNone
Notes
  
 Create a new unique temporary file 
  

wrinline

Name of routine: wrinline
Source lines: 24239 - 24258
Type subroutine
Call wrinline(nlin, outstr)
ModuleNone
Notes
 Copy inline data to a file
 Relies on iostat=-2 as eol to use lin as a buffer

openlog

Name of routine: openlog
Source lines: 24262 - 24292
Type subroutine
Call openlog(lstr, logfil, nhis)
ModuleNone
Notes
 Open the standard log file "sib-pair.log"

findfile

Name of routine: findfile
Source lines: 24298 - 24327
Type subroutine
Call findfile(fil, stat)
ModuleNone
Notes
 System utilities

 Find a file along the search path -- check pwd, then HOME first

delfile

Name of routine: delfile
Source lines: 24331 - 24348
Type subroutine
Call delfile(filnam, plevel)
ModuleNone
Notes
 Delete a file

unzipper

Name of routine: unzipper
Source lines: 24353 - 24374
Type subroutine
Call unzipper(filnam, wrkfil, gzipped)
ModuleNone
Notes
 Flag a file as gzip compressed and 
 unzip for reading (necessary for binary files)

reclen

Name of routine: reclen
Source lines: 24380 - 24404
Type subroutine
Call reclen(port, buffer, longest)
ModuleNone
Notes
 Return length of longest line of file
 Use lin as buffer
 Relies on iostat code for eol

filecols

Name of routine: filecols
Source lines: 24409 - 24440
Type subroutine
Call filecols(port, buffer, testlines, nwords, plevel)
ModuleNone
Notes
 Return representative number of words per line in file
 Use lin as buffer

fchooser

Name of routine: fchooser
Source lines: 24446 - 24498
Type subroutine
Call fchooser(fil, gui, plevel)
ModuleNone
Notes
 GUI stuff
 Uses JAPI to call AWT, or PILIB to call GTK2 if present
 else simple file picker

fpicker

Name of routine: fpicker
Source lines: 24503 - 24609
Type subroutine
Call fpicker(fil, plevel)
ModuleNone
Notes
 Text based Windows file picker

fpicker

Name of routine: fpicker
Source lines: 24614 - 24698
Type subroutine
Call fpicker(fil, plevel)
ModuleNone
Notes
 Text based file picker

info

Name of routine: info
Source lines: 24703 - 24765
Type subroutine
Call info(lin, burnin, imp, iter, initix, initiy, initiz, ix, iy, iz, mapf, mincnt, plevel, genemod, showorig, chek, droperr, prompt, use2, gui, twintrait, sexmarker, datdir, wrkdir)
ModuleNone
Notes
 Info

help

Name of routine: help
Source lines: 24769 - 25237
Type subroutine
Call help(typ, regexp, lin, twrk)
ModuleNone
Notes
  
 brief online help
  

shell

Name of routine: shell
Source lines: 25241 - 25274
Type subroutine
Call shell(lin, plevel)
ModuleNone
Notes
 pass line to shell -- requires existence of fairly
                       standard routine system()

stamp

Name of routine: stamp
Source lines: 25278 - 25298
Type subroutine
Call stamp(t0)
ModuleNone
Notes
  
 write elapsed time since first/last asked
  

proct

Name of routine: proct
Source lines: 25302 - 25312
Type subroutine
Call proct(t1, plevel)
ModuleNone
Notes
  
 time a procedure
  

gettrait

Name of routine: gettrait
Source lines: 25316 - 25365
Type subroutine
Call gettrait(nam, typ1, typ2, nloci, loc, lochash, loctyp, trait, plevel)
ModuleNone
Notes
  
 determine if word is name of a trait locus
  

isinuse

Name of routine: isinuse
Source lines: 25369 - 25398
Type function
Call isinuse(string, nloci, loc)
ModuleNone
Notes
  
 check if name is not already used or reserved
  

getbin

Name of routine: getbin
Source lines: 25402 - 25463
Type subroutine
Call getbin(sta, fin, words, nloci, loc, lochash, loctyp, trait, gt, thresh)
ModuleNone
Notes
  
 Get a single binary trait or dichotomized quantitative trait
  

loadnam

Name of routine: loadnam
Source lines: 25473 - 25667
Type subroutine
Call loadnam(sta, fin, words, nloci, loc, lochash, loctyp, group, map, locstat, chosen, nterms, terms, filter, typ)
ModuleNone
Notes
 
 Load list of traits into an array

 allows wild cards and spans
 filter= selection must also be of class eg LOC_CODOM, LOC_ANY
 typ=1 active loci, =2 inactive loci, =3 all loci (used by ls etc)

 output both as list (terms) and as index vector (chosen)
 

actlist

Name of routine: actlist
Source lines: 25671 - 25701
Type subroutine
Call actlist(typ, nloci, loctyp, nchosen, chosen)
ModuleNone
Notes
 All active/inactive

listloci

Name of routine: listloci
Source lines: 25706 - 25787
Type subroutine
Call listloci(nord, locord, nloci, loc, loctyp, outpos, locnotes, typ, plevel)
ModuleNone
Notes
 List loci using short (typ=2) or long (typ=1) form
   plevel < -1 will give a simple list of names

newlin

Name of routine: newlin
Source lines: 25791 - 25807
Type subroutine
Call newlin(sol, eol, pos, newpos)
ModuleNone
Notes
  
 format free output

cntclasses

Name of routine: cntclasses
Source lines: 25811 - 25848
Type subroutine
Call cntclasses(nloci, loctyp)
ModuleNone
Notes
  
 Output counts of class of loci
  

cntmark

Name of routine: cntmark
Source lines: 25852 - 25872
Type subroutine
Call cntmark(nloci, loctyp, nmark, typ)
ModuleNone
Notes
  
 Count active codominant markers or active loci
  

findmk

Name of routine: findmk
Source lines: 25876 - 25894
Type function
Call findmk(sta, fin, loctyp)
ModuleNone
Notes
  
 Find next active codominant marker in list
  

findml

Name of routine: findml
Source lines: 25898 - 25914
Type function
Call findml(nord, locord, loctyp)
ModuleNone
Notes
  
 Find first codominant or haploid marker in list
  

ldlist

Name of routine: ldlist
Source lines: 25919 - 25976
Type subroutine
Call ldlist(typ, loc1, loc2, nloci, loctyp, last)
ModuleNone
Notes
 produce next pair of markers from:
     1. named pair 2. One named 3. map order 4. all pairs 10. empty

getlin

Name of routine: getlin
Source lines: 25980 - 25996
Type subroutine
Call getlin(port, narg, words, lin, skipbl)
ModuleNone
Notes
  
 Get a line from a port
  

rdmerloc

Name of routine: rdmerloc
Source lines: 26000 - 26100
Type subroutine
Call rdmerloc(port, xli, lin, nloci, loc, locpos, outpos, loctyp, locnotes, numloc, twinning, twintype, twintrait)
ModuleNone
Notes
  
 Read a MERLIN locus file
  

rdplink

Name of routine: rdplink
Source lines: 26108 - 26188
Type subroutine
Call rdplink(port, typ, chrcode, nloci, loc, locpos, outpos, loctyp, locnotes, numloc, group, map)
ModuleNone
Notes
 Read PLINK .map file (combines locus and map information)
   typ=1: standard, one dummy trait, overwrite any existing loci
       2: no dummy trait, append
   chrcode=1: standard codes for chromosomes, number, X, Y, Mt
           2: and, 23=X 24=Y 25=PAR 26=Mit

readmap

Name of routine: readmap
Source lines: 26193 - 26446
Type subroutine
Call readmap(port, units, lin, words, plevel)
ModuleNone
Notes
  
 Read a mapfile -- attempts to intelligently decide
 what to read
  

readnames

Name of routine: readnames
Source lines: 26450 - 26473
Type subroutine
Call readnames(port, nloci, loc, lochash, chosen)
ModuleNone
Notes
 Read a list of locus names from a file to keep/drop/undrop

rdlinloc

Name of routine: rdlinloc
Source lines: 26477 - 26692
Type subroutine
Call rdlinloc(port, lin, words, nord, numloc)
ModuleNone
Notes
  
 Read a Linkage locus file
  

rdfreq

Name of routine: rdfreq
Source lines: 26699 - 26809
Type subroutine
Call rdfreq(typ, sta, fin, words, allele_buffer)
ModuleNone
Notes
 Read a set of allele frequencies from the command line, 
 making up some numbers if necessary
 typ=1 only expect list of allele frequencies
     2 check for allele names alternating with frequencies

ordvar

Name of routine: ordvar
Source lines: 26813 - 26858
Type subroutine
Call ordvar(twrk, nloci, loc, loctyp, locpos, outpos, nord, locord, group, map, locstat, locnotes, ord)
ModuleNone
Notes
  
 Make change in order of variables
  

packer

Name of routine: packer
Source lines: 26863 - 27005
Type subroutine
Call packer(typ, red, wrk, wrk2, nloci, loc, loctyp, locpos, group, map, locnotes, dataset, plevel)
ModuleNone
Notes
 Pack pedigrees and loci
 Note that SNPs stored as 2 genotypes per byte cannot be packed

bonf

Name of routine: bonf
Source lines: 27009 - 27018
Type function
Call bonf(ntest,alpha)
ModuleNone
Notes
 Calculate Bonferroni corrected P-value for given number of tests

dsort

Name of routine: dsort
Source lines: 27023 - 27142
Type subroutine
Call dsort(n, dx)
ModuleNone
Notes
  
 SLATEC quicksort routine.  Jones, Kahaner and Wisniewski.
 double precision
  

srank

Name of routine: srank
Source lines: 27149 - 27312
Type subroutine
Call srank(n, x, iy)
ModuleNone
Notes
  
 SLATEC quicksort routine.  Jones, Kahaner and Wisniewski.
 here allowing for a missing value indicator, and carrying an indicator along
 pulls down the missing data.  To sort test statistics retaining a pointer
 to the variable name

isort

Name of routine: isort
Source lines: 27318 - 27563
Type subroutine
Call isort(bot, top, ix, iy, kflag)
ModuleNone
Notes
  
 SLATEC quicksort routine.  Jones, Kahaner and Wisniewski.
 The option to sort descending has been removed, the argument order
 changed, and the sort is now from bot...top, rather than 1...top.
  

iscomp

Name of routine: iscomp
Source lines: 27708 - 27716
Type function
Call iscomp(op)
ModuleNone
Notes
  
 determine if trait being compared to a constant, for isaff
  

docomp

Name of routine: docomp
Source lines: 27722 - 27768
Type subroutine
Call docomp(pos, words, gt, thresh)
ModuleNone
Notes
  
 parse comparison in isaff
 15='<', 16='>', 17='ge', 18='le',19='ne',20='eq'
 21='odd', 22='even'
  

defpro

Name of routine: defpro
Source lines: 27772 - 27800
Type subroutine
Call defpro(gt, thresh)
ModuleNone
Notes
  
 Message defining proband based on comparison
  

compsign

Name of routine: compsign
Source lines: 27804 - 27810
Type function
Call compsign(idx)
ModuleNone
Notes
 Show comparison

isaff

Name of routine: isaff
Source lines: 27814 - 27846
Type function
Call isaff(val, thresh, gt)
ModuleNone
Notes
  
 determine if index person is affected or unaffected
  

isatwin

Name of routine: isatwin
Source lines: 27850 - 27858
Type function
Call isatwin(twintype, twinind)
ModuleNone
Notes
 Is an MZ twin?

ismzpair

Name of routine: ismzpair
Source lines: 27863 - 27877
Type function
Call ismzpair(i, j, dataset)
ModuleNone
Notes
 Is pair MZ?
 index i must precede j

order

Name of routine: order
Source lines: 27881 - 27890
Type subroutine
Call order(all1, all2)
ModuleNone
Notes
 swap alleles so ordered consistently

swap

Name of routine: swap
Source lines: 27894 - 27902
Type subroutine
Call swap(all1, all2)
ModuleNone
Notes
  
 swap alleles
  

lorder

Name of routine: lorder
Source lines: 27914 - 27990
Type subroutine
Call lorder(typ, addummy, liab, liabclass, nloci, loctyp, nord, locord)
ModuleNone
Notes
 Create order of loci for outputting a pedigree
  1 = as is
  2 = LINKAGE
  3 = GENEHUNTER
  4 = MENDEL
  5 = LINKAGE PPD
  6 = FBAT
  7 = MERLIN
  

isinenv

Name of routine: isinenv
Source lines: 27994 - 28005
Type function
Call isinenv(word,nvar,envnam)
ModuleNone
Notes
 Is a bound environmental variable? and if so where?

readbin

Name of routine: readbin
Source lines: 28016 - 28168
Type subroutine
Call readbin(strm, filnam, wrkfil, typ, numloc, dataset, red, plevel)
ModuleNone
Notes
 Read a Sib-pair binary file encoded using
 various levels of compression (currently just calls gunzip)
 Default (compress=1) is a "Fortran unformatted write" dump of the 
 locus and pedigree arrays
 typ=format version 
    1=current (2012/02) 
    2=older   (2009/08) 
    3=original (change in loctyp coding)

writebin

Name of routine: writebin
Source lines: 28175 - 28255
Type subroutine
Call writebin(strm, compress, filnam, dataset, plevel)
ModuleNone
Notes
 Write a Sib-pair binary file
 Default is a "Fortran unformatted write" dump of the 
 locus and pedigree arrays.
 If compress=2, currently calls gzip to compress the resulting file

readhapmap

Name of routine: readhapmap
Source lines: 28259 - 28439
Type subroutine
Call readhapmap(filnam, numloc, dataset, longnam, red, plevel)
ModuleNone
Notes
 Read in HapMap format

readgeno

Name of routine: readgeno
Source lines: 28444 - 28532
Type subroutine
Call readgeno(port, skipline, hashtab, dataset, plevel)
ModuleNone
Notes
 Read genotyping file where one genotype per record (eg Sequenom)
   id locus_name allele1 allele2 ... [quality score etc]

readprobs

Name of routine: readprobs
Source lines: 28546 - 28705
Type subroutine
Call readprobs(port, typ, mergekey, longest, dataset, plevel)
ModuleNone
Notes
 Read in biallelic genotypic probabilities from a file, 
 imputing the most likely genotype
 Need to have numeric variable in pedigree that matches
 column of genotypes
 Assumes that all SNPs have been declared already
 file formats 
 typ=1: (Beagle)
 marker alleleA alleleB col.3 col.3 col.3 col.5 col.5 col.5 col.7 col.7 col.7 col
 rs885550 C T 0.9846 0.0154 0.0001 0.9846 0.0154 0.0001 0.9846 0.0154 0.0001 0.98
 typ=2:
   -- rs885550 9887804 C T 0.97 0.03 0 0.97 0.03 0 0.97 0.03 0 0.97 0.03 0 0.97

readbed

Name of routine: readbed
Source lines: 28745 - 29065
Type subroutine
Call readbed(strm, typ, filnam, hashtab, dataset, plevel)
ModuleNone
Notes
 Read PLINK .bed format
 
 The .bim and .fam files are plain ASCII and allow us to fix the
 expected number of genotypes. In the .bed file, the first 3 bytes
 have a special meaning. The first two bytes are a 'magic number'
 that enables PLINK to confirm that a BED file is really a BED
 file: that is, BED files should always start 01101100 00011011.
 The third byte indicates whether the BED file is in SNP-major or
 individual-major mode: a value of 00000001 indicates SNP-major (i.e.
 list all individuals for first SNP, all individuals for second SNP,
 etc) whereas a value of 00000000 indicates individual-major (i.e.
 list all SNPs for the first individual, list all SNPs for the second
 individual, etc). By default, all BED files are SNP-major mode.

 For the genotype data, each byte encodes up to four genotypes (2 bits
 per genotype). The coding is
             
   00  Homozygote    1/1
   01  Heterozygote  1/2
   11  Homozygote    2/2
   10  Missing       x/x
 
 The only slightly confusing wrinkle is that each byte is effectively read
 backwards. That is, if we label each of the 8 position as A to H, we would
 label backwards: 01101100
                  HGFEDCBA
                  | | | AB   00  -- homozygote (first)
                  | | CD   11  -- other homozygote
                  | EF   01  -- heterozygote
                  GH   10  -- missing genotype (fourth)
 
 Finally, when we reach the end of a SNP (or if in individual-mode, the
 end an individual) we skip to the start of a new byte (i.e. skip any
 remaining bits in that byte).
 
 Data read in is either stored as normal genotypes (typ=1) or as 4-bits per
 genotype (typ=2).

fromplink

Name of routine: fromplink
Source lines: 29069 - 29096
Type subroutine
Call fromplink(pcode, a1, a2, snpswap, g1, g2, ngeno)
ModuleNone
Notes
 Convert PLINK .bed genotype codes to alleles

readcases

Name of routine: readcases
Source lines: 29102 - 29357
Type subroutine
Call readcases(port, hassex, skipline, numloc, coltyp, dataset, longnam, longest, nwarn, plevel)
ModuleNone
Notes
 Read file containing just unrelated individuals
 Duplicates (if contiguous) are combined into the same "family"
 with appended copy numbers

readpeds

Name of routine: readpeds
Source lines: 29361 - 29864
Type subroutine
Call readpeds(port, wrk, wrk2, skipline, link, unspecified, mztwin, gt, thresh, sexchek, hassex, nextped, numloc, coltyp, dataset, longnam, longest, nwarn, plevel)
ModuleNone
Notes
 Read pedigree file

nextped

Name of routine: nextped
Source lines: 29868 - 29873
Type function
Call nextped(str, pedigree)
ModuleNone
Notes
 Test if current line is next pedigree

nonextped

Name of routine: nonextped
Source lines: 29877 - 29882
Type function
Call nonextped(str, pedigree)
ModuleNone
Notes
 Does not use pedigree IDs

processfam

Name of routine: processfam
Source lines: 29886 - 30041
Type subroutine
Call processfam(sexchek, mztwin, gt, thresh, wrk, wrk2, nped, pedigree, num, nfound, numloc, nobs, buffer, nid, higen, ord, key1, key2, plevel)
ModuleNone
Notes
 All members of pedigree now read in, error check and sort

tabid

Name of routine: tabid
Source lines: 30045 - 30085
Type subroutine
Call tabid(curid, nid, indx, id, counts, incr, idpos)
ModuleNone
Notes
  
 Tabulate alphanumeric IDs in order of appearance
  

addsexes

Name of routine: addsexes
Source lines: 30090 - 30333
Type subroutine
Call addsexes(mztwin, gt, thresh, pedigree, num, buffer, key1, ord, nerr, plevel)
ModuleNone
Notes
 
 Check consistency of sexes
 Assign consistent sexes where missing, allowing for possible MZ twins

famsort

Name of routine: famsort
Source lines: 30340 - 30503
Type subroutine
Call famsort(pedigree, num, nfound, nid, id, pid, fa, mo, key1, ord, higen, nerr, plevel)
ModuleNone
Notes
 
 Work out generation number ord(), then sort family on
 founder status, generation number, parental ID,
 and personal ID giving their position in ord().
 Returns the ranking in ord(), and the depth of the pedigree in higen
 

msdsort

Name of routine: msdsort
Source lines: 30507 - 30530
Type subroutine
Call msdsort(bot,top,key1,key2,ord)
ModuleNone
Notes
  
 MSD radix sort key1, key2
  

mkdummy

Name of routine: mkdummy
Source lines: 30534 - 30556
Type subroutine
Call mkdummy(num, nfound, sx, numloc, buffer)
ModuleNone
Notes
 Create dummy records for added individals

asstyp

Name of routine: asstyp
Source lines: 30560 - 30581
Type subroutine
Call asstyp(nloci, loctyp, locpos, totloc, coltyp)
ModuleNone
Notes
 Assign a locus type to every column of data file

addvar

Name of routine: addvar
Source lines: 30585 - 30663
Type subroutine
Call addvar(wrk, wrk2, dclass, newloc, dataset, plevel)
ModuleNone
Notes
  
 Add extra blank columns to the dataset
  

addtmpvar

Name of routine: addtmpvar
Source lines: 30667 - 30686
Type subroutine
Call addtmpvar(tmpnam, dataset, tmppos, ifail)
ModuleNone
Notes
 Create a temporary quantitative variable

wrkout

Name of routine: wrkout
Source lines: 30690 - 30729
Type subroutine
Call wrkout(wrk, wrk2, ped, dataset, nped, nobs)
ModuleNone
Notes
 Write out current pedigree to a work file, updating number of records

pedin

Name of routine: pedin
Source lines: 30735 - 30802
Type subroutine
Call pedin(wrk, wrk2, nped, nobs, numloc, numcol, dataset)
ModuleNone
Notes
 Read pedigree back in from work files
 May allocate extra blank columns in dataset%plocus for later use
   by numcol > numloc

replacedata

Name of routine: replacedata
Source lines: 30809 - 31072
Type subroutine
Call replacedata(port, typ, nloci, loc, lochash, loctyp, locpos, chosen, hashtab, dataset, longest, plevel)
ModuleNone
Notes
 Read in data updates from a file
 file format: ped id loc1 loc2 ... locN, with header giving locus names
 uses hash to match up ids in file and current dataset
 and to match locus names in file to current dataset

concat

Name of routine: concat
Source lines: 31076 - 31100
Type subroutine
Call concat(dirnam, filnam)
ModuleNone
Notes
 Prefix filnam

extprefix

Name of routine: extprefix
Source lines: 31104 - 31123
Type subroutine
Call extprefix(filnam, suffix)
ModuleNone
Notes
 Extract prefix from filnam

extpath

Name of routine: extpath
Source lines: 31127 - 31144
Type subroutine
Call extpath(filnam)
ModuleNone
Notes
 Extract path from filnam 

slash

Name of routine: slash
Source lines: 31149 - 31163
Type subroutine
Call slash(dirnam, lend)
ModuleNone
Notes
 Test what character used to separate directories
 and append to directory

display

Name of routine: display
Source lines: 31167 - 31198
Type subroutine
Call display(str)
ModuleNone
Notes
 Print a string, stripping out C-style escapes

cat

Name of routine: cat
Source lines: 31202 - 31226
Type subroutine
Call cat(fil)
ModuleNone
Notes
 Display contents of a file

head

Name of routine: head
Source lines: 31230 - 31253
Type subroutine
Call head(fil, nlin)
ModuleNone
Notes
 Display first N lines of a file

countfields

Name of routine: countfields
Source lines: 31258 - 31380
Type subroutine
Call countfields(fil, plevel)
ModuleNone
Notes
 Utility to count number of columns in a file
   simpler scanner than args

fprinter

Name of routine: fprinter
Source lines: 31384 - 31543
Type subroutine
Call fprinter(nwords, words, linbuf, plevel)
ModuleNone
Notes
 Utility to extract columns from a file

sibloci

Name of routine: sibloci
Source lines: 31547 - 31578
Type subroutine
Call sibloci(ostr, nloci, loc, loctyp, outpos, map, locnotes)
ModuleNone
Notes
 write Sib-pair locus declarations 

wrmap

Name of routine: wrmap
Source lines: 31599 - 31874
Type subroutine
Call wrmap(ostr, typ, mapf, nloci, loc, loctyp, locnotes, nord, locord, group, map)
ModuleNone
Notes
  
 Write map
  
 10 = table for Sib-pair output
  0 = LINKAGE
  1 = LINKAGE plus dummy binary trait
  2 = GENEHUNTER plus dummy binary trait
  3 = GENEHUNTER
  4 = MENDEL
 14 = MENDEL free format
 20 = MENDEL .var file
  5 = ASPEX
  6 = MERLIN
  7 = LOKI
  8 = STRUCTURE
  9 = SOLAR
 11 = MORGAN
 12 = Haploview
 13 = PLINK    
  

pedhead

Name of routine: pedhead
Source lines: 31879 - 31944
Type subroutine
Call pedhead(strm, typ, pedmask, name_widths, name_formats, nwid, nloci, loc, loctyp)
ModuleNone
Notes
 
 Write out pedigree header with locus names
 either multiline (typ=1) or simple
 

onestripe

Name of routine: onestripe
Source lines: 31948 - 31985
Type subroutine
Call onestripe(strm, linenum, totlines, width, string, truncate)
ModuleNone
Notes
 Writing a string within a given rectangle: one line

pedout

Name of routine: pedout
Source lines: 31997 - 32200
Type subroutine
Call pedout(strm, header, pedmask, fieldsep, allsep, imp, nwid, ndec, misval, nrc, skip, filter, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
 
 Write out GAS style pedigree
 header=print variable names as header
 allsep=allele separator
 imp=show imputed genotypes
 nwid,ndec=format for quantitative trait values
 misval=missing data token
 nrc=number of records to print
 skip=number of records to skip at beginning
 filter=(1=show all) (2=flagged)

wrlink

Name of routine: wrlink
Source lines: 32217 - 32446
Type subroutine
Call wrlink(strm, typ, imp, addummy, liabclass, renumall, twinning, twintype, nwid, ndec, nloci, loctyp, locpos, nord, locord, dataset)
ModuleNone
Notes
 
 write out Linkage type file pre- or post- Makeped style

 style     typ property
 --------- --- --------
 lin, pre  1
 ppd       2   extra pedigree pointer fields
 gh        3   MISS='-', ordering binary_trait1, marker1...markerN, quantitative traits
 asp, tcl  4   marker names prepended to file
 hap       5   SNP alleles coded ACGT 1234
 mer       6   If present, zygosity indicator in column 6: 1,3,5...for each MZ set
 
 pre: ped id fa mo sex ...
 ppd: ped.n id.n fa.n mo.n child1.n patsibid.n matsibid.n sex proband.n ...
      where ped.n, id.n are sequential numerical ID number
 

wrphe

Name of routine: wrphe
Source lines: 32452 - 32526
Type subroutine
Call wrphe(strm, typ, nwid, ndec, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
  
 write out Mapmaker-Sibs/FBAT/etc phenotype file
 whitespace delimited ped id trait1...traitN  
 write out Mapmaker-Sibs phenotype file
  

wrcsv

Name of routine: wrcsv
Source lines: 32539 - 32789
Type subroutine
Call wrcsv(strm, typ, imp, nwid, ndec, sep, allsep, misval, twinning, twintype, nloci, loc, loctyp, locpos, nord, locord, dataset)
ModuleNone
Notes
  
 Write out pedigree as character-delimited
 typ
 1   full pedigree
 2   id,fa,mo,sex,ped,mztwin,hhid (for SOLAR)
 3   ped, id, phenotype_data
 4   id, phenotype_data
 5   ped, id, genotype_data
 6   id, genotype_data
 10  full pedigree with mztwin, na=' ' (for MENDEL 8.0)
 11  full pedigree with mztwin, na='.' (for SAS)
  

wrmorg

Name of routine: wrmorg
Source lines: 32796 - 32952
Type subroutine
Call wrmorg(strm, typ, nwid, ndec, nloci, loc, loctyp, locpos, smlfreq, smlpen, dataset)
ModuleNone
Notes
  
 Write out pedigree for Morgan
 typ
 1   pedigree and traits
 2   id, markers
  

wrfish

Name of routine: wrfish
Source lines: 32956 - 33078
Type subroutine
Call wrfish(strm, ndec, twinning, twintype, nloci, loctyp, locpos, nord, locord, dataset, fstyle, plevel)
ModuleNone
Notes
  
 write out FISHER or MENDEL type pedigree file
  

wrdot

Name of routine: wrdot
Source lines: 33082 - 33184
Type subroutine
Call wrdot(strm, trait, gene, allsep, trcoly, trcoln, trcolx, dataset)
ModuleNone
Notes
  
 Describe pedigree using dot graphics language
  

wrarl

Name of routine: wrarl
Source lines: 33188 - 33337
Type subroutine
Call wrarl(strm, popind, typ, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
 write out Arlequin data file (haplotype or genotype data)

wrprd

Name of routine: wrprd
Source lines: 33341 - 33385
Type subroutine
Call wrprd(strm, typ, trait, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
 write out data file used by Jonathon Pritchard's structure program

wrbeagle

Name of routine: wrbeagle
Source lines: 33390 - 33506
Type subroutine
Call wrbeagle(strm, typ, dataset)
ModuleNone
Notes
 write out data file used by Browning and Browning's Beagle program
 exclude MZ cotwins

wrsnp

Name of routine: wrsnp
Source lines: 33512 - 33586
Type subroutine
Call wrsnp(strm, trait, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
 Write out SNP-major data file with
 integer genotype encoding used by ROADTRIPS
   genotypes are -9,0,1,2

wrpap

Name of routine: wrpap
Source lines: 33590 - 33717
Type subroutine
Call wrpap(trip, phen, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
 Write out old-style PAP pedigree

wrcri

Name of routine: wrcri
Source lines: 33721 - 33787
Type subroutine
Call wrcri(strm, nloci, loc, loctyp, locpos, locord, dataset)
ModuleNone
Notes
  
 Write out .gen pedigree file for CRI-MAP
  

wrbed

Name of routine: wrbed
Source lines: 33791 - 33954
Type subroutine
Call wrbed(strm, filnam, trait, allele_buffer, dataset)
ModuleNone
Notes
 Write PLINK .bed format (also used by MENDEL 10.0+)

simdata

Name of routine: simdata
Source lines: 33958 - 34017
Type subroutine
Call simdata(strm, nped, ngen, nminoff, nmaxoff, totloc)
ModuleNone
Notes
 Write a file of simulated pedigrees

showdata

Name of routine: showdata
Source lines: 34021 - 34148
Type subroutine
Call showdata(fped, fid, larg, words, nloci, loc, loctyp, locpos, dataset, pedmask, nwid, ndec, misval, fieldsep, allsep, pstyle)
ModuleNone
Notes
  
 Write out data for particular pedigree or particular person
  

wrind

Name of routine: wrind
Source lines: 34152 - 34244
Type subroutine
Call wrind(idx, nloci, loc, loctyp, locpos, dataset, pedmask, nwid, ndec, misval, allsep, pstyle)
ModuleNone
Notes
  
 Write out data for an individual
  

wrvert

Name of routine: wrvert
Source lines: 34248 - 34326
Type subroutine
Call wrvert(nloci, loc, loctyp, locpos, dataset, nwid, ndec, allsep)
ModuleNone
Notes
  
 Write out data for individuals vertically
  

prgtp

Name of routine: prgtp
Source lines: 34330 - 34344
Type subroutine
Call prgtp(idx, gene, dataset, gtp)
ModuleNone
Notes
 print one genotype from dataset

wrid

Name of routine: wrid
Source lines: 34349 - 34369
Type subroutine
Call wrid(just, id, chid, sx)
ModuleNone
Notes
  
 Write id as justified (l,c,r) string, possibly indicating sex
 as male [101] or female (102)
  

decgtp

Name of routine: decgtp
Source lines: 34373 - 34386
Type subroutine
Call decgtp(value, g1, g2)
ModuleNone
Notes
  
 Decode genotype code
  

encgtp

Name of routine: encgtp
Source lines: 34390 - 34400
Type function
Call encgtp(a1, a2)
ModuleNone
Notes
 Hash a genotype
  

iencgtp

Name of routine: iencgtp
Source lines: 34404 - 34416
Type function
Call iencgtp(a1, a2)
ModuleNone
Notes
 Hash an integer genotype
  

encchr

Name of routine: encchr
Source lines: 34420 - 34441
Type subroutine
Call encchr(chr, val)
ModuleNone
Notes
 Hash a chromosome retaining nice collation order

decchr

Name of routine: decchr
Source lines: 34445 - 34464
Type subroutine
Call decchr(val, chr)
ModuleNone
Notes
 Unhash a chromosome

wrpercent

Name of routine: wrpercent
Source lines: 34468 - 34478
Type function
Call wrpercent(num, den)
ModuleNone
Notes
 Write out a percentage

wrpercentd

Name of routine: wrpercentd
Source lines: 34480 - 34490
Type function
Call wrpercentd(num, den)
ModuleNone

wrtrait

Name of routine: wrtrait
Source lines: 34494 - 34565
Type subroutine
Call wrtrait(value, str, typ, catlabels, nwid, ndec)
ModuleNone
Notes
  
 Write out trait value to a string
  

get_snpallele1

Name of routine: get_snpallele1
Source lines: 34569 - 34582
Type subroutine
Call get_snpallele1(locnote, alleles)
ModuleNone
Notes
 Extract alleles from locus annotation of form "A/B" to string "AB"

get_snpallele2

Name of routine: get_snpallele2
Source lines: 34586 - 34607
Type subroutine
Call get_snpallele2(locnote, allele_buffer)
ModuleNone
Notes
 Extract alleles from locus annotation of form "A/B" to allele data structure

wrgtp

Name of routine: wrgtp
Source lines: 34611 - 34659
Type subroutine
Call wrgtp(all1, all2, gtp, allsep, typ)
ModuleNone
Notes
 Write out a genotype

wrall

Name of routine: wrall
Source lines: 34663 - 34680
Type subroutine
Call wrall(iall, allel)
ModuleNone
Notes
 Write an allele 

juststr

Name of routine: juststr
Source lines: 34684 - 34711
Type subroutine
Call juststr(just,string,length)
ModuleNone
Notes
 Justify a string of characters within a string

ascend

Name of routine: ascend
Source lines: 34715 - 34722
Type subroutine
Call ascend(n, ia)
ModuleNone
Notes
 
 Initialize array with value of index
 

connect

Name of routine: connect
Source lines: 34726 - 34826
Type subroutine
Call connect(num, fa, mo, set, nsub, maxgrp)
ModuleNone
Notes
 See if all members of a pedigree are connected

addlist

Name of routine: addlist
Source lines: 34831 - 34841
Type subroutine
Call addlist(pos, idx, set)
ModuleNone
Notes
 Shift an individual from the list of ungrouped individuals
 to the appropriate group (subpedigree) nucleating around the index person.

findlist

Name of routine: findlist
Source lines: 34845 - 34860
Type subroutine
Call findlist(trget, num, set, pos)
ModuleNone
Notes
 Find list number <target>

badloop

Name of routine: badloop
Source lines: 34864 - 34932
Type subroutine
Call badloop(pedigree, num, id, key, fa, mo, nerr)
ModuleNone
Notes
 Find pathological loops in current pedigree

wrsubped

Name of routine: wrsubped
Source lines: 34936 - 34974
Type subroutine
Call wrsubped(pedigree, num, id, key, set, nsub, maxgrp, plevel)
ModuleNone
Notes
 List the members of pedigree(s)

gener

Name of routine: gener
Source lines: 34980 - 35151
Type subroutine
Call gener(pedigree, num, fa, mo, nsub, set, ord, higen, nerr, plevel)
ModuleNone
Notes
 Work out generation number ord().
 Visit every person in each subpedigree in turn.
 The missing value for generation must be a large negative value.

dogen

Name of routine: dogen
Source lines: 35156 - 35293
Type subroutine
Call dogen(dataset, trait, typ, plevel)
ModuleNone
Notes
 Write out pedigrees as list of nuclear families plus marry-ins by
 generation number

wrgen

Name of routine: wrgen
Source lines: 35298 - 35355
Type subroutine
Call wrgen(ped, dataset, curped, set, higen, ord)
ModuleNone
Notes
 Write out structure and generation numbers
   List of sibships by generation number

tidydata

Name of routine: tidydata
Source lines: 35359 - 35406
Type subroutine
Call tidydata(nloci, loctyp, locpos, dataset, tottyp)
ModuleNone
Notes
 Round up allele sizes etc

duplicates

Name of routine: duplicates
Source lines: 35410 - 35449
Type subroutine
Call duplicates(dataset, plevel)
ModuleNone
Notes
 Check for duplicate pedigrees or records

showdups

Name of routine: showdups
Source lines: 35453 - 35481
Type subroutine
Call showdups(pos, ncopies, pedname, pedpos, dataset, plevel)
ModuleNone
Notes
 Print the duplicates for current pedigree

testhap

Name of routine: testhap
Source lines: 35485 - 35690
Type subroutine
Call testhap(typ, nloci, loc, loctyp, locpos, dataset, inconsist, plevel)
ModuleNone
Notes
 Check haploid markers 1=Y 2=Mit

testsex

Name of routine: testsex
Source lines: 35714 - 35972
Type subroutine
Call testsex(sexcrit, sexmarker, nloci, loc, lochash, loctyp, locpos, dataset, allele_buffer, inconsist, plevel)
ModuleNone
Notes
 Check sex using sex-linked markers assuming false het call rate z

 Male outcomes     A        AB         B
                 p(1-z)     z         q(1-z)

 Female outcomes   A        AB         BB
                pp(1-z) 2pq+z(1-2pq)  qq(1-z)

 LR(G=AB) = Pr(AB|Sex=M)/Pr(AB|Sex=Female)
                  z
          = -----------------------
               2pq+z(1-2pq)
          = z/(2pq+z(1-2pq))

 LR(G=AA) = Pr(A|Sex=M)/Pr(AA|Sex=Female)
                  p
          = -----------------------
                 p^2
          = 1/p

 Absence of Y-haplotype data can be female sex or ungenotyped

mzgtp

Name of routine: mzgtp
Source lines: 35976 - 36134
Type subroutine
Call mzgtp(mztwin, gt, thresh, nloci, loc, loctyp, locpos, dataset, inconsist, plevel)
ModuleNone
Notes
 Test monozygotic twins

dropt2

Name of routine: dropt2
Source lines: 36139 - 36332
Type subroutine
Call dropt2(mztwin, gt, thresh, typ, nloci, loc, loctyp, locpos, dataset, plevel)
ModuleNone
Notes
  
 Delete MZ twin with least phenotype information out of pair
 or clean MZ genotypes
  

countmz

Name of routine: countmz
Source lines: 36336 - 36448
Type subroutine
Call countmz(mztwin, gt, thresh, dataset, plevel)
ModuleNone
Notes
 Count up MZ twins, triplets, quads, higher

mzfind

Name of routine: mzfind
Source lines: 36453 - 36609
Type subroutine
Call mzfind(typ, mztrait, nloci, loc, loctyp, locpos, dataset, plevel)
ModuleNone
Notes
 Find MZ twins/duplicates based on genotype concordance
 Abort pairwise comparison after <nfailure> mismatches
 

mztest

Name of routine: mztest
Source lines: 36614 - 36651
Type subroutine
Call mztest(id1, id2, nmark, mark, dataset, nfailure, nonmatch, typed, istwin)
ModuleNone
Notes
 Test if pair are genetically identical, aborting if
   nfailure nonmatches

testage

Name of routine: testage
Source lines: 36655 - 36710
Type subroutine
Call testage(typ, locnam, trait, thresh, dataset, droperr)
ModuleNone
Notes
 Test ages or DOB for consistency

testpage

Name of routine: testpage
Source lines: 36714 - 36762
Type subroutine
Call testpage(typ, trait, ped, idx, parent, thresh, dataset, droperr)
ModuleNone
Notes
 Test a parent

ckibs

Name of routine: ckibs
Source lines: 36767 - 36871
Type subroutine
Call ckibs(nloci, loctyp, locpos, allele_buffer, dataset)
ModuleNone
Notes
 Check if multilocus ibs sharing for pairs of sibs is consistent
 with purported relationship.  Again as per Bishop et al 1990

ibskin

Name of routine: ibskin
Source lines: 36878 - 37054
Type subroutine
Call ibskin(typ, trait, gt, thresh, nloci, loc, loctyp, locpos, dataset, plevel)
ModuleNone
Notes
 Estimate kinship coefficients based on overall ibs sharing
 EM algorithm of Choi et al Genet Epidemiol 33:668-678
 Either founders only (typ=1), all individuals (typ=2), 
 within pedigrees (typ=3), or subsetted on a phenotype (typ=4)

ibskin_one

Name of routine: ibskin_one
Source lines: 37059 - 37179
Type subroutine
Call ibskin_one(peri, perj, nmark, mark, locpos, alleles, dataset, useful, ibscoef)
ModuleNone
Notes
 Estimate kinship coefficients based on overall ibs sharing
 One pair of relatives

emibskin

Name of routine: emibskin
Source lines: 37183 - 37229
Type subroutine
Call emibskin(nmark, nused, ibscoef, k0, k1, k2, plevel)
ModuleNone
Notes
 EM approach of Choi et al 2009

genmatch

Name of routine: genmatch
Source lines: 37234 - 37373
Type subroutine
Call genmatch(tped, tid, nloci, loc, loctyp, locpos, dataset)
ModuleNone
Notes
  
 Find closest match of genotypes between index person and all other
 active individuals
  

cntibs

Name of routine: cntibs
Source lines: 37377 - 37409
Type subroutine
Call cntibs(idx, nmark, geno, ord, locpos, dataset, nmatch, ibs)
ModuleNone
Notes
  
 IBS at specified set of markers
  

bluefreq

Name of routine: bluefreq
Source lines: 37417 - 37562
Type subroutine
Call bluefreq(gene, filter, gt, thresh, dataset, allele_buffer, plevel)
ModuleNone
Notes
 BLUE allele frequency estimator of McPeek et al 2004

 a = (1' L^(-1) 1)^(-1) 1' L^(-1) Z
 Var(a) = 0.5 * (1' L^(-1) 1)^(-1) a(1-a)
 Z=ith allele count L=NRM
 

domqls

Name of routine: domqls
Source lines: 37566 - 37922
Type subroutine
Call domqls(typ, trait, gt, thresh, gene, locnam, prev, dataset, allele_buffer, iter, pval, plevel)
ModuleNone
Notes
 MQLS of Bourgain et al 2003, Thornton et al 2007
 

corchi

Name of routine: corchi
Source lines: 37927 - 38243
Type subroutine
Call corchi(trait, loctyp, gene, locnam, prev, dataset, allele_buffer, iter, pval, plevel)
ModuleNone
Notes
 WQLS association chi-square 
 extending Bourgain et al 2003 to categorical traits with more than 2 levels
 

freq

Name of routine: freq
Source lines: 38251 - 38393
Type subroutine
Call freq(gene, loctyp, fndr, dataset, allele_buffer)
ModuleNone
Notes
  
 Count alleles in entire sample -- codominant system
 Either unweighted or weighted by number of founders in pedigree
  
 If imputation has been done and fndr=2, then return the
 count of alleles in the founders, both observed and imputed
  

tab

Name of routine: tab
Source lines: 38398 - 38433
Type subroutine
Call tab(curr, allele_buffer, wei)
ModuleNone
Notes
  
 update table of counts of alleles -- binary search and insertion sort
 if allele_buffer too small, increase size
  

wrfreq

Name of routine: wrfreq
Source lines: 38437 - 38689
Type subroutine
Call wrfreq(strm, locnam, group, mappos, locnote, allele_buffer, fstyle)
ModuleNone
Notes
  
 Write out frequencies in 20 different styles
  

getchr

Name of routine: getchr
Source lines: 38694 - 38744
Type subroutine
Call getchr(locnam, locnote, chr)
ModuleNone
Notes
 Get chromosome number from a locus name of form "DnnSn" ^[Dd][0-9]+[Ss]$
 or an annotation of form "chr NN" \<[Cc][Hh][Rr][ :]*[0-9]+\>

thischr

Name of routine: thischr
Source lines: 38748 - 38777
Type subroutine
Call thischr(string, eos, pos, chr)
ModuleNone
Notes
 Read a chromosome number from a string after the start position [1-9]|[1-4][0-9]|X|Y

chrnum

Name of routine: chrnum
Source lines: 38781 - 38794
Type function
Call chrnum(chr)
ModuleNone
Notes
 Convert the chromosome number to an integer

precis

Name of routine: precis
Source lines: 38799 - 38833
Type subroutine
Call precis(numal, allele_freqs, ndec)
ModuleNone
Notes
  
 remove rounding errors in allele frequencies printed out to precision ndec
 from f3.1 to f9.7
  

uninf

Name of routine: uninf
Source lines: 38837 - 38848
Type function
Call uninf(numal, allele_freqs)
ModuleNone
Notes
  
 Frequency of uninformative matings for marker locus
  

getfreq

Name of routine: getfreq
Source lines: 38852 - 38873
Type function
Call getfreq(allele, allele_set)
ModuleNone
Notes
 
 find allele frequency
  

getnam

Name of routine: getnam
Source lines: 38877 - 38905
Type function
Call getnam(rall, allele_set)
ModuleNone
Notes
  
 find index for allele
  

get_namedgeno

Name of routine: get_namedgeno
Source lines: 38909 - 38923
Type subroutine
Call get_namedgeno(idx, gene, gen2, dataset, allele_set, g1, g2)
ModuleNone
Notes
  
 find indices for i'th individual's genotype
  

match

Name of routine: match
Source lines: 38927 - 38948
Type subroutine
Call match(ival,num,key,pos)
ModuleNone
Notes
  
 Binary search for position of value in an ascending sorted array -- integer
  

dmatch

Name of routine: dmatch
Source lines: 38952 - 38973
Type subroutine
Call dmatch(val, num, key, pos)
ModuleNone
Notes
  
 Binary search for position of value in an ascending sorted array -- double precision
  

actped

Name of routine: actped
Source lines: 38981 - 39141
Type subroutine
Call actped(typ, red, pedfil, nloci, loc, loctyp, locpos, outpos, locnotes, typed, dataset, plevel)
ModuleNone
Notes
  
 summarize current pedigree file
 typ=1 as for info
     2 numbers typed at each locus
     3 numbers typed at active loci
     4 numbers missing at each locus

sumped

Name of routine: sumped
Source lines: 39145 - 39207
Type subroutine
Call sumped(nloci, loctyp, locpos, dataset)
ModuleNone
Notes
 Summary statistics on families
    

countships

Name of routine: countships
Source lines: 39211 - 39228
Type function
Call countships(ped, dataset)
ModuleNone
Notes
 Count matings/sibships in current family

listpeds

Name of routine: listpeds
Source lines: 39232 - 39264
Type subroutine
Call listpeds(dataset, typ)
ModuleNone
Notes
 List all pedigree IDs

listids

Name of routine: listids
Source lines: 39268 - 39361
Type subroutine
Call listids(dataset, ithresh, plevel)
ModuleNone
Notes
 Tabulate all active IDs

listchroms

Name of routine: listchroms
Source lines: 39365 - 39388
Type subroutine
Call listchroms(nloci, loctyp, group)
ModuleNone
Notes
 Table of number of markers per chromosome

check

Name of routine: check
Source lines: 39401 - 39676
Type subroutine
Call check(checkall, nloci, loc, loctyp, locpos, locnotes, dataset, droperr, ndiscard, inconsist, plevel)
ModuleNone
Notes
 check for simple inconsistencies between child and parent
 if requested, delete any problem genotypes (up to and including
 all genotypes for a nuclear family)
  
 error                                     action if droperr
 ----------------------------------------  ----------------------------
 11=single parent-offspring inconsistency  delete child genotype
 12=Multiple p-o inconsistencies           delete all nuclear fam genos
 13=Inconsistencies between siblings       delete all nuclear fam genos
 14=More than 4 alleles segregating        delete all nuclear fam genos
  

addall

Name of routine: addall
Source lines: 39680 - 39696
Type subroutine
Call addall(iall, nall, allmax, allele)
ModuleNone
Notes
  
 identify parental alleles in nuclear family
  

nuchek

Name of routine: nuchek
Source lines: 39700 - 39787
Type subroutine
Call nuchek(xlinkd, ptyped, p11, p12, p21, p22, nkids, set, xmale, nall, allele, thiserr)
ModuleNone
Notes
  
 nuclear family consistency check (untyped parents)
  

famerr

Name of routine: famerr
Source lines: 39791 - 39827
Type subroutine
Call famerr(locnam, gene, xlinkd, ped, dataset, currf, currm, badchild, sta, fin, errtyp, plevel)
ModuleNone
Notes
  
 Write out nuclear family error
  

inderr

Name of routine: inderr
Source lines: 39831 - 39850
Type subroutine
Call inderr(idx, locnam, gene, gen2, dataset)
ModuleNone
Notes
  
 write genotype for an individual flagged as a Mendelian error
  

remove

Name of routine: remove
Source lines: 39854 - 39867
Type subroutine
Call remove(idx, gene, dataset, ndiscard)
ModuleNone
Notes
  
 Remove a genotype from data 
  

remfam

Name of routine: remfam
Source lines: 39871 - 39887
Type subroutine
Call remfam(currf, currm, sta, fin, gene, dataset, ndiscard)
ModuleNone
Notes
  
 drop a nuclear family's genotypes
  

parcon

Name of routine: parcon
Source lines: 39893 - 39912
Type function
Call parcon(c1, c2, p11, p12, p21, p22, xmale)
ModuleNone
Notes
  
 Tests if child genotype consistent with parental genotypes:
 parcon=4*Pr(Child_genotype|Father_genotype,Mother_genotype)
 if xmale  TRUE then X-linked locus *and* male child
  

opcon

Name of routine: opcon
Source lines: 39916 - 39923
Type function
Call opcon(c1,c2,p1,p2)
ModuleNone
Notes
  
 test if child genotype consistent with one parental genotype
  

shipcon

Name of routine: shipcon
Source lines: 39927 - 39944
Type function
Call shipcon(pg1, pg2, mg1, mg2, nkids, set, xmale)
ModuleNone
Notes
 test consistency of a sibship with parents

couple

Name of routine: couple
Source lines: 39949 - 39966
Type subroutine
Call couple(idx,tot,rang,i1,i2)
ModuleNone
Notes
  
 Enumerate all combinations of i ~ I(1..range) with itself
 If index=tot then return last tuple
  

whall

Name of routine: whall
Source lines: 39970 - 39985
Type function
Call whall(iall,nall,allele)
ModuleNone
Notes
  
 Find index of allele segregating in nuclear family
  

describe

Name of routine: describe
Source lines: 39989 - 40255
Type subroutine
Call describe(locnam, gene, xlinkd, ped, dataset, currf, currm, sta, fin, mesg)
ModuleNone
Notes
  
 write out genotypes in nuclear family and grandparents
  

famset

Name of routine: famset
Source lines: 40260 - 40420
Type subroutine
Call famset(ped, dataset, currf, currm, sta, fin, gene, set, gset)
ModuleNone
Notes
 Write out phenoset for a nuclear family (plus grandparents and halfsibs)
 Useful in detecting sources of long distance Mendelian inconsistencies.

indset

Name of routine: indset
Source lines: 40424 - 40467
Type subroutine
Call indset(idx, gene, pedoffset, dataset, set, gset)
ModuleNone
Notes
 write out phenoset for an individual

allinset

Name of routine: allinset
Source lines: 40471 - 40487
Type function
Call allinset(idx, iall, ngeno, gset)
ModuleNone
Notes
 see if particular allele in phenoset for idx person

cntbad

Name of routine: cntbad
Source lines: 40491 - 40503
Type subroutine
Call cntbad(idx, ngeno, gset)
ModuleNone
Notes
 If phenoset contains zero legal genotypes, reconstruct last state

wroddall

Name of routine: wroddall
Source lines: 40507 - 40527
Type subroutine
Call wroddall(pedigree, parent, child, iall, partyp)
ModuleNone
Notes
 If find an odd-allele-out, write out its location

start

Name of routine: start
Source lines: 40532 - 40652
Type subroutine
Call start(maxtry, nloci, loc, loctyp, locpos, dataset, allele_buffer, inconsist, plevel)
ModuleNone
Notes
  
 If Lange-Goradia algorithm not used, initialize genotypes for random walk
 algorithms via a conditional gene dropping algorithm
  

workpointers

Name of routine: workpointers
Source lines: 40656 - 40681
Type subroutine
Call workpointers(ped, dataset, fa, mo, imztwin)
ModuleNone
Notes
 make parental pointers offset for local work array

dattoset

Name of routine: dattoset
Source lines: 40685 - 40713
Type subroutine
Call dattoset(sta, fin, gene, dataset, allele_buffer, set)
ModuleNone
Notes
 transfer genotypes to working array

startone

Name of routine: startone
Source lines: 40717 - 40801
Type subroutine
Call startone(maxtry, allele_buffer, num, nfound, fa, mo, sex, set, sibd, key, failid, plevel)
ModuleNone
Notes
 start genotypes for one pedigree

genof3

Name of routine: genof3
Source lines: 40807 - 40900
Type subroutine
Call genof3(idx, fa, mo, xmale, set, sibd, key, failid)
ModuleNone
Notes
  
 Drop ibd-alleles conditional on observed markers
 and randomly where marker genotype not observed -- restart
 if later generates inconsistency
  

fillin

Name of routine: fillin
Source lines: 40904 - 40956
Type subroutine
Call fillin(allele_buffer, num, nfound, set, sibd, key, sta, fin, gene, dataset)
ModuleNone
Notes
  
 infer missing genotypes based on sibd values after run of start
  

found

Name of routine: found
Source lines: 40960 - 40971
Type subroutine
Call found(cumfrq, allele)
ModuleNone
Notes
  
 founder frequency
  

coutyp

Name of routine: coutyp
Source lines: 40975 - 41014
Type subroutine
Call coutyp(nloci, loctyp, locpos, dataset, eligible, typed)
ModuleNone
Notes
  
 Give counts of typed individuals for each locus
  

thetaf

Name of routine: thetaf
Source lines: 41024 - 41041
Type function
Call thetaf(het, n)
ModuleNone
Notes
  
 Xu and Fu 2004 correction for thetaf=4Nu=1/2(1/F^2-1)
 where F is the observed homozygosity for the locus is:
 1/2 (1/F^2-1) = a thetaf + b sqrt(thetaf)
 where
 thetaf <=10                        >10
    a   1.1313+3.4882/n+28.2878/n^2ltyp,  1.1675+3.3232/n+63.698/n^2
    b   0.3998                      0.2569
  

mutage

Name of routine: mutage
Source lines: 41045 - 41057
Type subroutine
Call mutage(p, ne, r)
ModuleNone
Notes
 Age of an allele (Ohta, Nei, Rannala & Slatkin)

qtlpars

Name of routine: qtlpars
Source lines: 41061 - 41106
Type subroutine
Call qtlpars(p,m1,m2,m3,sd1,sd2,sd3)
ModuleNone
Notes
  
 Calculate variances for a given SML model
  

ccpen

Name of routine: ccpen
Source lines: 41112 - 41128
Type subroutine
Call ccpen(prev, pca, pco, typ)
ModuleNone
Notes
  
 Calculate penetrances for a particular prevalence and 
 case and control allele frequencies, assuming multiplicative model
 Controls are unaffected (1), or population (2)
  

grrpen

Name of routine: grrpen
Source lines: 41132 - 41165
Type subroutine
Call grrpen(model, prev, q, grr)
ModuleNone
Notes
  
 Calculate penetrances for a particular prevalence and genotypic RR
  

recrisk

Name of routine: recrisk
Source lines: 41169 - 41259
Type subroutine
Call recrisk(q,f1,f2,f3)
ModuleNone
Notes
  
 Calculate recurrence risks and risk ratios for given SML model
  

doito

Name of routine: doito
Source lines: 41263 - 41315
Type subroutine
Call doito(typ, pars)
ModuleNone
Notes
  
 Calculate GPE for a relative: ITO method
  

ito

Name of routine: ito
Source lines: 41319 - 41358
Type subroutine
Call ito(rel, q, r)
ModuleNone
Notes
 ITO calculation

tetcor

Name of routine: tetcor
Source lines: 41362 - 41374
Type function
Call tetcor(prev, prrr)
ModuleNone
Notes
 MFT heritability

brent_tet

Name of routine: brent_tet
Source lines: 41376 - 41384
Type function
Call brent_tet(r)
ModuleNone

dataset_uses

Name of routine: dataset_uses
Source lines: 41389 - 41405
Type function
Call dataset_uses(dataset)
ModuleNone

dataset_uses

Name of routine: dataset_uses
Source lines: 41407 - 41423
Type function
Call dataset_uses(dataset)
ModuleNone

macsub

Name of routine: macsub
Source lines: 41428 - 41539
Type subroutine
Call macsub(narg, words, commands, plevel)
ModuleNone
Notes
 Perform simple macro substitutions on contents of command buffer

macloop

Name of routine: macloop
Source lines: 41547 - 41636
Type subroutine
Call macloop(lin, nloci, loc, loctyp, commands, plevel)
ModuleNone
Notes
 Expand an iterator list of tokens in a command
 These implicit loops are signalled by a list surrounded by braces
 Implemented as a naive immediate macro expansion so:
   {1 2} + 1 -> 1 + 1; 2 + 1
   {1 2} + {1 2} -> 1 + {1 2}; 2 + {1 2} requiring further evaluation

macvar

Name of routine: macvar
Source lines: 41641 - 41717
Type subroutine
Call macvar(lin, commands, plevel)
ModuleNone
Notes
 Perform simple macro variable substitutions on contents of command buffer
 cf macro functions which are handled by macsub

parser

Name of routine: parser
Source lines: 41728 - 41866
Type subroutine
Call parser(nterm, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 Evaluate and apply simple expressions either
  
 (1) pure arithmetic, so no effect on pedigree file
 (2) Dry run, so can test if will lead to a legal effect on pedigree file
         all variables set to MISS
 (3) Pedigree operation -- individual-wise calculation and update
  
 The parser
  

simpev

Name of routine: simpev
Source lines: 41870 - 42103
Type subroutine
Call simpev(sta, fin, nterm, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 The non-compound evaluator
  

wrans

Name of routine: wrans
Source lines: 42107 - 42146
Type subroutine
Call wrans(prefix, nterm, expr, wtyp, wtag, val)
ModuleNone
Notes
  
 write out results of command line expression evaluation
  

legall

Name of routine: legall
Source lines: 42150 - 42164
Type function
Call legall(xall)
ModuleNone
Notes
  
 the legal range of alleles
  

isdata

Name of routine: isdata
Source lines: 42168 - 42173
Type function
Call isdata(idx)
ModuleNone
Notes
  
 Is a stack element a number, variable or operator
  

isenv

Name of routine: isenv
Source lines: 42177 - 42182
Type function
Call isenv(idx)
ModuleNone
Notes
 Is a stack element an automatic variable

isvar

Name of routine: isvar
Source lines: 42186 - 42191
Type function
Call isvar(idx)
ModuleNone
Notes
 Is a stack element data

isop

Name of routine: isop
Source lines: 42195 - 42200
Type function
Call isop(idx)
ModuleNone
Notes
 Is a stack element an operator

isvec

Name of routine: isvec
Source lines: 42204 - 42209
Type function
Call isvec(idx)
ModuleNone
Notes
 Is a stack element a genotype - both values of interest
  

ismis

Name of routine: ismis
Source lines: 42213 - 42218
Type function
Call ismis(idx)
ModuleNone
Notes
  
 Is a stack element missing data
  

addcolon

Name of routine: addcolon
Source lines: 42222 - 42257
Type subroutine
Call addcolon(nterm, wtyp, wtag, expr)
ModuleNone
Notes
 Convert (expr) (expr) to (expr : expr)

compop

Name of routine: compop
Source lines: 42261 - 42309
Type subroutine
Call compop(pos, sta, fin, nterm, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 compound operators eg <= >= == ^=
  

zerop

Name of routine: zerop
Source lines: 42313 - 42355
Type subroutine
Call zerop(pos, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 zero argument functions
  

unop

Name of routine: unop
Source lines: 42359 - 42517
Type subroutine
Call unop(pos, sta, fin, nterm, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 unary operators
  

binop

Name of routine: binop
Source lines: 42521 - 42752
Type subroutine
Call binop(pos, sta, fin, nterm, wtyp, wtag, expr, error)
ModuleNone
Notes
  
 binary operators
  

typwords

Name of routine: typwords
Source lines: 42771 - 42835
Type subroutine
Call typwords(farg, larg, words, nloci, loc, lochash, loctyp, wtyp, wtag, expr, actn)
ModuleNone
Notes
  
 Evaluate type of each term in expression word(farg...larg) and actn
 actn=0 error  =1 purely arithmetic  =2 legal
  
 Types are:         wtyp     wtag        expr
                    ----     --------    --------
 tokens             0        0...TOKNUM    -
 env                1        1...ENVNUM   (value)
 constant           2                      value
 trait data         2        1...NLOCI    (value)
 constant genotype  3                      value, value
 genotype data      3        1...NLOCI    (value, value)
 MISS               4                      MISS
 missing trait      4        1...NLOCI     MISS
 MISS genotype      5                      MISS/MISS
 missing trait      5        1...NLOCI     MISS/MISS
 NUM                6                      -
  

dryrun

Name of routine: dryrun
Source lines: 42840 - 42851
Type subroutine
Call dryrun(farg, larg, wtyp)
ModuleNone
Notes
  
 If checking arguments via dry run of parser,
 replace variable values with (generic) NUM
  

pull

Name of routine: pull
Source lines: 42855 - 42873
Type subroutine
Call pull(pos, dec, fin, nterm, typ, tag, expr)
ModuleNone
Notes
  
 Pull up expr
  

isgeno

Name of routine: isgeno
Source lines: 42877 - 42910
Type function
Call isgeno(string)
ModuleNone
Notes
  
  See if a string is a valid genotype
  

getgeno

Name of routine: getgeno
Source lines: 42914 - 42957
Type subroutine
Call getgeno(string, a1, a2, wtyp)
ModuleNone
Notes
  
  Get a valid genotype
  

incpos

Name of routine: incpos
Source lines: 42961 - 42970
Type subroutine
Call incpos(pos, minpos, maxpos)
ModuleNone
Notes
  
 Increment counter mod maxpos
  

getrelval

Name of routine: getrelval
Source lines: 42974 - 43190
Type subroutine
Call getrelval(relate, summary, locnam, loctyp, trait, sumval, dataset, plevel)
ModuleNone
Notes
 Get values for trait in relatives

priallval

Name of routine: priallval
Source lines: 43194 - 43271
Type subroutine
Call priallval(summary, trait, loctyp, ped, sumval, totobs, dataset, plevel)
ModuleNone
Notes
 Output single summary value for entire pedigree
 

prirelval

Name of routine: prirelval
Source lines: 43275 - 43449
Type subroutine
Call prirelval(relate, summary, trait, loctyp, ped, nobs, relid, sumval, totobs, dataset, plevel)
ModuleNone
Notes
 Output values for each eligible persion
 

evalped

Name of routine: evalped
Source lines: 43453 - 43765
Type subroutine
Call evalped(narg, words, nloci, loc, lochash, loctyp, locpos, locnotes, wtyp, wtag, expr, allele_buffer, dataset, chek, imp, droperr, plevel)
ModuleNone
Notes
  
 Evaluate expression for each pedigree member
  

findth

Name of routine: findth
Source lines: 43769 - 43804
Type subroutine
Call findth(nterm, wtyp, wtag, posif, posth, posel, posen)
ModuleNone
Notes
  
 Find if/then/else
  

findend

Name of routine: findend
Source lines: 43808 - 43839
Type subroutine
Call findend(sta, fin, nterm, wtyp, wtag, posen)
ModuleNone
Notes
 Find end of block

findwh

Name of routine: findwh
Source lines: 43843 - 43856
Type function
Call findwh(farg, larg, narg, args)
ModuleNone
Notes
  
 Find the start of a "where" clause on command line
  

findword

Name of routine: findword
Source lines: 43860 - 43874
Type function
Call findword(word, farg, larg, narg, args)
ModuleNone
Notes
  
 Find a keyword -- exact match
  

findbracket

Name of routine: findbracket
Source lines: 43880 - 43902
Type subroutine
Call findbracket(lb, rb, lin, sta, fin, istat)
ModuleNone
Notes
  
 Find matching bracket in string starting at a left bracket
   if unmatched, returns to end of line
   rb may equal lb, brackets may be nested
  

loadvar

Name of routine: loadvar
Source lines: 43909 - 44057
Type subroutine
Call loadvar(idx, nmark, nloci, loctyp, locpos, tot, nped, dataset, sta, fin, wtyp, wtag, expr)
ModuleNone
Notes
  
 Load variable values for ith individual
 code y and n as 1 and 0
 tot records number of active records evaluated to date
 nped records number of active pedigrees evaluated to date
  

doselect

Name of routine: doselect
Source lines: 44061 - 44199
Type subroutine
Call doselect(typ, nprob, farg, larg, words, nloci, loc, lochash, loctyp, locpos, wtyp, wtag, expr, dataset, nobs, plevel)
ModuleNone
Notes
  
 Select pedigrees where probands meet a given criterion v2
  

edit

Name of routine: edit
Source lines: 44203 - 44314
Type subroutine
Call edit(tped, tid, gene, loc, loctyp, all1, all2, dataset, plevel)
ModuleNone
Notes
 Edit alleles for particular gene for particular person

copydata

Name of routine: copydata
Source lines: 44320 - 44429
Type subroutine
Call copydata(typ, ped1, id1, ped2, id2, nloci, loc, loctyp, locpos, dataset, hashtab, plevel)
ModuleNone
Notes
 Copy data for person A to person B
 typ=1 overwrite at B if A nonmissing for that variable
 typ=2 insert data only where B is missing for that variable

selped

Name of routine: selped
Source lines: 44433 - 44487
Type subroutine
Call selped(typ, farg, larg, words, dataset, plevel)
ModuleNone
Notes
  
 include or exclude a list of pedigrees
  

unsel

Name of routine: unsel
Source lines: 44491 - 44544
Type subroutine
Call unsel(dataset, rollback, plevel)
ModuleNone
Notes
  
 unselect
  

docount

Name of routine: docount
Source lines: 44548 - 44815
Type subroutine
Call docount(typ, farg, larg, words, nloci, loc, lochash, loctyp, locpos, wtyp, wtag, expr, dataset, pedmask, nwid, ndec, misval, fieldsep, allsep, pstyle, plevel)
ModuleNone
Notes
  
 Count or print individuals per pedigree fulfilling criterion
  

seldel

Name of routine: seldel
Source lines: 44819 - 44941
Type subroutine
Call seldel(nord, locord, farg, larg, words, nloci, loc, lochash, loctyp, locpos, wtyp, wtag, expr, dataset, plevel)
ModuleNone
Notes
  
 Delete data for individuals fulfilling criterion
  

prexpr

Name of routine: prexpr
Source lines: 44945 - 44977
Type subroutine
Call prexpr(typ, nprob, farg, larg, words)
ModuleNone
Notes
  
 Echo action to be performed
  

marshare

Name of routine: marshare
Source lines: 44982 - 45019
Type subroutine
Call marshare(idx, nloci, loctyp, locpos, dataset, marcom)
ModuleNone
Notes
  
 Count maximum number of active markers where proband and
 any of relatives is genotyped at
  

hashids

Name of routine: hashids
Source lines: 45023 - 45040
Type subroutine
Call hashids(typ, dataset, hashtab, load, plevel)
ModuleNone
Notes
 Hash IDs

dohashids

Name of routine: dohashids
Source lines: 45042 - 45118
Type subroutine
Call dohashids(typ, dataset, hashtab, load, hasher, matcher, plevel)
ModuleNone

hashprint

Name of routine: hashprint
Source lines: 45120 - 45164
Type subroutine
Call hashprint(hashtab, dataset, loc, plevel)
ModuleNone

matchid

Name of routine: matchid
Source lines: 45168 - 45219
Type subroutine
Call matchid(keytyp, idstr1, idstr2, dataset, hashtab, iaddress, plevel)
ModuleNone
Notes
 Search for ID using hash

findids

Name of routine: findids
Source lines: 45223 - 45302
Type subroutine
Call findids(port, lin, hashtab, dataset, plevel)
ModuleNone
Notes
 Match list of IDs from file

sextable

Name of routine: sextable
Source lines: 45306 - 45333
Type subroutine
Call sextable(dataset)
ModuleNone
Notes
 Tabulate sexes

xtab

Name of routine: xtab
Source lines: 45337 - 45439
Type subroutine
Call xtab(analys, nloc, loclist, loc, locpos, loctyp, locnotes, dataset, iter, nwid, ndec, pval, plevel)
ModuleNone
Notes
  
 N-way cross-tabulation
  

maketab

Name of routine: maketab
Source lines: 45443 - 45494
Type subroutine
Call maketab(nloc, loclist, loc, locpos, loctyp, dataset, nmiss, table)
ModuleNone
Notes
 Generate crosstabulation

onetab

Name of routine: onetab
Source lines: 45498 - 45539
Type subroutine
Call onetab(loc, loctyp, locnotes, table, nmiss, nwid, ndec)
ModuleNone
Notes
  
 print summary of one-way table
  

listab

Name of routine: listab
Source lines: 45543 - 45590
Type subroutine
Call listab(nloc, loclist, loc, loctyp, locnotes, table, nmiss, nwid, ndec)
ModuleNone
Notes
  
 print listwise contingency table
  

wrtab

Name of routine: wrtab
Source lines: 45594 - 45849
Type subroutine
Call wrtab(analys, nloc, loclist, loc, loctyp, locnotes, table, nmiss, iter, nwid, ndec, pval)
ModuleNone
Notes
  
 print RxC contingency table
  

kwtest

Name of routine: kwtest
Source lines: 45853 - 45934
Type subroutine
Call kwtest(nloc, loclist, loc, loctyp, locnotes, martable1, martable2, table, nwid, ndec, pval)
ModuleNone
Notes
 Kruskal-Wallis test

logrank

Name of routine: logrank
Source lines: 45938 - 46129
Type subroutine
Call logrank(typ, nloc, loclist, loc, loctyp, locpos, locnotes, dataset, nwid, ndec, lrstat, df, pval, plevel)
ModuleNone
Notes
 Logrank test: table 1..(nloc-2)=covariate levels (nloc-1)=time nloc=censor 

simlogrank

Name of routine: simlogrank
Source lines: 46133 - 46449
Type subroutine
Call simlogrank(locnam, gene, onset, censor, iter, mincnt, dataset, allele_buffer, pval, plevel)
ModuleNone
Notes
 Logrank association test: gene time censor 

survtab

Name of routine: survtab
Source lines: 46453 - 46477
Type subroutine
Call survtab(timelev, ngroups, table, dij, cij, nij, ni, di)
ModuleNone
Notes
 Life table logrank test

calclogrank

Name of routine: calclogrank
Source lines: 46481 - 46536
Type subroutine
Call calclogrank(timelev, ngroups, ns2, di, ni, naff, cij, dij, nij, ediff, vardiff, vinv, lrstat, df)
ModuleNone
Notes
 Calculate log rank statistic

pedtab

Name of routine: pedtab
Source lines: 46540 - 46589
Type subroutine
Call pedtab(gene, loctyp, locnotes, dataset, nwid, ndec, plevel)
ModuleNone
Notes
 One-way tabulation by pedigree

fitloglin

Name of routine: fitloglin
Source lines: 46593 - 47037
Type subroutine
Call fitloglin(sta, fin, terms, nloci, loc, loctyp, locpos, locnotes, dataset, mlik, mpar, pval, nwid, ndec, plevel)
ModuleNone
Notes
 Fit poisson model to a contingency table

strattyp

Name of routine: strattyp
Source lines: 47042 - 47209
Type subroutine
Call strattyp(trait, nloci, loc, loctyp, locpos, locnotes, locord, dataset, locstat, plevel)
ModuleNone
Notes
  
 Tabulate counts of typed individuals for each locus versus 
 stratifying variables
  

dohwe

Name of routine: dohwe
Source lines: 47213 - 47472
Type subroutine
Call dohwe(locnam, gene, loctyp, iter, mincnt, hwefnd, norder, dataset, outp, plevel)
ModuleNone
Notes
  
 Monte-Carlo test for HWE
  

tabgen

Name of routine: tabgen
Source lines: 47479 - 47497
Type subroutine
Call tabgen(a1, a2, xmale, ngcount, gcount)
ModuleNone
Notes
  
 Increment counts of genotypes and alleles for HWE test
 Storage of allele counts in gcount(,2) indexed from 1..nall
 Genotypes indexed from 1..ngtp by gcount(,1).
 Males contribute to allele counts but not genotype counts
  

hwep

Name of routine: hwep
Source lines: 47501 - 47555
Type subroutine
Call hwep(numal)
ModuleNone
Notes
  
 Calculate HWE Chi-square for table entered on command line
  

hwechi

Name of routine: hwechi
Source lines: 47559 - 47602
Type function
Call hwechi(numal, ngcount, gcount, tot, totmal)
ModuleNone
Notes
  
 Calculate Gibbs chi-square for HWE
  

hwe2

Name of routine: hwe2
Source lines: 47607 - 47634
Type subroutine
Call hwe2(n11, n12, n22, pa, pvalue)
ModuleNone
Notes
  
 calculate hwe test for diallelic autosomal marker
  

dhwe2

Name of routine: dhwe2
Source lines: 47638 - 47652
Type function
Call dhwe2(n11, n12, n22)
ModuleNone
Notes
  
 hypergeometric for diallelic genotypes under hwe
  

domar

Name of routine: domar
Source lines: 47656 - 47760
Type subroutine
Call domar(gene, dataset, allele_buffer, plevel)
ModuleNone
Notes
 Do ibs sharing in parents

margen

Name of routine: margen
Source lines: 47764 - 47856
Type subroutine
Call margen(gene, dataset, allele_buffer, iter, plevel)
ModuleNone
Notes
 Tabulate maternal v. paternal genotypes

invmap

Name of routine: invmap
Source lines: 47860 - 47872
Type function
Call invmap(x,mapf)
ModuleNone
Notes
  
 inverse Haldane (mapf=1) or Kosambi (mapf=2) mapping x cM to r
  

doplot

Name of routine: doplot
Source lines: 47878 - 47973
Type subroutine
Call doplot(fil, typ, xtrait, ytrait, ztrait, xlab, ylab, zlab, pedfil, dataset)
ModuleNone
Notes
  
 Produce a scatterplot of two traits
 typ=1 scatterplot
    =2 dotplot (xtrait is categorical)
  

dohist

Name of routine: dohist
Source lines: 47977 - 48069
Type subroutine
Call dohist(locnam, histcat, cat, table, nwid, ndec, outfil)
ModuleNone
Notes
  
 Produce a histogram with histcat intervals from sorted tabulation
  

sumucsc

Name of routine: sumucsc
Source lines: 48073 - 48090
Type subroutine
Call sumucsc(chr)
ModuleNone
Notes
 Summarize test statistics for UCSC browser

tabstat

Name of routine: tabstat
Source lines: 48094 - 48175
Type subroutine
Call tabstat(plevel)
ModuleNone
Notes
 Summarize test statistics

sumstat

Name of routine: sumstat
Source lines: 48179 - 48213
Type subroutine
Call sumstat(numval, plevel)
ModuleNone
Notes
 Show ranked test statistics

rankstat

Name of routine: rankstat
Source lines: 48217 - 48235
Type subroutine
Call rankstat(nvar)
ModuleNone
Notes
 Rank the test statistics (nvar=no. nonmissing values)

sumplot

Name of routine: sumplot
Source lines: 48239 - 48299
Type subroutine
Call sumplot(fil)
ModuleNone
Notes
  
 Produce a plot of P-values
  

qqplot

Name of routine: qqplot
Source lines: 48303 - 48346
Type subroutine
Call qqplot(fil)
ModuleNone
Notes
  
 Produce a Q-Q (quantile-quantile) plot of P-values
  

selstat

Name of routine: selstat
Source lines: 48350 - 48369
Type subroutine
Call selstat(message, thresh, gt, plevel)
ModuleNone
Notes
 Select loci (wloc) based on test on value of locstat

traceplot

Name of routine: traceplot
Source lines: 48373 - 48407
Type subroutine
Call traceplot(fil, nobs, nmult, yvals)
ModuleNone
Notes
  
 Produce a MCMC trace
  

filliben

Name of routine: filliben
Source lines: 48415 - 48461
Type subroutine
Call filliben(table)
ModuleNone
Notes
  
 Filliben correlation here testing for normality
  
   m(i) = 1 - m(n) for i = 1
   m(i) = (i - 0.3175)/(n + 0.365) for i = 2, 3, ..., n-1
   m(i) = 0.5**(1/n) for i = n
  

symtest

Name of routine: symtest
Source lines: 48469 - 48522
Type subroutine
Call symtest(table)
ModuleNone
Notes
  
 David & Johnson's Jr test for symmetry of a distribution
 Resek Busi Stat 1975; 546-551
 Doksum Biometrika 1977; 64: 473-487
  
 Standard error of Jr based on simulations under Gaussian true distribution
  

unidens

Name of routine: unidens
Source lines: 48535 - 48668
Type subroutine
Call unidens(num, xvals, xmode, plevel)
ModuleNone
Notes
 Unimodal density estimation using modified PAVA algorithm
 adapted from code written by Mary Meyer
 Statistica Sinica 11(2001), 1159-1174
    AN ALTERNATIVE UNIMODAL DENSITY ESTIMATOR
         WITH A CONSISTENT ESTIMATE OF THE MODE
                                         Mary C. Meyer
                                       University of Georgia
       
 starts with unimodal interval and then does LCM and GCM on either side
 Approach is a NPMLE modified to handle the unknown mode case - with penalty on mode

evdtailp

Name of routine: evdtailp
Source lines: 48676 - 48694
Type function
Call evdtailp(n, mm, xvals, xnew)
ModuleNone
Notes
 Tail estimation procedure of Davis and Resnick (1984; Ann Stat 12:1467-87)
 Pareto tail estimate from order statistics per extreme value theory.
 xvals(1:(m+2)) contains the ordered m highest out of n values 
 where xvals(1) is work space, xvals(2) = b = the n-m'th order statistic,
 a is the tail index, here estimated using Hill's (1975) estimator.

clcmcn

Name of routine: clcmcn
Source lines: 48698 - 48707
Type function
Call clcmcn(b,c)
ModuleNone
Notes
  
 calculate McNemar statistic
  

binz

Name of routine: binz
Source lines: 48711 - 48720
Type function
Call binz(x, n, e)
ModuleNone
Notes
  
 normal approx binomial deviate
  

ftdev

Name of routine: ftdev
Source lines: 48724 - 48729
Type function
Call ftdev(o,e)
ModuleNone
Notes
 
 Freeman-Tukey deviates
 

clcpos

Name of routine: clcpos
Source lines: 48734 - 48743
Type function
Call clcpos(i,j)
ModuleNone
Notes
  
 find index of coefficient for pair i,j in a lower triangular matrix
 stored as a 1-D array
  

copy

Name of routine: copy
Source lines: 48747 - 48754
Type subroutine
Call copy(n, ia, ib)
ModuleNone
Notes
  
 Copy integer array A to integer array B
  

filltri

Name of routine: filltri
Source lines: 48758 - 48777
Type subroutine
Call filltri(n, nn, a, dval, oval)
ModuleNone
Notes
  
 Load a lower triangular matrix
  

ln

Name of routine: ln
Source lines: 48781 - 48789
Type function
Call ln(x)
ModuleNone
Notes
  
 zero-trapped log
  

logit

Name of routine: logit
Source lines: 48793 - 48803
Type function
Call logit(p)
ModuleNone
Notes
  
 logit of p
  

alogit

Name of routine: alogit
Source lines: 48807 - 48811
Type function
Call alogit(x)
ModuleNone
Notes
  
 Reverse logit
  

inht

Name of routine: inht
Source lines: 48815 - 48819
Type function
Call inht(x)
ModuleNone
Notes
  
 Inverse hyperbolic tan
  

fishzse

Name of routine: fishzse
Source lines: 48823 - 48827
Type function
Call fishzse(n)
ModuleNone
Notes
 Standard error for Fisher-Z transformed correlation coefficient

fishzci

Name of routine: fishzci
Source lines: 48831 - 48842
Type subroutine
Call fishzci(r, n, rlo, rhi)
ModuleNone
Notes
 95%CI via Fisher-Z transform for correlation coefficient

sech

Name of routine: sech
Source lines: 48846 - 48850
Type function
Call sech(x)
ModuleNone
Notes
 Hyperbolic secant

cortest

Name of routine: cortest
Source lines: 48856 - 48868
Type function
Call cortest(r1, r2, n1, n2)
ModuleNone
Notes
 Test equality of two correlation coefficients via LRTS 
 (Brandner 1933; Stuart & Ord Volume 2, Exercise 26.21)
 Direction of test is retained

rtheta

Name of routine: rtheta
Source lines: 48872 - 48876
Type function
Call rtheta(x)
ModuleNone
Notes
  
 ibd correlation to recombination fraction
  

wrpropci

Name of routine: wrpropci
Source lines: 48881 - 48891
Type subroutine
Call wrpropci(num, den, width)
ModuleNone
Notes
  
 Confidence intervals around a proportion: approach of Wilson (Agresti
 & Coull) -- wrapper 
  

propci

Name of routine: propci
Source lines: 48895 - 48923
Type subroutine
Call propci(num, den, inwidth, phat, ll, ul)
ModuleNone
Notes
 Actual Wilson algorithm

binp

Name of routine: binp
Source lines: 48927 - 48953
Type function
Call binp(np,nq)
ModuleNone
Notes
  
 Binomial probabilities for x,n-x with p=0.5
  

moment

Name of routine: moment
Source lines: 48957 - 48967
Type subroutine
Call moment(n, x, mean, ss)
ModuleNone
Notes
  
 accumulate mean and sum-of-squares following AS41
  

dssp

Name of routine: dssp
Source lines: 48971 - 48993
Type subroutine
Call dssp(nvar, nobs, iwt, x, mean, cov)
ModuleNone
Notes
  
 accumulate means and SSCP following AS41
  

covcor

Name of routine: covcor
Source lines: 48997 - 49017
Type subroutine
Call covcor(nvar, nobs, cov)
ModuleNone
Notes
  
 Standardize covariance matrix (variances left on diagonal)
  

thincov

Name of routine: thincov
Source lines: 49021 - 49052
Type subroutine
Call thincov(nfull, nreduced, active, cov)
ModuleNone
Notes
 Thin a covariance matrix
 

predmat

Name of routine: predmat
Source lines: 49060 - 49102
Type subroutine
Call predmat(nfull, yindicator, cov, xval, yp)
ModuleNone
Notes
 Predicting values for subset (indexed by yindicator)
 given covariance matrix and values for complementary subset.
 X values are stored counting backwards in xval(nfull-ny+1:nfull)
 (the observed values for the predicted group are stored xval(1:ny)
 On output, yp contains ny (sum(active)) predicted values.

inicov

Name of routine: inicov
Source lines: 49106 - 49111
Type subroutine
Call inicov(nter, ncov, r)
ModuleNone
Notes
  
 Initialize covariance matrix used by AS164
  

givenc

Name of routine: givenc
Source lines: 49116 - 49196
Type subroutine
Call givenc(r, ir, nvars, x, v, ifault)
ModuleNone
Notes
  
 Algorithm AS164  Appl. Statist. (1981) vol.30, no.2
 Incorporate new row of data into R matrix
  

bsub

Name of routine: bsub
Source lines: 49201 - 49298
Type subroutine
Call bsub(r, ir, idep, coeff, ic, ifault)
ModuleNone
Notes
  
 Algorithm AS 164.1  Appl. Statist. (1981) vol.30, no.2
 Perform back substitution to get regression coefficient estimates
  

var

Name of routine: var
Source lines: 49303 - 49404
Type subroutine
Call var(r, ir, s, is, idep, nobs, typ, ifault)
ModuleNone
Notes
 Algorithm AS164.3  Appl. Statist. (1981) vol.30, no.2
 Estimates var/covar matrix of regression coefficients

alias

Name of routine: alias
Source lines: 49410 - 49460
Type subroutine
Call alias(r, ir, nvars, eps, worksp, ifault)
ModuleNone
Notes
  
 Algorithm AS164.4  Appl. Statist. (1981) vol.30, no.2
 Assumes any diagonal elements of d less than eps are
 rounding errors and reduces them to zero
  

iquadmult

Name of routine: iquadmult
Source lines: 49464 - 49498
Type subroutine
Call iquadmult(n, y, s, res)
ModuleNone
Notes
 Use AS164 to evaluate quadratic y' S~ y where S not necessarily full rank

loglin

Name of routine: loglin
Source lines: 49502 - 49582
Type subroutine
Call loglin(ncells, totpars, npars, counts, model, offset, b, cov, lrts)
ModuleNone
Notes
  
 Use AS164 to fit a log-linear model
  

emllm

Name of routine: emllm
Source lines: 49587 - 49703
Type subroutine
Call emllm(ncells, nfull, totpars, npars, counts, scatter, model, ex, oldex, full, offset, b, cov, lrts, plevel)
ModuleNone
Notes
  
 Use AS164 and EM algorithm to fit a log-linear model to incomplete
 tables
  

gl

Name of routine: gl
Source lines: 49707 - 49749
Type subroutine
Call gl(nr, nc, design, sta, levels, reps, droplev)
ModuleNone
Notes
  
 Appropriate design matrix for factor
  

logccs

Name of routine: logccs
Source lines: 49753 - 49956
Type subroutine
Call logccs(nstrata, nobs, nv, nv1, ivar, nca, nct, z, b, cov, chi2, st, ifault, plevel)
ModuleNone
Notes
 AS162 - Conditional logistic regression. Converted to Fortran 95

twidl

Name of routine: twidl
Source lines: 49961 - 50008
Type subroutine
Call twidl(x, y, z, done, p, n2)
ModuleNone
Notes
 this generates all combinations of m out of n.
 CACM algorithm 382

tojulian

Name of routine: tojulian
Source lines: 50017 - 50031
Type function
Call tojulian(gdate)
ModuleNone
Notes
  
 Julian and Gregorian from Peter Meyer's on-line notes:
 In 1968 in a letter to the editor of Communications of the ACM (CACM,
 volume 11, number 10, October 1968, p.657) Henry F. Fliegel and Thomas
 C. Van Flandern presented such conversion algorithms:
  
 gdate takes the form YYYYMMDD
  

togreg

Name of routine: togreg
Source lines: 50035 - 50054
Type function
Call togreg(jdate)
ModuleNone
Notes
 from Julian to Gregorian
  

getyear

Name of routine: getyear
Source lines: 50058 - 50072
Type function
Call getyear(gdate)
ModuleNone
Notes
 Gregorian date as decimal year
 

segrat

Name of routine: segrat
Source lines: 50076 - 50323
Type subroutine
Call segrat(locnam, trait, dataset)
ModuleNone
Notes
  
 Binary trait prevalences and recurrence risks.
  

twincon

Name of routine: twincon
Source lines: 50327 - 50534
Type subroutine
Call twincon(locnam, trait, mztwin, gt, thresh, dataset, plevel)
ModuleNone
Notes
  
 Classical twin analysis: binary trait prevalences and recurrence risks
  

concest

Name of routine: concest
Source lines: 50538 - 50562
Type subroutine
Call concest(group, concord, npairs, prev, con, locon, hicon)
ModuleNone
Notes
 Summary statistics for recurrence risk calculation

conchi

Name of routine: conchi
Source lines: 50566 - 50582
Type subroutine
Call conchi(a, b, c, d, lrts)
ModuleNone
Notes
 LRTS for equality of 2x2

tarone

Name of routine: tarone
Source lines: 50586 - 50676
Type subroutine
Call tarone(trait, dataset, plevel)
ModuleNone
Notes
 Test for extrabinomial variation

davie

Name of routine: davie
Source lines: 50680 - 50795
Type subroutine
Call davie(loc1, trait, loc2, proband, dataset, plevel)
ModuleNone
Notes
  
  Segregation ratios using Davie 1976
  

davstat

Name of routine: davstat
Source lines: 50799 - 50831
Type subroutine
Call davstat(typ, pos, sta, npro, trait, dataset, class, j, q, t, r)
ModuleNone
Notes
  
 Accumulate counts needed for Davie formula in current family
  

davwri

Name of routine: davwri
Source lines: 50835 - 50864
Type subroutine
Call davwri(ped, currf, currm, pos, sta, npro, trait, dataset)
ModuleNone
Notes
  
 print prop affected per sibship
  

marseg

Name of routine: marseg
Source lines: 50877 - 51023
Type subroutine
Call marseg(gene, locnam, typ, dataset, allele_buffer, plevel)
ModuleNone
Notes
  
 Simple segregation tabulations for a codominant marker
 Phase the genotypes if requested

 So either
   Father Mother Child
   ng     ng     na*na

 or
   mating        Child
   ng*(ng+1)/2   ng

famimp

Name of routine: famimp
Source lines: 51028 - 51252
Type subroutine
Call famimp(locnam, trait, dataset, plevel)
ModuleNone
Notes
 Simple family based imputation of age/yob/etc
 ego ~ midparent + sibs + spouses + offspring

famcor

Name of routine: famcor
Source lines: 51256 - 51454
Type subroutine
Call famcor(locnam, trait, dataset, jdraw, iter, plevel)
ModuleNone
Notes
  
 Quantitative trait relatives means and covariances
  

fammeans

Name of routine: fammeans
Source lines: 51459 - 51557
Type subroutine
Call fammeans(trait, dataset, nobserved, obs_indx, plevel)
ModuleNone
Notes
 Simple descriptive statistics for a quantitative trait
 sets up dataset%untyped

famcovar

Name of routine: famcovar
Source lines: 51561 - 51762
Type subroutine
Call famcovar(trait, dataset, npairs, mu, cvar, cov)
ModuleNone
Notes
 Pairwise correlations

sibvar

Name of routine: sibvar
Source lines: 51766 - 51890
Type subroutine
Call sibvar(trait, dataset, plevel)
ModuleNone
Notes
 Sibship variance tests

twincor

Name of routine: twincor
Source lines: 51894 - 52102
Type subroutine
Call twincor(locnam, trait, mztwin, gt, thresh, dataset, plevel)
ModuleNone
Notes
 Classical twin analysis contrasting monozygotic twins v. other siblings.

corr

Name of routine: corr
Source lines: 52112 - 52134
Type subroutine
Call corr(typ, x1, x2, nclass, npairs, mean, var, cov)
ModuleNone
Notes
  
 update means and sums of squares and products
  
 1=Marital 2=Grandparent-Grandchild 3=Half-sib
 4=Parent-Offspring 5=Full-sib 6=MZ-Twin
 7=father-son 8=father-daugher 9=mother-son 10=mother-daughter
 11=brother 12=sister 13=brother-sister
 14=MZ-Males 15=MZ-Females
  

corrstd

Name of routine: corrstd
Source lines: 52138 - 52154
Type subroutine
Call corrstd(nclass, npairs, var, cov)
ModuleNone
Notes
  
 cor to cov for classes
  

docov

Name of routine: docov
Source lines: 52160 - 52259
Type subroutine
Call docov(typ, nterms, terms, loc, loctyp, locpos, dataset)
ModuleNone
Notes
  
 Means and covariances for multiple trait
 typ=1 means and covariances
     2 plus PCA
  

domix

Name of routine: domix
Source lines: 52263 - 52367
Type subroutine
Call domix(locnam, trait, nmix, typ, histcat, outfil, dataset, logl, df, nwid, ndec, plevel)
ModuleNone
Notes
 Fit mixture of distributions to quantitative trait

mixture

Name of routine: mixture
Source lines: 52372 - 52547
Type subroutine
Call mixture(a, k, m, x, n, alpha, mean, sd, f, g, nobs, logl, ifail, plevel)
ModuleNone
Notes
 Fit mixture of distributions
 Algorithm AS 203 (Appl Stat 1984; 33:327-332)

regress

Name of routine: regress
Source lines: 52551 - 52870
Type subroutine
Call regress(typ, nterms, terms, loc, loctyp, locpos, gene, genemod, allele_buffer, dataset, mlik, mpar, plevel)
ModuleNone
Notes
  
 linear regression analysis of quantitative trait
  

binreg

Name of routine: binreg
Source lines: 52875 - 53397
Type subroutine
Call binreg(ilink, nterms, terms, loc, loctyp, locpos, offset, censor, gene, genemod, allele_buffer, mcp, useimp, fixshape, iter, mincnt, dataset, wshap, mlik, mpar, statval, pval, plevel)
ModuleNone
Notes
  
 Binomial (ilink=2), Poisson (ilink=3),
 Weibull (ilink=4), Exponential (ilink=5), EVD (ilink=6) regression analysis
  

fitbin

Name of routine: fitbin
Source lines: 53401 - 53447
Type subroutine
Call fitbin(ilink, nobs, nter, ncov, it, x2, r, b, y, v, offval, x, shap, ierr, plevel)
ModuleNone
Notes
  
 Perform binomial (ilink=2) or poisson (ilink=3) regression IRLS,
  

binirls

Name of routine: binirls
Source lines: 53451 - 53523
Type subroutine
Call binirls(ilink, nobs, nter, nel, x2, r, b, y, v, offval, x, shap, ierr, plevel)
ModuleNone
Notes
  
 One iteration of IRLS for binomial or poisson regression
  

glmscale

Name of routine: glmscale
Source lines: 53527 - 53563
Type subroutine
Call glmscale(ilink, nobs, nter, b, y, offval, x, shap, scaleval)
ModuleNone
Notes
  
 Scale parameter for GLM
  

weishape

Name of routine: weishape
Source lines: 53568 - 53601
Type subroutine
Call weishape(nobs, naff, nter, b, y, offval, x, alpha, alpha2)
ModuleNone
Notes
  
 Estimate shape for Weibull distribution
 Use relaxation methods and hard limit on step size
  

rcp

Name of routine: rcp
Source lines: 53605 - 53634
Type subroutine
Call rcp(nr, nc, iter)
ModuleNone
Notes
  
 Simulation P for RxC contingency table
  

rctest

Name of routine: rctest
Source lines: 53638 - 53744
Type subroutine
Call rctest(nr, nc, tble, e, iter)
ModuleNone
Notes
  
 LRTS and Permutation P for RxC contingency table
  

simchi

Name of routine: simchi
Source lines: 53748 - 53816
Type subroutine
Call simchi(nr, rows, nc, cols, tble, e, obschi, tot, iter, pval)
ModuleNone
Notes
  
 MCMC a RxC contingency table retaining given margins
  

upchi

Name of routine: upchi
Source lines: 53820 - 53836
Type subroutine
Call upchi(ncells, tble, e, lrts)
ModuleNone
Notes
  
 LRTS for contingency table in MCMC
  

rclrts

Name of routine: rclrts
Source lines: 53840 - 53886
Type subroutine
Call rclrts(nr, nc, tble, e, lrts, df)
ModuleNone
Notes
 Contingency table LRTS

mkchoose

Name of routine: mkchoose
Source lines: 53890 - 53902
Type subroutine
Call mkchoose(ni, eligible , nelig)
ModuleNone
Notes
  
 Load an array with indices of eligible choices (eg nonmissing alleles)
  

choose

Name of routine: choose
Source lines: 53907 - 53919
Type subroutine
Call choose(nch, ni, idx)
ModuleNone
Notes
  
 Shuffle array of indices so can randomly select combination from
 as first r elements
  

uniqid

Name of routine: uniqid
Source lines: 53923 - 53968
Type subroutine
Call uniqid(typ, dataset, plevel)
ModuleNone
Notes
 Make every individual and pedigree ID a unique number

prunep

Name of routine: prunep
Source lines: 53972 - 54146
Type subroutine
Call prunep(wrk, wrk2, locnam, trait, gt, thresh, dataset, plevel)
ModuleNone
Notes
  
 Prune pedigree to ancestors shared by affecteds
  

relations

Name of routine: relations
Source lines: 54150 - 54282
Type subroutine
Call relations(tped, tid, dataset, loc, loctyp, plevel)
ModuleNone
Notes
  
 Write relatives of index

prrel

Name of routine: prrel
Source lines: 54286 - 54318
Type subroutine
Call prrel(iclass, ped, dataset, key, eop, loc, loctyp)
ModuleNone
Notes
 print list of relatives

appval

Name of routine: appval
Source lines: 54322 - 54366
Type subroutine
Call appval(idx, loc, loctyp, dataset)
ModuleNone
Notes
 append locus value if asked

pairlink

Name of routine: pairlink
Source lines: 54370 - 54482
Type subroutine
Call pairlink(ped, idx, dataset, plevel)
ModuleNone
Notes
 Show relationship of all pairs to ego: Djikstra's shortest path algorithm

conlen

Name of routine: conlen
Source lines: 54486 - 54502
Type function
Call conlen(i, j, ped, dataset)
ModuleNone
Notes
 Are i and j a parent-offspring pair?

findloop

Name of routine: findloop
Source lines: 54518 - 54724
Type subroutine
Call findloop(trait, dataset, plevel)
ModuleNone
Notes
 Find loops

 Marriage node representation
 Traverses depth-first with backtracking
 Trades time for space ;)

 Data structure:
 nodal backlink typelink

 nodal is the list of vertices 1..maxact are   individuals with edge to mating
                               maxact+1... are matings with edges to parents
 backlink contains the "thread" or point stack, and also the mark (negative)
 typelink shows direction of edge  

wricas

Name of routine: wricas
Source lines: 54728 - 54811
Type subroutine
Call wricas(wrk, wrk2, trait, dataset)
ModuleNone
Notes
 extract unrelated individuals with information for a criterion trait

nuclear

Name of routine: nuclear
Source lines: 54815 - 54876
Type subroutine
Call nuclear(wrk, wrk2, typ, maxsibs, dataset)
ModuleNone
Notes
 convert into nuclear families, duplicating individuals as needed

onefam

Name of routine: onefam
Source lines: 54880 - 55009
Type subroutine
Call onefam(wrk, wrk2, typ, maxsibs, ped, dataset, nuc, newoffset, currf, currm, sta, fin)
ModuleNone
Notes
 Write out current nuclear family -- with or without grandparents

disjoin

Name of routine: disjoin
Source lines: 55015 - 55132
Type subroutine
Call disjoin(wrk, wrk2, dataset, plevel)
ModuleNone
Notes
 chop into disjoint subpedigrees
 note that the pointers in set(,2) do not follow the sort order of
 the pedigree, as connect() moves both up and down the generations

joinped

Name of routine: joinped
Source lines: 55136 - 55453
Type subroutine
Call joinped(wrk, wrk2, typ, farg, larg, words, nloci, loc, locpos, loctyp, locnotes, dataset, chek, droperr, plevel)
ModuleNone
Notes
 join families together by duplicated individuals

pedsort

Name of routine: pedsort
Source lines: 55457 - 55573
Type subroutine
Call pedsort(ped, dataset, nerr, plevel)
ModuleNone
Notes
 Sort a pedigree in a dataset

doanova

Name of routine: doanova
Source lines: 55577 - 55927
Type subroutine
Call doanova(trait, locnam, gene, genetyp, iter, mincnt, norder, assfnd, conibd, dataset, freqfnd, use_fixfreq, fixfreq_buffer, allele_buffer2, pval, plevel, typ)
ModuleNone
Notes
  
 Additive allelic model for association with a quantitative trait
  

qtdt

Name of routine: qtdt
Source lines: 55933 - 56315
Type subroutine
Call qtdt(trait, locnam, gene, genetyp, freqfnd, iter, mincnt, use2, typ, dataset, pval, plevel)
ModuleNone
Notes
  
 Quantitative trait TDT following Gauderman 2003 25(4): 327-338

 E(Y_i) = a_MTi + beta Z(G_i)
  

cpganova

Name of routine: cpganova
Source lines: 56320 - 56546
Type subroutine
Call cpganova(trait, locnam, gene, genetyp, iter, mincnt, freqfnd, dataset, plevel)
ModuleNone
Notes
  
 Additive allelic model for association with a quantitative trait
 Conditional on parental genotypes
  

haploid_count

Name of routine: haploid_count
Source lines: 56552 - 56585
Type subroutine
Call haploid_count(nloc, loclist, loc, locpos, loctyp, dataset, haplotable)
ModuleNone
Notes
 MC approach to association to haploid markers

 Enumerate haplotypes for haploid SNPs

set_hval

Name of routine: set_hval
Source lines: 56589 - 56626
Type subroutine
Call set_hval(nloc, loclist, loc, locpos, loctyp, haplotable, hval, dataset, plevel)
ModuleNone
Notes
 encode observed haplotypes

fillin_yha

Name of routine: fillin_yha
Source lines: 56630 - 56678
Type subroutine
Call fillin_yha(haplotable, hval, dataset, plevel)
ModuleNone
Notes
 fill in missing haplotypes and check for mutation/error

fillin_mit

Name of routine: fillin_mit
Source lines: 56682 - 56726
Type subroutine
Call fillin_mit(haplotable, hval, dataset, plevel)
ModuleNone
Notes
 Mitochondrial

haploid_freq

Name of routine: haploid_freq
Source lines: 56730 - 56918
Type subroutine
Call haploid_freq(nloc, loclist, loc, locpos, loctyp, dataset, plevel, typ)
ModuleNone
Notes
  
 Count of haplotypes from haploid markers
  

haploid_aov

Name of routine: haploid_aov
Source lines: 56922 - 57226
Type subroutine
Call haploid_aov(trait, nloc, loclist, loc, locpos, loctyp, iter, mincnt, dataset, pval, plevel, typ)
ModuleNone
Notes
 MC approach to association to haploid markers

haploid_ass

Name of routine: haploid_ass
Source lines: 57230 - 57606
Type subroutine
Call haploid_ass(trait, nloc, loclist, loc, locpos, loctyp, locnotes, iter, mincnt, dataset, pval, plevel, typ)
ModuleNone
Notes
  
 Count of marker alleles/genotypes in cases and controls -- haploid marker(s)
  

doassoc

Name of routine: doassoc
Source lines: 57610 - 58348
Type subroutine
Call doassoc(trait, loctyp, locnotes, locnam, gene, genetyp, iter, mincnt, norder, assfnd, gt, thresh, conibd, dataset, freqfnd, use_fixfreq, fixfreq_buffer, allele_buffer2, prevalence, pval, plevel, typ)
ModuleNone
Notes
  
 Count of marker alleles/genotypes in cases and controls -- codominant system
  

twobyk

Name of routine: twobyk
Source lines: 58352 - 58373
Type function
Call twobyk(sta, fin, cntall, pexp)
ModuleNone
Notes
  
 Pearson chi-sq for 2xK table (uses only cntall(,1-3))
  

pearson

Name of routine: pearson
Source lines: 58378 - 58405
Type function
Call pearson(sta, fin, nlev, nca, cntall)
ModuleNone
Notes
  
 Pearson chi-sq for slice of RxC table 
 (uses cntall(,1:traitlevels+1), nca(1:traitlevels))
  

rctdt

Name of routine: rctdt
Source lines: 58418 - 58795
Type subroutine
Call rctdt(trait, locnam, gene, genetyp, iter, mincnt, gt, thresh, fbatimp, freqfnd, dataset, plevel)
ModuleNone
Notes
  
 perform sibship association permutation test
  
 Combines TDT with SDT: appropriate permutation set for each sibship
  
 If both parents genotyped, then each child can be drawn from 13,14,23,24
 If one or no parents genotyped, but may be reconstructed, then draw
 from mixture of obligate genotypes (those usable to reconstruct the missing
 parents) and 13,14,23,24.
 If cannot unequivocally reconstruct parental genotypes
 draw only from obligate (observed) genotypes among children
  

parimp

Name of routine: parimp
Source lines: 58799 - 58917
Type subroutine
Call parimp(pg1, pg2, mg1, mg2, sta, fin, set, parall)
ModuleNone
Notes
  
 Make list of possible parental genotypes for this sibship
  

rctperm

Name of routine: rctperm
Source lines: 58929 - 59015
Type subroutine
Call rctperm(ifam, sibships, set)
ModuleNone
Notes
  
 Simulate the null distribution of sibship genotypes
 Parental alleles imputed via the children must be transmitted
 at least once to that sibship
 Furthermore, if two imputed alleles are the same in the two parents,
 then these must be transmitted together to at least one child
 And (Jun 2008), if only A/A and A/B segregating in sibship, 
 need to also condition on total number of each type of
 genotype in sibship for -/- x -/- and A/B x -/- matings
 (sticking point is A/B x A/B possibility)
  

ranall

Name of routine: ranall
Source lines: 59019 - 59032
Type function
Call ranall(par)
ModuleNone
Notes
  
 Randomly transmit nonmissing alleles
  

conoff

Name of routine: conoff
Source lines: 59037 - 59050
Type subroutine
Call conoff(tr, par, imputd, off)
ModuleNone
Notes
  
 Conditional parent-offspring transmission
 Flag whether an imputed parental allele is transmitted
  

rctsim

Name of routine: rctsim
Source lines: 59054 - 59083
Type subroutine
Call rctsim(nfam, sibships, aff, set, numal, trans)
ModuleNone
Notes
  
 One simulation of entire set of informative nuclear families
  

rctuse

Name of routine: rctuse
Source lines: 59087 - 59137
Type function
Call rctuse(pg1, pg2, mg1, mg2, ptyped, parall, contrib, naff)
ModuleNone
Notes
  
 test if useful for RC-TDT/FBAT
  

sibass

Name of routine: sibass
Source lines: 59142 - 59309
Type subroutine
Call sibass(trait, locnam, gene, allele_buffer, dataset, iter, typ, pval, plevel)
ModuleNone
Notes
 Tabulate sibship affection by genotype for fast test of total
 association

whitehead

Name of routine: whitehead
Source lines: 59313 - 59539
Type subroutine
Call whitehead(trait, locnam, gt, thresh, gene, allele_buffer, stratvar, strattyp, stratlabels, dataset, pval, plevel)
ModuleNone
Notes
 Random effects stratified proportional odds model of Whitehead and Whitehead

simped

Name of routine: simped
Source lines: 59544 - 59606
Type subroutine
Call simped(ped, dataset, allele_buffer, set)
ModuleNone
Notes
  
  Simulate (gene-dropping) genotypes at a single autosomal locus
  in a pedigree of arbitrary complexity
  

xsimped

Name of routine: xsimped
Source lines: 59611 - 59684
Type subroutine
Call xsimped(ped, dataset, allele_buffer, set)
ModuleNone
Notes
  
  Simulate (gene-dropping) genotypes at a single X-linked locus
  in a pedigree of arbitrary complexity
  

csimped

Name of routine: csimped
Source lines: 59691 - 59754
Type subroutine
Call csimped(ped, dataset, set, xlinkd)
ModuleNone
Notes
  
 Simulate (gene-dropping) genotypes at a single codominant locus
 Conditioning on typed ``founder'' genotypes (true founders/marry-ins
 plus individuals without typed parents) heading informative
 chains of descent
  

genoff

Name of routine: genoff
Source lines: 59758 - 59784
Type subroutine
Call genoff(idx, fa, mo, set)
ModuleNone
Notes
  
 transmit genes from parents to child
  

mumson

Name of routine: mumson
Source lines: 59788 - 59800
Type subroutine
Call mumson(idx, mo, set)
ModuleNone
Notes
  
 Transmit single X-linked allele from mother to son
  

gencopy

Name of routine: gencopy
Source lines: 59804 - 59809
Type subroutine
Call gencopy(idx, origin, set)
ModuleNone
Notes
 Copy genotype from MZ cotwin to ego

simhaploid

Name of routine: simhaploid
Source lines: 59813 - 59841
Type subroutine
Call simhaploid(typ, ped, dataset, nhaps, cumhaps, hval)
ModuleNone
Notes
  
 Simulate Y or mitochondrial haplotypes 
  

fsimped

Name of routine: fsimped
Source lines: 59846 - 59973
Type subroutine
Call fsimped(it, pedigree, num, nfound, id, fa, mo, imztwin, set, sibd, untyped, key, plevel)
ModuleNone
Notes
  
 Simulate pedigree conditional on all founders (all must be typed) and
 typed nonfounders
  

genof4

Name of routine: genof4
Source lines: 59980 - 60065
Type subroutine
Call genof4(idx, fa, mo, imztwin, set, sibd, untyped, key, failid)
ModuleNone
Notes
  
  Drop ibd-alleles conditional on observed markers
  and randomly where marker genotype not observed -- restart
  if later generates inconsistency
  This version assumes all founders are typed
  

fill2

Name of routine: fill2
Source lines: 60070 - 60095
Type subroutine
Call fill2(num, set, sibd, untyped, key)
ModuleNone
Notes
  
 infer missing genotypes based on sibd values after run of fsimped
 assume all founders are typed
  

cisimped

Name of routine: cisimped
Source lines: 60100 - 60150
Type subroutine
Call cisimped(ped, gene, allele_buffer, allele_buffer2, dataset, set)
ModuleNone
Notes
 Simulate a single marker consistent with ibd sharing at a target marker locus
 If there are missing genotypes, call should be preceded by call to newstart()

sample

Name of routine: sample
Source lines: 60154 - 60209
Type subroutine
Call sample(trait, ped, dataset, typ)
ModuleNone
Notes
 Sample with or without replacement from the trait values within an entire pedigree
 

drop

Name of routine: drop
Source lines: 60229 - 60454
Type subroutine
Call drop(it, ped, dataset, cntmat, numal, gfrq, set, sibd, set2, key, iprop, plevel)
ModuleNone
Notes
 Modified random walk simulation (one iteration) of pedigree missing
 genotypes (Metropolis-Hastings algorithm) -- proposal uses founder
 allele mutations propagated throughout then pedigree conditional
 on (identity by) descent, swapping ibd origins for heterozygotes,
 alternated with a randomization of descent conditional on marker
 genotype. This procedure has the advantage of being quick,
 but the proposal probabilities are not always symmetric, so they
 are combined with additional local proposals
  
 It is alternated with a locally updating Gibbs sampler. This jointly
 simulates Untyped x Untyped founder matings genotypes conditional on
 offspring and other spouses; other genotypes individual-by-individual,
 conditional on parental, spouse and child genotypes.
  
 set and sibd (set2 and sibd2) are genotypes for current pedigree only
 only fa and mo need to be redirected


simnuc

Name of routine: simnuc
Source lines: 60463 - 60535
Type subroutine
Call simnuc(par1, par2, num, nfound, fa, mo, numal, gfrq, set)
ModuleNone
Notes
  
  Gibbs sampler for codominant marker locus
  Simulate parental genotypes for untyped x untyped
  mating conditional on offspring genotypes
  or for untyped nonfounders conditional on offspring, spouses
  and parents. Family may be contained within larger pedigree, and
  multiple spouses are possible
  

nuclik

Name of routine: nuclik
Source lines: 60541 - 60605
Type subroutine
Call nuclik(par1, par2, sta, fin, fa, mo, numal, gfrq, set, targt)
ModuleNone
Notes
  
 Nuclik is run twice, once to calculate the total likelihood <totlik> of the
 legal genotypes (with target=1), the second time to select a
 parental genotypes with target ~ U(0,totlik).
  

foulik

Name of routine: foulik
Source lines: 60612 - 60659
Type subroutine
Call foulik(idx, fa, mo, sta, fin, numal, gfrq, set, targt)
ModuleNone
Notes
  
 Founder codominant locus conditional likelihood
 foulik is run twice, once to calculate the total likelihood <totlik> of the
 legal genotypes (with target=1), the second time to select a genotype,
 with target ~ U(0,totlik).
  

onelik

Name of routine: onelik
Source lines: 60666 - 60710
Type subroutine
Call onelik(idx, fa, mo, sta, fin, set, targt)
ModuleNone
Notes
  
 nonfounder codominant locus conditional likelihood
 onelik is run twice, once to calculate the total likelihood <totlik> of the
 legal genotypes (with target=1), the second time to select a genotype,
 with target ~ U(0,totlik).
  

simpar

Name of routine: simpar
Source lines: 60717 - 60759
Type subroutine
Call simpar(par1, par2, numal, num, nfound, fa, mo, set)
ModuleNone
Notes
  
  Propose parental genotypes for untyped x untyped
  mating conditional on offspring genotypes
  Family may be contained within larger pedigree, and
  multiple spouses are possible
  

inuclik

Name of routine: inuclik
Source lines: 60766 - 60811
Type subroutine
Call inuclik(par1, par2, sta, fin, numal, fa, mo, set, targt, totp)
ModuleNone
Notes
  
 inuclik is an integer version of nuclik
 inuclik is run twice, once to calculate the total number <totp> of the
 legal genotypes (with target=MAXG*MAXG), the second time to select a
 parental genotype.
  

mutate

Name of routine: mutate
Source lines: 60818 - 60861
Type subroutine
Call mutate(numal, num, nfound, set, sibd, set2, untyped)
ModuleNone
Notes
  
 Mutate 1-4 allele in untyped founders.  Can never fail, due "backmutation".
  
 (1) mutate an allele never transmitted to a typed individual
 (2) swap parent of origin if have no offspring sharing ibd-allele
  

switch

Name of routine: switch
Source lines: 60865 - 60984
Type subroutine
Call switch(num, nfound, id, fa, mo, set, sibd, set2, untyped)
ModuleNone
Notes
  
 Do a switch of grandparent of origin of alleles = switch lineage
  

cpibd

Name of routine: cpibd
Source lines: 60991 - 61011
Type subroutine
Call cpibd(i, j, sibd, sibd2, imiss)
ModuleNone
Notes
  
 Copy ibd for a pair of relatives.
 Person j has a typing-genotype at sibd2, person i does not.
 The typing-allele corresponding to that shared at sibd()
 is "transmitted" to person i from person j.
  

update

Name of routine: update
Source lines: 61015 - 61028
Type subroutine
Call update(idx, all1, all2, set)
ModuleNone
Notes
  
 update new genotype
  

simibd

Name of routine: simibd
Source lines: 61035 - 61122
Type subroutine
Call simibd(typ, pedigree, num, nfound, fa, mo, imztwin, set, sibd)
ModuleNone
Notes
  
  Given genotypes at a single locus in a pedigree of arbitrary complexity,
  generate ibd by gene dropping a perfectly informative marker a la
  John Blangero.
  Type=1 unconditional, =2, conditional on observed markers
  

genof2

Name of routine: genof2
Source lines: 61130 - 61190
Type subroutine
Call genof2(pedigree, idx, fa, mo, imztwin, set, sibd, ifault)
ModuleNone
Notes
  
 transmit ibd-marker from parents to child,
 test if consistent with observed marker
 In this version 12/99, the sibd pairs are ordered by the collating
 order of the marker alleles they represent and
 not the collating order of the sibd allele.
  

wrhbd

Name of routine: wrhbd
Source lines: 61194 - 61419
Type subroutine
Call wrhbd(gene, trait, iter, burnin, allele_buffer, dataset, plevel)
ModuleNone
Notes
 Monte-Carlo approach to estimating one-locus homozygosity by descent

mcgpe

Name of routine: mcgpe
Source lines: 61423 - 61643
Type subroutine
Call mcgpe(gene, trait, iter, burnin, allele_buffer, dataset, plevel)
ModuleNone
Notes
  
 MCMC for genotype probability estimates and allele doses
  

mcfreq

Name of routine: mcfreq
Source lines: 61647 - 61858
Type subroutine
Call mcfreq(gene, iter, emiter, dataset, allele_buffer, plevel)
ModuleNone
Notes
  
 MCEM for pedigree allele frequencies
  

newstart

Name of routine: newstart
Source lines: 61862 - 62014
Type subroutine
Call newstart(gene, allele_buffer, dataset, plevel)
ModuleNone
Notes
 Call drop to shuffle the unobserved genotypes

cntprop

Name of routine: cntprop
Source lines: 62018 - 62026
Type subroutine
Call cntprop(iprop, proprate, proptyp)
ModuleNone
Notes
  
 Increment counts of MCMC proposal type
  

wrprop

Name of routine: wrprop
Source lines: 62030 - 62045
Type subroutine
Call wrprop(ilabel, proprate, proptyp)
ModuleNone
Notes
  
 Summary of MCMC proposals from drop()
  

tabmat

Name of routine: tabmat
Source lines: 62049 - 62066
Type subroutine
Call tabmat(ped, dataset, cntmat)
ModuleNone
Notes
  
 count the untyped founder x founder matings for use by Metropolis algs
  

nucseg

Name of routine: nucseg
Source lines: 62088 - 62325
Type subroutine
Call nucseg(trait, locnam, gene, genetyp, freqfnd, spec_candal, dataset, pval, plevel)
ModuleNone
Notes
  
 Approach of Schaid and Sommer (1993), amplified by Knapp et al (1995)
  
 MM x MM   MM x MN   MM x NN   MN x MN    MN x NN    NN x NN
   MM      MM   MN     MN      MM MN NN   MN   NN      NN
   n1      n2   n3     n4      n5 n6 n7   n8   n9      n10
  
 a=4*n1 + 3*n2 + 3*n3 + 2*n4 + 2*n5 + 2*n6 + 2*n7 + n8 + n9
 b=n2 + n3 + 2*n4 + 2*n5 + 2*n6 + 2*n7 + 3*n8 + 3*n9 + 4*n10
 c=n1 + n2 + n5
 d=n3 + n4 + n6 + n8
  
 providing n-c-d!=0 and a-2c-d!=0 then
  
 p=(a-2*c-d)/2n
 r1= (1-p)*d/(2*p*(n-c-d))
 r2= (1-p)^2 c/(p^2*(n-c-d))
  
 Here, actually done as the log-linear model, as the closed form
 standard error formulae are ugly
  

dohomoz

Name of routine: dohomoz
Source lines: 62329 - 62528
Type subroutine
Call dohomoz(trait, locnam, gene, genetyp, freqfnd, iter, mincnt, norder, gt, thresh, dataset, pval, plevel)
ModuleNone
Notes
  
 marker homozygosity in all subjects or just probands -- codominant system
  

sibpair

Name of routine: sibpair
Source lines: 62541 - 63116
Type subroutine
Call sibpair(tranam, trait, locnam, gene, mappos, typ, sibm, sibr, sibv, mcp, iter, mincnt, weight, dataset, allele_buffer, pval, plevel)
ModuleNone
Notes
  
 perform Haseman-Elston sib-pair regression: univariate
 using squared difference or centred cross-product
 and ibds estimated from the entire sibship
 if missing parental genotypes
  
 typ
  1   Original Haseman-Elston
  2   Haseman-Elston II
  3   Sham and Purcell
  4   Visscher and Hopper
  

sibcor

Name of routine: sibcor
Source lines: 63120 - 63224
Type subroutine
Call sibcor(trait, typ, dataset, muy, vay, rf, rh, npairs, bigship, plevel)
ModuleNone
Notes
  
 Estimate sibling and half-sib intraclass correlations
  

nucibd

Name of routine: nucibd
Source lines: 63236 - 63435
Type subroutine
Call nucibd(gene, setoffset, fa, mo, sta, fin, set, untyped, allele_buffer, ibd)
ModuleNone
Notes
  
 Routines to calculate ibd sharing using full sibship information
 where parent(s) untyped.
  
 ibd(1..nsib*(nsib+1)/2)
 prall(5) probs for 1..4 observed alleles plus all others
  
 1. enumerate alleles segregating among children
 2. generate short list of genotypes for parents
 3. sum up ibd sharing for each pair of sibs for each genotype freq
  

shibd

Name of routine: shibd
Source lines: 63439 - 63490
Type function
Call shibd(c11, c12, c21, c22, p11, p12, p21, p22)
ModuleNone
Notes
  
 Calculate ibd sharing for full sibs when parental genotypes known
  

regwt

Name of routine: regwt
Source lines: 63494 - 63509
Type function
Call regwt(weight, i, j, dataset)
ModuleNone
Notes
  
 Calculate regression weight
  

hibd

Name of routine: hibd
Source lines: 63514 - 63572
Type function
Call hibd(c11, c12, c21, c22, p11, p12, pc1, pc2, p21, p22)
ModuleNone
Notes
  
 estimate ibd score for a pair of half-sibs -- parents known
 tabulations of number of genes expected shared ibd
  

twopoi

Name of routine: twopoi
Source lines: 63581 - 63713
Type subroutine
Call twopoi(mark1, loc1, mark2, loc2, allele_buffer1, allele_buffer2, dataset, plevel)
ModuleNone
Notes
  
 perform Elston & Keats sib pair linkage analysis
 between two codominant markers
  
 recombination fraction c= 0.5 (1-sqrt(r))
 where r is the correlation between mean ibd at marker1 and mean ibd at
 marker2 for all sib pairings
  

countall

Name of routine: countall
Source lines: 63717 - 63748
Type subroutine
Call countall(p1, p2, p3, p4, nallele, nmiss)
ModuleNone
Notes
  
 Count alleles in pair of relatives or spouses
  

doasp

Name of routine: doasp
Source lines: 63752 - 63991
Type subroutine
Call doasp(trait, locnam, gene, gt, thresh, allele_buffer, dataset, pval, plevel)
ModuleNone
Notes
 Do ibs sharing ASP analysis as per Lange 1986 and Bishop 1990

sshare

Name of routine: sshare
Source lines: 63995 - 64006
Type subroutine
Call sshare(g1, g2, g3, g4, zibs)
ModuleNone
Notes
  
 Return IBS sharing for relative pair 
  

dopenrose

Name of routine: dopenrose
Source lines: 64010 - 64132
Type subroutine
Call dopenrose(loc1, trait, typ1, loc2, gene, typ2, dataset, iter, plevel)
ModuleNone
Notes
 Penrose sib pair linkage analysis

shipsiz

Name of routine: shipsiz
Source lines: 64136 - 64163
Type subroutine
Call shipsiz(dataset, bigship)
ModuleNone
Notes
  
 Find biggest active sibship
  

doapm

Name of routine: doapm
Source lines: 64167 - 64752
Type subroutine
Call doapm(trait, locnam, gene, typ, iter, burnin, gt, thresh, dataset, allele_buffer, pvalout, plevel)
ModuleNone
Notes
  
 Perform Monte-Carlo based APM analysis
  

loadset

Name of routine: loadset
Source lines: 64756 - 64800
Type subroutine
Call loadset(gene, ped, allele_buffer, dataset, set, nuntyp)
ModuleNone
Notes
 Copy genotypes from pedigree to set

pedibd

Name of routine: pedibd
Source lines: 64804 - 64833
Type subroutine
Call pedibd(typ, ped, dataset, set, sibd)
ModuleNone
Notes
 Pedigree structure type call to simibd

makewt

Name of routine: makewt
Source lines: 64839 - 64857
Type function
Call makewt(typ, naff, unaff, var)
ModuleNone
Notes
  
 Calculate some plausible weights to allow combination of APM statistics
 from different pedigrees
 type=1 pair=AA, 2 AU, 3 UU, 4 GPM, 5 W-H
  

clcibs

Name of routine: clcibs
Source lines: 64861 - 64973
Type subroutine
Call clcibs(naff, unaff, aff, allele_buffer, set, z)
ModuleNone
Notes
  
 Calculate ibs statistic
  

delta

Name of routine: delta
Source lines: 64977 - 64982
Type function
Call delta(g1,g2)
ModuleNone
Notes
  
 measure of IBS sharing
  

clcibd

Name of routine: clcibd
Source lines: 64986 - 65050
Type subroutine
Call clcibd(naff, unaff, aff, sibd, zibd)
ModuleNone
Notes
  
 calculate ibd sharing statistic based on simulated ibd
  

share

Name of routine: share
Source lines: 65054 - 65068
Type subroutine
Call share(g1, g2, g3, g4, zibd)
ModuleNone
Notes
  
 Return IBD sharing for relative pair based on ibd-alleles
  

simil

Name of routine: simil
Source lines: 65090 - 65151
Type function
Call simil(nfound, naff, aff, sibd, key)
ModuleNone
Notes
  
 Whittemore's & Halpern's (Biometrics 1994; 50:118-127) measure
 of ibd sharing for multiple relatives
  
 for a set of N individuals, enumerate 2**N vectors containing
 one ibd-allele from each person.  For each such set u_i, calculate
 a measure of overall similarity as the number of [additional] "nontrivial"
 permutations of that set that leave u unchanged.  For example, if
 3 individuals are {1/2} {1/3} {1/2}, there are 8 u's, which give a total
 abc  Legal permutations (excl obs)   of 10 possible permutations, with
 111  5    acb, bac, bca, cab, cba    a mean of 10/8.  If a 4th relative
 112  1    bac                        was ibd-genotype {4/5}, the mean
 131  1    cba                        would be 10/16.  The mean score (S)
 132  0                               is used to derive a standardized
 211  1    acb                        score [S-E(S)]/SD(S), as in the APM
 212  1    cba                        method, although direct enumeration
 231  0                               is of course feasible for small N.
 232  1    cba
  
 Randomized version
  

clreg

Name of routine: clreg
Source lines: 65156 - 65447
Type subroutine
Call clreg(typ, styp, nterms, terms, loc, loctyp, locpos, gene, genemod, allele_buffer, dataset, mlik, mpar, statval, pval, plevel)
ModuleNone
Notes
  
 Conditional logistic regression
 Stratum variable is either pedigree or sibship
  

getstrata

Name of routine: getstrata
Source lines: 65451 - 65483
Type subroutine
Call getstrata(styp, ped, dataset, nstrata, strata)
ModuleNone
Notes
 Locate beginnings and ends of strata 

dohrr

Name of routine: dohrr
Source lines: 65487 - 65808
Type subroutine
Call dohrr(trait, locnam, gene, iter, mincnt, gt, thresh, dataset, allele_buffer, pval, plevel)
ModuleNone
Notes
 Haplotype Relative Risk

dotdt

Name of routine: dotdt
Source lines: 65812 - 66243
Type subroutine
Call dotdt(trait, locnam, gene, genetyp, freqfnd, iter, mincnt, use2, typ, cutoff, gt, thresh, dataset, pval, plevel)
ModuleNone
Notes
 Monte-Carlo approach to various TDTs

tdtuse

Name of routine: tdtuse
Source lines: 66247 - 66266
Type function
Call tdtuse(pg1, pg2, mg1, mg2, naff, use2, xlinkd)
ModuleNone
Notes
 test if useful for TDT

shuffle

Name of routine: shuffle
Source lines: 66272 - 66333
Type subroutine
Call shuffle(nallele, cntall, tot, cutoff, tdt, mxiter, mincnt, pvalue)
ModuleNone
Notes
 randomization test for allelic TDT -- shuffle table ITER times
 using TOT swaps per shuffle
 Genotype counts: all1, all2, #all1 trans, #all2 trans

clctdt

Name of routine: clctdt
Source lines: 66337 - 66356
Type function
Call clctdt(ngcount, gcount, cutoff)
ModuleNone
Notes
 calculate symmetry pearson chi-square

clcchi

Name of routine: clcchi
Source lines: 66360 - 66381
Type function
Call clcchi(ngcount, gcount, cutoff)
ModuleNone
Notes
 calculate g.o.f. LR chi-square

trans

Name of routine: trans
Source lines: 66386 - 66475
Type subroutine
Call trans(pg1, pg2, mg1, mg2, cg1, cg2, tr1, tr2, nt1, nt2, typ)
ModuleNone
Notes
 Test the 4 possible unions of gametes 1 2 3 4 -> 13 14 23 24
 if typ=0 return both parental contributions, else 2=pat, 1=mat

xtrans

Name of routine: xtrans
Source lines: 66479 - 66499
Type subroutine
Call xtrans(mg1, mg2, cg1, cg2, tr1, tr2, nt1, nt2)
ModuleNone
Notes
 Transmission of X-linked marker to a male

incpo

Name of routine: incpo
Source lines: 66503 - 66525
Type subroutine
Call incpo(tr, nt, nall, cntall)
ModuleNone
Notes
 Increment counts of transmitted and nontransmitted alleles: parentwise

incr

Name of routine: incr
Source lines: 66530 - 66556
Type subroutine
Call incr(tr1, tr2, nt1, nt2, ngcount, gcount)
ModuleNone
Notes
 Increment counts of transmitted and expected genotypes
 Revised after reading Thomas 1999

insgen

Name of routine: insgen
Source lines: 66561 - 66605
Type subroutine
Call insgen(a1, a2, ngcount, gcount, typ, haplo)
ModuleNone
Notes
 update counts of genotypes or haplotypes for cases or controls --
 binary search and insertion sort

ldp

Name of routine: ldp
Source lines: 66609 - 66667
Type subroutine
Call ldp(numal, numal2, plevel)
ModuleNone
Notes
 Do LD analysis for unphased data

cubicld

Name of routine: cubicld
Source lines: 66671 - 66841
Type subroutine
Call cubicld(loc1, loc2, typ, counts, pval, sumtyp, plevel)
ModuleNone
Notes
 Two SNPs, unphased and phased data

cubiclik

Name of routine: cubiclik
Source lines: 66845 - 66915
Type subroutine
Call cubiclik(typ, nunph, nph, praw, counts, h1, h2, h3, h4, ex, lik, eh)
ModuleNone
Notes
 Likelihood for pairwise SNP LD table under given level of LD

ld2

Name of routine: ld2
Source lines: 66919 - 67228
Type subroutine
Call ld2(loc1, numal, name1, loc2, numal2, name2, typ, ngcat, nhcat, nxcat, counts, pval, sumtyp, plevel)
ModuleNone
Notes
 Do LD analysis for unphased and phased data

haptogen

Name of routine: haptogen
Source lines: 67232 - 67279
Type subroutine
Call haptogen(numal, numal2, scatter, typ, xlinkd)
ModuleNone
Notes
 Map haplotypes to genotypes 1=phase unknown 2=phase KNOWN

twohwe

Name of routine: twohwe
Source lines: 67283 - 67335
Type subroutine
Call twohwe(numal, numal2, nfull, totpars, model, typ, xlinkd)
ModuleNone
Notes
 Double HWE

twofrq

Name of routine: twofrq
Source lines: 67339 - 67413
Type subroutine
Call twofrq(numal, numal2, ncells, counts, typ, xlinkd)
ModuleNone
Notes
 Marginal allele frequencies two loci

ldtab

Name of routine: ldtab
Source lines: 67417 - 67484
Type subroutine
Call ldtab(numal, numal2, counts, ex, typ, xlinkd)
ModuleNone
Notes
 Show table of genotypes and haplotypes

twold

Name of routine: twold
Source lines: 67489 - 67823
Type subroutine
Call twold(zrec, maxhap, gene1, loc1, ltyp1, gene2, loc2, ltyp2, allele_buffer1, allele_buffer2, dataset, iter, pval, sumtyp, plevel)
ModuleNone
Notes
 Two locus linkage disequilibrium: autosomal or X-linked loci
 identify typed founders or nonfounders who have untyped parents

inchap

Name of routine: inchap
Source lines: 67828 - 67866
Type subroutine
Call inchap(g11, g12, g21, g22, ngcat, npg, allele_buffer1, allele_buffer2, counts, typ)
ModuleNone
Notes
 increment count of phased or unphased genotype, haplotype
 contingency table is partitioned 1..ngcat...ngcat+npg...

tabhap

Name of routine: tabhap
Source lines: 67870 - 67886
Type subroutine
Call tabhap(g1, g2, allele_buffer1, allele_buffer2, tble)
ModuleNone
Notes
 straight haplotype count

useld

Name of routine: useld
Source lines: 67890 - 67914
Type function
Call useld(c1, c2, c3, c4, f1, f2, f3, f4, m1, m2, m3, m4)
ModuleNone
Notes
 Check if useful triad for haplotype inference

ldtest

Name of routine: ldtest
Source lines: 67918 - 68035
Type subroutine
Call ldtest(loc1, allele_buffer1, loc2, allele_buffer2, tble, iter, pval, plevel)
ModuleNone
Notes
  
 LRTS and Permutation P for haplotype table
  

compld

Name of routine: compld
Source lines: 68039 - 68145
Type subroutine
Call compld(gene1, gene2, newgene, cutoff, allele_buffer1, allele_buffer2, dataset)
ModuleNone
Notes
 Infer haplotypes for SNPs in complete LD

moskvina

Name of routine: moskvina
Source lines: 68150 - 68256
Type subroutine
Call moskvina(window, alpha, maxhap, nloci, loc, loctyp, locpos, locord, map, dataset, plevel)
ModuleNone
Notes
 An improved correction for multiple testing
 Moskvina V, Schmidt KM (2008) Genet Epidemiol 32: 567-573

moskld

Name of routine: moskld
Source lines: 68260 - 68285
Type subroutine
Call moskld(maxhap, loc1, loc2, loc, locpos, loctyp, allele_buffer1, dataset, r)
ModuleNone
Notes
 wrapper for twold

stand

Name of routine: stand
Source lines: 68290 - 68349
Type subroutine
Call stand(trait, dataset, typ)
ModuleNone
Notes
 Standardization of quantitative trait overall or *within* family
 as required by the approach of Commenge

lifetab

Name of routine: lifetab
Source lines: 68352 - 68734
Type subroutine
Call lifetab(date1, date2, censor, covar, covtyp, width1, width2, typ, dataset, plevel)
ModuleNone
Notes

prodlim

Name of routine: prodlim
Source lines: 68742 - 68872
Type subroutine
Call prodlim(trait, censor, dataset, typ, plevel)
ModuleNone
Notes
 Kaplan-Meier estimator of survival function and the Nelson-Aalen
 estimator of cumulative hazard.
 The Nelson-Aalen estimator is used to produce residuals, if requested.
 These are the deviance residuals of Therneau et al Biometrika 1990:
 equivalent to a variance-stabilized transformed martingale residual.

dorank

Name of routine: dorank
Source lines: 68880 - 68953
Type subroutine
Call dorank(trget, trait, typ, dataset)
ModuleNone
Notes
 Rank trait values
 1=rank all
 2=within family rank
 3=Blom score all
 4=within family Blom score

wrsim

Name of routine: wrsim
Source lines: 68958 - 69054
Type subroutine
Call wrsim(typ, mark, gene, allele_buffer, allele_buffer2, dataset, plevel)
ModuleNone
Notes
 Simulate a single marker, either unconditionally, or
 consistent with ibd sharing at a given locus

wrsimq

Name of routine: wrsimq
Source lines: 69060 - 69171
Type subroutine
Call wrsimq(typ, trait, loctyp, prevalence, h2, gene, allele_buffer, allele_buffer2, dataset, plevel)
ModuleNone
Notes
 Simulate a quantitative trait of given heritability,
 either unconditionally, or
 consistent with complete linkage to a given locus

wrsimqtl

Name of routine: wrsimqtl
Source lines: 69176 - 69401
Type subroutine
Call wrsimqtl(trait, gene, smlfreq, smlpen, h2, dataset, plevel)
ModuleNone
Notes
 Simulate QTL genotypes conditional on binary trait values, heritability and 
 marginal QTL penetrances by rejection sampling 

permdata

Name of routine: permdata
Source lines: 69405 - 69427
Type subroutine
Call permdata(trait, dataset)
ModuleNone
Notes
 Permute trait values within pedigrees

dateconv

Name of routine: dateconv
Source lines: 69431 - 69488
Type subroutine
Call dateconv(locnam, trait, dataset, typ)
ModuleNone
Notes
 Convert to/from Julian etc

combine

Name of routine: combine
Source lines: 69492 - 69518
Type subroutine
Call combine(crit, recto, nf, recfro, allele_buffer)
ModuleNone
Notes
 identify rare alleles at a marker locus and list for combination

swapalleles

Name of routine: swapalleles
Source lines: 69522 - 69564
Type subroutine
Call swapalleles(loc, gene, allele_buffer, dataset)
ModuleNone
Notes
 swap diallelic marker alleles eg 1->2 2->1

ntcode

Name of routine: ntcode
Source lines: 69568 - 69610
Type subroutine
Call ntcode(typ, gene, dataset)
ModuleNone
Notes
 recode SNP alleles to/from numerical coding A<->1 C<->2 G<->3 T<->4

flip

Name of routine: flip
Source lines: 69614 - 69643
Type subroutine
Call flip(loc, gene, dataset)
ModuleNone
Notes
 flip alleles to complement eg other strand A<->T G<->C

atgc

Name of routine: atgc
Source lines: 69647 - 69655
Type function
Call atgc(g)
ModuleNone
Notes
 complement nucleotide

nttonum

Name of routine: nttonum
Source lines: 69659 - 69672
Type function
Call nttonum(g)
ModuleNone
Notes
 number code nucleotide

numtont

Name of routine: numtont
Source lines: 69676 - 69684
Type function
Call numtont(g)
ModuleNone
Notes
 number code nucleotide

renumb

Name of routine: renumb
Source lines: 69688 - 69741
Type subroutine
Call renumb(loc, gene, typ, allele_buffer, dataset)
ModuleNone
Notes
 renumber alleles to consecutive integers

recode

Name of routine: recode
Source lines: 69746 - 69894
Type subroutine
Call recode(loc, gene, loctyp, nto, recto, nf, recfro, dataset, plevel)
ModuleNone
Notes
 recode alleles or values for particular locus --
 replace all "from" values with "to" values

recast

Name of routine: recast
Source lines: 69898 - 69955
Type subroutine
Call recast(typ, trait, dataset)
ModuleNone
Notes
 Recast aff or cat to qua or qua to aff or cat

snpenc

Name of routine: snpenc
Source lines: 69959 - 70012
Type subroutine
Call snpenc(gene, trait, typ, dataset)
ModuleNone
Notes
 Dummy encode a SNP 1=add 2=dom 3=rec 

wribs

Name of routine: wribs
Source lines: 70016 - 70156
Type subroutine
Call wribs(trait, gt, thresh, nloci, loc, loctyp, locpos, dataset, plevel)
ModuleNone
Notes
 Multipoint IBS sharing for all pairs

ibspca

Name of routine: ibspca
Source lines: 70160 - 70362
Type subroutine
Call ibspca(typ, nloci, loc, loctyp, locpos, ncomps, loadvars, dataset, plevel)
ModuleNone
Notes
 Principal components or classical MDS analysis of multipoint IBS sharing

wribd

Name of routine: wribd
Source lines: 70366 - 70536
Type subroutine
Call wribd(nmark, mark, loc, loctyp, locpos, dataset, burnin, iter, typ, plevel)
ModuleNone
Notes
 Monte-Carlo approach to estimating IBD sharing at a marker

markeribd

Name of routine: markeribd
Source lines: 70540 - 70734
Type subroutine
Call markeribd(gene, iter, burnin, allele_buffer, ped, dataset, ibdcount, ibdvar, plevel)
ModuleNone
Notes
 Monte-Carlo approach to estimating IBD sharing at a marker for a pedigree

dokin

Name of routine: dokin
Source lines: 70738 - 70932
Type subroutine
Call dokin(typ, dataset, trait)
ModuleNone
Notes
 Write kinship coefficients

kinship

Name of routine: kinship
Source lines: 70936 - 70982
Type subroutine
Call kinship(ped, dataset, kin)
ModuleNone
Notes
 Calculate kinship coefficient

frater

Name of routine: frater
Source lines: 70986 - 71014
Type subroutine
Call frater(ped, dataset, kin, dom)
ModuleNone
Notes
 Calculate coefficient of fraternity

delta7

Name of routine: delta7
Source lines: 71019 - 71054
Type function
Call delta7(peri, perj, ped, dataset, kin)
ModuleNone
Notes
 Coefficient of fraternity for one pair of relatives
 peri and perj are relative to start of current pedigree

doinbred

Name of routine: doinbred
Source lines: 71059 - 71202
Type subroutine
Call doinbred(iter, dataset, trait, plevel)
ModuleNone
Notes
 Write MC estimates of inbreeding coefficients (and list of nodal ancestors)
 Also marks inbred individuals using dataset%untyped

invkin

Name of routine: invkin
Source lines: 71207 - 71256
Type subroutine
Call invkin(ped, dataset, ainv)
ModuleNone
Notes

 A~ = (T~)' D~ T~

segerr

Name of routine: segerr
Source lines: 71261 - 71299
Type subroutine
Call segerr(ped, dataset, rsd)
ModuleNone
Notes
 Calculate standard deviation of segregation error
 (used for gametic model breeding value calculation)

casekin

Name of routine: casekin
Source lines: 71303 - 71474
Type subroutine
Call casekin(locnam, trait, gt, thresh, dataset, statval, plevel)
ModuleNone
Notes
 Give kinships among affecteds

ancest

Name of routine: ancest
Source lines: 71479 - 71615
Type subroutine
Call ancest(locnam, trait, gt, thresh, dataset, plevel)
ModuleNone
Notes
 Find the ancestor(s) shared by the maximum number of affecteds
 Also calculate inbreeding among all cases within each family

wrdesc

Name of routine: wrdesc
Source lines: 71619 - 71634
Type subroutine
Call wrdesc(pedigree, cid, sx, ndesc, ntot)
ModuleNone
Notes
 write person and number of descendants

mksegmod

Name of routine: mksegmod
Source lines: 71638 - 72052
Type subroutine
Call mksegmod(narg, words, trait, gt, thresh, offset, censor, nvar, varlist, nloci, loc, lochash, loctyp, priran, nqtl, linkf, modtyp, shap)
ModuleNone
Notes
 Parse a mixed model

preseg

Name of routine: preseg
Source lines: 72056 - 72112
Type subroutine
Call preseg(nvar, fixed, loc, loctyp, gene, allele_buffer, covariates)
ModuleNone
Notes
 Names and preliminary estimates for fixed effects part of mixed model

segsim

Name of routine: segsim
Source lines: 72119 - 73148
Type subroutine
Call segsim(linkf, modtyp, shap, trait, gt, thresh, offset, censor, nvar, fixed, gene, genemod, allele_buffer, loc, loctyp, locpos, burnin, iter, nbatch, nsamples, tune, nchain, nqtl, dataset, mlik, mpar, priran, mcalg, plevel)
ModuleNone
Notes
 Mixed model MCMC: simulate genotypes at 1..N unlinked QTLs
                            Gaussian breeding values
                            family intercepts
                            regression coefficients for fixed effects

genfreq

Name of routine: genfreq
Source lines: 73152 - 73163
Type subroutine
Call genfreq(pall, qtl_buffer)
ModuleNone
Notes
 QTL genotypic log frequencies

oneprop

Name of routine: oneprop
Source lines: 73168 - 73304
Type subroutine
Call oneprop(it, typ, mcalg, linkf, modtyp, nchain, nqtl, nfix, ncol, totobs, nprops, ncomp, tune, yvar, qtl_buffer, prop_buffer, nfam, families, dataset, empmu, empvar, lik, newlik, plevel)
ModuleNone
Notes
 One iteration of the sampler: either parameters or random effects
 Give "empirical" estimates of random effects variances

mhprop

Name of routine: mhprop
Source lines: 73309 - 73395
Type subroutine
Call mhprop(iprop, linkf, modtyp, nchain, nqtl, nfix, ncol, tune, yvar, qtl_buffer, nfam, families, dataset, lik, newlik, plevel)
ModuleNone
Notes

 Metropolis sampler for global parameters

slprop

Name of routine: slprop
Source lines: 73400 - 73528
Type subroutine
Call slprop(iprop, linkf, modtyp, nchain, nqtl, nfix, ncol, qtl_buffer, nfam, families, dataset, lik, newlik, plevel)
ModuleNone
Notes
 end-of-mhprop

 Slice sampler for global parameters

parprop

Name of routine: parprop
Source lines: 73534 - 73560
Type subroutine
Call parprop(typ, tune, yvar, oobounds)
ModuleNone
Notes
 end-of-slprop

 Make a proposal for one QTL model parameter for Metropolis sampler
 oobounds!=0 when proposal is illegal

parbounds

Name of routine: parbounds
Source lines: 73566 - 73587
Type subroutine
Call parbounds(typ, oobounds)
ModuleNone
Notes
 end-of-parprop

 Check Metropolis proposal
 oobounds!=0 when proposal is illegal

qtlmod

Name of routine: qtlmod
Source lines: 73601 - 73688
Type subroutine
Call qtlmod(linkf, modtyp, nqtl, qtl_buffer)
ModuleNone
Notes
 end-of-parbounds

 QTL allelic deviations, allele and genotype frequencies
 For identity link models, use  
   pA, mu, totvar, a2, d2, h2, c2 to calculate all other parameters
 For other GLMs, use
   VA etc
 model pars 1=P(all) 2=a 3=d 4=AA 5=AB 6=BB
            7=mu 8=totvar 9=VA 10=VD 11=VG 12=VC 13=VS 14=VE
            15=sdG 16=sdC 17=sdS 18=sdE
            19=a2 20=d2 21=h2 22=c2 23=s2 24=e2
            25..MAXPAR=Betas

chkbin

Name of routine: chkbin
Source lines: 73692 - 73710
Type subroutine
Call chkbin(nqtl, oobounds)
ModuleNone
Notes
 check bounds on linear binomial model terms

triprop

Name of routine: triprop
Source lines: 73715 - 73726
Type subroutine
Call triprop(tune, p)
ModuleNone
Notes
 end-of-chkbin

 Circularized triangular random proportion

linfun

Name of routine: linfun
Source lines: 73732 - 73756
Type subroutine
Call linfun(linkf, y, thresh)
ModuleNone
Notes
 end-of-triprop

 link function for binary data
 linkf=1 identity 2 logit 3 probit 4 MFT 5=Log

dens

Name of routine: dens
Source lines: 73761 - 73799
Type function
Call dens(x, mu, sd, shap, cens, modtyp)
ModuleNone
Notes
 end-of-linfun

 Poisson or Binomial or Gaussian log density for FPM

pedlik

Name of routine: pedlik
Source lines: 73805 - 73843
Type subroutine
Call pedlik(linkf, modtyp, nchain, nqtl, nfix, ncol, qtl_buffer, nfam, families, dataset, lik, oobounds, plevel)
ModuleNone
Notes
 end-of-dens

 Calculate likelihood under FPM for entire sample of pedigrees
 over all chains (replicates)

seglik

Name of routine: seglik
Source lines: 73848 - 73900
Type subroutine
Call seglik(linkf, modtyp, ichain, nqtl, nfix, qtl_buffer, family, dataset, plevel)
ModuleNone
Notes
 end-of-pedlik

 Calculate likelihood under FPM for one pedigree (one chain/replicate)

oneseg

Name of routine: oneseg
Source lines: 73906 - 74137
Type subroutine
Call oneseg(it, linkf, modtyp, ichain, nqtl, nfix, qtl_buffer, prop_buffer, family, dataset, mcalg, plevel)
ModuleNone
Notes
 end-of-seglik

 Update (gene-dropping) genotypes at one of N unlinked QTLs
 or Gaussian polygenotype or familial random intercept

oneslice

Name of routine: oneslice
Source lines: 74141 - 74278
Type subroutine
Call oneslice(ieff, linkf, modtyp, shap, ichain, nqtl, nfix, qtl_buffer, family, dataset, plevel)
ModuleNone
Notes
 Slice sampler updating Gaussian polygenotype

sliceprop

Name of routine: sliceprop
Source lines: 74283 - 74308
Type subroutine
Call sliceprop(ieff, idx, mztwin_proposal, twinlist, ichain, prop, family)
ModuleNone
Notes
 end-of-oneslice

 copy proposal to appropriate location

idxlik

Name of routine: idxlik
Source lines: 74314 - 74361
Type subroutine
Call idxlik(linkf, modtyp, shap, ichain, nqtl, nfix, qtl_buffer, family, dataset, lik, gtplik)
ModuleNone
Notes
 end-of-sliceprop

 Gaussian polygenotype likelihood contribution of individual idx (and
 affected relatives)

seglf

Name of routine: seglf
Source lines: 74365 - 74443
Type subroutine
Call seglf(typ, idx, ichain, linkf, modtyp, shap, nqtl, nfix, qtl_buffer, family, dataset, yp, lik, gtplik)
ModuleNone
Notes
 Likelihood contribution of a founder

seglnf

Name of routine: seglnf
Source lines: 74447 - 74514
Type subroutine
Call seglnf(typ, idx, ichain, curmo, linkf, modtyp, shap, nqtl, nfix, qtl_buffer, family, dataset, yp, lik, gtplik)
ModuleNone
Notes
 Likelihood contribution of a nonfounder

isimped

Name of routine: isimped
Source lines: 74519 - 74602
Type subroutine
Call isimped(ped, dataset, qtl_buffer, set)
ModuleNone
Notes
  Resimulate (gene-dropping) genotypes at a single autosomal locus
  in descendants of randomly selected index

simpol

Name of routine: simpol
Source lines: 74606 - 74688
Type subroutine
Call simpol(vsd, ichain, family)
ModuleNone
Notes
 Propose updated additive polygenic values in a pedigree

simmat

Name of routine: simmat
Source lines: 74693 - 74726
Type subroutine
Call simmat(vstep, ichain, family)
ModuleNone
Notes
 end-of-simpol

 Propose updated sibship/maternal effects in a pedigree

empval

Name of routine: empval
Source lines: 74732 - 74831
Type subroutine
Call empval(linkf, modtyp, nchain, nqtl, nfix, nfam, families, totobs, empmu, empvar)
ModuleNone
Notes
 end-of-simmat

 Get empirical estimates of random effects
 Tote up empirical statistics for random effects: VG, VC, VS, VE

initvc

Name of routine: initvc
Source lines: 74836 - 74903
Type subroutine
Call initvc(nchain, nfam, families)
ModuleNone
Notes
 end-of-empval

 Initialize additive genetic and/or maternal random effects

set2hap

Name of routine: set2hap
Source lines: 74909 - 74936
Type subroutine
Call set2hap(ichain, iqtl, num, set, hset, typ)
ModuleNone
Notes
 end-of-initvc

 Copy or swap genotypes from set to hset
 1=set->hset; 2=hset->set; 3=swap

fpmpred

Name of routine: fpmpred
Source lines: 74941 - 74977
Type subroutine
Call fpmpred(typ, idx, ichain, linkf, nqtl, nfix, family, yp, ypf)
ModuleNone
Notes
 end-of-set2hap

 FPM Linear predictor

updateblups

Name of routine: updateblups
Source lines: 74981 - 75043
Type subroutine
Call updateblups(whichblup, nvals, nchain, nfam, families)
ModuleNone
Notes
 Accumulate BLUP for additive genetic effects

dobatch

Name of routine: dobatch
Source lines: 75047 - 75076
Type subroutine
Call dobatch(nbatch, nvar, batch, batchse)
ModuleNone
Notes
 Produce batch estimates of Monte-Carlo error variance

wronep

Name of routine: wronep
Source lines: 75080 - 75113
Type subroutine
Call wronep(idx, it, ichain, yp, iqtl, nqtl, ieff, lik, family, dataset)
ModuleNone
Notes
 Print oneseg's proposed genotypes for one individual

wrfpm

Name of routine: wrfpm
Source lines: 75118 - 75208
Type subroutine
Call wrfpm(it, linkf, modtyp, ichain, nqtl, nfix, family, dataset)
ModuleNone
Notes
 end-of-wronep

 Print simulated genotypes from FPM iteration

wlscor

Name of routine: wlscor
Source lines: 75212 - 75254
Type subroutine
Call wlscor(cor, npairs)
ModuleNone
Notes
 WLS analysis of familial correlations

domft

Name of routine: domft
Source lines: 75258 - 75411
Type subroutine
Call domft(trait, prevalence, logrid, higrid, gridstep, dataset, mlik, mpar, iter, plevel)
ModuleNone
Notes
 MFT

sibqtl

Name of routine: sibqtl
Source lines: 75415 - 75682
Type subroutine
Call sibqtl(tranam, trait, locnam, gene, allele_buffer, dataset, pval, plevel, toler)
ModuleNone
Notes
 Variance components analysis

varcom

Name of routine: varcom
Source lines: 75690 - 76344
Type subroutine
Call varcom(modtyp, nterms, terms, loc, loctyp, locpos, gene, genemod, allele_buffer, nmark, mark, dataset, mlik, mpar, pval, plevel, burnin, iter, typ, approx, toler)
ModuleNone
Notes
 Variance components analysis
 modtyp 1=MVN 2=MFT
 typ 1=CE 2=AE 3=ACE 4=ADE
     5=AQE (6 if ibd matrix in script)
     7=CQE

mvnlik

Name of routine: mvnlik
Source lines: 76348 - 76402
Type function
Call mvnlik(npar, parest)
ModuleNone
Notes
 MVN model loglikelihood

mftlik

Name of routine: mftlik
Source lines: 76406 - 76462
Type function
Call mftlik(npar, parest)
ModuleNone
Notes
 MFT model loglikelihood

vcprofile

Name of routine: vcprofile
Source lines: 76466 - 76496
Type subroutine
Call vcprofile(whichpar, vc_nfix, npar, parest, modlik, lo95, up95)
ModuleNone
Notes
 Function to give profile likelihood for given parameter of MVN model

brent_proflik

Name of routine: brent_proflik
Source lines: 76500 - 76518
Type function
Call brent_proflik(x)
ModuleNone
Notes
 Function to give profile likelihood for A in AE model

vcov

Name of routine: vcov
Source lines: 76522 - 76567
Type subroutine
Call vcov(va, vq, ve, vcvmat)
ModuleNone
Notes
 GLS model VCOV for fixed effects part of MVN mixed model

thinibd

Name of routine: thinibd
Source lines: 76571 - 76602
Type subroutine
Call thinibd(ped, dataset, nobs, ibd1, ibd2)
ModuleNone
Notes
 Drop covariance matrix entries for unused records

syminv

Name of routine: syminv
Source lines: 76606 - 76647
Type subroutine
Call syminv(a, n, c, logdet, info)
ModuleNone
Notes
 Call to LINPACK routines to invert packed lower triangular symmetric matrix

gibinv

Name of routine: gibinv
Source lines: 77028 - 77080
Type subroutine
Call gibinv(cov, n, invcov, logdet, iter)
ModuleNone
Notes
 D. A. Harville. Use of the Gibbs sampler to invert large, possibly
 sparse, positive definite matrices. Linear Algebra and its
 Applications, 289:203

 Proposal of Harville is Gibbs sampler using just (3)
 1.  Set arbitrary starting values for z, z*
     for instance z_i=0, z*_i=i
 2.  Sample Phi as a vector containing independent draws according
     with definition (5) and (6):
       (5) E(Phi)=0 (6) E(Phi[k]*Phi[l])=I*delta(k,l)
 3.  Update z, z* by using equations (3)
       (3) z_i[k] = Phi_i[k]/sqrt(c_ii) -
                    Sum(z_j[k] c_ij, j=1,i-1)/c_ii -
                    Sum(z_j[k-1] c_ij, j=i+1,n)/c_ii
 4.  p = p + 1
 5.  Go to step 2 until abs(z'z*) < tol
 6.  Sample Phi as a vector containing independent draws according
     with definition (5) and (6)
 7.  Update z using equation (3)
 8.  Accumulate Cov(z) in s
 9.  Go to step 6 to compute the next round of iteration (B - p times)
 10. Set the final estimate: Inv(C) =  s/(B - p)

oneinv

Name of routine: oneinv
Source lines: 77084 - 77107
Type subroutine
Call oneinv(n, nn, cov, z)
ModuleNone
Notes
 One iteration of update of z

brent

Name of routine: brent
Source lines: 77134 - 77231
Type function
Call brent(ax, bx, f, tol)
ModuleNone
Notes
  
 Brent's one-dimensional minimizer
  
 The method used is a combination of golden section search and
 successive parabolic interpolation.  Convergence is never much
 slower than that for a Fibonacci search.  If F has a continuous
 second derivative which is positive at the minimum (which is not
 at AX or BX), then convergence is superlinear, and usually of the
 order of about 1.324....
  
 INPUT PARAMETERS
  
  AX    (real)  left endpoint of initial interval
  BX    (real) right endpoint of initial interval
  F     Real function of the form REAL FUNCTION F(X) which evaluates
          F(X)  for any  X in the interval  (AX,BX)
        Must be declared EXTERNAL in calling routine.
  TOL   (real) desired length of the interval of uncertainty of the
        final result ( .ge. 0.0)
  
 OUTPUT PARAMETERS
  
 FMIN   abcissa approximating the minimizer of F
 AX     lower bound for minimizer
 BX     upper bound for minimizer
  

globhom

Name of routine: globhom
Source lines: 77235 - 77400
Type subroutine
Call globhom(dataset, plevel)
ModuleNone
Notes
 Calculate observed and expected homozygosity for all individuals

globhom_onelocus

Name of routine: globhom_onelocus
Source lines: 77404 - 77431
Type subroutine
Call globhom_onelocus(gene, loctyp, dataset, exphom)
ModuleNone
Notes
 Homozygosity contribution for ith locus

mulhom

Name of routine: mulhom
Source lines: 77436 - 77747
Type subroutine
Call mulhom(trait, gt, thresh, xlinkd, iter, mincnt, nloci, loc, loctyp, locpos, map, dataset, plevel)
ModuleNone
Notes
 Calculate observed and expected multipoint homozygosity
 Expected distribution simulated using given map

clcrun

Name of routine: clcrun
Source lines: 77751 - 77795
Type subroutine
Call clcrun(ped, dataset, nmark, hset, runlen, totrunlen, averun)
ModuleNone
Notes
 calculate average maximum run length of homozygosity

simhap

Name of routine: simhap
Source lines: 77799 - 77874
Type subroutine
Call simhap(nmark, recdist, alleles, ped, dataset, hset, plevel)
ModuleNone
Notes
 Drop haplotypes for all family members for given map

exclude

Name of routine: exclude
Source lines: 77879 - 77905
Type subroutine
Call exclude(imp, nloci, loc, loctyp, locpos, dataset, inconsist, imputd, plevel)
ModuleNone
Notes
 Excluding genotypes from parental phenoset
 Straight Lange & Goradia AJHG 1987 40: 250-256

exclude_onelocus

Name of routine: exclude_onelocus
Source lines: 77909 - 77981
Type subroutine
Call exclude_onelocus(imp, gene, loc, loctyp, dataset, inconsist, imputd, plevel)
ModuleNone
Notes
 Exclude at one locus

exclude_oneped

Name of routine: exclude_oneped
Source lines: 77985 - 78283
Type subroutine
Call exclude_oneped(imp, reduce, locnam, gene, xlinkd, ped, dataset, allele_buffer, set, gset, inconsist, imputd, plevel)
ModuleNone
Notes
 Do one pedigree at one locus

wrset

Name of routine: wrset
Source lines: 78287 - 78317
Type subroutine
Call wrset(locnam, ped, dataset, set, gset)
ModuleNone
Notes
 write out phenoset

exc

Name of routine: exc
Source lines: 78321 - 78455
Type subroutine
Call exc(locnam, xlinkd, gene, ped, dataset, set, gset, inconsist, plevel)
ModuleNone
Notes
 perform exclusion for the pedigree regardless of imputation level

landg

Name of routine: landg
Source lines: 78459 - 78577
Type subroutine
Call landg(xlinkd, currf, currm, sta, fin, sex, set, gset, change, incon)
ModuleNone
Notes
 2nd version of impute -- following Lange & Goradia, 1987

prune

Name of routine: prune
Source lines: 78581 - 78605
Type subroutine
Call prune(idx, ngeno, gset, keep)
ModuleNone
Notes
 Remove unwanted genotypes from phenoset

swapg

Name of routine: swapg
Source lines: 78609 - 78620
Type subroutine
Call swapg(idx, gset, j, k)
ModuleNone
Notes
 Swap two genotypes within a phenoset array

doblup

Name of routine: doblup
Source lines: 78624 - 78697
Type subroutine
Call doblup(locnam, trait, h2, dataset, plevel)
ModuleNone
Notes
 Calculate BLUPs for VC model

blup

Name of routine: blup
Source lines: 78701 - 78781
Type subroutine
Call blup(lam, trait, ped, dataset, ainv, bval, fmu)
ModuleNone
Notes
 Calculate BLUPs for current pedigree

hapassoc

Name of routine: hapassoc
Source lines: 78790 - 79190
Type subroutine
Call hapassoc(nmark, markers, loc, loctyp, locpos, dataset, pval, plevel)
ModuleNone
Notes
 
 Association haplotype analysis for unphased data

 counts  ncells  ncat*(na1*(na1+1)/2)*(na2*(na2+1)/2)
 full    nfull   ncat*(nh1*(nh1+1)/2)*(nh2*(nh2+1)/2)
 scatter nfull*nobs
 model   nfull*(ncat + nh1 + nh2 + nh1*nh2 [ + ncat*nh1*nh2 ])

agl

Name of routine: agl
Source lines: 79199 - 79229
Type subroutine
Call agl(nr, nc, design, sta, nalleles, nstrata)
ModuleNone
Notes
  
 Appropriate design matrix columns for allelic model
 a1 a2  gen
 2  0   1/1
 1  1   1/2
 1  1   2/1
 0  2   2/2
  

hap2gen

Name of routine: hap2gen
Source lines: 79233 - 79284
Type subroutine
Call hap2gen(nrep, nmarkers, numals, scatter)
ModuleNone
Notes
 Phased genotype to unphased genotype mapping

nearloc

Name of routine: nearloc
Source lines: 79302 - 79364
Type subroutine
Call nearloc(pos, thresh, maxcluster, nloci, loc, loctyp, map, nmark, mark, plevel)
ModuleNone
Notes
 Convenience routine
 subroutine wrmat(nr, nc, mat)
   integer, intent(in) :: nr, nc
   double precision, dimension(nr*nc), intent(in) :: mat
   integer :: i, pos
   pos=0
   do i=1, nr
     write(*,*) i, ': ', mat(pos+1:pos+nc) 
     pos=pos+nc
   end do
 end subroutine wrmat

 The set of markers close to an index marker             A         B
 map distances are interpreted adjacently ie 10-5-15 = B unlinked 
                                                       C unlinked  10

dopeel

Name of routine: dopeel
Source lines: 79393 - 79457
Type subroutine
Call dopeel(typ, gene, trait, maxiter, allele_buffer, dataset, plevel)
ModuleNone
Notes
 Iterative peeling in pedigrees -- Description from thesis of Schelling 2004

 1. for each pedigree member i to initialize anterior values to the population genotype
    frequency and posterior values to unity subsequently calculate its 
    penetrance values.
 2. Then, for each connector i
  a) for families in which i is an offspring, its anterior value ai (ui )
     is calculated non-recursively using (2.16) and the current values of
     the required quantities.
  b) for families in which i is a parent, its posterior value pij (ui )
     through each mate j is calculated non-recursively using (2.17) and the
     current values of the required quantities.
 Repeat 2 until values converge

 Additionally, anterior, posterior and penetrance values may be scaled
 to sum to unity over genotype as described in Wang et al. (1996) to
 avoid numerical underflow. The log scaling factors Kai , Kgi and Kpij
 for the anterior, posterior and penetrance values are also calculated
 using the current values of the required quantities. They denote the
 accumulative log of the scaling factors for the anterior, posterior
 and penetrance values for member i with its mother mi and father pi .

 In 2.16 and 2.17, S denotes set of mates, C denotes set of full-sibs

 typ=1 likelihood
 typ=2 GPE

itpeel

Name of routine: itpeel
Source lines: 79461 - 79995
Type subroutine
Call itpeel(typ, ped, dataset, gene, allele_buffer, gfrq, transprob, trait, maxiter, lik, ifail, plevel)
ModuleNone
Notes
 pth ped

filltrans

Name of routine: filltrans
Source lines: 79999 - 80026
Type subroutine
Call filltrans(numal, ngeno, transprob)
ModuleNone
Notes
 Create table of transmission probabilities

postprod

Name of routine: postprod
Source lines: 80030 - 80050
Type function
Call postprod(idx, geno, nmates, mates, postp)
ModuleNone
Notes
 Product of posterior values for all matings of ego

postprodex

Name of routine: postprodex
Source lines: 80054 - 80078
Type function
Call postprodex(idx, except, geno, nmates, mates, postidx, postp)
ModuleNone
Notes
 Product of posterior values for all matings of ego save one

postscale

Name of routine: postscale
Source lines: 80082 - 80096
Type function
Call postscale(idx, nmates, mates, pscale)
ModuleNone
Notes
 Sum of posterior value scaling factors for all matings of ego

postscalex

Name of routine: postscalex
Source lines: 80100 - 80118
Type function
Call postscalex(idx, except, nmates, mates, postidx, pscale)
ModuleNone
Notes
 Sum of posterior value scaling factors for all matings of ego

nglist

Name of routine: nglist
Source lines: 80122 - 80130
Type function
Call nglist(gtp,ngeno)
ModuleNone
Notes
 Length of list of genotypes

glist

Name of routine: glist
Source lines: 80134 - 80142
Type function
Call glist(gtp, idx)
ModuleNone
Notes
 member of list of genotypes

itlik

Name of routine: itlik
Source lines: 80146 - 80179
Type subroutine
Call itlik(trget, ngeno, gtp, nmates, mates, antp, postp, ascale, pscale, lik)
ModuleNone
Notes
 Likelihood from iterative peeling

dopeel2

Name of routine: dopeel2
Source lines: 80185 - 80310
Type subroutine
Call dopeel2(typ, mark1, mark2, theta, maxiter, allele_buffer1, allele_buffer2, dataset, plevel)
ModuleNone
Notes
 Two locus version
 typ=1 likelihood
 typ=2 grid

itpeel2

Name of routine: itpeel2
Source lines: 80314 - 80916
Type subroutine
Call itpeel2(ped, dataset, mark1, mark2, allele_buffer1, allele_buffer2, ngeno, phased, gfrq, ngrid, grid, famlik, istat, maxiter, ifail, plevel)
ModuleNone
Notes
 Iterative peeling two codominant loci over grid of recombination fractions: pth ped

nglist2

Name of routine: nglist2
Source lines: 80920 - 80925
Type function
Call nglist2(gtp)
ModuleNone
Notes
 Length of list of genotypes

glist2

Name of routine: glist2
Source lines: 80929 - 80935
Type function
Call glist2(gtp, idx)
ModuleNone
Notes
 member of list of genotypes

transprob

Name of routine: transprob
Source lines: 80939 - 80955
Type function
Call transprob(geno, fgeno, mgeno, ngeno, phased, prec, pnrec)
ModuleNone
Notes
 Parent-offspring triad

transmit

Name of routine: transmit
Source lines: 80963 - 80976
Type function
Call transmit(p11, p12, p21, p22, c1, c2, prec, pnrec)
ModuleNone
Notes
 Transmission probabilities: two codominant loci, phased genotypes

 p11 | p12        c1
     |       =>
 p21 | p22        c2

itlik2

Name of routine: itlik2
Source lines: 80980 - 81013
Type subroutine
Call itlik2(trget, gtp, nmates, mates, antp, postp, ascale, pscale, lik)
ModuleNone
Notes
 Likelihood from iterative peeling

fillphase

Name of routine: fillphase
Source lines: 81017 - 81066
Type subroutine
Call fillphase(allele_buffer1, allele_buffer2, ngeno, phased, gfrq)
ModuleNone
Notes
 Phased genotype frequencies

doeigen

Name of routine: doeigen
Source lines: 81068 - 81102
Type subroutine
Call doeigen(n)
ModuleNone

dcentre

Name of routine: dcentre
Source lines: 81107 - 81131
Type subroutine
Call dcentre(n, nn, x)
ModuleNone
Notes
 double centre a distance matrix (lower triangular form)
 used for MDS

twinken

Name of routine: twinken
Source lines: 81136 - 81296
Type subroutine
Call twinken(locnam, trait, cenloc, censor, mztwin, gt, thresh, dataset, plevel)
ModuleNone
Notes
 Oakes' Kendall tau for bivariate survival analysis 
 contrasting monozygotic twins v. other siblings.

eigen

Name of routine: eigen
Source lines: 81300 - 81326
Type subroutine
Call eigen(typ, n, a, z)
ModuleNone
Notes
 Wrapper for EISPACK real symmetric matrix routines

rs

Name of routine: rs
Source lines: 81333 - 81358
Type subroutine
Call rs(nm, n, a, w, matz, z, fv1, fv2, ierr)
ModuleNone
Notes
 This subroutine calls the recommended sequence of
 subroutines from the Eigensystem Subroutine Package (EISPACK)
 to find the eigenvalues and eigenvectors (if desired)
 of a real symmetric matrix.

tred1

Name of routine: tred1
Source lines: 81367 - 81470
Type subroutine
Call tred1(nm, n, a, d, e, e2)
ModuleNone
Notes
 This EISPACK subroutine is a translation of the Algol procedure TRED1, 
 Num. Math. 11, 181-195(1968) by Martin, Reinsch, and Wilkinson.
 Handbook for Auto. Comp., Vol.II-Linear Algebra, 212-226(1971).
 This subroutine reduces a real symmetric matrix
 to a symmetric tridiagonal matrix using
 orthogonal similarity transformations.

tred2

Name of routine: tred2
Source lines: 81479 - 81619
Type subroutine
Call tred2(nm, n, a, d, e, z)
ModuleNone
Notes
  
 This EISPACK subroutine is a translation of the Algol procedure TRED2, 
 Num. Math. 11, 181-195(1968) by Martin, Reinsch, and Wilkinson.
 Handbook for Auto. Comp., Vol.II-Linear Algebra, 212-226(1971).
 This subroutine reduces a real symmetric matrix to a
 symmetric tridiagonal matrix using and accumulating
 orthogonal similarity transformations.
  

tqlrat

Name of routine: tqlrat
Source lines: 81627 - 81724
Type subroutine
Call tqlrat(n, d, e2, ierr)
ModuleNone
Notes
  
 This EISPACK subroutine is a translation of the Algol procedure TQLRAT, 
 Algorithm 464, Comm. ACM 16, 689(1973) By Reinsch.
  
 This subroutine finds the eigenvalues of a symmetric
 tridiagonal matrix by the rational QL method.

tql2

Name of routine: tql2
Source lines: 81736 - 81878
Type subroutine
Call tql2(nm, n, d, e, z, ierr)
ModuleNone
Notes
  
 This EISPACK subroutine is a translation of the Algol procedure TQL2, 
 Num. Math. 11, 293-306(1968) by Bowdler, Martin, Reinsch, and Wilkinson.
 Handbook for Auto. Comp., Vol.II-Linear Algebra, 227-240(1971).
  
 This subroutine finds the eigenvalues and eigenvectors
 of a symmetric tridiagonal matrix by the ql method.
 The eigenvectors of a full symmetric matrix can also
 be found if  tred2  has been used to reduce this
 full matrix to tridiagonal form.

pythag

Name of routine: pythag
Source lines: 81882 - 81903
Type function
Call pythag(a, b)
ModuleNone
Notes
  
 Finds dsqrt(A**2+B**2) without overflow or destructive underflow

Name of routine:
Source lines: 81907 - 81921
Type function
Call epslon (x)
ModuleNone
Notes
 estimate unit roundoff in quantities of size x


Alphabetical list of routines

actlist actped addall addcolon
addlet addlist addsexes addtmpvar addvar
agl alias aligntype alldata allinset
alogit ancest append append append_pair
append_string appval args ascend asstyp
atgc aval backchar badloop betacf
binirls binop binp binreg binz
bluefreq blup bonf brent brent_proflik
brent_tet bsub caar cadaar cadar
cadddr caddr cadr calc_gtp_freqs calclogrank
car casekin cat ccpen cdar
cddddr cddr cdr ceqstr check
chfind chi2nc chip chisqd chkbin
choose chrnum cisimped ckibs clcchi
clcibd clcibs clcmcn clcpos clcrun
clctdt clean_AS164 clean_pairs clean_props clean_table
cleanup_alleles cleanup_bank cleanup_form cleanup_hash cleanup_loci
cleanup_mem cleanup_peds clearinput close_port clratom
clreg clrmark cntbad cntclasses cntibs
cntmark cntprop combine compld complete
compop compsign concat concest conchi
conlen connect conoff cons copy
copy_peds copydata copyfreq corchi corr
corrstd corstring cortest countall countargs
countfields countmz countships couple coutyp
covcor covsrt cpganova cpibd create_form
csimped cubicld cubiclik dataset_uses dataset_uses
dateconv dattoset davie davstat davwri
dcentre decchr decgtp defpro delfile
delta delta7 dens describe dhwe2
dim_table disjoin display dkbvrc dksmrc
dkswap dmatch doanova doapm doasp
doassoc dobatch doblup docomp docount
docov doeigen dogen dohash_id dohash_ped_id
dohashids dohist dohomoz dohrr dohwe
doinbred doito dokin domar domatch_id
domatch_ped_id domatch_string_id domatch_string_ped_id domft domix
domqls dopeel dopeel2 dopenrose doplot
dorank doselect dotdt dpois drop
dropt2 dryrun dsort dssp duplicates
dweib edit eigen emibskin emllm
empval encchr encgtp encode_geno1 encode_geno2
eow eqv error0 error1 escape
evalped evdtailp exc exclude exclude_onelocus
exclude_oneped expand_alleles expand_geno expand_loci expand_pairs
expand_pheno expand_sgeno expand_table extpath extprefix
extract_fa extract_id extract_imztwin extract_iped extract_mo
extract_ped fact famcor famcovar famerr
famimp fammeans famset famsort fchooser
fgz_close fgz_open fgz_read fgz_rewind fgz_write
filecols fill2 fill_hash filliben fillin
fillin_mit fillin_yha fillphase filltrans filltri
find_hashtab find_pair findbracket findend findfile
findids findlev findlist findloop findmk
findml findrank findth findwh findword
fishzci fishzse fitbin fitloglin fixeff
flat_table flip flushinput fonttype foulik
found fp fpicker fpicker fpmpred
fprinter frater freq fromplink fsimped
ftdev fval gammad gc gc_mark
gencode gencopy gener genfreq genmatch
genof2 genof3 genof4 genoff genot
gensym get_geno get_ivalue get_listlen get_namedgeno
get_snpallele1 get_snpallele2 get_string get_strlen get_substr
get_value get_var getbin getcell getchr
getfreq getgeno getint getlabel getlin
getnam getrelval getstrata gettrait getword
getyear gibinv givenc gl glist
glist2 glmscale globhom globhom_onelocus grad
grrpen handler hap2gen hapassoc haploid_aov
haploid_ass haploid_count haploid_freq haptogen hashids
hashprint head help hibd hwe2
hwechi hwep ibeta ibskin ibskin_one
ibspca idwidths idxlik iencgtp inchap
inchar incpo incpos incr incr_table
inderr indset info inht inicov
init_globals init_procs init_scheme init_scm init_syntax
init_vars_global initvc insert_lochash insert_pair insert_table
insgen insloc inuclik invkin invmap
iquadmult isactdip isactive isaff isafun
isatom isatwin iscattrait isclosure iscomment
iscomp iscompressed iscontinuation isdata isenv
isfalse isfloat isgeno isgzipped ishaploid
isimped isinenv isint isinteger isinuse
ismacro ismark ismarker ismis ismiss
ismzpair isnumber isop isort ispair
isport isproc ispromise isqtrait isreal
isstring issymbol issyntax istrait istrue
isvar isvec itlik itlik2 ito
itpeel itpeel2 ival joinped juststr
kinship kwtest landg ld2 ldlist
ldp ldtab ldtest legall lfact
lifetab linfun list_var listab listchroms
listids listloci listpeds ln loadnam
loadset loadvar loccode locfmt logccs
logit loglin logrank lorder macloop
macsub macvar make_lochash makeind maketab
makewt margen marginal_table markeribd marseg
marshare match matchid matrix_active matrix_copy
matrix_copy_row matrix_create matrix_destroy matrix_get_col matrix_get_el
matrix_get_row matrix_ncols matrix_nrows matrix_print matrix_read
matrix_read_contents matrix_read_row matrix_read_unformatted matrix_set_col matrix_set_el
matrix_set_row matrix_size matrix_type matrix_write matrix_write_row
matrix_zero mcfreq mcgpe mftlik mhprop
missing mixture mk_atom mk_closure mk_const
mk_continuation mk_number mk_port mk_proc mk_real
mk_string mk_symbol mk_syntax mkchoose mkdummy
mksegmod mktmpfil moment moskld moskvina
msdsort mulhom mumson mutage mutate
mvbvu mvndst mvnlik mvnlms mzfind
mzgtp mztest nearloc newlin newloctyp
newlun newstart nextcmd nextped nextword
nglist nglist2 non_alloc_rev nonextped ntcode
nttonum nuchek nucibd nuclear nuclik
nucseg numtont observed ok_abbrev onefam
oneinv onelik oneprop oneseg oneslice
onestripe onetab opchar opcon open_port
openlog opexe0 opexe1 opexe10 opexe11
opexe12 opexe13 opexe14 opexe15 opexe2
opexe3 opexe4 opexe5 opexe6 opexe7
opexe8 opexe9 opsimple order ordvar
packer padprint pairlink parbounds parcon
parimp parprop parser pearson pedhead
pedibd pedin pedlik pedout pedsort
pedtab permdata permut phist pipe_close
pipe_open pipe_read pipe_rewind pipe_write popgen_homoz
popgen_init popgen_summary postmult postmultm postprod
postprodex postscale postscalex pre_grapheps precis
predmat preseg prexpr prgtp priallval
print_table printatom printmat prirelval processfam
procnum proct prodlim propci prrel
prune prunep pstring pull pythag
qqplot qtdt qtlmod qtlpars quadform
quadmult quadxxm quadxy quadxy1 quadxym
quadxymv ranall randn random rankstat
rantri rclrts rcp rcswp rctdt
rctest rctperm rctsim rctuse rdfreq
rdlinloc rdmerloc rdplink read_scheme_image readbed
readbin readcases readgeno readhapmap readline
readmap readnames readpeds readprobs readstr
readstrexp recast reclen recode recrisk
regress regwt relations remfam remove
renumb repl_scheme replacedata reverse rewind_port
rs rtheta rvalue s_retbool s_return
s_save same_loctyp sample save_scheme_image scatter_grapheps
scheme_delim sclean search_table sech segerr
seglf seglik seglnf segrat segsim
seldel selped selstat set2hap set_caar
set_car set_cdar set_cdr set_geno set_hval
set_ivalue set_string set_substring set_syntaxnum set_type
set_value setatom setmark setup_freq setup_hash
setup_ibd setup_loci setup_mem setup_mix setup_pairs
setup_peds setup_plink setup_props setup_stat setup_table
setupmer sextable share shell shibd
shipcon shipsiz shorten show_form show_lochash
show_locus_allocation show_one_carray show_one_farray show_one_iarray show_ped_allocation
show_snp showdata showdups shuffle sibass
sibcor sibloci sibpair sibqtl sibvar
simchi simdata simhap simhaploid simibd
simil simlogrank simmat simnuc simpar
simped simpev simpol skipspace slash
sliceprop slprop snpenc sort_table sow
sow srank sshare stamp stand
start startone strattyp streq strfind
string_hash sumcols_form sumped sumplot sumstat
sumsym sumucsc survtab swap swapalleles
swapg switch syminv symtest syntaxnum
tab tabgen tabhap tabid tabmat
tabstat tarone tdtuse test_port testage
testhap testpage testsex tetcor thetaf
thincov thinibd thischr tidydata togreg
tojulian token tp tql2 tqlrat
traceplot trans transmit transprob tred1
tred2 triprop twidl twincon twincor
twinken twobyk twofrq twohwe twold
twopoi typeof typwords unidens uninf
uniqid uniqnam unop unsel unzipper
upchi update updateblups useld var
varcom varlevels varmet vcov vcprofile
vmerr weishape whall whitehead wlscor
wordpos workpointers wraff wrall wrans
wrarl wrbeagle wrbed wrcri wrcsv
wrdate wrdesc wrdot wrfish wrform
wrfpm wrfreq wrgen wrgtp wrhbd
wribd wribs wricas wrid wrind
wrinline writebin writeline wrkout wrlink
wrmap wrmorg wroddall wronep wrpap
wrpercent wrpercentd wrphe wrprd wrprop
wrpropci wrset wrsex wrsim wrsimq
wrsimqtl wrsnp wrsubped wrtab wrtrait
wrvert xmeans xsimped xtab xtrans
xy_grapheps zero_table zerop