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.
| Name of routine: | fonttype |
|---|---|
| Source lines: | 344 - 365 |
| Type | function |
| Call | fonttype(s) |
| Module | japi |
| Notes |
| Name of routine: | aligntype |
|---|---|
| Source lines: | 367 - 390 |
| Type | function |
| Call | aligntype(s) |
| Module | japi |
| Notes |
| Name of routine: | random |
|---|---|
| Source lines: | 418 - 428 |
| Type | function |
| Call | random() |
| Module | rngs |
| 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 |
| Name of routine: | uniqnam |
|---|---|
| Source lines: | 443 - 451 |
| Type | subroutine |
| Call | uniqnam(nchar, str) |
| Module | rngs |
| Notes | Random character string |
| Name of routine: | rantri |
|---|---|
| Source lines: | 455 - 458 |
| Type | function |
| Call | rantri() |
| Module | rngs |
| Notes | Triangular random number generator |
| Name of routine: | randn |
|---|---|
| Source lines: | 467 - 489 |
| Type | function |
| Call | randn() |
| Module | rngs |
| 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. |
| Name of routine: | permut |
|---|---|
| Source lines: | 493 - 506 |
| Type | subroutine |
| Call | permut(n, ia) |
| Module | rngs |
| Notes | Permute the contents of an integer array |
| Name of routine: | handler |
|---|---|
| Source lines: | 517 - 523 |
| Type | subroutine |
| Call | handler() |
| Module | interrupt |
| Notes | keyboard interrupt handler (exits after 6 interrupts, usually ctrl-C) |
| Name of routine: | fgz_open |
|---|---|
| Source lines: | 659 - 687 |
| Type | subroutine |
| Call | fgz_open(path, mode, fd, ios) |
| Module | f95zlib |
| Notes | Wrapper for gzopen also reinitializes gzread's buffer |
| Name of routine: | fgz_rewind |
|---|---|
| Source lines: | 691 - 700 |
| Type | subroutine |
| Call | fgz_rewind(fd, ios) |
| Module | f95zlib |
| Notes | Wrapper for gzrewind |
| Name of routine: | fgz_read |
|---|---|
| Source lines: | 705 - 788 |
| Type | subroutine |
| Call | fgz_read(fd, lin, advance, ios) |
| Module | f95zlib |
| Notes | Wrapper for gzread read one line of text from buffer |
| Name of routine: | fgz_write |
|---|---|
| Source lines: | 792 - 833 |
| Type | subroutine |
| Call | fgz_write(fd, lin, advance, ios) |
| Module | f95zlib |
| Notes | write one line of text to a gzipped textfile |
| Name of routine: | fgz_close |
|---|---|
| Source lines: | 837 - 845 |
| Type | subroutine |
| Call | fgz_close(fd, ios) |
| Module | f95zlib |
| Notes | Wrapper for gzclose |
| Name of routine: | pipe_open |
|---|---|
| Source lines: | 893 - 904 |
| Type | subroutine |
| Call | pipe_open(command, fd, ios) |
| Module | f95pipes |
| Notes | wrapper for popen fd%stat gives mode |
| Name of routine: | pipe_rewind |
|---|---|
| Source lines: | 907 - 913 |
| Type | subroutine |
| Call | pipe_rewind(fd, ios) |
| Module | f95pipes |
| Notes | rewind pipe |
| Name of routine: | pipe_read |
|---|---|
| Source lines: | 916 - 940 |
| Type | subroutine |
| Call | pipe_read(fd, lin, advance, ios) |
| Module | f95pipes |
| Notes | wrapper for fgets |
| Name of routine: | pipe_write |
|---|---|
| Source lines: | 943 - 963 |
| Type | subroutine |
| Call | pipe_write(fd, lin, advance, ios) |
| Module | f95pipes |
| Notes | wrapper for fputs |
| Name of routine: | pipe_close |
|---|---|
| Source lines: | 966 - 974 |
| Type | subroutine |
| Call | pipe_close(fd, ios) |
| Module | f95pipes |
| Notes | wrapper for pclose |
| Name of routine: | newlun |
|---|---|
| Source lines: | 995 - 1009 |
| Type | subroutine |
| Call | newlun(strm) |
| Module | fileio |
| Notes | Find a free Fortran style unit |
| Name of routine: | isgzipped |
|---|---|
| Source lines: | 1013 - 1035 |
| Type | function |
| Call | isgzipped(filnam) |
| Module | fileio |
| Notes | Test if gzipped file, reading magic number 31,139 |
| Name of routine: | open_port |
|---|---|
| Source lines: | 1039 - 1105 |
| Type | subroutine |
| Call | open_port(filnam, port, mode, ios) |
| Module | fileio |
| Notes | Open a (plain or gzipped) file or pipe for reading or writing |
| Name of routine: | rewind_port |
|---|---|
| Source lines: | 1109 - 1125 |
| Type | subroutine |
| Call | rewind_port(port, ios) |
| Module | fileio |
| Notes | Reopen a file for reading or writing |
| Name of routine: | readline |
|---|---|
| Source lines: | 1129 - 1151 |
| Type | subroutine |
| Call | readline(port, lin, advance, ios) |
| Module | fileio |
| Notes | Read one record from file |
| Name of routine: | writeline |
|---|---|
| Source lines: | 1155 - 1177 |
| Type | subroutine |
| Call | writeline(port, lin, advance, ios) |
| Module | fileio |
| Notes | Write one record to file |
| Name of routine: | close_port |
|---|---|
| Source lines: | 1182 - 1205 |
| Type | subroutine |
| Call | close_port(port, ios) |
| Module | fileio |
| Notes | Close file for reading - if gzipped but ZLIB not available, then delete temporary file |
| Name of routine: | sow |
|---|---|
| Source lines: | 1215 - 1226 |
| Type | function |
| Call | sow(string) |
| Module | scanner |
| Notes | skip leading whitespace |
| Name of routine: | nextword |
|---|---|
| Source lines: | 1239 - 1324 |
| Type | subroutine |
| Call | nextword(pos, s, eos, reserved, nword, word, stat, typ) |
| Module | scanner |
| 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 |
| Name of routine: | args |
|---|---|
| Source lines: | 1328 - 1358 |
| Type | subroutine |
| Call | args(s, narg, arg, typ) |
| Module | scanner |
| Notes | extracts narg arguments from input string s |
| Name of routine: | getword |
|---|---|
| Source lines: | 1362 - 1386 |
| Type | subroutine |
| Call | getword(s, which, word) |
| Module | scanner |
| Notes | extracts the nth whitespace-separated argument from input string s |
| Name of routine: | wordpos |
|---|---|
| Source lines: | 1390 - 1413 |
| Type | function |
| Call | wordpos(s, which) |
| Module | scanner |
| Notes | Find end of nth whitespace-separated argument in input string s |
| Name of routine: | countargs |
|---|---|
| Source lines: | 1417 - 1437 |
| Type | function |
| Call | countargs(s, typ) |
| Module | scanner |
| Notes | return count of whitespace-separated argument from input string s |
| Name of routine: | getlabel |
|---|---|
| Source lines: | 1441 - 1471 |
| Type | subroutine |
| Call | getlabel(val, s, label) |
| Module | scanner |
| Notes | extracts the matching value for a list of value=label pairs in a string |
| Name of routine: | opchar |
|---|---|
| Source lines: | 1475 - 1485 |
| Type | function |
| Call | opchar(ch) |
| Module | scanner |
| Notes | is a reserved character for primitives? "()*+-/<=>^:" |
| Name of routine: | opsimple |
|---|---|
| Source lines: | 1489 - 1497 |
| Type | function |
| Call | opsimple(ch) |
| Module | scanner |
| Notes | is a reserved character for name = value pair list? "=:,;" |
| Name of routine: | setup_hash |
|---|---|
| Source lines: | 1518 - 1559 |
| Type | subroutine |
| Call | setup_hash(keytyp, nrec, hashtab, load) |
| Module | idhash_class |
| Notes | Allocate an open addressed hash table number of buckets is prime probe using exponential hash following Muehlbacher 2004 JUCS 10: 1239-1249 |
| Name of routine: | cleanup_hash |
|---|---|
| Source lines: | 1563 - 1572 |
| Type | subroutine |
| Call | cleanup_hash(hashtab) |
| Module | idhash_class |
| Notes | release memory held by a hash table |
| Name of routine: | fill_hash |
|---|---|
| Source lines: | 1576 - 1593 |
| Type | subroutine |
| Call | fill_hash(hashtab, string_array) |
| Module | idhash_class |
| Notes | populate hash table |
| Name of routine: | find_hashtab |
|---|---|
| Source lines: | 1597 - 1616 |
| Type | subroutine |
| Call | find_hashtab(str, string_array, hashtab, iaddress) |
| Module | idhash_class |
| Notes | Search hash table |
| Name of routine: | string_hash |
|---|---|
| Source lines: | 1620 - 1631 |
| Type | function |
| Call | string_hash(str, ibound) |
| Module | idhash_class |
| Notes | String hash function (that used by SRFI-64) |
| Name of routine: | make_lochash |
|---|---|
| Source lines: | 1639 - 1658 |
| Type | subroutine |
| Call | make_lochash(nloci, loc, lochash) |
| Module | lochash_class |
| Notes | Locus name hash table |
| Name of routine: | insert_lochash |
|---|---|
| Source lines: | 1662 - 1681 |
| Type | subroutine |
| Call | insert_lochash(str, nloci, loc, lochash) |
| Module | lochash_class |
| Notes | append most recent locus to hash table |
| Name of routine: | show_lochash |
|---|---|
| Source lines: | 1683 - 1692 |
| Type | subroutine |
| Call | show_lochash(nloci, loc, lochash) |
| Module | lochash_class |
| Notes | Locus name hash table |
| Name of routine: | show_one_iarray |
|---|---|
| Source lines: | 1699 - 1711 |
| Type | subroutine |
| Call | show_one_iarray(nam, sep, nval, isall, array) |
| Module | showcomponent |
| Notes | Utilities to print arrays |
| Name of routine: | show_one_carray |
|---|---|
| Source lines: | 1713 - 1725 |
| Type | subroutine |
| Call | show_one_carray(nam, sep, nval, isall, array) |
| Module | showcomponent |
| Notes | Utilities to print arrays |
| Name of routine: | show_one_farray |
|---|---|
| Source lines: | 1727 - 1739 |
| Type | subroutine |
| Call | show_one_farray(nam, sep, nval, isall, array) |
| Module | showcomponent |
| Notes | Utilities to print arrays |
| Name of routine: | loccode |
|---|---|
| Source lines: | 1773 - 1798 |
| Type | function |
| Call | loccode(ch) |
| Module | locus_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
|
| Name of routine: | same_loctyp |
|---|---|
| Source lines: | 1802 - 1815 |
| Type | function |
| Call | same_loctyp(loctyp, reftyp) |
| Module | locus_types |
| Notes | same locus type or same class, ignoring compression type but not where dropped |
| Name of routine: | isactive |
|---|---|
| Source lines: | 1817 - 1821 |
| Type | function |
| Call | isactive(loctyp) |
| Module | locus_types |
| Notes | is an active variable |
| Name of routine: | istrait |
|---|---|
| Source lines: | 1823 - 1827 |
| Type | function |
| Call | istrait(loctyp) |
| Module | locus_types |
| Notes | trait - active |
| Name of routine: | isqtrait |
|---|---|
| Source lines: | 1829 - 1833 |
| Type | function |
| Call | isqtrait(loctyp) |
| Module | locus_types |
| Notes | quantitative trait |
| Name of routine: | iscattrait |
|---|---|
| Source lines: | 1835 - 1839 |
| Type | function |
| Call | iscattrait(loctyp) |
| Module | locus_types |
| Notes | categorical trait - active |
| Name of routine: | ismarker |
|---|---|
| Source lines: | 1841 - 1845 |
| Type | function |
| Call | ismarker(loctyp) |
| Module | locus_types |
| Notes | marker - inactive or active |
| Name of routine: | gencode |
|---|---|
| Source lines: | 1847 - 1851 |
| Type | function |
| Call | gencode(loctyp) |
| Module | locus_types |
| Notes | genotype encoding 1=standard 2=sequence 3=compressed SNP |
| Name of routine: | ishaploid |
|---|---|
| Source lines: | 1853 - 1857 |
| Type | function |
| Call | ishaploid(loctyp) |
| Module | locus_types |
| Notes | is a haploid locus |
| Name of routine: | iscompressed |
|---|---|
| Source lines: | 1859 - 1863 |
| Type | function |
| Call | iscompressed(loctyp) |
| Module | locus_types |
| Notes | is genotype storage compact (gencode > 1) |
| Name of routine: | isactdip |
|---|---|
| Source lines: | 1865 - 1869 |
| Type | function |
| Call | isactdip(loctyp) |
| Module | locus_types |
| Notes | most association/linkage procedures are for active diploid codominant markers |
| Name of routine: | setup_loci |
|---|---|
| Source lines: | 1917 - 1933 |
| Type | subroutine |
| Call | setup_loci(n) |
| Module | locus_data |
| Notes | Allocate storage for locus descriptions |
| Name of routine: | cleanup_loci |
|---|---|
| Source lines: | 1937 - 1942 |
| Type | subroutine |
| Call | cleanup_loci() |
| Module | locus_data |
| Notes | Deallocate storage for locus descriptions |
| Name of routine: | expand_loci |
|---|---|
| Source lines: | 1946 - 1989 |
| Type | subroutine |
| Call | expand_loci(nextra, plevel) |
| Module | locus_data |
| Notes | Expand arrays for locus descriptions |
| Name of routine: | insloc |
|---|---|
| Source lines: | 1994 - 2005 |
| Type | subroutine |
| Call | insloc(pos) |
| Module | locus_data |
| Notes | insert a locus into the locus list other details of the slot are left blank |
| Name of routine: | setupmer |
|---|---|
| Source lines: | 2009 - 2032 |
| Type | subroutine |
| Call | setupmer(port) |
| Module | locus_data |
| Notes | Preallocate arrays for locus descriptions from MERLIN locus file |
| Name of routine: | setup_plink |
|---|---|
| Source lines: | 2036 - 2056 |
| Type | subroutine |
| Call | setup_plink(port, nmark, newsiz) |
| Module | locus_data |
| Notes | Allocate arrays for locus descriptions from PLINK .map file |
| Name of routine: | setup_stat |
|---|---|
| Source lines: | 2060 - 2065 |
| Type | subroutine |
| Call | setup_stat(comment) |
| Module | locus_data |
| Notes | initialize locstat (stores test statistic for each locus) |
| Name of routine: | show_locus_allocation |
|---|---|
| Source lines: | 2069 - 2085 |
| Type | subroutine |
| Call | show_locus_allocation() |
| Module | locus_data |
| Notes | Diagnostics for locus structure |
| Name of routine: | newloctyp |
|---|---|
| Source lines: | 2087 - 2100 |
| Type | subroutine |
| Call | newloctyp() |
| Module | locus_data |
| Notes | Old to new locus types |
| Name of routine: | matrix_create |
|---|---|
| Source lines: | 2137 - 2183 |
| Type | subroutine |
| Call | matrix_create(nr, nc, a, astat, setbufwidth) |
| Module | matrix_class |
| Notes | Create a matrix container |
| Name of routine: | matrix_zero |
|---|---|
| Source lines: | 2187 - 2206 |
| Type | subroutine |
| Call | matrix_zero(a) |
| Module | matrix_class |
| Notes | zero a matrix |
| Name of routine: | matrix_copy |
|---|---|
| Source lines: | 2210 - 2283 |
| Type | subroutine |
| Call | matrix_copy(a, b, iflag, newrows, newcols, setbufwidth) |
| Module | matrix_class |
| Notes | Copy a matrix container (a -> b) |
| Name of routine: | matrix_destroy |
|---|---|
| Source lines: | 2287 - 2301 |
| Type | subroutine |
| Call | matrix_destroy(a) |
| Module | matrix_class |
| Notes | Destroy a matrix container |
| Name of routine: | matrix_active |
|---|---|
| Source lines: | 2305 - 2309 |
| Type | function |
| Call | matrix_active(a) |
| Module | matrix_class |
| Notes | Test if matrix allocated/active |
| Name of routine: | matrix_size |
|---|---|
| Source lines: | 2313 - 2321 |
| Type | function |
| Call | matrix_size(a) |
| Module | matrix_class |
| Notes | Size of matrix in container |
| Name of routine: | matrix_nrows |
|---|---|
| Source lines: | 2325 - 2330 |
| Type | function |
| Call | matrix_nrows(a) |
| Module | matrix_class |
| Notes | Number of matrix rows accessor |
| Name of routine: | matrix_ncols |
|---|---|
| Source lines: | 2334 - 2339 |
| Type | function |
| Call | matrix_ncols(a) |
| Module | matrix_class |
| Notes | Number of matrix cols accessor |
| Name of routine: | matrix_type |
|---|---|
| Source lines: | 2343 - 2348 |
| Type | function |
| Call | matrix_type(a) |
| Module | matrix_class |
| Notes | Matrix storage type |
| Name of routine: | matrix_write |
|---|---|
| Source lines: | 2352 - 2375 |
| Type | subroutine |
| Call | matrix_write(a, stream, iflag) |
| Module | matrix_class |
| Notes | Write a matrix |
| Name of routine: | matrix_write_row |
|---|---|
| Source lines: | 2380 - 2399 |
| Type | subroutine |
| Call | matrix_write_row(irow, a, stream) |
| Module | matrix_class |
| Notes | Write one row of a matrix to an open stream, needed by disjoin, nuclear etc |
| Name of routine: | matrix_read |
|---|---|
| Source lines: | 2403 - 2422 |
| Type | subroutine |
| Call | matrix_read(stream, a, iflag) |
| Module | matrix_class |
| Notes | Read a matrix |
| Name of routine: | matrix_read_unformatted |
|---|---|
| Source lines: | 2426 - 2444 |
| Type | subroutine |
| Call | matrix_read_unformatted(stream, nr, nc, a, iflag) |
| Module | matrix_class |
| Notes | Fill a matrix container from a unformatted stream |
| Name of routine: | matrix_read_contents |
|---|---|
| Source lines: | 2448 - 2505 |
| Type | subroutine |
| Call | matrix_read_contents(stream, a, iflag) |
| Module | matrix_class |
| Notes | Read in actual contents of matrix |
| Name of routine: | matrix_read_row |
|---|---|
| Source lines: | 2510 - 2536 |
| Type | subroutine |
| Call | matrix_read_row(stream, irow, a) |
| Module | matrix_class |
| Notes | Read one row of a matrix from an open stream, was written row major by matrix_write_row |
| Name of routine: | matrix_set_row |
|---|---|
| Source lines: | 2540 - 2587 |
| Type | subroutine |
| Call | matrix_set_row(ivals, irow, a, iflag) |
| Module | matrix_class |
| Notes | Set row |
| Name of routine: | matrix_get_row |
|---|---|
| Source lines: | 2591 - 2624 |
| Type | subroutine |
| Call | matrix_get_row(a, irow, ivals, iflag) |
| Module | matrix_class |
| Notes | Get row |
| Name of routine: | matrix_copy_row |
|---|---|
| Source lines: | 2628 - 2657 |
| Type | subroutine |
| Call | matrix_copy_row(rowa, a, rowb, b, iflag) |
| Module | matrix_class |
| Notes | Copy row |
| Name of routine: | matrix_set_col |
|---|---|
| Source lines: | 2661 - 2708 |
| Type | subroutine |
| Call | matrix_set_col(ivals, icol, a, iflag) |
| Module | matrix_class |
| Notes | Set col |
| Name of routine: | matrix_get_col |
|---|---|
| Source lines: | 2712 - 2746 |
| Type | subroutine |
| Call | matrix_get_col(a, icol, ivals, iflag) |
| Module | matrix_class |
| Notes | Get col: updates column buffer |
| Name of routine: | matrix_set_el |
|---|---|
| Source lines: | 2750 - 2772 |
| Type | subroutine |
| Call | matrix_set_el(ival, irow, icol, a, iflag) |
| Module | matrix_class |
| Notes | Set element: updates column buffer as well if current |
| Name of routine: | matrix_get_el |
|---|---|
| Source lines: | 2776 - 2810 |
| Type | subroutine |
| Call | matrix_get_el(irow, icol, a, ival, iflag) |
| Module | matrix_class |
| Notes | Get element: updates column buffer |
| Name of routine: | matrix_print |
|---|---|
| Source lines: | 2814 - 2842 |
| Type | subroutine |
| Call | matrix_print(a) |
| Module | matrix_class |
| Notes | Print matrix |
| Name of routine: | setup_peds |
|---|---|
| Source lines: | 2917 - 2987 |
| Type | subroutine |
| Call | setup_peds(nped, nobs, numloc, numcol, dataset, astat, plevel) |
| Module | ped_class |
| Notes | allocate pedigree data |
| Name of routine: | copy_peds |
|---|---|
| Source lines: | 2991 - 3030 |
| Type | subroutine |
| Call | copy_peds(set1, set2) |
| Module | ped_class |
| Notes | copy pedigree data |
| Name of routine: | cleanup_peds |
|---|---|
| Source lines: | 3034 - 3065 |
| Type | subroutine |
| Call | cleanup_peds(dataset) |
| Module | ped_class |
| Notes | deallocate pedigree structure arrays |
| Name of routine: | expand_pheno |
|---|---|
| Source lines: | 3069 - 3090 |
| Type | subroutine |
| Call | expand_pheno(newcol, dataset, astat) |
| Module | ped_class |
| Notes | expand phenotype storage |
| Name of routine: | expand_geno |
|---|---|
| Source lines: | 3094 - 3140 |
| Type | subroutine |
| Call | expand_geno(newcol, dataset, astat) |
| Module | ped_class |
| Notes | expand genotype storage |
| Name of routine: | expand_sgeno |
|---|---|
| Source lines: | 3144 - 3188 |
| Type | subroutine |
| Call | expand_sgeno(newcol, dataset, astat) |
| Module | ped_class |
| Notes | expand SNP storage |
| Name of routine: | get_geno |
|---|---|
| Source lines: | 3192 - 3237 |
| Type | subroutine |
| Call | get_geno(idx, gcol1, gcol2, dataset, g1, g2) |
| Module | ped_class |
| Notes | Extract a genotype either stored as alleles or SNP genotypes |
| Name of routine: | encode_geno1 |
|---|---|
| Source lines: | 3242 - 3259 |
| Type | subroutine |
| Call | encode_geno1(g1, g2, ig1, ig2) |
| Module | ped_class |
| Notes | Transfer genotype to internal coding if snptyp = 1, then one allele per byte |
| Name of routine: | encode_geno2 |
|---|---|
| Source lines: | 3264 - 3292 |
| Type | subroutine |
| Call | encode_geno2(g1, g2, ig, whichpos) |
| Module | ped_class |
| Notes | Transfer genotype to internal coding if snptyp = 2, then one genotype per byte |
| Name of routine: | set_geno |
|---|---|
| Source lines: | 3296 - 3319 |
| Type | subroutine |
| Call | set_geno(idx, gcol1, gcol2, dataset, g1, g2) |
| Module | ped_class |
| Notes | Set a genotype |
| Name of routine: | observed |
|---|---|
| Source lines: | 3323 - 3343 |
| Type | function |
| Call | observed(idx, gcol, dataset) |
| Module | ped_class |
| Notes | Test if genotype is observed |
| Name of routine: | missing |
|---|---|
| Source lines: | 3345 - 3370 |
| Type | function |
| Call | missing(idx, gcol, dataset) |
| Module | ped_class |
| Notes |
| Name of routine: | show_ped_allocation |
|---|---|
| Source lines: | 3372 - 3453 |
| Type | subroutine |
| Call | show_ped_allocation(dataset) |
| Module | ped_class |
| Notes |
| Name of routine: | show_snp |
|---|---|
| Source lines: | 3455 - 3475 |
| Type | subroutine |
| Call | show_snp(idx, gpos, dataset) |
| Module | ped_class |
| Notes |
| Name of routine: | setup_freq |
|---|---|
| Source lines: | 3515 - 3522 |
| Type | subroutine |
| Call | setup_freq(nall, allele_buffer) |
| Module | alleles_class |
| Notes | initialize allele_data |
| Name of routine: | copyfreq |
|---|---|
| Source lines: | 3526 - 3547 |
| Type | subroutine |
| Call | copyfreq(allele_buffer, allele_buffer2) |
| Module | alleles_class |
| Notes | Copy allele frequency data from one structure to another |
| Name of routine: | expand_alleles |
|---|---|
| Source lines: | 3551 - 3574 |
| Type | subroutine |
| Call | expand_alleles(allele_buffer, nextra) |
| Module | alleles_class |
| Notes | expand size of an allele frequency structure |
| Name of routine: | cleanup_alleles |
|---|---|
| Source lines: | 3578 - 3596 |
| Type | subroutine |
| Call | cleanup_alleles(allele_buffer) |
| Module | alleles_class |
| Notes | release memory held by an allele frequency structure |
| Name of routine: | genot |
|---|---|
| Source lines: | 3600 - 3614 |
| Type | subroutine |
| Call | genot(allele_buffer, gfrq) |
| Module | alleles_class |
| Notes | produce genotype frequencies for Metropolis algorithm |
| Name of routine: | calc_gtp_freqs |
|---|---|
| Source lines: | 3617 - 3635 |
| Type | subroutine |
| Call | calc_gtp_freqs(allele_buffer) |
| Module | alleles_class |
| Notes | or for sequential imputation |
| Name of routine: | dohash_ped_id |
|---|---|
| Source lines: | 3656 - 3664 |
| Type | function |
| Call | dohash_ped_id(idx, dataset, maxkey) |
| Module | idhash_funs |
| Notes | pedigree + individual ID |
| Name of routine: | dohash_id |
|---|---|
| Source lines: | 3666 - 3673 |
| Type | function |
| Call | dohash_id(idx, dataset, maxkey) |
| Module | idhash_funs |
| Notes | individual ID |
| Name of routine: | domatch_ped_id |
|---|---|
| Source lines: | 3675 - 3683 |
| Type | function |
| Call | domatch_ped_id(idx, iaddress, dataset) |
| Module | idhash_funs |
| Notes | match pedigree + individual ID |
| Name of routine: | domatch_id |
|---|---|
| Source lines: | 3685 - 3691 |
| Type | function |
| Call | domatch_id(idx, iaddress, dataset) |
| Module | idhash_funs |
| Notes | match individual id |
| Name of routine: | domatch_string_ped_id |
|---|---|
| Source lines: | 3693 - 3702 |
| Type | function |
| Call | domatch_string_ped_id(pedstr, indstr, iaddress, dataset) |
| Module | idhash_funs |
| Notes | match search string to pedigree + individual ID |
| Name of routine: | domatch_string_id |
|---|---|
| Source lines: | 3704 - 3711 |
| Type | function |
| Call | domatch_string_id(idstr, iaddress, dataset) |
| Module | idhash_funs |
| Notes | match search string to individual ID |
| Name of routine: | betacf |
|---|---|
| Source lines: | 3727 - 3762 |
| Type | function |
| Call | betacf(a,b,x) |
| Module | statfuns |
| Notes | betacf from Numerical Recipes, 1986 |
| Name of routine: | ibeta |
|---|---|
| Source lines: | 3770 - 3837 |
| Type | function |
| Call | ibeta(x, p, q) |
| Module | statfuns |
| 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. |
| Name of routine: | fp |
|---|---|
| Source lines: | 3841 - 3866 |
| Type | function |
| Call | fp(x, n1, n2) |
| Module | statfuns |
| Notes | F-ratio P-values |
| Name of routine: | tp |
|---|---|
| Source lines: | 3870 - 3877 |
| Type | function |
| Call | tp(x, df) |
| Module | statfuns |
| Notes | Wrap fp to give t-distribution P-values |
| Name of routine: | chip |
|---|---|
| Source lines: | 3881 - 3907 |
| Type | function |
| Call | chip(chisq, df) |
| Module | statfuns |
| Notes | Evaluate central chi-square in FORTRAN |
| Name of routine: | gammad |
|---|---|
| Source lines: | 3913 - 4021 |
| Type | function |
| Call | gammad(x, p, ifault) |
| Module | statfuns |
| Notes | Algorithm AS239 Appl. Statist. (1988) Vol. 37, No. 3 Computation of the Incomplete Gamma Integral |
| Name of routine: | chi2nc |
|---|---|
| Source lines: | 4126 - 4189 |
| Type | function |
| Call | chi2nc(x, f, ncp, ifault) |
| Module | statfuns |
| 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 |
| Name of routine: | mvbvu |
|---|---|
| Source lines: | 4262 - 4359 |
| Type | function |
| Call | mvbvu(sh, sk, r) |
| Module | statfuns |
| 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
|
| Name of routine: | chisqd |
|---|---|
| Source lines: | 4453 - 4514 |
| Type | function |
| Call | chisqd(p, n) |
| Module | statfuns |
| 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 |
| Name of routine: | fact |
|---|---|
| Source lines: | 4567 - 4584 |
| Type | function |
| Call | fact(n) |
| Module | statfuns |
| Notes | Factorial |
| Name of routine: | lfact |
|---|---|
| Source lines: | 4588 - 4593 |
| Type | function |
| Call | lfact(n) |
| Module | statfuns |
| Notes | Log factorial |
| Name of routine: | dpois |
|---|---|
| Source lines: | 4612 - 4624 |
| Type | function |
| Call | dpois(x, mu) |
| Module | statfuns |
| Notes | Log poisson density |
| Name of routine: | dweib |
|---|---|
| Source lines: | 4628 - 4645 |
| Type | function |
| Call | dweib(x, mu, shap, cens) |
| Module | statfuns |
| Notes | Log Weibull density (with censoring) |
| Name of routine: | mvndst |
|---|---|
| Source lines: | 4704 - 4741 |
| Type | subroutine |
| Call | mvndst(n, lower, upper, infin, correl, maxpts, abseps, releps, error, value, inform ) |
| Module | mftfuns |
| 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.
|
| Name of routine: | mvnlms |
|---|---|
| Source lines: | 4834 - 4849 |
| Type | subroutine |
| Call | mvnlms( a, b, infin, lower, upper ) |
| Module | mftfuns |
| Notes |
| Name of routine: | covsrt |
|---|---|
| Source lines: | 4853 - 5021 |
| Type | subroutine |
| Call | covsrt(n, lower, upper, correl, infin, y, infis, a, b, cov, infi) |
| Module | mftfuns |
| Notes | Subroutine to sort integration limits and determine Cholesky factor. |
| Name of routine: | dkswap |
|---|---|
| Source lines: | 5023 - 5030 |
| Type | subroutine |
| Call | dkswap( x, y ) |
| Module | mftfuns |
| Notes | Swap elements |
| Name of routine: | rcswp |
|---|---|
| Source lines: | 5034 - 5066 |
| Type | subroutine |
| Call | rcswp( p, q, a, b, infin, n, c ) |
| Module | mftfuns |
| Notes | Swaps rows and columns P and Q in situ, with P <= Q. |
| Name of routine: | dkbvrc |
|---|---|
| Source lines: | 5117 - 5325 |
| Type | subroutine |
| Call | dkbvrc(ndim, minvls, maxvls, functn, abseps, releps, abserr, finest, inform ) |
| Module | mftfuns |
| 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.
|
| Name of routine: | dksmrc |
|---|---|
| Source lines: | 5327 - 5361 |
| Type | subroutine |
| Call | dksmrc( ndim, klim, sumkro, prime, vk, functn, x ) |
| Module | mftfuns |
| Notes |
| Name of routine: | chfind |
|---|---|
| Source lines: | 5641 - 5665 |
| Type | function |
| Call | chfind(string, ch) |
| Module | string_utilities |
| Notes | find an unescaped character in a string |
| Name of routine: | strfind |
|---|---|
| Source lines: | 5670 - 5748 |
| Type | function |
| Call | strfind(regexp, targt, nocase) |
| Module | string_utilities |
| Notes | Compare string to a search string, allowing wildcards '*.', and case matching |
| Name of routine: | escape |
|---|---|
| Source lines: | 5752 - 5778 |
| Type | subroutine |
| Call | escape(str, trget) |
| Module | string_utilities |
| Notes | Escape a target character, usually " |
| Name of routine: | setup_mem |
|---|---|
| Source lines: | 6001 - 6068 |
| Type | subroutine |
| Call | setup_mem(siz) |
| Module | scheme_lang |
| Notes | Memory management |
| Name of routine: | cleanup_bank |
|---|---|
| Source lines: | 6074 - 6088 |
| Type | subroutine |
| Call | cleanup_bank(sta, fin) |
| Module | scheme_lang |
| Notes | Clean up memory arrays Zero a block of cells, including deallocating strings |
| Name of routine: | cleanup_mem |
|---|---|
| Source lines: | 6092 - 6095 |
| Type | subroutine |
| Call | cleanup_mem() |
| Module | scheme_lang |
| Notes | Free all memory |
| Name of routine: | save_scheme_image |
|---|---|
| Source lines: | 6098 - 6118 |
| Type | subroutine |
| Call | save_scheme_image(strm, ios) |
| Module | scheme_lang |
| Notes | Save memory image |
| Name of routine: | read_scheme_image |
|---|---|
| Source lines: | 6121 - 6152 |
| Type | subroutine |
| Call | read_scheme_image(strm, ios) |
| Module | scheme_lang |
| Notes | Read memory image |
| Name of routine: | gc_mark |
|---|---|
| Source lines: | 6158 - 6197 |
| Type | subroutine |
| Call | gc_mark(a) |
| Module | scheme_lang |
| Notes | Mark-sweep garbage collector Mark cells to be saved |
| Name of routine: | gc |
|---|---|
| Source lines: | 6202 - 6237 |
| Type | subroutine |
| Call | gc(a, b, plevel) |
| Module | scheme_lang |
| Notes | Copy all registers to free memory Reset pointers from old addresses to new addresses |
| Name of routine: | getcell |
|---|---|
| Source lines: | 6241 - 6264 |
| Type | function |
| Call | getcell(a, b) |
| Module | scheme_lang |
| Notes | Get next free cell |
| Name of routine: | set_type |
|---|---|
| Source lines: | 6269 - 6273 |
| Type | subroutine |
| Call | set_type(p, iflag) |
| Module | scheme_lang |
| Notes | Cell type operations Setting values |
| Name of routine: | set_ivalue |
|---|---|
| Source lines: | 6274 - 6279 |
| Type | subroutine |
| Call | set_ivalue(p, ivalue) |
| Module | scheme_lang |
| Notes | Cell type operations Setting values |
| Name of routine: | set_value |
|---|---|
| Source lines: | 6280 - 6285 |
| Type | subroutine |
| Call | set_value(p, val) |
| Module | scheme_lang |
| Notes | Cell type operations Setting values |
| Name of routine: | set_string |
|---|---|
| Source lines: | 6286 - 6299 |
| Type | subroutine |
| Call | set_string(p, str) |
| Module | scheme_lang |
| Notes | Cell type operations Setting values |
| Name of routine: | set_substring |
|---|---|
| Source lines: | 6300 - 6310 |
| Type | subroutine |
| Call | set_substring(p, sta, fin, str) |
| Module | scheme_lang |
| Notes | Cell type operations Setting values |
| Name of routine: | set_car |
|---|---|
| Source lines: | 6312 - 6315 |
| Type | subroutine |
| Call | set_car(p, icar) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | set_cdr |
|---|---|
| Source lines: | 6316 - 6319 |
| Type | subroutine |
| Call | set_cdr(p, icdr) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | set_caar |
|---|---|
| Source lines: | 6320 - 6323 |
| Type | subroutine |
| Call | set_caar(p, icaar) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | set_cdar |
|---|---|
| Source lines: | 6324 - 6327 |
| Type | subroutine |
| Call | set_cdar(p, icdar) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | set_syntaxnum |
|---|---|
| Source lines: | 6328 - 6331 |
| Type | subroutine |
| Call | set_syntaxnum(p, op) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | get_ivalue |
|---|---|
| Source lines: | 6335 - 6339 |
| Type | function |
| Call | get_ivalue(p) |
| Module | scheme_lang |
| Notes | Getting values |
| Name of routine: | get_value |
|---|---|
| Source lines: | 6341 - 6349 |
| Type | function |
| Call | get_value(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | rvalue |
|---|---|
| Source lines: | 6351 - 6359 |
| Type | function |
| Call | rvalue(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | get_string |
|---|---|
| Source lines: | 6363 - 6373 |
| Type | function |
| Call | get_string(p) |
| Module | scheme_lang |
| Notes | Strings |
| Name of routine: | append_string |
|---|---|
| Source lines: | 6377 - 6400 |
| Type | subroutine |
| Call | append_string(p, str) |
| Module | scheme_lang |
| Notes | Append to existing string |
| Name of routine: | get_substr |
|---|---|
| Source lines: | 6402 - 6415 |
| Type | function |
| Call | get_substr(p, sta, fin) |
| Module | scheme_lang |
| Notes | Substring |
| Name of routine: | get_strlen |
|---|---|
| Source lines: | 6417 - 6421 |
| Type | function |
| Call | get_strlen(p) |
| Module | scheme_lang |
| Notes | String length |
| Name of routine: | get_listlen |
|---|---|
| Source lines: | 6423 - 6435 |
| Type | function |
| Call | get_listlen(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | get_var |
|---|---|
| Source lines: | 6441 - 6527 |
| Type | subroutine |
| Call | get_var(string, pos, fin, istat) |
| Module | scheme_lang |
| Notes | allowing access to Scheme environment from Sib-pair accessible variables are atomic result inserted into passed string |
| Name of routine: | list_var |
|---|---|
| Source lines: | 6531 - 6578 |
| Type | subroutine |
| Call | list_var(typ, ple) |
| Module | scheme_lang |
| Notes | List Sib-pair accessible (atomic or pair) variables |
| Name of routine: | isafun |
|---|---|
| Source lines: | 6582 - 6611 |
| Type | function |
| Call | isafun(nam) |
| Module | scheme_lang |
| Notes | Test if a macro function exists |
| Name of routine: | procnum |
|---|---|
| Source lines: | 6613 - 6617 |
| Type | function |
| Call | procnum(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | syntaxnum |
|---|---|
| Source lines: | 6618 - 6622 |
| Type | function |
| Call | syntaxnum(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | typeof |
|---|---|
| Source lines: | 6626 - 6630 |
| Type | function |
| Call | typeof(p) |
| Module | scheme_lang |
| Notes | Underlying primitives for Scheme |
| Name of routine: | isstring |
|---|---|
| Source lines: | 6631 - 6635 |
| Type | function |
| Call | isstring(p) |
| Module | scheme_lang |
| Notes | Underlying primitives for Scheme |
| Name of routine: | isnumber |
|---|---|
| Source lines: | 6636 - 6640 |
| Type | function |
| Call | isnumber(p) |
| Module | scheme_lang |
| Notes | Underlying primitives for Scheme |
| Name of routine: | ispair |
|---|---|
| Source lines: | 6641 - 6645 |
| Type | function |
| Call | ispair(p) |
| Module | scheme_lang |
| Notes | Underlying primitives for Scheme |
| Name of routine: | car |
|---|---|
| Source lines: | 6649 - 6653 |
| Type | function |
| Call | car(p) |
| Module | scheme_lang |
| Notes | car, cdr etc |
| Name of routine: | cdr |
|---|---|
| Source lines: | 6654 - 6658 |
| Type | function |
| Call | cdr(p) |
| Module | scheme_lang |
| Notes | car, cdr etc |
| Name of routine: | caar |
|---|---|
| Source lines: | 6660 - 6665 |
| Type | function |
| Call | caar(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cadr |
|---|---|
| Source lines: | 6666 - 6671 |
| Type | function |
| Call | cadr(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cdar |
|---|---|
| Source lines: | 6672 - 6677 |
| Type | function |
| Call | cdar(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cddr |
|---|---|
| Source lines: | 6678 - 6683 |
| Type | function |
| Call | cddr(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cadar |
|---|---|
| Source lines: | 6684 - 6690 |
| Type | function |
| Call | cadar(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | caddr |
|---|---|
| Source lines: | 6691 - 6697 |
| Type | function |
| Call | caddr(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cadaar |
|---|---|
| Source lines: | 6698 - 6705 |
| Type | function |
| Call | cadaar(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cadddr |
|---|---|
| Source lines: | 6706 - 6713 |
| Type | function |
| Call | cadddr(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | cddddr |
|---|---|
| Source lines: | 6714 - 6721 |
| Type | function |
| Call | cddddr(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | issymbol |
|---|---|
| Source lines: | 6723 - 6727 |
| Type | function |
| Call | issymbol(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | issyntax |
|---|---|
| Source lines: | 6728 - 6732 |
| Type | function |
| Call | issyntax(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | isproc |
|---|---|
| Source lines: | 6733 - 6737 |
| Type | function |
| Call | isproc(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | isclosure |
|---|---|
| Source lines: | 6738 - 6742 |
| Type | function |
| Call | isclosure(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | ismacro |
|---|---|
| Source lines: | 6743 - 6747 |
| Type | function |
| Call | ismacro(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | iscontinuation |
|---|---|
| Source lines: | 6748 - 6752 |
| Type | function |
| Call | iscontinuation(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | ispromise |
|---|---|
| Source lines: | 6753 - 6757 |
| Type | function |
| Call | ispromise(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | isport |
|---|---|
| Source lines: | 6758 - 6762 |
| Type | function |
| Call | isport(p) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | istrue |
|---|---|
| Source lines: | 6764 - 6768 |
| Type | function |
| Call | istrue(p) |
| Module | scheme_lang |
| Notes | true or false value functions |
| Name of routine: | isfalse |
|---|---|
| Source lines: | 6769 - 6773 |
| Type | function |
| Call | isfalse(p) |
| Module | scheme_lang |
| Notes | true or false value functions |
| Name of routine: | isinteger |
|---|---|
| Source lines: | 6777 - 6781 |
| Type | function |
| Call | isinteger(p) |
| Module | scheme_lang |
| Notes | tower of numbers |
| Name of routine: | isfloat |
|---|---|
| Source lines: | 6782 - 6786 |
| Type | function |
| Call | isfloat(p) |
| Module | scheme_lang |
| Notes | tower of numbers |
| Name of routine: | isatom |
|---|---|
| Source lines: | 6790 - 6794 |
| Type | function |
| Call | isatom(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | setatom |
|---|---|
| Source lines: | 6795 - 6798 |
| Type | subroutine |
| Call | setatom(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | clratom |
|---|---|
| Source lines: | 6799 - 6802 |
| Type | subroutine |
| Call | clratom(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | ismark |
|---|---|
| Source lines: | 6803 - 6807 |
| Type | function |
| Call | ismark(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | setmark |
|---|---|
| Source lines: | 6808 - 6811 |
| Type | subroutine |
| Call | setmark(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | clrmark |
|---|---|
| Source lines: | 6812 - 6815 |
| Type | subroutine |
| Call | clrmark(p) |
| Module | scheme_lang |
| Notes | Garbage collection |
| Name of routine: | cons |
|---|---|
| Source lines: | 6819 - 6826 |
| Type | function |
| Call | cons(reg1, reg2) |
| Module | scheme_lang |
| Notes | Cons |
| Name of routine: | ceqstr |
|---|---|
| Source lines: | 6830 - 6847 |
| Type | function |
| Call | ceqstr(cstr, reg) |
| Module | scheme_lang |
| Notes | Contents of a Lisp string cell equal to a Fortran string |
| Name of routine: | streq |
|---|---|
| Source lines: | 6851 - 6867 |
| Type | function |
| Call | streq(a, b) |
| Module | scheme_lang |
| Notes | Contents of a Lisp string equal to a Lisp string |
| Name of routine: | mk_number |
|---|---|
| Source lines: | 6871 - 6879 |
| Type | function |
| Call | mk_number(num) |
| Module | scheme_lang |
| Notes | Declare a number |
| Name of routine: | mk_real |
|---|---|
| Source lines: | 6883 - 6891 |
| Type | function |
| Call | mk_real(num) |
| Module | scheme_lang |
| Notes | Declare a real |
| Name of routine: | mk_string |
|---|---|
| Source lines: | 6895 - 6903 |
| Type | function |
| Call | mk_string(str) |
| Module | scheme_lang |
| Notes | Declare a string |
| Name of routine: | mk_symbol |
|---|---|
| Source lines: | 6907 - 6924 |
| Type | function |
| Call | mk_symbol(nam) |
| Module | scheme_lang |
| Notes | Declare a symbol |
| Name of routine: | gensym |
|---|---|
| Source lines: | 6928 - 6947 |
| Type | function |
| Call | gensym() |
| Module | scheme_lang |
| Notes | automatically generate a unique symbol |
| Name of routine: | mk_atom |
|---|---|
| Source lines: | 6952 - 6992 |
| Type | function |
| Call | mk_atom(str) |
| Module | scheme_lang |
| Notes | make symbol or number atom from string |
| Name of routine: | mk_const |
|---|---|
| Source lines: | 6996 - 7037 |
| Type | function |
| Call | mk_const(nam) |
| Module | scheme_lang |
| Notes | Make a constant |
| Name of routine: | mk_closure |
|---|---|
| Source lines: | 7041 - 7050 |
| Type | function |
| Call | mk_closure(c, e) |
| Module | scheme_lang |
| Notes | make closure, c is code, e is environment |
| Name of routine: | mk_continuation |
|---|---|
| Source lines: | 7054 - 7062 |
| Type | function |
| Call | mk_continuation(d) |
| Module | scheme_lang |
| Notes | make continuation |
| Name of routine: | mk_port |
|---|---|
| Source lines: | 7066 - 7076 |
| Type | function |
| Call | mk_port(iport, nam) |
| Module | scheme_lang |
| Notes | make a port |
| Name of routine: | test_port |
|---|---|
| Source lines: | 7079 - 7090 |
| Type | function |
| Call | test_port(iport) |
| Module | scheme_lang |
| Notes | Test a port - return location in portaddress |
| Name of routine: | reverse |
|---|---|
| Source lines: | 7094 - 7111 |
| Type | function |
| Call | reverse(a) |
| Module | scheme_lang |
| Notes | Reverse list |
| Name of routine: | non_alloc_rev |
|---|---|
| Source lines: | 7115 - 7131 |
| Type | function |
| Call | non_alloc_rev(term, list) |
| Module | scheme_lang |
| Notes | Reverse list -- no new cell generated |
| Name of routine: | append |
|---|---|
| Source lines: | 7135 - 7151 |
| Type | function |
| Call | append(a, b) |
| Module | scheme_lang |
| Notes | append list -- make new cells |
| Name of routine: | eqv |
|---|---|
| Source lines: | 7155 - 7170 |
| Type | function |
| Call | eqv(a, b) |
| Module | scheme_lang |
| Notes | equivalence of atoms |
| Name of routine: | inchar |
|---|---|
| Source lines: | 7174 - 7199 |
| Type | subroutine |
| Call | inchar(ch) |
| Module | scheme_lang |
| Notes | get a new character from input file or stdin |
| Name of routine: | clearinput |
|---|---|
| Source lines: | 7203 - 7205 |
| Type | subroutine |
| Call | clearinput() |
| Module | scheme_lang |
| Notes | clear input buffer |
| Name of routine: | flushinput |
|---|---|
| Source lines: | 7209 - 7215 |
| Type | subroutine |
| Call | flushinput() |
| Module | scheme_lang |
| Notes | back to standard input |
| Name of routine: | backchar |
|---|---|
| Source lines: | 7219 - 7221 |
| Type | subroutine |
| Call | backchar() |
| Module | scheme_lang |
| Notes | backstep one character in input buffer |
| Name of routine: | skipspace |
|---|---|
| Source lines: | 7225 - 7235 |
| Type | subroutine |
| Call | skipspace() |
| Module | scheme_lang |
| Notes | skip whitespace |
| Name of routine: | token |
|---|---|
| Source lines: | 7239 - 7284 |
| Type | function |
| Call | token() |
| Module | scheme_lang |
| Notes | get next token |
| Name of routine: | scheme_delim |
|---|---|
| Source lines: | 7288 - 7296 |
| Type | function |
| Call | scheme_delim(ch) |
| Module | scheme_lang |
| Notes | read characters to delimiter -- hard coded to work on Windows as well |
| Name of routine: | readstr |
|---|---|
| Source lines: | 7298 - 7315 |
| Type | subroutine |
| Call | readstr(res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | readstrexp |
|---|---|
| Source lines: | 7319 - 7342 |
| Type | subroutine |
| Call | readstrexp(res, reslen) |
| Module | scheme_lang |
| Notes | read rest of a quoted string |
| Name of routine: | printatom |
|---|---|
| Source lines: | 7346 - 7393 |
| Type | subroutine |
| Call | printatom(l, space, ndigits) |
| Module | scheme_lang |
| Notes | print an atom |
| Name of routine: | padprint |
|---|---|
| Source lines: | 7397 - 7413 |
| Type | subroutine |
| Call | padprint(str, space) |
| Module | scheme_lang |
| Notes | Pad printing of an atom |
| Name of routine: | ok_abbrev |
|---|---|
| Source lines: | 7415 - 7419 |
| Type | function |
| Call | ok_abbrev(x) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | s_save |
|---|---|
| Source lines: | 7421 - 7426 |
| Type | subroutine |
| Call | s_save(a, b, c) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | s_return |
|---|---|
| Source lines: | 7427 - 7435 |
| Type | subroutine |
| Call | s_return(a) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | s_retbool |
|---|---|
| Source lines: | 7436 - 7443 |
| Type | subroutine |
| Call | s_retbool(tf) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | opexe0 |
|---|---|
| Source lines: | 7448 - 7782 |
| Type | subroutine |
| Call | opexe0(op, inline) |
| Module | scheme_lang |
| Notes | Apply Scheme commands - split into opexe0 to opexe10 load -- let* |
| Name of routine: | opexe1 |
|---|---|
| Source lines: | 7786 - 8004 |
| Type | subroutine |
| Call | opexe1(op) |
| Module | scheme_lang |
| Notes | Scheme procedures letrc -- call/cc |
| Name of routine: | opexe2 |
|---|---|
| Source lines: | 8008 - 8277 |
| Type | subroutine |
| Call | opexe2(op) |
| Module | scheme_lang |
| Notes | Scheme procedures plus -- set-cdr! |
| Name of routine: | opexe3 |
|---|---|
| Source lines: | 8281 - 8368 |
| Type | subroutine |
| Call | opexe3(op) |
| Module | scheme_lang |
| Notes | Scheme procedures not -- eqv? |
| Name of routine: | opexe4 |
|---|---|
| Source lines: | 8372 - 8478 |
| Type | subroutine |
| Call | opexe4(op, plevel) |
| Module | scheme_lang |
| Notes | Scheme procedures force -- gc -- new-segment |
| Name of routine: | opexe5 |
|---|---|
| Source lines: | 8482 - 8618 |
| Type | subroutine |
| Call | opexe5(op, plevel) |
| Module | scheme_lang |
| Notes | Scheme procedures read expression |
| Name of routine: | opexe6 |
|---|---|
| Source lines: | 8622 - 8677 |
| Type | subroutine |
| Call | opexe6(op) |
| Module | scheme_lang |
| Notes | Scheme procedures length -- macro? |
| Name of routine: | opexe7 |
|---|---|
| Source lines: | 8681 - 8766 |
| Type | subroutine |
| Call | opexe7(op) |
| Module | scheme_lang |
| Notes | Mathematical functions |
| Name of routine: | opexe8 |
|---|---|
| Source lines: | 8770 - 8874 |
| Type | subroutine |
| Call | opexe8(op) |
| Module | scheme_lang |
| Notes | A few other library functions eg min, max |
| Name of routine: | opexe9 |
|---|---|
| Source lines: | 8878 - 9129 |
| Type | subroutine |
| Call | opexe9(op) |
| Module | scheme_lang |
| Notes | string functions |
| Name of routine: | getint |
|---|---|
| Source lines: | 9133 - 9149 |
| Type | subroutine |
| Call | getint(pos, slen, string, res) |
| Module | scheme_lang |
| Notes | Nonstandard library additions for system interface such as system, read-line |
| Name of routine: | opexe10 |
|---|---|
| Source lines: | 9153 - 9529 |
| Type | subroutine |
| Call | opexe10(op, plevel) |
| Module | scheme_lang |
| Notes | Extensions for i/o and accessing system facilities eg inquire, time, date |
| Name of routine: | opexe11 |
|---|---|
| Source lines: | 9533 - 9620 |
| Type | subroutine |
| Call | opexe11(op) |
| Module | scheme_lang |
| Notes | Statistical library |
| Name of routine: | opexe12 |
|---|---|
| Source lines: | 9624 - 9885 |
| Type | subroutine |
| Call | opexe12(op, plevel) |
| Module | scheme_lang |
| Notes | Procedures that interact with Sib-pair |
| Name of routine: | opexe13 |
|---|---|
| Source lines: | 9889 - 10211 |
| Type | subroutine |
| Call | opexe13(op, plevel) |
| Module | scheme_lang |
| Notes | Manipulate Sib-pair dataset |
| Name of routine: | alldata |
|---|---|
| Source lines: | 10215 - 10229 |
| Type | subroutine |
| Call | alldata(res, extractor) |
| Module | scheme_lang |
| Notes | pedigree data accessor |
| Name of routine: | extract_ped |
|---|---|
| Source lines: | 10233 - 10239 |
| Type | function |
| Call | extract_ped(i, res) |
| Module | scheme_lang |
| Notes | extractors for different pedigree data fields |
| Name of routine: | extract_id |
|---|---|
| Source lines: | 10241 - 10247 |
| Type | function |
| Call | extract_id(i, res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | extract_iped |
|---|---|
| Source lines: | 10249 - 10255 |
| Type | function |
| Call | extract_iped(i, res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | extract_fa |
|---|---|
| Source lines: | 10257 - 10263 |
| Type | function |
| Call | extract_fa(i, res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | extract_mo |
|---|---|
| Source lines: | 10265 - 10271 |
| Type | function |
| Call | extract_mo(i, res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | extract_imztwin |
|---|---|
| Source lines: | 10273 - 10279 |
| Type | function |
| Call | extract_imztwin(i, res) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | opexe14 |
|---|---|
| Source lines: | 10284 - 10987 |
| Type | subroutine |
| Call | opexe14(op) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | opexe15 |
|---|---|
| Source lines: | 10993 - 11331 |
| Type | subroutine |
| Call | opexe15(op) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | mk_syntax |
|---|---|
| Source lines: | 11337 - 11345 |
| Type | subroutine |
| Call | mk_syntax(op, nam) |
| Module | scheme_lang |
| Notes | Initialization of internal keywords |
| Name of routine: | mk_proc |
|---|---|
| Source lines: | 11347 - 11356 |
| Type | subroutine |
| Call | mk_proc(op, nam) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | init_vars_global |
|---|---|
| Source lines: | 11360 - 11367 |
| Type | subroutine |
| Call | init_vars_global() |
| Module | scheme_lang |
| Notes | Initiate global environment |
| Name of routine: | init_syntax |
|---|---|
| Source lines: | 11371 - 11389 |
| Type | subroutine |
| Call | init_syntax() |
| Module | scheme_lang |
| Notes | Initiate syntax |
| Name of routine: | init_procs |
|---|---|
| Source lines: | 11393 - 11665 |
| Type | subroutine |
| Call | init_procs() |
| Module | scheme_lang |
| Notes | Initiate procedures |
| Name of routine: | init_scm |
|---|---|
| Source lines: | 11669 - 11824 |
| Type | subroutine |
| Call | init_scm() |
| Module | scheme_lang |
| Notes | Inlined init.scm |
| Name of routine: | init_globals |
|---|---|
| Source lines: | 11828 - 11840 |
| Type | subroutine |
| Call | init_globals() |
| Module | scheme_lang |
| Notes | Initiate procedures |
| Name of routine: | error0 |
|---|---|
| Source lines: | 11844 - 11850 |
| Type | subroutine |
| Call | error0(s) |
| Module | scheme_lang |
| Notes | Error handling |
| Name of routine: | error1 |
|---|---|
| Source lines: | 11852 - 11860 |
| Type | subroutine |
| Call | error1(s, a) |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | init_scheme |
|---|---|
| Source lines: | 11862 - 11865 |
| Type | subroutine |
| Call | init_scheme() |
| Module | scheme_lang |
| Notes | Miniscm |
| Name of routine: | repl_scheme |
|---|---|
| Source lines: | 11869 - 11963 |
| Type | subroutine |
| Call | repl_scheme(inline, ple) |
| Module | scheme_lang |
| Notes | Scheme read-eval-print loop |
| Name of routine: | create_form |
|---|---|
| Source lines: | 12003 - 12146 |
| Type | subroutine |
| Call | create_form(sta, fin, terms, nloci, loc, formula) |
| Module | formula_class |
| Notes | read commands and write appropriate formula structure |
| Name of routine: | cleanup_form |
|---|---|
| Source lines: | 12148 - 12159 |
| Type | subroutine |
| Call | cleanup_form(formula) |
| Module | formula_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
|
| Name of routine: | sumcols_form |
|---|---|
| Source lines: | 12163 - 12203 |
| Type | subroutine |
| Call | sumcols_form(formula) |
| Module | formula_class |
| Notes | If levels available, evaluate total number of model parameters |
| Name of routine: | show_form |
|---|---|
| Source lines: | 12205 - 12226 |
| Type | subroutine |
| Call | show_form(formula) |
| Module | formula_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
|
| Name of routine: | setup_props |
|---|---|
| Source lines: | 12383 - 12387 |
| Type | subroutine |
| Call | setup_props(maxsiz) |
| Module | mcmc_model |
| Notes | Allocate or deallocate work arrays |
| Name of routine: | clean_props |
|---|---|
| Source lines: | 12388 - 12390 |
| Type | subroutine |
| Call | clean_props() |
| Module | mcmc_model |
| Notes | Allocate or deallocate work arrays |
| Name of routine: | setup_mix |
|---|---|
| Source lines: | 12394 - 12449 |
| Type | subroutine |
| Call | setup_mix(ped, dataset, nchain, nqtl, nvar, family) |
| Module | mcmc_model |
| Notes | Allocate a pedigree's data arrays |
| Name of routine: | setup_ibd |
|---|---|
| Source lines: | 12488 - 12500 |
| Type | subroutine |
| Call | setup_ibd(ped, nobs, nvar, family) |
| Module | ibd_class |
| Notes | Allocate a pedigree's data arrays |
| Name of routine: | setup_table |
|---|---|
| Source lines: | 12530 - 12541 |
| Type | subroutine |
| Call | setup_table(ncat, maxcells, table) |
| Module | contingency_table |
| Notes | allocate space for contingency table |
| Name of routine: | zero_table |
|---|---|
| Source lines: | 12545 - 12557 |
| Type | subroutine |
| Call | zero_table(table) |
| Module | contingency_table |
| Notes | zero table for reuse |
| Name of routine: | clean_table |
|---|---|
| Source lines: | 12561 - 12571 |
| Type | subroutine |
| Call | clean_table(table) |
| Module | contingency_table |
| Notes | deallocate space |
| Name of routine: | expand_table |
|---|---|
| Source lines: | 12575 - 12598 |
| Type | subroutine |
| Call | expand_table(nextra, table) |
| Module | contingency_table |
| Notes | increase available space |
| Name of routine: | insert_table |
|---|---|
| Source lines: | 12602 - 12661 |
| Type | subroutine |
| Call | insert_table(ncat, values, table, iwt) |
| Module | contingency_table |
| Notes | insert data |
| Name of routine: | search_table |
|---|---|
| Source lines: | 12665 - 12703 |
| Type | function |
| Call | search_table(ncat, values, table) |
| Module | contingency_table |
| Notes | Search table |
| Name of routine: | incr_table |
|---|---|
| Source lines: | 12707 - 12713 |
| Type | subroutine |
| Call | incr_table(pos, table, iwt) |
| Module | contingency_table |
| Notes | Increment cell count if correct address already available |
| Name of routine: | print_table |
|---|---|
| Source lines: | 12717 - 12725 |
| Type | subroutine |
| Call | print_table(table) |
| Module | contingency_table |
| Notes | print a table |
| Name of routine: | marginal_table |
|---|---|
| Source lines: | 12729 - 12743 |
| Type | subroutine |
| Call | marginal_table(nmargin, margin, table, martable) |
| Module | contingency_table |
| Notes | fill a table with marginal counts from another table |
| Name of routine: | flat_table |
|---|---|
| Source lines: | 12748 - 12793 |
| Type | subroutine |
| Call | flat_table(mtable1, mtable2, table, mat) |
| Module | contingency_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 |
| Name of routine: | dim_table |
|---|---|
| Source lines: | 12797 - 12810 |
| Type | function |
| Call | dim_table(margin, table) |
| Module | contingency_table |
| Notes | get dimension of a margin |
| Name of routine: | sort_table |
|---|---|
| Source lines: | 12814 - 12826 |
| Type | subroutine |
| Call | sort_table(cat, table) |
| Module | contingency_table |
| Notes | reorder values in 1-D table to match order in table index |
| Name of routine: | findlev |
|---|---|
| Source lines: | 12830 - 12878 |
| Type | function |
| Call | findlev(val, table) |
| Module | contingency_table |
| Notes | factor level based on position in (marginal) 1-D table |
| Name of routine: | findrank |
|---|---|
| Source lines: | 12882 - 12901 |
| Type | function |
| Call | findrank(val, table) |
| Module | contingency_table |
| Notes | find rank based on position in 1-D table |
| Name of routine: | setup_pairs |
|---|---|
| Source lines: | 12920 - 12930 |
| Type | subroutine |
| Call | setup_pairs(npairs, pairlist) |
| Module | pairlist_class |
| Notes | allocate space for pairlist |
| Name of routine: | clean_pairs |
|---|---|
| Source lines: | 12934 - 12940 |
| Type | subroutine |
| Call | clean_pairs(pairlist) |
| Module | pairlist_class |
| Notes | deallocate space |
| Name of routine: | expand_pairs |
|---|---|
| Source lines: | 12944 - 12959 |
| Type | subroutine |
| Call | expand_pairs(nextra, pairlist) |
| Module | pairlist_class |
| Notes | increase available space |
| Name of routine: | append_pair |
|---|---|
| Source lines: | 12963 - 12977 |
| Type | subroutine |
| Call | append_pair(key1, key2, pairlist) |
| Module | pairlist_class |
| Notes | append data, testing only latest entry for uniqueness |
| Name of routine: | insert_pair |
|---|---|
| Source lines: | 12981 - 13029 |
| Type | subroutine |
| Call | insert_pair(key1, key2, pairlist) |
| Module | pairlist_class |
| Notes | insert data |
| Name of routine: | find_pair |
|---|---|
| Source lines: | 13033 - 13072 |
| Type | function |
| Call | find_pair(key1, key2, pairlist) |
| Module | pairlist_class |
| Notes | find a pair |
| Name of routine: | complete |
|---|---|
| Source lines: | 13096 - 13125 |
| Type | function |
| Call | complete(useimp, idx, nvar, terms, locpos, loctyp, dataset) |
| Module | covariate_data |
| Notes | test if complete data for i'th individual |
| Name of routine: | varlevels |
|---|---|
| Source lines: | 13130 - 13219 |
| Type | subroutine |
| Call | varlevels(typ, gene, numal, nvar, varlist, loc, loctyp, locpos, dataset, covariates, plevel) |
| Module | covariate_data |
| Notes | Collect necessary information to create dummy variables encoding a categorical trait allocates necessary marginal table storage |
| 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) |
| Module | covariate_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 |
| Name of routine: | xmeans |
|---|---|
| Source lines: | 13348 - 13427 |
| Type | subroutine |
| Call | xmeans(nvar, varlist, loctyp, locpos, dataset, covariates) |
| Module | covariate_data |
| Notes | Means for set of variables (incl dummies) in formula |
| Name of routine: | clean_AS164 |
|---|---|
| Source lines: | 13437 - 13444 |
| Type | subroutine |
| Call | clean_AS164() |
| Module | AS164_class |
| Notes | Work arrays for AS164 -- allow passing of results to other routines |
| Name of routine: | varmet |
|---|---|
| Source lines: | 13466 - 13636 |
| Type | subroutine |
| Call | varmet(fun, npar, b, f0, gradtl, toler, maxfn, ifault, plevel) |
| Module | optimizer |
| Notes | Actual varmet minimizer |
| Name of routine: | grad |
|---|---|
| Source lines: | 13640 - 13683 |
| Type | subroutine |
| Call | grad(fun, npar, b, f0, g, sa, er, ifault) |
| Module | optimizer |
| Notes | Calculate approximate gradient |
| Name of routine: | vmerr |
|---|---|
| Source lines: | 13687 - 13703 |
| Type | subroutine |
| Call | vmerr(ier, maxfn) |
| Module | optimizer |
| Notes | varmet error messages |
| Name of routine: | popgen_init |
|---|---|
| Source lines: | 13730 - 13735 |
| Type | subroutine |
| Call | popgen_init() |
| Module | popgen_vcdata |
| Notes | Cockerham-like multi-locus variance components |
| Name of routine: | popgen_summary |
|---|---|
| Source lines: | 13736 - 13755 |
| Type | subroutine |
| Call | popgen_summary(outstr, plevel) |
| Module | popgen_vcdata |
| Notes | Cockerham-like multi-locus variance components |
| Name of routine: | popgen_homoz |
|---|---|
| Source lines: | 13756 - 13769 |
| Type | subroutine |
| Call | popgen_homoz(outstr, plevel) |
| Module | popgen_vcdata |
| Notes | Cockerham-like multi-locus variance components |
| Name of routine: | printmat |
|---|---|
| Source lines: | 13780 - 13791 |
| Type | subroutine |
| Call | printmat(n, c, fstring) |
| Module | symmetric_matrix |
| Notes | print n rows of symmetric lower triangular matrix |
| Name of routine: | postmult |
|---|---|
| Source lines: | 13797 - 13817 |
| Type | subroutine |
| Call | postmult(n, x, c, w) |
| Module | symmetric_matrix |
| Notes |
Evaluate S x
where S is symmetric lower triangular matrix
x is a vector
|
| Name of routine: | postmultm |
|---|---|
| Source lines: | 13823 - 13847 |
| Type | subroutine |
| Call | postmultm(n, m, x, c, w) |
| Module | symmetric_matrix |
| Notes |
Evaluate S X
where S is symmetric lower triangular matrix
X is a full n*m matrix
|
| Name of routine: | sumsym |
|---|---|
| Source lines: | 13852 - 13868 |
| Type | subroutine |
| Call | sumsym(n, c, res) |
| Module | symmetric_matrix |
| Notes | Evaluate 1' S 1 where S is symmetric lower triangular matrix |
| Name of routine: | quadmult |
|---|---|
| Source lines: | 13873 - 13894 |
| Type | subroutine |
| Call | quadmult(typ, n, x, c, res) |
| Module | symmetric_matrix |
| Notes | Evaluate x' S x or 1' S x where S is symmetric lower triangular matrix |
| Name of routine: | quadxxm |
|---|---|
| Source lines: | 13901 - 13921 |
| Type | subroutine |
| Call | quadxxm(n, m, x, c, res) |
| Module | symmetric_matrix |
| Notes |
Evaluate X' S X
where S is symmetric lower triangular matrix
X n*m matrix
result returned in lower triangular form
|
| Name of routine: | quadxy |
|---|---|
| Source lines: | 13927 - 13942 |
| Type | subroutine |
| Call | quadxy(n, x, c, y, res) |
| Module | symmetric_matrix |
| Notes |
Evaluate x' S y
where S is symmetric lower triangular matrix
x, y are 1-D arrays
|
| Name of routine: | quadxymv |
|---|---|
| Source lines: | 13948 - 13964 |
| Type | subroutine |
| Call | quadxymv(n, m, x, c, y, res) |
| Module | symmetric_matrix |
| Notes |
Evaluate X' S y
where S is symmetric lower triangular matrix
X full n*m matrix, y n-vector
|
| Name of routine: | quadxym |
|---|---|
| Source lines: | 13970 - 13981 |
| Type | subroutine |
| Call | quadxym(n, m1, m2, x, c, y, res) |
| Module | symmetric_matrix |
| Notes |
Evaluate X' S Y
where S is symmetric lower triangular matrix
X, Y full n*m1,n*m2 matrices
|
| Name of routine: | quadxy1 |
|---|---|
| Source lines: | 13987 - 14002 |
| Type | subroutine |
| Call | quadxy1(n, m, c, y, res) |
| Module | symmetric_matrix |
| Notes |
Evaluate 1' S Y
where S is symmetric lower triangular matrix
Y full n*m matrix
|
| Name of routine: | quadform |
|---|---|
| Source lines: | 14006 - 14020 |
| Type | subroutine |
| Call | quadform(n, x, m, c, res) |
| Module | symmetric_matrix |
| Notes | Evaluate (y-m)' S (y-m) where S is symmetric lower triangular matrix |
| Name of routine: | pre_grapheps |
|---|---|
| Source lines: | 14029 - 14363 |
| Type | subroutine |
| Call | pre_grapheps(outstr, xbound, ybound) |
| Module | grapheps |
| Notes | The grapheps Postscript functions See http://swiss.csail.mit.edu/~jaffer/Docupage/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) |
| Module | grapheps |
| Notes |
Draw simple plot
typ 1=scatterplot 2=jittered dotplot 3=mountain 4=bargraph
10=square Q-Q plot
|
| Name of routine: | scatter_grapheps |
|---|---|
| Source lines: | 14488 - 14553 |
| Type | subroutine |
| Call | scatter_grapheps(outstr, nvals, symbols, xvals, yvals, slab, xlab, ylab, title, gratio) |
| Module | grapheps |
| Notes | Draw scatterplot with different glyphs for each category |
| Name of routine: | nextcmd |
|---|---|
| Source lines: | 23606 - 23664 |
| Type | subroutine |
| Call | nextcmd(commands, numcmd, linlen, s, more) |
| Module | None |
| Notes | count number of commands on line and delineate next command (using position of ";"'s) to be evaluated |
| Name of routine: | ival |
|---|---|
| Source lines: | 23668 - 23688 |
| Type | function |
| Call | ival(string) |
| Module | None |
| Notes | character to integer conversion via internal read |
| Name of routine: | fval |
|---|---|
| Source lines: | 23692 - 23719 |
| Type | function |
| Call | fval(string) |
| Module | None |
| Notes | character to float conversion via internal read |
| Name of routine: | aval |
|---|---|
| Source lines: | 23724 - 23775 |
| Type | function |
| Call | aval(string, gcode) |
| Module | None |
| Notes | read allele values either numeric or letter code range of legal alleles depends on storage type |
| Name of routine: | locfmt |
|---|---|
| Source lines: | 23779 - 23809 |
| Type | subroutine |
| Call | locfmt(str, rep, newtyp) |
| Module | None |
| Notes | Read simplified locus declaration eg 10m 10 m -> 10 autosomal markers |
| Name of routine: | sow |
|---|---|
| Source lines: | 23813 - 23823 |
| Type | function |
| Call | sow(string) |
| Module | None |
| Notes | skip leading whitespace |
| Name of routine: | eow |
|---|---|
| Source lines: | 23827 - 23836 |
| Type | function |
| Call | eow(string) |
| Module | None |
| Notes | find end of string |
| Name of routine: | sclean |
|---|---|
| Source lines: | 23840 - 23848 |
| Type | subroutine |
| Call | sclean(string) |
| Module | None |
| Notes | scrub non-ASCII characters |
| Name of routine: | ismiss |
|---|---|
| Source lines: | 23852 - 23856 |
| Type | function |
| Call | ismiss(string) |
| Module | None |
| Notes | See if a string is a missing value |
| Name of routine: | isint |
|---|---|
| Source lines: | 23860 - 23881 |
| Type | function |
| Call | isint(string) |
| Module | None |
| Notes | see if a string is a valid integer |
| Name of routine: | isreal |
|---|---|
| Source lines: | 23885 - 23904 |
| Type | function |
| Call | isreal(string) |
| Module | None |
| Notes | see if a string is a valid double precision number |
| Name of routine: | iscomment |
|---|---|
| Source lines: | 23908 - 23923 |
| Type | function |
| Call | iscomment(string) |
| Module | None |
| Notes | See if a string is a comment |
| Name of routine: | wrsex |
|---|---|
| Source lines: | 23927 - 23936 |
| Type | subroutine |
| Call | wrsex(sex,ch) |
| Module | None |
| Notes | write sex as character |
| Name of routine: | wrdate |
|---|---|
| Source lines: | 23940 - 23953 |
| Type | subroutine |
| Call | wrdate(date,str,typ) |
| Module | None |
| Notes | write date as character |
| Name of routine: | wraff |
|---|---|
| Source lines: | 23957 - 23968 |
| Type | subroutine |
| Call | wraff(value, ch, typ) |
| Module | None |
| Notes | binary trait as character |
| Name of routine: | wrform |
|---|---|
| Source lines: | 23972 - 23987 |
| Type | subroutine |
| Call | wrform(typ, nwid, ndec, fstring) |
| Module | None |
| Notes | Fortran format statement to write one number |
| Name of routine: | idwidths |
|---|---|
| Source lines: | 23991 - 24019 |
| Type | subroutine |
| Call | idwidths(dataset, widths, name_formats) |
| Module | None |
| Notes | Get maximum lengths of ID strings |
| Name of routine: | phist |
|---|---|
| Source lines: | 24023 - 24039 |
| Type | subroutine |
| Call | phist(pval1, pval2, histo) |
| Module | None |
| Notes | Write P-values as a histogram: . + * ** *** |
| Name of routine: | pstring |
|---|---|
| Source lines: | 24043 - 24068 |
| Type | function |
| Call | pstring(pval) |
| Module | None |
| Notes | Write P-values as a string |
| Name of routine: | corstring |
|---|---|
| Source lines: | 24072 - 24082 |
| Type | function |
| Call | corstring(rval) |
| Module | None |
| Notes | Write correlation as a 6 character string (deal nicely with -1) |
| Name of routine: | append |
|---|---|
| Source lines: | 24086 - 24096 |
| Type | subroutine |
| Call | append(word, note) |
| Module | None |
| Notes | append one word to a string if enough room |
| Name of routine: | addlet |
|---|---|
| Source lines: | 24101 - 24111 |
| Type | subroutine |
| Call | addlet(old, new) |
| Module | None |
| 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 |
| Name of routine: | shorten |
|---|---|
| Source lines: | 24116 - 24157 |
| Type | subroutine |
| Call | shorten(idx, nwords, words, newlen, res) |
| Module | None |
| Notes | create a shorter unique version of a string eg locus name Old versions of MENDEL for instance wants 8 character locus names |
| Name of routine: | makeind |
|---|---|
| Source lines: | 24162 - 24208 |
| Type | subroutine |
| Call | makeind(typ, idx, eos, los, string) |
| Module | None |
| 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 |
| Name of routine: | mktmpfil |
|---|---|
| Source lines: | 24212 - 24234 |
| Type | subroutine |
| Call | mktmpfil(str, filnam, wrkdir, ioerr) |
| Module | None |
| Notes | Create a new unique temporary file |
| Name of routine: | wrinline |
|---|---|
| Source lines: | 24239 - 24258 |
| Type | subroutine |
| Call | wrinline(nlin, outstr) |
| Module | None |
| Notes | Copy inline data to a file Relies on iostat=-2 as eol to use lin as a buffer |
| Name of routine: | openlog |
|---|---|
| Source lines: | 24262 - 24292 |
| Type | subroutine |
| Call | openlog(lstr, logfil, nhis) |
| Module | None |
| Notes | Open the standard log file "sib-pair.log" |
| Name of routine: | findfile |
|---|---|
| Source lines: | 24298 - 24327 |
| Type | subroutine |
| Call | findfile(fil, stat) |
| Module | None |
| Notes | System utilities Find a file along the search path -- check pwd, then HOME first |
| Name of routine: | delfile |
|---|---|
| Source lines: | 24331 - 24348 |
| Type | subroutine |
| Call | delfile(filnam, plevel) |
| Module | None |
| Notes | Delete a file |
| Name of routine: | unzipper |
|---|---|
| Source lines: | 24353 - 24374 |
| Type | subroutine |
| Call | unzipper(filnam, wrkfil, gzipped) |
| Module | None |
| Notes | Flag a file as gzip compressed and unzip for reading (necessary for binary files) |
| Name of routine: | reclen |
|---|---|
| Source lines: | 24380 - 24404 |
| Type | subroutine |
| Call | reclen(port, buffer, longest) |
| Module | None |
| Notes | Return length of longest line of file Use lin as buffer Relies on iostat code for eol |
| Name of routine: | filecols |
|---|---|
| Source lines: | 24409 - 24440 |
| Type | subroutine |
| Call | filecols(port, buffer, testlines, nwords, plevel) |
| Module | None |
| Notes | Return representative number of words per line in file Use lin as buffer |
| Name of routine: | fchooser |
|---|---|
| Source lines: | 24446 - 24498 |
| Type | subroutine |
| Call | fchooser(fil, gui, plevel) |
| Module | None |
| Notes | GUI stuff Uses JAPI to call AWT, or PILIB to call GTK2 if present else simple file picker |
| Name of routine: | fpicker |
|---|---|
| Source lines: | 24503 - 24609 |
| Type | subroutine |
| Call | fpicker(fil, plevel) |
| Module | None |
| Notes | Text based Windows file picker |
| Name of routine: | fpicker |
|---|---|
| Source lines: | 24614 - 24698 |
| Type | subroutine |
| Call | fpicker(fil, plevel) |
| Module | None |
| Notes | Text based file picker |
| 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) |
| Module | None |
| Notes | Info |
| Name of routine: | help |
|---|---|
| Source lines: | 24769 - 25237 |
| Type | subroutine |
| Call | help(typ, regexp, lin, twrk) |
| Module | None |
| Notes | brief online help |
| Name of routine: | shell |
|---|---|
| Source lines: | 25241 - 25274 |
| Type | subroutine |
| Call | shell(lin, plevel) |
| Module | None |
| Notes |
pass line to shell -- requires existence of fairly
standard routine system()
|
| Name of routine: | stamp |
|---|---|
| Source lines: | 25278 - 25298 |
| Type | subroutine |
| Call | stamp(t0) |
| Module | None |
| Notes | write elapsed time since first/last asked |
| Name of routine: | proct |
|---|---|
| Source lines: | 25302 - 25312 |
| Type | subroutine |
| Call | proct(t1, plevel) |
| Module | None |
| Notes | time a procedure |
| Name of routine: | gettrait |
|---|---|
| Source lines: | 25316 - 25365 |
| Type | subroutine |
| Call | gettrait(nam, typ1, typ2, nloci, loc, lochash, loctyp, trait, plevel) |
| Module | None |
| Notes | determine if word is name of a trait locus |
| Name of routine: | isinuse |
|---|---|
| Source lines: | 25369 - 25398 |
| Type | function |
| Call | isinuse(string, nloci, loc) |
| Module | None |
| Notes | check if name is not already used or reserved |
| Name of routine: | getbin |
|---|---|
| Source lines: | 25402 - 25463 |
| Type | subroutine |
| Call | getbin(sta, fin, words, nloci, loc, lochash, loctyp, trait, gt, thresh) |
| Module | None |
| Notes | Get a single binary trait or dichotomized quantitative trait |
| 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) |
| Module | None |
| 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) |
| Name of routine: | actlist |
|---|---|
| Source lines: | 25671 - 25701 |
| Type | subroutine |
| Call | actlist(typ, nloci, loctyp, nchosen, chosen) |
| Module | None |
| Notes | All active/inactive |
| Name of routine: | listloci |
|---|---|
| Source lines: | 25706 - 25787 |
| Type | subroutine |
| Call | listloci(nord, locord, nloci, loc, loctyp, outpos, locnotes, typ, plevel) |
| Module | None |
| Notes | List loci using short (typ=2) or long (typ=1) form plevel < -1 will give a simple list of names |
| Name of routine: | newlin |
|---|---|
| Source lines: | 25791 - 25807 |
| Type | subroutine |
| Call | newlin(sol, eol, pos, newpos) |
| Module | None |
| Notes | format free output |
| Name of routine: | cntclasses |
|---|---|
| Source lines: | 25811 - 25848 |
| Type | subroutine |
| Call | cntclasses(nloci, loctyp) |
| Module | None |
| Notes | Output counts of class of loci |
| Name of routine: | cntmark |
|---|---|
| Source lines: | 25852 - 25872 |
| Type | subroutine |
| Call | cntmark(nloci, loctyp, nmark, typ) |
| Module | None |
| Notes | Count active codominant markers or active loci |
| Name of routine: | findmk |
|---|---|
| Source lines: | 25876 - 25894 |
| Type | function |
| Call | findmk(sta, fin, loctyp) |
| Module | None |
| Notes | Find next active codominant marker in list |
| Name of routine: | findml |
|---|---|
| Source lines: | 25898 - 25914 |
| Type | function |
| Call | findml(nord, locord, loctyp) |
| Module | None |
| Notes | Find first codominant or haploid marker in list |
| Name of routine: | ldlist |
|---|---|
| Source lines: | 25919 - 25976 |
| Type | subroutine |
| Call | ldlist(typ, loc1, loc2, nloci, loctyp, last) |
| Module | None |
| Notes |
produce next pair of markers from:
1. named pair 2. One named 3. map order 4. all pairs 10. empty
|
| Name of routine: | getlin |
|---|---|
| Source lines: | 25980 - 25996 |
| Type | subroutine |
| Call | getlin(port, narg, words, lin, skipbl) |
| Module | None |
| Notes | Get a line from a port |
| 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) |
| Module | None |
| Notes | Read a MERLIN locus file |
| Name of routine: | rdplink |
|---|---|
| Source lines: | 26108 - 26188 |
| Type | subroutine |
| Call | rdplink(port, typ, chrcode, nloci, loc, locpos, outpos, loctyp, locnotes, numloc, group, map) |
| Module | None |
| 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
|
| Name of routine: | readmap |
|---|---|
| Source lines: | 26193 - 26446 |
| Type | subroutine |
| Call | readmap(port, units, lin, words, plevel) |
| Module | None |
| Notes | Read a mapfile -- attempts to intelligently decide what to read |
| Name of routine: | readnames |
|---|---|
| Source lines: | 26450 - 26473 |
| Type | subroutine |
| Call | readnames(port, nloci, loc, lochash, chosen) |
| Module | None |
| Notes | Read a list of locus names from a file to keep/drop/undrop |
| Name of routine: | rdlinloc |
|---|---|
| Source lines: | 26477 - 26692 |
| Type | subroutine |
| Call | rdlinloc(port, lin, words, nord, numloc) |
| Module | None |
| Notes | Read a Linkage locus file |
| Name of routine: | rdfreq |
|---|---|
| Source lines: | 26699 - 26809 |
| Type | subroutine |
| Call | rdfreq(typ, sta, fin, words, allele_buffer) |
| Module | None |
| 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
|
| 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) |
| Module | None |
| Notes | Make change in order of variables |
| 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) |
| Module | None |
| Notes | Pack pedigrees and loci Note that SNPs stored as 2 genotypes per byte cannot be packed |
| Name of routine: | bonf |
|---|---|
| Source lines: | 27009 - 27018 |
| Type | function |
| Call | bonf(ntest,alpha) |
| Module | None |
| Notes | Calculate Bonferroni corrected P-value for given number of tests |
| Name of routine: | dsort |
|---|---|
| Source lines: | 27023 - 27142 |
| Type | subroutine |
| Call | dsort(n, dx) |
| Module | None |
| Notes | SLATEC quicksort routine. Jones, Kahaner and Wisniewski. double precision |
| Name of routine: | srank |
|---|---|
| Source lines: | 27149 - 27312 |
| Type | subroutine |
| Call | srank(n, x, iy) |
| Module | None |
| 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 |
| Name of routine: | isort |
|---|---|
| Source lines: | 27318 - 27563 |
| Type | subroutine |
| Call | isort(bot, top, ix, iy, kflag) |
| Module | None |
| 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. |
| Name of routine: | iscomp |
|---|---|
| Source lines: | 27708 - 27716 |
| Type | function |
| Call | iscomp(op) |
| Module | None |
| Notes | determine if trait being compared to a constant, for isaff |
| Name of routine: | docomp |
|---|---|
| Source lines: | 27722 - 27768 |
| Type | subroutine |
| Call | docomp(pos, words, gt, thresh) |
| Module | None |
| Notes | parse comparison in isaff 15='<', 16='>', 17='ge', 18='le',19='ne',20='eq' 21='odd', 22='even' |
| Name of routine: | defpro |
|---|---|
| Source lines: | 27772 - 27800 |
| Type | subroutine |
| Call | defpro(gt, thresh) |
| Module | None |
| Notes | Message defining proband based on comparison |
| Name of routine: | compsign |
|---|---|
| Source lines: | 27804 - 27810 |
| Type | function |
| Call | compsign(idx) |
| Module | None |
| Notes | Show comparison |
| Name of routine: | isaff |
|---|---|
| Source lines: | 27814 - 27846 |
| Type | function |
| Call | isaff(val, thresh, gt) |
| Module | None |
| Notes | determine if index person is affected or unaffected |
| Name of routine: | isatwin |
|---|---|
| Source lines: | 27850 - 27858 |
| Type | function |
| Call | isatwin(twintype, twinind) |
| Module | None |
| Notes | Is an MZ twin? |
| Name of routine: | ismzpair |
|---|---|
| Source lines: | 27863 - 27877 |
| Type | function |
| Call | ismzpair(i, j, dataset) |
| Module | None |
| Notes | Is pair MZ? index i must precede j |
| Name of routine: | order |
|---|---|
| Source lines: | 27881 - 27890 |
| Type | subroutine |
| Call | order(all1, all2) |
| Module | None |
| Notes | swap alleles so ordered consistently |
| Name of routine: | swap |
|---|---|
| Source lines: | 27894 - 27902 |
| Type | subroutine |
| Call | swap(all1, all2) |
| Module | None |
| Notes | swap alleles |
| Name of routine: | lorder |
|---|---|
| Source lines: | 27914 - 27990 |
| Type | subroutine |
| Call | lorder(typ, addummy, liab, liabclass, nloci, loctyp, nord, locord) |
| Module | None |
| 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 |
| Name of routine: | isinenv |
|---|---|
| Source lines: | 27994 - 28005 |
| Type | function |
| Call | isinenv(word,nvar,envnam) |
| Module | None |
| Notes | Is a bound environmental variable? and if so where? |
| Name of routine: | readbin |
|---|---|
| Source lines: | 28016 - 28168 |
| Type | subroutine |
| Call | readbin(strm, filnam, wrkfil, typ, numloc, dataset, red, plevel) |
| Module | None |
| 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)
|
| Name of routine: | writebin |
|---|---|
| Source lines: | 28175 - 28255 |
| Type | subroutine |
| Call | writebin(strm, compress, filnam, dataset, plevel) |
| Module | None |
| 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 |
| Name of routine: | readhapmap |
|---|---|
| Source lines: | 28259 - 28439 |
| Type | subroutine |
| Call | readhapmap(filnam, numloc, dataset, longnam, red, plevel) |
| Module | None |
| Notes | Read in HapMap format |
| Name of routine: | readgeno |
|---|---|
| Source lines: | 28444 - 28532 |
| Type | subroutine |
| Call | readgeno(port, skipline, hashtab, dataset, plevel) |
| Module | None |
| Notes | Read genotyping file where one genotype per record (eg Sequenom) id locus_name allele1 allele2 ... [quality score etc] |
| Name of routine: | readprobs |
|---|---|
| Source lines: | 28546 - 28705 |
| Type | subroutine |
| Call | readprobs(port, typ, mergekey, longest, dataset, plevel) |
| Module | None |
| 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 |
| Name of routine: | readbed |
|---|---|
| Source lines: | 28745 - 29065 |
| Type | subroutine |
| Call | readbed(strm, typ, filnam, hashtab, dataset, plevel) |
| Module | None |
| 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).
|
| Name of routine: | fromplink |
|---|---|
| Source lines: | 29069 - 29096 |
| Type | subroutine |
| Call | fromplink(pcode, a1, a2, snpswap, g1, g2, ngeno) |
| Module | None |
| Notes | Convert PLINK .bed genotype codes to alleles |
| Name of routine: | readcases |
|---|---|
| Source lines: | 29102 - 29357 |
| Type | subroutine |
| Call | readcases(port, hassex, skipline, numloc, coltyp, dataset, longnam, longest, nwarn, plevel) |
| Module | None |
| Notes | Read file containing just unrelated individuals Duplicates (if contiguous) are combined into the same "family" with appended copy numbers |
| 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) |
| Module | None |
| Notes | Read pedigree file |
| Name of routine: | nextped |
|---|---|
| Source lines: | 29868 - 29873 |
| Type | function |
| Call | nextped(str, pedigree) |
| Module | None |
| Notes | Test if current line is next pedigree |
| Name of routine: | nonextped |
|---|---|
| Source lines: | 29877 - 29882 |
| Type | function |
| Call | nonextped(str, pedigree) |
| Module | None |
| Notes | Does not use pedigree IDs |
| 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) |
| Module | None |
| Notes | All members of pedigree now read in, error check and sort |
| Name of routine: | tabid |
|---|---|
| Source lines: | 30045 - 30085 |
| Type | subroutine |
| Call | tabid(curid, nid, indx, id, counts, incr, idpos) |
| Module | None |
| Notes | Tabulate alphanumeric IDs in order of appearance |
| Name of routine: | addsexes |
|---|---|
| Source lines: | 30090 - 30333 |
| Type | subroutine |
| Call | addsexes(mztwin, gt, thresh, pedigree, num, buffer, key1, ord, nerr, plevel) |
| Module | None |
| Notes | Check consistency of sexes Assign consistent sexes where missing, allowing for possible MZ twins |
| 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) |
| Module | None |
| 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 |
| Name of routine: | msdsort |
|---|---|
| Source lines: | 30507 - 30530 |
| Type | subroutine |
| Call | msdsort(bot,top,key1,key2,ord) |
| Module | None |
| Notes | MSD radix sort key1, key2 |
| Name of routine: | mkdummy |
|---|---|
| Source lines: | 30534 - 30556 |
| Type | subroutine |
| Call | mkdummy(num, nfound, sx, numloc, buffer) |
| Module | None |
| Notes | Create dummy records for added individals |
| Name of routine: | asstyp |
|---|---|
| Source lines: | 30560 - 30581 |
| Type | subroutine |
| Call | asstyp(nloci, loctyp, locpos, totloc, coltyp) |
| Module | None |
| Notes | Assign a locus type to every column of data file |
| Name of routine: | addvar |
|---|---|
| Source lines: | 30585 - 30663 |
| Type | subroutine |
| Call | addvar(wrk, wrk2, dclass, newloc, dataset, plevel) |
| Module | None |
| Notes | Add extra blank columns to the dataset |
| Name of routine: | addtmpvar |
|---|---|
| Source lines: | 30667 - 30686 |
| Type | subroutine |
| Call | addtmpvar(tmpnam, dataset, tmppos, ifail) |
| Module | None |
| Notes | Create a temporary quantitative variable |
| Name of routine: | wrkout |
|---|---|
| Source lines: | 30690 - 30729 |
| Type | subroutine |
| Call | wrkout(wrk, wrk2, ped, dataset, nped, nobs) |
| Module | None |
| Notes | Write out current pedigree to a work file, updating number of records |
| Name of routine: | pedin |
|---|---|
| Source lines: | 30735 - 30802 |
| Type | subroutine |
| Call | pedin(wrk, wrk2, nped, nobs, numloc, numcol, dataset) |
| Module | None |
| Notes | Read pedigree back in from work files May allocate extra blank columns in dataset%plocus for later use by numcol > numloc |
| Name of routine: | replacedata |
|---|---|
| Source lines: | 30809 - 31072 |
| Type | subroutine |
| Call | replacedata(port, typ, nloci, loc, lochash, loctyp, locpos, chosen, hashtab, dataset, longest, plevel) |
| Module | None |
| 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 |
| Name of routine: | concat |
|---|---|
| Source lines: | 31076 - 31100 |
| Type | subroutine |
| Call | concat(dirnam, filnam) |
| Module | None |
| Notes | Prefix filnam |
| Name of routine: | extprefix |
|---|---|
| Source lines: | 31104 - 31123 |
| Type | subroutine |
| Call | extprefix(filnam, suffix) |
| Module | None |
| Notes | Extract prefix from filnam |
| Name of routine: | extpath |
|---|---|
| Source lines: | 31127 - 31144 |
| Type | subroutine |
| Call | extpath(filnam) |
| Module | None |
| Notes | Extract path from filnam |
| Name of routine: | slash |
|---|---|
| Source lines: | 31149 - 31163 |
| Type | subroutine |
| Call | slash(dirnam, lend) |
| Module | None |
| Notes | Test what character used to separate directories and append to directory |
| Name of routine: | display |
|---|---|
| Source lines: | 31167 - 31198 |
| Type | subroutine |
| Call | display(str) |
| Module | None |
| Notes | Print a string, stripping out C-style escapes |
| Name of routine: | cat |
|---|---|
| Source lines: | 31202 - 31226 |
| Type | subroutine |
| Call | cat(fil) |
| Module | None |
| Notes | Display contents of a file |
| Name of routine: | head |
|---|---|
| Source lines: | 31230 - 31253 |
| Type | subroutine |
| Call | head(fil, nlin) |
| Module | None |
| Notes | Display first N lines of a file |
| Name of routine: | countfields |
|---|---|
| Source lines: | 31258 - 31380 |
| Type | subroutine |
| Call | countfields(fil, plevel) |
| Module | None |
| Notes | Utility to count number of columns in a file simpler scanner than args |
| Name of routine: | fprinter |
|---|---|
| Source lines: | 31384 - 31543 |
| Type | subroutine |
| Call | fprinter(nwords, words, linbuf, plevel) |
| Module | None |
| Notes | Utility to extract columns from a file |
| Name of routine: | sibloci |
|---|---|
| Source lines: | 31547 - 31578 |
| Type | subroutine |
| Call | sibloci(ostr, nloci, loc, loctyp, outpos, map, locnotes) |
| Module | None |
| Notes | write Sib-pair locus declarations |
| Name of routine: | wrmap |
|---|---|
| Source lines: | 31599 - 31874 |
| Type | subroutine |
| Call | wrmap(ostr, typ, mapf, nloci, loc, loctyp, locnotes, nord, locord, group, map) |
| Module | None |
| 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 |
| Name of routine: | pedhead |
|---|---|
| Source lines: | 31879 - 31944 |
| Type | subroutine |
| Call | pedhead(strm, typ, pedmask, name_widths, name_formats, nwid, nloci, loc, loctyp) |
| Module | None |
| Notes | Write out pedigree header with locus names either multiline (typ=1) or simple |
| Name of routine: | onestripe |
|---|---|
| Source lines: | 31948 - 31985 |
| Type | subroutine |
| Call | onestripe(strm, linenum, totlines, width, string, truncate) |
| Module | None |
| Notes | Writing a string within a given rectangle: one line |
| 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) |
| Module | None |
| 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) |
| 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) |
| Module | None |
| 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
|
| Name of routine: | wrphe |
|---|---|
| Source lines: | 32452 - 32526 |
| Type | subroutine |
| Call | wrphe(strm, typ, nwid, ndec, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | write out Mapmaker-Sibs/FBAT/etc phenotype file whitespace delimited ped id trait1...traitN write out Mapmaker-Sibs phenotype file |
| 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) |
| Module | None |
| 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) |
| Name of routine: | wrmorg |
|---|---|
| Source lines: | 32796 - 32952 |
| Type | subroutine |
| Call | wrmorg(strm, typ, nwid, ndec, nloci, loc, loctyp, locpos, smlfreq, smlpen, dataset) |
| Module | None |
| Notes | Write out pedigree for Morgan typ 1 pedigree and traits 2 id, markers |
| Name of routine: | wrfish |
|---|---|
| Source lines: | 32956 - 33078 |
| Type | subroutine |
| Call | wrfish(strm, ndec, twinning, twintype, nloci, loctyp, locpos, nord, locord, dataset, fstyle, plevel) |
| Module | None |
| Notes | write out FISHER or MENDEL type pedigree file |
| Name of routine: | wrdot |
|---|---|
| Source lines: | 33082 - 33184 |
| Type | subroutine |
| Call | wrdot(strm, trait, gene, allsep, trcoly, trcoln, trcolx, dataset) |
| Module | None |
| Notes | Describe pedigree using dot graphics language |
| Name of routine: | wrarl |
|---|---|
| Source lines: | 33188 - 33337 |
| Type | subroutine |
| Call | wrarl(strm, popind, typ, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | write out Arlequin data file (haplotype or genotype data) |
| Name of routine: | wrprd |
|---|---|
| Source lines: | 33341 - 33385 |
| Type | subroutine |
| Call | wrprd(strm, typ, trait, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | write out data file used by Jonathon Pritchard's structure program |
| Name of routine: | wrbeagle |
|---|---|
| Source lines: | 33390 - 33506 |
| Type | subroutine |
| Call | wrbeagle(strm, typ, dataset) |
| Module | None |
| Notes | write out data file used by Browning and Browning's Beagle program exclude MZ cotwins |
| Name of routine: | wrsnp |
|---|---|
| Source lines: | 33512 - 33586 |
| Type | subroutine |
| Call | wrsnp(strm, trait, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | Write out SNP-major data file with integer genotype encoding used by ROADTRIPS genotypes are -9,0,1,2 |
| Name of routine: | wrpap |
|---|---|
| Source lines: | 33590 - 33717 |
| Type | subroutine |
| Call | wrpap(trip, phen, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | Write out old-style PAP pedigree |
| Name of routine: | wrcri |
|---|---|
| Source lines: | 33721 - 33787 |
| Type | subroutine |
| Call | wrcri(strm, nloci, loc, loctyp, locpos, locord, dataset) |
| Module | None |
| Notes | Write out .gen pedigree file for CRI-MAP |
| Name of routine: | wrbed |
|---|---|
| Source lines: | 33791 - 33954 |
| Type | subroutine |
| Call | wrbed(strm, filnam, trait, allele_buffer, dataset) |
| Module | None |
| Notes | Write PLINK .bed format (also used by MENDEL 10.0+) |
| Name of routine: | simdata |
|---|---|
| Source lines: | 33958 - 34017 |
| Type | subroutine |
| Call | simdata(strm, nped, ngen, nminoff, nmaxoff, totloc) |
| Module | None |
| Notes | Write a file of simulated pedigrees |
| 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) |
| Module | None |
| Notes | Write out data for particular pedigree or particular person |
| Name of routine: | wrind |
|---|---|
| Source lines: | 34152 - 34244 |
| Type | subroutine |
| Call | wrind(idx, nloci, loc, loctyp, locpos, dataset, pedmask, nwid, ndec, misval, allsep, pstyle) |
| Module | None |
| Notes | Write out data for an individual |
| Name of routine: | wrvert |
|---|---|
| Source lines: | 34248 - 34326 |
| Type | subroutine |
| Call | wrvert(nloci, loc, loctyp, locpos, dataset, nwid, ndec, allsep) |
| Module | None |
| Notes | Write out data for individuals vertically |
| Name of routine: | prgtp |
|---|---|
| Source lines: | 34330 - 34344 |
| Type | subroutine |
| Call | prgtp(idx, gene, dataset, gtp) |
| Module | None |
| Notes | print one genotype from dataset |
| Name of routine: | wrid |
|---|---|
| Source lines: | 34349 - 34369 |
| Type | subroutine |
| Call | wrid(just, id, chid, sx) |
| Module | None |
| Notes | Write id as justified (l,c,r) string, possibly indicating sex as male [101] or female (102) |
| Name of routine: | decgtp |
|---|---|
| Source lines: | 34373 - 34386 |
| Type | subroutine |
| Call | decgtp(value, g1, g2) |
| Module | None |
| Notes | Decode genotype code |
| Name of routine: | encgtp |
|---|---|
| Source lines: | 34390 - 34400 |
| Type | function |
| Call | encgtp(a1, a2) |
| Module | None |
| Notes | Hash a genotype |
| Name of routine: | iencgtp |
|---|---|
| Source lines: | 34404 - 34416 |
| Type | function |
| Call | iencgtp(a1, a2) |
| Module | None |
| Notes | Hash an integer genotype |
| Name of routine: | encchr |
|---|---|
| Source lines: | 34420 - 34441 |
| Type | subroutine |
| Call | encchr(chr, val) |
| Module | None |
| Notes | Hash a chromosome retaining nice collation order |
| Name of routine: | decchr |
|---|---|
| Source lines: | 34445 - 34464 |
| Type | subroutine |
| Call | decchr(val, chr) |
| Module | None |
| Notes | Unhash a chromosome |
| Name of routine: | wrpercent |
|---|---|
| Source lines: | 34468 - 34478 |
| Type | function |
| Call | wrpercent(num, den) |
| Module | None |
| Notes | Write out a percentage |
| Name of routine: | wrpercentd |
|---|---|
| Source lines: | 34480 - 34490 |
| Type | function |
| Call | wrpercentd(num, den) |
| Module | None |
| Name of routine: | wrtrait |
|---|---|
| Source lines: | 34494 - 34565 |
| Type | subroutine |
| Call | wrtrait(value, str, typ, catlabels, nwid, ndec) |
| Module | None |
| Notes | Write out trait value to a string |
| Name of routine: | get_snpallele1 |
|---|---|
| Source lines: | 34569 - 34582 |
| Type | subroutine |
| Call | get_snpallele1(locnote, alleles) |
| Module | None |
| Notes | Extract alleles from locus annotation of form "A/B" to string "AB" |
| Name of routine: | get_snpallele2 |
|---|---|
| Source lines: | 34586 - 34607 |
| Type | subroutine |
| Call | get_snpallele2(locnote, allele_buffer) |
| Module | None |
| Notes | Extract alleles from locus annotation of form "A/B" to allele data structure |
| Name of routine: | wrgtp |
|---|---|
| Source lines: | 34611 - 34659 |
| Type | subroutine |
| Call | wrgtp(all1, all2, gtp, allsep, typ) |
| Module | None |
| Notes | Write out a genotype |
| Name of routine: | wrall |
|---|---|
| Source lines: | 34663 - 34680 |
| Type | subroutine |
| Call | wrall(iall, allel) |
| Module | None |
| Notes | Write an allele |
| Name of routine: | juststr |
|---|---|
| Source lines: | 34684 - 34711 |
| Type | subroutine |
| Call | juststr(just,string,length) |
| Module | None |
| Notes | Justify a string of characters within a string |
| Name of routine: | ascend |
|---|---|
| Source lines: | 34715 - 34722 |
| Type | subroutine |
| Call | ascend(n, ia) |
| Module | None |
| Notes | Initialize array with value of index |
| Name of routine: | connect |
|---|---|
| Source lines: | 34726 - 34826 |
| Type | subroutine |
| Call | connect(num, fa, mo, set, nsub, maxgrp) |
| Module | None |
| Notes | See if all members of a pedigree are connected |
| Name of routine: | addlist |
|---|---|
| Source lines: | 34831 - 34841 |
| Type | subroutine |
| Call | addlist(pos, idx, set) |
| Module | None |
| Notes | Shift an individual from the list of ungrouped individuals to the appropriate group (subpedigree) nucleating around the index person. |
| Name of routine: | findlist |
|---|---|
| Source lines: | 34845 - 34860 |
| Type | subroutine |
| Call | findlist(trget, num, set, pos) |
| Module | None |
| Notes | Find list number <target> |
| Name of routine: | badloop |
|---|---|
| Source lines: | 34864 - 34932 |
| Type | subroutine |
| Call | badloop(pedigree, num, id, key, fa, mo, nerr) |
| Module | None |
| Notes | Find pathological loops in current pedigree |
| Name of routine: | wrsubped |
|---|---|
| Source lines: | 34936 - 34974 |
| Type | subroutine |
| Call | wrsubped(pedigree, num, id, key, set, nsub, maxgrp, plevel) |
| Module | None |
| Notes | List the members of pedigree(s) |
| Name of routine: | gener |
|---|---|
| Source lines: | 34980 - 35151 |
| Type | subroutine |
| Call | gener(pedigree, num, fa, mo, nsub, set, ord, higen, nerr, plevel) |
| Module | None |
| 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. |
| Name of routine: | dogen |
|---|---|
| Source lines: | 35156 - 35293 |
| Type | subroutine |
| Call | dogen(dataset, trait, typ, plevel) |
| Module | None |
| Notes | Write out pedigrees as list of nuclear families plus marry-ins by generation number |
| Name of routine: | wrgen |
|---|---|
| Source lines: | 35298 - 35355 |
| Type | subroutine |
| Call | wrgen(ped, dataset, curped, set, higen, ord) |
| Module | None |
| Notes | Write out structure and generation numbers List of sibships by generation number |
| Name of routine: | tidydata |
|---|---|
| Source lines: | 35359 - 35406 |
| Type | subroutine |
| Call | tidydata(nloci, loctyp, locpos, dataset, tottyp) |
| Module | None |
| Notes | Round up allele sizes etc |
| Name of routine: | duplicates |
|---|---|
| Source lines: | 35410 - 35449 |
| Type | subroutine |
| Call | duplicates(dataset, plevel) |
| Module | None |
| Notes | Check for duplicate pedigrees or records |
| Name of routine: | showdups |
|---|---|
| Source lines: | 35453 - 35481 |
| Type | subroutine |
| Call | showdups(pos, ncopies, pedname, pedpos, dataset, plevel) |
| Module | None |
| Notes | Print the duplicates for current pedigree |
| Name of routine: | testhap |
|---|---|
| Source lines: | 35485 - 35690 |
| Type | subroutine |
| Call | testhap(typ, nloci, loc, loctyp, locpos, dataset, inconsist, plevel) |
| Module | None |
| Notes | Check haploid markers 1=Y 2=Mit |
| Name of routine: | testsex |
|---|---|
| Source lines: | 35714 - 35972 |
| Type | subroutine |
| Call | testsex(sexcrit, sexmarker, nloci, loc, lochash, loctyp, locpos, dataset, allele_buffer, inconsist, plevel) |
| Module | None |
| 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
|
| Name of routine: | mzgtp |
|---|---|
| Source lines: | 35976 - 36134 |
| Type | subroutine |
| Call | mzgtp(mztwin, gt, thresh, nloci, loc, loctyp, locpos, dataset, inconsist, plevel) |
| Module | None |
| Notes | Test monozygotic twins |
| Name of routine: | dropt2 |
|---|---|
| Source lines: | 36139 - 36332 |
| Type | subroutine |
| Call | dropt2(mztwin, gt, thresh, typ, nloci, loc, loctyp, locpos, dataset, plevel) |
| Module | None |
| Notes | Delete MZ twin with least phenotype information out of pair or clean MZ genotypes |
| Name of routine: | countmz |
|---|---|
| Source lines: | 36336 - 36448 |
| Type | subroutine |
| Call | countmz(mztwin, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Count up MZ twins, triplets, quads, higher |
| Name of routine: | mzfind |
|---|---|
| Source lines: | 36453 - 36609 |
| Type | subroutine |
| Call | mzfind(typ, mztrait, nloci, loc, loctyp, locpos, dataset, plevel) |
| Module | None |
| Notes | Find MZ twins/duplicates based on genotype concordance Abort pairwise comparison after <nfailure> mismatches |
| Name of routine: | mztest |
|---|---|
| Source lines: | 36614 - 36651 |
| Type | subroutine |
| Call | mztest(id1, id2, nmark, mark, dataset, nfailure, nonmatch, typed, istwin) |
| Module | None |
| Notes | Test if pair are genetically identical, aborting if nfailure nonmatches |
| Name of routine: | testage |
|---|---|
| Source lines: | 36655 - 36710 |
| Type | subroutine |
| Call | testage(typ, locnam, trait, thresh, dataset, droperr) |
| Module | None |
| Notes | Test ages or DOB for consistency |
| Name of routine: | testpage |
|---|---|
| Source lines: | 36714 - 36762 |
| Type | subroutine |
| Call | testpage(typ, trait, ped, idx, parent, thresh, dataset, droperr) |
| Module | None |
| Notes | Test a parent |
| Name of routine: | ckibs |
|---|---|
| Source lines: | 36767 - 36871 |
| Type | subroutine |
| Call | ckibs(nloci, loctyp, locpos, allele_buffer, dataset) |
| Module | None |
| Notes | Check if multilocus ibs sharing for pairs of sibs is consistent with purported relationship. Again as per Bishop et al 1990 |
| Name of routine: | ibskin |
|---|---|
| Source lines: | 36878 - 37054 |
| Type | subroutine |
| Call | ibskin(typ, trait, gt, thresh, nloci, loc, loctyp, locpos, dataset, plevel) |
| Module | None |
| 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) |
| Name of routine: | ibskin_one |
|---|---|
| Source lines: | 37059 - 37179 |
| Type | subroutine |
| Call | ibskin_one(peri, perj, nmark, mark, locpos, alleles, dataset, useful, ibscoef) |
| Module | None |
| Notes | Estimate kinship coefficients based on overall ibs sharing One pair of relatives |
| Name of routine: | emibskin |
|---|---|
| Source lines: | 37183 - 37229 |
| Type | subroutine |
| Call | emibskin(nmark, nused, ibscoef, k0, k1, k2, plevel) |
| Module | None |
| Notes | EM approach of Choi et al 2009 |
| Name of routine: | genmatch |
|---|---|
| Source lines: | 37234 - 37373 |
| Type | subroutine |
| Call | genmatch(tped, tid, nloci, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes | Find closest match of genotypes between index person and all other active individuals |
| Name of routine: | cntibs |
|---|---|
| Source lines: | 37377 - 37409 |
| Type | subroutine |
| Call | cntibs(idx, nmark, geno, ord, locpos, dataset, nmatch, ibs) |
| Module | None |
| Notes | IBS at specified set of markers |
| Name of routine: | bluefreq |
|---|---|
| Source lines: | 37417 - 37562 |
| Type | subroutine |
| Call | bluefreq(gene, filter, gt, thresh, dataset, allele_buffer, plevel) |
| Module | None |
| 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 |
| 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) |
| Module | None |
| Notes | MQLS of Bourgain et al 2003, Thornton et al 2007 |
| Name of routine: | corchi |
|---|---|
| Source lines: | 37927 - 38243 |
| Type | subroutine |
| Call | corchi(trait, loctyp, gene, locnam, prev, dataset, allele_buffer, iter, pval, plevel) |
| Module | None |
| Notes | WQLS association chi-square extending Bourgain et al 2003 to categorical traits with more than 2 levels |
| Name of routine: | freq |
|---|---|
| Source lines: | 38251 - 38393 |
| Type | subroutine |
| Call | freq(gene, loctyp, fndr, dataset, allele_buffer) |
| Module | None |
| 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 |
| Name of routine: | tab |
|---|---|
| Source lines: | 38398 - 38433 |
| Type | subroutine |
| Call | tab(curr, allele_buffer, wei) |
| Module | None |
| Notes | update table of counts of alleles -- binary search and insertion sort if allele_buffer too small, increase size |
| Name of routine: | wrfreq |
|---|---|
| Source lines: | 38437 - 38689 |
| Type | subroutine |
| Call | wrfreq(strm, locnam, group, mappos, locnote, allele_buffer, fstyle) |
| Module | None |
| Notes | Write out frequencies in 20 different styles |
| Name of routine: | getchr |
|---|---|
| Source lines: | 38694 - 38744 |
| Type | subroutine |
| Call | getchr(locnam, locnote, chr) |
| Module | None |
| 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]+\> |
| Name of routine: | thischr |
|---|---|
| Source lines: | 38748 - 38777 |
| Type | subroutine |
| Call | thischr(string, eos, pos, chr) |
| Module | None |
| Notes | Read a chromosome number from a string after the start position [1-9]|[1-4][0-9]|X|Y |
| Name of routine: | chrnum |
|---|---|
| Source lines: | 38781 - 38794 |
| Type | function |
| Call | chrnum(chr) |
| Module | None |
| Notes | Convert the chromosome number to an integer |
| Name of routine: | precis |
|---|---|
| Source lines: | 38799 - 38833 |
| Type | subroutine |
| Call | precis(numal, allele_freqs, ndec) |
| Module | None |
| Notes | remove rounding errors in allele frequencies printed out to precision ndec from f3.1 to f9.7 |
| Name of routine: | uninf |
|---|---|
| Source lines: | 38837 - 38848 |
| Type | function |
| Call | uninf(numal, allele_freqs) |
| Module | None |
| Notes | Frequency of uninformative matings for marker locus |
| Name of routine: | getfreq |
|---|---|
| Source lines: | 38852 - 38873 |
| Type | function |
| Call | getfreq(allele, allele_set) |
| Module | None |
| Notes | find allele frequency |
| Name of routine: | getnam |
|---|---|
| Source lines: | 38877 - 38905 |
| Type | function |
| Call | getnam(rall, allele_set) |
| Module | None |
| Notes | find index for allele |
| Name of routine: | get_namedgeno |
|---|---|
| Source lines: | 38909 - 38923 |
| Type | subroutine |
| Call | get_namedgeno(idx, gene, gen2, dataset, allele_set, g1, g2) |
| Module | None |
| Notes | find indices for i'th individual's genotype |
| Name of routine: | match |
|---|---|
| Source lines: | 38927 - 38948 |
| Type | subroutine |
| Call | match(ival,num,key,pos) |
| Module | None |
| Notes | Binary search for position of value in an ascending sorted array -- integer |
| Name of routine: | dmatch |
|---|---|
| Source lines: | 38952 - 38973 |
| Type | subroutine |
| Call | dmatch(val, num, key, pos) |
| Module | None |
| Notes | Binary search for position of value in an ascending sorted array -- double precision |
| Name of routine: | actped |
|---|---|
| Source lines: | 38981 - 39141 |
| Type | subroutine |
| Call | actped(typ, red, pedfil, nloci, loc, loctyp, locpos, outpos, locnotes, typed, dataset, plevel) |
| Module | None |
| 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
|
| Name of routine: | sumped |
|---|---|
| Source lines: | 39145 - 39207 |
| Type | subroutine |
| Call | sumped(nloci, loctyp, locpos, dataset) |
| Module | None |
| Notes |
Summary statistics on families
|
| Name of routine: | countships |
|---|---|
| Source lines: | 39211 - 39228 |
| Type | function |
| Call | countships(ped, dataset) |
| Module | None |
| Notes | Count matings/sibships in current family |
| Name of routine: | listpeds |
|---|---|
| Source lines: | 39232 - 39264 |
| Type | subroutine |
| Call | listpeds(dataset, typ) |
| Module | None |
| Notes | List all pedigree IDs |
| Name of routine: | listids |
|---|---|
| Source lines: | 39268 - 39361 |
| Type | subroutine |
| Call | listids(dataset, ithresh, plevel) |
| Module | None |
| Notes | Tabulate all active IDs |
| Name of routine: | listchroms |
|---|---|
| Source lines: | 39365 - 39388 |
| Type | subroutine |
| Call | listchroms(nloci, loctyp, group) |
| Module | None |
| Notes | Table of number of markers per chromosome |
| Name of routine: | check |
|---|---|
| Source lines: | 39401 - 39676 |
| Type | subroutine |
| Call | check(checkall, nloci, loc, loctyp, locpos, locnotes, dataset, droperr, ndiscard, inconsist, plevel) |
| Module | None |
| 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 |
| Name of routine: | addall |
|---|---|
| Source lines: | 39680 - 39696 |
| Type | subroutine |
| Call | addall(iall, nall, allmax, allele) |
| Module | None |
| Notes | identify parental alleles in nuclear family |
| Name of routine: | nuchek |
|---|---|
| Source lines: | 39700 - 39787 |
| Type | subroutine |
| Call | nuchek(xlinkd, ptyped, p11, p12, p21, p22, nkids, set, xmale, nall, allele, thiserr) |
| Module | None |
| Notes | nuclear family consistency check (untyped parents) |
| Name of routine: | famerr |
|---|---|
| Source lines: | 39791 - 39827 |
| Type | subroutine |
| Call | famerr(locnam, gene, xlinkd, ped, dataset, currf, currm, badchild, sta, fin, errtyp, plevel) |
| Module | None |
| Notes | Write out nuclear family error |
| Name of routine: | inderr |
|---|---|
| Source lines: | 39831 - 39850 |
| Type | subroutine |
| Call | inderr(idx, locnam, gene, gen2, dataset) |
| Module | None |
| Notes | write genotype for an individual flagged as a Mendelian error |
| Name of routine: | remove |
|---|---|
| Source lines: | 39854 - 39867 |
| Type | subroutine |
| Call | remove(idx, gene, dataset, ndiscard) |
| Module | None |
| Notes | Remove a genotype from data |
| Name of routine: | remfam |
|---|---|
| Source lines: | 39871 - 39887 |
| Type | subroutine |
| Call | remfam(currf, currm, sta, fin, gene, dataset, ndiscard) |
| Module | None |
| Notes | drop a nuclear family's genotypes |
| Name of routine: | parcon |
|---|---|
| Source lines: | 39893 - 39912 |
| Type | function |
| Call | parcon(c1, c2, p11, p12, p21, p22, xmale) |
| Module | None |
| 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 |
| Name of routine: | opcon |
|---|---|
| Source lines: | 39916 - 39923 |
| Type | function |
| Call | opcon(c1,c2,p1,p2) |
| Module | None |
| Notes | test if child genotype consistent with one parental genotype |
| Name of routine: | shipcon |
|---|---|
| Source lines: | 39927 - 39944 |
| Type | function |
| Call | shipcon(pg1, pg2, mg1, mg2, nkids, set, xmale) |
| Module | None |
| Notes | test consistency of a sibship with parents |
| Name of routine: | couple |
|---|---|
| Source lines: | 39949 - 39966 |
| Type | subroutine |
| Call | couple(idx,tot,rang,i1,i2) |
| Module | None |
| Notes | Enumerate all combinations of i ~ I(1..range) with itself If index=tot then return last tuple |
| Name of routine: | whall |
|---|---|
| Source lines: | 39970 - 39985 |
| Type | function |
| Call | whall(iall,nall,allele) |
| Module | None |
| Notes | Find index of allele segregating in nuclear family |
| Name of routine: | describe |
|---|---|
| Source lines: | 39989 - 40255 |
| Type | subroutine |
| Call | describe(locnam, gene, xlinkd, ped, dataset, currf, currm, sta, fin, mesg) |
| Module | None |
| Notes | write out genotypes in nuclear family and grandparents |
| Name of routine: | famset |
|---|---|
| Source lines: | 40260 - 40420 |
| Type | subroutine |
| Call | famset(ped, dataset, currf, currm, sta, fin, gene, set, gset) |
| Module | None |
| Notes | Write out phenoset for a nuclear family (plus grandparents and halfsibs) Useful in detecting sources of long distance Mendelian inconsistencies. |
| Name of routine: | indset |
|---|---|
| Source lines: | 40424 - 40467 |
| Type | subroutine |
| Call | indset(idx, gene, pedoffset, dataset, set, gset) |
| Module | None |
| Notes | write out phenoset for an individual |
| Name of routine: | allinset |
|---|---|
| Source lines: | 40471 - 40487 |
| Type | function |
| Call | allinset(idx, iall, ngeno, gset) |
| Module | None |
| Notes | see if particular allele in phenoset for idx person |
| Name of routine: | cntbad |
|---|---|
| Source lines: | 40491 - 40503 |
| Type | subroutine |
| Call | cntbad(idx, ngeno, gset) |
| Module | None |
| Notes | If phenoset contains zero legal genotypes, reconstruct last state |
| Name of routine: | wroddall |
|---|---|
| Source lines: | 40507 - 40527 |
| Type | subroutine |
| Call | wroddall(pedigree, parent, child, iall, partyp) |
| Module | None |
| Notes | If find an odd-allele-out, write out its location |
| Name of routine: | start |
|---|---|
| Source lines: | 40532 - 40652 |
| Type | subroutine |
| Call | start(maxtry, nloci, loc, loctyp, locpos, dataset, allele_buffer, inconsist, plevel) |
| Module | None |
| Notes | If Lange-Goradia algorithm not used, initialize genotypes for random walk algorithms via a conditional gene dropping algorithm |
| Name of routine: | workpointers |
|---|---|
| Source lines: | 40656 - 40681 |
| Type | subroutine |
| Call | workpointers(ped, dataset, fa, mo, imztwin) |
| Module | None |
| Notes | make parental pointers offset for local work array |
| Name of routine: | dattoset |
|---|---|
| Source lines: | 40685 - 40713 |
| Type | subroutine |
| Call | dattoset(sta, fin, gene, dataset, allele_buffer, set) |
| Module | None |
| Notes | transfer genotypes to working array |
| 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) |
| Module | None |
| Notes | start genotypes for one pedigree |
| Name of routine: | genof3 |
|---|---|
| Source lines: | 40807 - 40900 |
| Type | subroutine |
| Call | genof3(idx, fa, mo, xmale, set, sibd, key, failid) |
| Module | None |
| Notes | Drop ibd-alleles conditional on observed markers and randomly where marker genotype not observed -- restart if later generates inconsistency |
| Name of routine: | fillin |
|---|---|
| Source lines: | 40904 - 40956 |
| Type | subroutine |
| Call | fillin(allele_buffer, num, nfound, set, sibd, key, sta, fin, gene, dataset) |
| Module | None |
| Notes | infer missing genotypes based on sibd values after run of start |
| Name of routine: | found |
|---|---|
| Source lines: | 40960 - 40971 |
| Type | subroutine |
| Call | found(cumfrq, allele) |
| Module | None |
| Notes | founder frequency |
| Name of routine: | coutyp |
|---|---|
| Source lines: | 40975 - 41014 |
| Type | subroutine |
| Call | coutyp(nloci, loctyp, locpos, dataset, eligible, typed) |
| Module | None |
| Notes | Give counts of typed individuals for each locus |
| Name of routine: | thetaf |
|---|---|
| Source lines: | 41024 - 41041 |
| Type | function |
| Call | thetaf(het, n) |
| Module | None |
| 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
|
| Name of routine: | mutage |
|---|---|
| Source lines: | 41045 - 41057 |
| Type | subroutine |
| Call | mutage(p, ne, r) |
| Module | None |
| Notes | Age of an allele (Ohta, Nei, Rannala & Slatkin) |
| Name of routine: | qtlpars |
|---|---|
| Source lines: | 41061 - 41106 |
| Type | subroutine |
| Call | qtlpars(p,m1,m2,m3,sd1,sd2,sd3) |
| Module | None |
| Notes | Calculate variances for a given SML model |
| Name of routine: | ccpen |
|---|---|
| Source lines: | 41112 - 41128 |
| Type | subroutine |
| Call | ccpen(prev, pca, pco, typ) |
| Module | None |
| Notes | Calculate penetrances for a particular prevalence and case and control allele frequencies, assuming multiplicative model Controls are unaffected (1), or population (2) |
| Name of routine: | grrpen |
|---|---|
| Source lines: | 41132 - 41165 |
| Type | subroutine |
| Call | grrpen(model, prev, q, grr) |
| Module | None |
| Notes | Calculate penetrances for a particular prevalence and genotypic RR |
| Name of routine: | recrisk |
|---|---|
| Source lines: | 41169 - 41259 |
| Type | subroutine |
| Call | recrisk(q,f1,f2,f3) |
| Module | None |
| Notes | Calculate recurrence risks and risk ratios for given SML model |
| Name of routine: | doito |
|---|---|
| Source lines: | 41263 - 41315 |
| Type | subroutine |
| Call | doito(typ, pars) |
| Module | None |
| Notes | Calculate GPE for a relative: ITO method |
| Name of routine: | ito |
|---|---|
| Source lines: | 41319 - 41358 |
| Type | subroutine |
| Call | ito(rel, q, r) |
| Module | None |
| Notes | ITO calculation |
| Name of routine: | tetcor |
|---|---|
| Source lines: | 41362 - 41374 |
| Type | function |
| Call | tetcor(prev, prrr) |
| Module | None |
| Notes | MFT heritability |
| Name of routine: | brent_tet |
|---|---|
| Source lines: | 41376 - 41384 |
| Type | function |
| Call | brent_tet(r) |
| Module | None |
| Name of routine: | dataset_uses |
|---|---|
| Source lines: | 41389 - 41405 |
| Type | function |
| Call | dataset_uses(dataset) |
| Module | None |
| Name of routine: | dataset_uses |
|---|---|
| Source lines: | 41407 - 41423 |
| Type | function |
| Call | dataset_uses(dataset) |
| Module | None |
| Name of routine: | macsub |
|---|---|
| Source lines: | 41428 - 41539 |
| Type | subroutine |
| Call | macsub(narg, words, commands, plevel) |
| Module | None |
| Notes | Perform simple macro substitutions on contents of command buffer |
| Name of routine: | macloop |
|---|---|
| Source lines: | 41547 - 41636 |
| Type | subroutine |
| Call | macloop(lin, nloci, loc, loctyp, commands, plevel) |
| Module | None |
| 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
|
| Name of routine: | macvar |
|---|---|
| Source lines: | 41641 - 41717 |
| Type | subroutine |
| Call | macvar(lin, commands, plevel) |
| Module | None |
| Notes | Perform simple macro variable substitutions on contents of command buffer cf macro functions which are handled by macsub |
| Name of routine: | parser |
|---|---|
| Source lines: | 41728 - 41866 |
| Type | subroutine |
| Call | parser(nterm, wtyp, wtag, expr, error) |
| Module | None |
| 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
|
| Name of routine: | simpev |
|---|---|
| Source lines: | 41870 - 42103 |
| Type | subroutine |
| Call | simpev(sta, fin, nterm, wtyp, wtag, expr, error) |
| Module | None |
| Notes | The non-compound evaluator |
| Name of routine: | wrans |
|---|---|
| Source lines: | 42107 - 42146 |
| Type | subroutine |
| Call | wrans(prefix, nterm, expr, wtyp, wtag, val) |
| Module | None |
| Notes | write out results of command line expression evaluation |
| Name of routine: | legall |
|---|---|
| Source lines: | 42150 - 42164 |
| Type | function |
| Call | legall(xall) |
| Module | None |
| Notes | the legal range of alleles |
| Name of routine: | isdata |
|---|---|
| Source lines: | 42168 - 42173 |
| Type | function |
| Call | isdata(idx) |
| Module | None |
| Notes | Is a stack element a number, variable or operator |
| Name of routine: | isenv |
|---|---|
| Source lines: | 42177 - 42182 |
| Type | function |
| Call | isenv(idx) |
| Module | None |
| Notes | Is a stack element an automatic variable |
| Name of routine: | isvar |
|---|---|
| Source lines: | 42186 - 42191 |
| Type | function |
| Call | isvar(idx) |
| Module | None |
| Notes | Is a stack element data |
| Name of routine: | isop |
|---|---|
| Source lines: | 42195 - 42200 |
| Type | function |
| Call | isop(idx) |
| Module | None |
| Notes | Is a stack element an operator |
| Name of routine: | isvec |
|---|---|
| Source lines: | 42204 - 42209 |
| Type | function |
| Call | isvec(idx) |
| Module | None |
| Notes | Is a stack element a genotype - both values of interest |
| Name of routine: | ismis |
|---|---|
| Source lines: | 42213 - 42218 |
| Type | function |
| Call | ismis(idx) |
| Module | None |
| Notes | Is a stack element missing data |
| Name of routine: | addcolon |
|---|---|
| Source lines: | 42222 - 42257 |
| Type | subroutine |
| Call | addcolon(nterm, wtyp, wtag, expr) |
| Module | None |
| Notes | Convert (expr) (expr) to (expr : expr) |
| Name of routine: | compop |
|---|---|
| Source lines: | 42261 - 42309 |
| Type | subroutine |
| Call | compop(pos, sta, fin, nterm, wtyp, wtag, expr, error) |
| Module | None |
| Notes | compound operators eg <= >= == ^= |
| Name of routine: | zerop |
|---|---|
| Source lines: | 42313 - 42355 |
| Type | subroutine |
| Call | zerop(pos, wtyp, wtag, expr, error) |
| Module | None |
| Notes | zero argument functions |
| Name of routine: | unop |
|---|---|
| Source lines: | 42359 - 42517 |
| Type | subroutine |
| Call | unop(pos, sta, fin, nterm, wtyp, wtag, expr, error) |
| Module | None |
| Notes | unary operators |
| Name of routine: | binop |
|---|---|
| Source lines: | 42521 - 42752 |
| Type | subroutine |
| Call | binop(pos, sta, fin, nterm, wtyp, wtag, expr, error) |
| Module | None |
| Notes | binary operators |
| Name of routine: | typwords |
|---|---|
| Source lines: | 42771 - 42835 |
| Type | subroutine |
| Call | typwords(farg, larg, words, nloci, loc, lochash, loctyp, wtyp, wtag, expr, actn) |
| Module | None |
| 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 -
|
| Name of routine: | dryrun |
|---|---|
| Source lines: | 42840 - 42851 |
| Type | subroutine |
| Call | dryrun(farg, larg, wtyp) |
| Module | None |
| Notes | If checking arguments via dry run of parser, replace variable values with (generic) NUM |
| Name of routine: | pull |
|---|---|
| Source lines: | 42855 - 42873 |
| Type | subroutine |
| Call | pull(pos, dec, fin, nterm, typ, tag, expr) |
| Module | None |
| Notes | Pull up expr |
| Name of routine: | isgeno |
|---|---|
| Source lines: | 42877 - 42910 |
| Type | function |
| Call | isgeno(string) |
| Module | None |
| Notes | See if a string is a valid genotype |
| Name of routine: | getgeno |
|---|---|
| Source lines: | 42914 - 42957 |
| Type | subroutine |
| Call | getgeno(string, a1, a2, wtyp) |
| Module | None |
| Notes | Get a valid genotype |
| Name of routine: | incpos |
|---|---|
| Source lines: | 42961 - 42970 |
| Type | subroutine |
| Call | incpos(pos, minpos, maxpos) |
| Module | None |
| Notes | Increment counter mod maxpos |
| Name of routine: | getrelval |
|---|---|
| Source lines: | 42974 - 43190 |
| Type | subroutine |
| Call | getrelval(relate, summary, locnam, loctyp, trait, sumval, dataset, plevel) |
| Module | None |
| Notes | Get values for trait in relatives |
| Name of routine: | priallval |
|---|---|
| Source lines: | 43194 - 43271 |
| Type | subroutine |
| Call | priallval(summary, trait, loctyp, ped, sumval, totobs, dataset, plevel) |
| Module | None |
| Notes | Output single summary value for entire pedigree |
| Name of routine: | prirelval |
|---|---|
| Source lines: | 43275 - 43449 |
| Type | subroutine |
| Call | prirelval(relate, summary, trait, loctyp, ped, nobs, relid, sumval, totobs, dataset, plevel) |
| Module | None |
| Notes | Output values for each eligible persion |
| 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) |
| Module | None |
| Notes | Evaluate expression for each pedigree member |
| Name of routine: | findth |
|---|---|
| Source lines: | 43769 - 43804 |
| Type | subroutine |
| Call | findth(nterm, wtyp, wtag, posif, posth, posel, posen) |
| Module | None |
| Notes | Find if/then/else |
| Name of routine: | findend |
|---|---|
| Source lines: | 43808 - 43839 |
| Type | subroutine |
| Call | findend(sta, fin, nterm, wtyp, wtag, posen) |
| Module | None |
| Notes | Find end of block |
| Name of routine: | findwh |
|---|---|
| Source lines: | 43843 - 43856 |
| Type | function |
| Call | findwh(farg, larg, narg, args) |
| Module | None |
| Notes | Find the start of a "where" clause on command line |
| Name of routine: | findword |
|---|---|
| Source lines: | 43860 - 43874 |
| Type | function |
| Call | findword(word, farg, larg, narg, args) |
| Module | None |
| Notes | Find a keyword -- exact match |
| Name of routine: | findbracket |
|---|---|
| Source lines: | 43880 - 43902 |
| Type | subroutine |
| Call | findbracket(lb, rb, lin, sta, fin, istat) |
| Module | None |
| 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 |
| 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) |
| Module | None |
| 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 |
| 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) |
| Module | None |
| Notes | Select pedigrees where probands meet a given criterion v2 |
| Name of routine: | edit |
|---|---|
| Source lines: | 44203 - 44314 |
| Type | subroutine |
| Call | edit(tped, tid, gene, loc, loctyp, all1, all2, dataset, plevel) |
| Module | None |
| Notes | Edit alleles for particular gene for particular person |
| Name of routine: | copydata |
|---|---|
| Source lines: | 44320 - 44429 |
| Type | subroutine |
| Call | copydata(typ, ped1, id1, ped2, id2, nloci, loc, loctyp, locpos, dataset, hashtab, plevel) |
| Module | None |
| 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 |
| Name of routine: | selped |
|---|---|
| Source lines: | 44433 - 44487 |
| Type | subroutine |
| Call | selped(typ, farg, larg, words, dataset, plevel) |
| Module | None |
| Notes | include or exclude a list of pedigrees |
| Name of routine: | unsel |
|---|---|
| Source lines: | 44491 - 44544 |
| Type | subroutine |
| Call | unsel(dataset, rollback, plevel) |
| Module | None |
| Notes | unselect |
| 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) |
| Module | None |
| Notes | Count or print individuals per pedigree fulfilling criterion |
| 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) |
| Module | None |
| Notes | Delete data for individuals fulfilling criterion |
| Name of routine: | prexpr |
|---|---|
| Source lines: | 44945 - 44977 |
| Type | subroutine |
| Call | prexpr(typ, nprob, farg, larg, words) |
| Module | None |
| Notes | Echo action to be performed |
| Name of routine: | marshare |
|---|---|
| Source lines: | 44982 - 45019 |
| Type | subroutine |
| Call | marshare(idx, nloci, loctyp, locpos, dataset, marcom) |
| Module | None |
| Notes | Count maximum number of active markers where proband and any of relatives is genotyped at |
| Name of routine: | hashids |
|---|---|
| Source lines: | 45023 - 45040 |
| Type | subroutine |
| Call | hashids(typ, dataset, hashtab, load, plevel) |
| Module | None |
| Notes | Hash IDs |
| Name of routine: | dohashids |
|---|---|
| Source lines: | 45042 - 45118 |
| Type | subroutine |
| Call | dohashids(typ, dataset, hashtab, load, hasher, matcher, plevel) |
| Module | None |
| Name of routine: | hashprint |
|---|---|
| Source lines: | 45120 - 45164 |
| Type | subroutine |
| Call | hashprint(hashtab, dataset, loc, plevel) |
| Module | None |
| Name of routine: | matchid |
|---|---|
| Source lines: | 45168 - 45219 |
| Type | subroutine |
| Call | matchid(keytyp, idstr1, idstr2, dataset, hashtab, iaddress, plevel) |
| Module | None |
| Notes | Search for ID using hash |
| Name of routine: | findids |
|---|---|
| Source lines: | 45223 - 45302 |
| Type | subroutine |
| Call | findids(port, lin, hashtab, dataset, plevel) |
| Module | None |
| Notes | Match list of IDs from file |
| Name of routine: | sextable |
|---|---|
| Source lines: | 45306 - 45333 |
| Type | subroutine |
| Call | sextable(dataset) |
| Module | None |
| Notes | Tabulate sexes |
| 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) |
| Module | None |
| Notes | N-way cross-tabulation |
| Name of routine: | maketab |
|---|---|
| Source lines: | 45443 - 45494 |
| Type | subroutine |
| Call | maketab(nloc, loclist, loc, locpos, loctyp, dataset, nmiss, table) |
| Module | None |
| Notes | Generate crosstabulation |
| Name of routine: | onetab |
|---|---|
| Source lines: | 45498 - 45539 |
| Type | subroutine |
| Call | onetab(loc, loctyp, locnotes, table, nmiss, nwid, ndec) |
| Module | None |
| Notes | print summary of one-way table |
| Name of routine: | listab |
|---|---|
| Source lines: | 45543 - 45590 |
| Type | subroutine |
| Call | listab(nloc, loclist, loc, loctyp, locnotes, table, nmiss, nwid, ndec) |
| Module | None |
| Notes | print listwise contingency table |
| Name of routine: | wrtab |
|---|---|
| Source lines: | 45594 - 45849 |
| Type | subroutine |
| Call | wrtab(analys, nloc, loclist, loc, loctyp, locnotes, table, nmiss, iter, nwid, ndec, pval) |
| Module | None |
| Notes | print RxC contingency table |
| Name of routine: | kwtest |
|---|---|
| Source lines: | 45853 - 45934 |
| Type | subroutine |
| Call | kwtest(nloc, loclist, loc, loctyp, locnotes, martable1, martable2, table, nwid, ndec, pval) |
| Module | None |
| Notes | Kruskal-Wallis test |
| 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) |
| Module | None |
| Notes | Logrank test: table 1..(nloc-2)=covariate levels (nloc-1)=time nloc=censor |
| Name of routine: | simlogrank |
|---|---|
| Source lines: | 46133 - 46449 |
| Type | subroutine |
| Call | simlogrank(locnam, gene, onset, censor, iter, mincnt, dataset, allele_buffer, pval, plevel) |
| Module | None |
| Notes | Logrank association test: gene time censor |
| Name of routine: | survtab |
|---|---|
| Source lines: | 46453 - 46477 |
| Type | subroutine |
| Call | survtab(timelev, ngroups, table, dij, cij, nij, ni, di) |
| Module | None |
| Notes | Life table logrank test |
| 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) |
| Module | None |
| Notes | Calculate log rank statistic |
| Name of routine: | pedtab |
|---|---|
| Source lines: | 46540 - 46589 |
| Type | subroutine |
| Call | pedtab(gene, loctyp, locnotes, dataset, nwid, ndec, plevel) |
| Module | None |
| Notes | One-way tabulation by pedigree |
| 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) |
| Module | None |
| Notes | Fit poisson model to a contingency table |
| Name of routine: | strattyp |
|---|---|
| Source lines: | 47042 - 47209 |
| Type | subroutine |
| Call | strattyp(trait, nloci, loc, loctyp, locpos, locnotes, locord, dataset, locstat, plevel) |
| Module | None |
| Notes | Tabulate counts of typed individuals for each locus versus stratifying variables |
| Name of routine: | dohwe |
|---|---|
| Source lines: | 47213 - 47472 |
| Type | subroutine |
| Call | dohwe(locnam, gene, loctyp, iter, mincnt, hwefnd, norder, dataset, outp, plevel) |
| Module | None |
| Notes | Monte-Carlo test for HWE |
| Name of routine: | tabgen |
|---|---|
| Source lines: | 47479 - 47497 |
| Type | subroutine |
| Call | tabgen(a1, a2, xmale, ngcount, gcount) |
| Module | None |
| 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 |
| Name of routine: | hwep |
|---|---|
| Source lines: | 47501 - 47555 |
| Type | subroutine |
| Call | hwep(numal) |
| Module | None |
| Notes | Calculate HWE Chi-square for table entered on command line |
| Name of routine: | hwechi |
|---|---|
| Source lines: | 47559 - 47602 |
| Type | function |
| Call | hwechi(numal, ngcount, gcount, tot, totmal) |
| Module | None |
| Notes | Calculate Gibbs chi-square for HWE |
| Name of routine: | hwe2 |
|---|---|
| Source lines: | 47607 - 47634 |
| Type | subroutine |
| Call | hwe2(n11, n12, n22, pa, pvalue) |
| Module | None |
| Notes | calculate hwe test for diallelic autosomal marker |
| Name of routine: | dhwe2 |
|---|---|
| Source lines: | 47638 - 47652 |
| Type | function |
| Call | dhwe2(n11, n12, n22) |
| Module | None |
| Notes | hypergeometric for diallelic genotypes under hwe |
| Name of routine: | domar |
|---|---|
| Source lines: | 47656 - 47760 |
| Type | subroutine |
| Call | domar(gene, dataset, allele_buffer, plevel) |
| Module | None |
| Notes | Do ibs sharing in parents |
| Name of routine: | margen |
|---|---|
| Source lines: | 47764 - 47856 |
| Type | subroutine |
| Call | margen(gene, dataset, allele_buffer, iter, plevel) |
| Module | None |
| Notes | Tabulate maternal v. paternal genotypes |
| Name of routine: | invmap |
|---|---|
| Source lines: | 47860 - 47872 |
| Type | function |
| Call | invmap(x,mapf) |
| Module | None |
| Notes | inverse Haldane (mapf=1) or Kosambi (mapf=2) mapping x cM to r |
| Name of routine: | doplot |
|---|---|
| Source lines: | 47878 - 47973 |
| Type | subroutine |
| Call | doplot(fil, typ, xtrait, ytrait, ztrait, xlab, ylab, zlab, pedfil, dataset) |
| Module | None |
| Notes |
Produce a scatterplot of two traits
typ=1 scatterplot
=2 dotplot (xtrait is categorical)
|
| Name of routine: | dohist |
|---|---|
| Source lines: | 47977 - 48069 |
| Type | subroutine |
| Call | dohist(locnam, histcat, cat, table, nwid, ndec, outfil) |
| Module | None |
| Notes | Produce a histogram with histcat intervals from sorted tabulation |
| Name of routine: | sumucsc |
|---|---|
| Source lines: | 48073 - 48090 |
| Type | subroutine |
| Call | sumucsc(chr) |
| Module | None |
| Notes | Summarize test statistics for UCSC browser |
| Name of routine: | tabstat |
|---|---|
| Source lines: | 48094 - 48175 |
| Type | subroutine |
| Call | tabstat(plevel) |
| Module | None |
| Notes | Summarize test statistics |
| Name of routine: | sumstat |
|---|---|
| Source lines: | 48179 - 48213 |
| Type | subroutine |
| Call | sumstat(numval, plevel) |
| Module | None |
| Notes | Show ranked test statistics |
| Name of routine: | rankstat |
|---|---|
| Source lines: | 48217 - 48235 |
| Type | subroutine |
| Call | rankstat(nvar) |
| Module | None |
| Notes | Rank the test statistics (nvar=no. nonmissing values) |
| Name of routine: | sumplot |
|---|---|
| Source lines: | 48239 - 48299 |
| Type | subroutine |
| Call | sumplot(fil) |
| Module | None |
| Notes | Produce a plot of P-values |
| Name of routine: | qqplot |
|---|---|
| Source lines: | 48303 - 48346 |
| Type | subroutine |
| Call | qqplot(fil) |
| Module | None |
| Notes | Produce a Q-Q (quantile-quantile) plot of P-values |
| Name of routine: | selstat |
|---|---|
| Source lines: | 48350 - 48369 |
| Type | subroutine |
| Call | selstat(message, thresh, gt, plevel) |
| Module | None |
| Notes | Select loci (wloc) based on test on value of locstat |
| Name of routine: | traceplot |
|---|---|
| Source lines: | 48373 - 48407 |
| Type | subroutine |
| Call | traceplot(fil, nobs, nmult, yvals) |
| Module | None |
| Notes | Produce a MCMC trace |
| Name of routine: | filliben |
|---|---|
| Source lines: | 48415 - 48461 |
| Type | subroutine |
| Call | filliben(table) |
| Module | None |
| 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 |
| Name of routine: | symtest |
|---|---|
| Source lines: | 48469 - 48522 |
| Type | subroutine |
| Call | symtest(table) |
| Module | None |
| 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 |
| Name of routine: | unidens |
|---|---|
| Source lines: | 48535 - 48668 |
| Type | subroutine |
| Call | unidens(num, xvals, xmode, plevel) |
| Module | None |
| 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
|
| Name of routine: | evdtailp |
|---|---|
| Source lines: | 48676 - 48694 |
| Type | function |
| Call | evdtailp(n, mm, xvals, xnew) |
| Module | None |
| 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. |
| Name of routine: | clcmcn |
|---|---|
| Source lines: | 48698 - 48707 |
| Type | function |
| Call | clcmcn(b,c) |
| Module | None |
| Notes | calculate McNemar statistic |
| Name of routine: | binz |
|---|---|
| Source lines: | 48711 - 48720 |
| Type | function |
| Call | binz(x, n, e) |
| Module | None |
| Notes | normal approx binomial deviate |
| Name of routine: | ftdev |
|---|---|
| Source lines: | 48724 - 48729 |
| Type | function |
| Call | ftdev(o,e) |
| Module | None |
| Notes | Freeman-Tukey deviates |
| Name of routine: | clcpos |
|---|---|
| Source lines: | 48734 - 48743 |
| Type | function |
| Call | clcpos(i,j) |
| Module | None |
| Notes | find index of coefficient for pair i,j in a lower triangular matrix stored as a 1-D array |
| Name of routine: | copy |
|---|---|
| Source lines: | 48747 - 48754 |
| Type | subroutine |
| Call | copy(n, ia, ib) |
| Module | None |
| Notes | Copy integer array A to integer array B |
| Name of routine: | filltri |
|---|---|
| Source lines: | 48758 - 48777 |
| Type | subroutine |
| Call | filltri(n, nn, a, dval, oval) |
| Module | None |
| Notes | Load a lower triangular matrix |
| Name of routine: | ln |
|---|---|
| Source lines: | 48781 - 48789 |
| Type | function |
| Call | ln(x) |
| Module | None |
| Notes | zero-trapped log |
| Name of routine: | logit |
|---|---|
| Source lines: | 48793 - 48803 |
| Type | function |
| Call | logit(p) |
| Module | None |
| Notes | logit of p |
| Name of routine: | alogit |
|---|---|
| Source lines: | 48807 - 48811 |
| Type | function |
| Call | alogit(x) |
| Module | None |
| Notes | Reverse logit |
| Name of routine: | inht |
|---|---|
| Source lines: | 48815 - 48819 |
| Type | function |
| Call | inht(x) |
| Module | None |
| Notes | Inverse hyperbolic tan |
| Name of routine: | fishzse |
|---|---|
| Source lines: | 48823 - 48827 |
| Type | function |
| Call | fishzse(n) |
| Module | None |
| Notes | Standard error for Fisher-Z transformed correlation coefficient |
| Name of routine: | fishzci |
|---|---|
| Source lines: | 48831 - 48842 |
| Type | subroutine |
| Call | fishzci(r, n, rlo, rhi) |
| Module | None |
| Notes | 95%CI via Fisher-Z transform for correlation coefficient |
| Name of routine: | sech |
|---|---|
| Source lines: | 48846 - 48850 |
| Type | function |
| Call | sech(x) |
| Module | None |
| Notes | Hyperbolic secant |
| Name of routine: | cortest |
|---|---|
| Source lines: | 48856 - 48868 |
| Type | function |
| Call | cortest(r1, r2, n1, n2) |
| Module | None |
| Notes | Test equality of two correlation coefficients via LRTS (Brandner 1933; Stuart & Ord Volume 2, Exercise 26.21) Direction of test is retained |
| Name of routine: | rtheta |
|---|---|
| Source lines: | 48872 - 48876 |
| Type | function |
| Call | rtheta(x) |
| Module | None |
| Notes | ibd correlation to recombination fraction |
| Name of routine: | wrpropci |
|---|---|
| Source lines: | 48881 - 48891 |
| Type | subroutine |
| Call | wrpropci(num, den, width) |
| Module | None |
| Notes | Confidence intervals around a proportion: approach of Wilson (Agresti & Coull) -- wrapper |
| Name of routine: | propci |
|---|---|
| Source lines: | 48895 - 48923 |
| Type | subroutine |
| Call | propci(num, den, inwidth, phat, ll, ul) |
| Module | None |
| Notes | Actual Wilson algorithm |
| Name of routine: | binp |
|---|---|
| Source lines: | 48927 - 48953 |
| Type | function |
| Call | binp(np,nq) |
| Module | None |
| Notes | Binomial probabilities for x,n-x with p=0.5 |
| Name of routine: | moment |
|---|---|
| Source lines: | 48957 - 48967 |
| Type | subroutine |
| Call | moment(n, x, mean, ss) |
| Module | None |
| Notes | accumulate mean and sum-of-squares following AS41 |
| Name of routine: | dssp |
|---|---|
| Source lines: | 48971 - 48993 |
| Type | subroutine |
| Call | dssp(nvar, nobs, iwt, x, mean, cov) |
| Module | None |
| Notes | accumulate means and SSCP following AS41 |
| Name of routine: | covcor |
|---|---|
| Source lines: | 48997 - 49017 |
| Type | subroutine |
| Call | covcor(nvar, nobs, cov) |
| Module | None |
| Notes | Standardize covariance matrix (variances left on diagonal) |
| Name of routine: | thincov |
|---|---|
| Source lines: | 49021 - 49052 |
| Type | subroutine |
| Call | thincov(nfull, nreduced, active, cov) |
| Module | None |
| Notes | Thin a covariance matrix |
| Name of routine: | predmat |
|---|---|
| Source lines: | 49060 - 49102 |
| Type | subroutine |
| Call | predmat(nfull, yindicator, cov, xval, yp) |
| Module | None |
| 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. |
| Name of routine: | inicov |
|---|---|
| Source lines: | 49106 - 49111 |
| Type | subroutine |
| Call | inicov(nter, ncov, r) |
| Module | None |
| Notes | Initialize covariance matrix used by AS164 |
| Name of routine: | givenc |
|---|---|
| Source lines: | 49116 - 49196 |
| Type | subroutine |
| Call | givenc(r, ir, nvars, x, v, ifault) |
| Module | None |
| Notes | Algorithm AS164 Appl. Statist. (1981) vol.30, no.2 Incorporate new row of data into R matrix |
| Name of routine: | bsub |
|---|---|
| Source lines: | 49201 - 49298 |
| Type | subroutine |
| Call | bsub(r, ir, idep, coeff, ic, ifault) |
| Module | None |
| Notes | Algorithm AS 164.1 Appl. Statist. (1981) vol.30, no.2 Perform back substitution to get regression coefficient estimates |
| Name of routine: | var |
|---|---|
| Source lines: | 49303 - 49404 |
| Type | subroutine |
| Call | var(r, ir, s, is, idep, nobs, typ, ifault) |
| Module | None |
| Notes | Algorithm AS164.3 Appl. Statist. (1981) vol.30, no.2 Estimates var/covar matrix of regression coefficients |
| Name of routine: | alias |
|---|---|
| Source lines: | 49410 - 49460 |
| Type | subroutine |
| Call | alias(r, ir, nvars, eps, worksp, ifault) |
| Module | None |
| 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 |
| Name of routine: | iquadmult |
|---|---|
| Source lines: | 49464 - 49498 |
| Type | subroutine |
| Call | iquadmult(n, y, s, res) |
| Module | None |
| Notes | Use AS164 to evaluate quadratic y' S~ y where S not necessarily full rank |
| Name of routine: | loglin |
|---|---|
| Source lines: | 49502 - 49582 |
| Type | subroutine |
| Call | loglin(ncells, totpars, npars, counts, model, offset, b, cov, lrts) |
| Module | None |
| Notes | Use AS164 to fit a log-linear model |
| 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) |
| Module | None |
| Notes | Use AS164 and EM algorithm to fit a log-linear model to incomplete tables |
| Name of routine: | gl |
|---|---|
| Source lines: | 49707 - 49749 |
| Type | subroutine |
| Call | gl(nr, nc, design, sta, levels, reps, droplev) |
| Module | None |
| Notes | Appropriate design matrix for factor |
| 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) |
| Module | None |
| Notes | AS162 - Conditional logistic regression. Converted to Fortran 95 |
| Name of routine: | twidl |
|---|---|
| Source lines: | 49961 - 50008 |
| Type | subroutine |
| Call | twidl(x, y, z, done, p, n2) |
| Module | None |
| Notes | this generates all combinations of m out of n. CACM algorithm 382 |
| Name of routine: | tojulian |
|---|---|
| Source lines: | 50017 - 50031 |
| Type | function |
| Call | tojulian(gdate) |
| Module | None |
| 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 |
| Name of routine: | togreg |
|---|---|
| Source lines: | 50035 - 50054 |
| Type | function |
| Call | togreg(jdate) |
| Module | None |
| Notes | from Julian to Gregorian |
| Name of routine: | getyear |
|---|---|
| Source lines: | 50058 - 50072 |
| Type | function |
| Call | getyear(gdate) |
| Module | None |
| Notes | Gregorian date as decimal year |
| Name of routine: | segrat |
|---|---|
| Source lines: | 50076 - 50323 |
| Type | subroutine |
| Call | segrat(locnam, trait, dataset) |
| Module | None |
| Notes | Binary trait prevalences and recurrence risks. |
| Name of routine: | twincon |
|---|---|
| Source lines: | 50327 - 50534 |
| Type | subroutine |
| Call | twincon(locnam, trait, mztwin, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Classical twin analysis: binary trait prevalences and recurrence risks |
| Name of routine: | concest |
|---|---|
| Source lines: | 50538 - 50562 |
| Type | subroutine |
| Call | concest(group, concord, npairs, prev, con, locon, hicon) |
| Module | None |
| Notes | Summary statistics for recurrence risk calculation |
| Name of routine: | conchi |
|---|---|
| Source lines: | 50566 - 50582 |
| Type | subroutine |
| Call | conchi(a, b, c, d, lrts) |
| Module | None |
| Notes | LRTS for equality of 2x2 |
| Name of routine: | tarone |
|---|---|
| Source lines: | 50586 - 50676 |
| Type | subroutine |
| Call | tarone(trait, dataset, plevel) |
| Module | None |
| Notes | Test for extrabinomial variation |
| Name of routine: | davie |
|---|---|
| Source lines: | 50680 - 50795 |
| Type | subroutine |
| Call | davie(loc1, trait, loc2, proband, dataset, plevel) |
| Module | None |
| Notes | Segregation ratios using Davie 1976 |
| Name of routine: | davstat |
|---|---|
| Source lines: | 50799 - 50831 |
| Type | subroutine |
| Call | davstat(typ, pos, sta, npro, trait, dataset, class, j, q, t, r) |
| Module | None |
| Notes | Accumulate counts needed for Davie formula in current family |
| Name of routine: | davwri |
|---|---|
| Source lines: | 50835 - 50864 |
| Type | subroutine |
| Call | davwri(ped, currf, currm, pos, sta, npro, trait, dataset) |
| Module | None |
| Notes | print prop affected per sibship |
| Name of routine: | marseg |
|---|---|
| Source lines: | 50877 - 51023 |
| Type | subroutine |
| Call | marseg(gene, locnam, typ, dataset, allele_buffer, plevel) |
| Module | None |
| 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 |
| Name of routine: | famimp |
|---|---|
| Source lines: | 51028 - 51252 |
| Type | subroutine |
| Call | famimp(locnam, trait, dataset, plevel) |
| Module | None |
| Notes | Simple family based imputation of age/yob/etc ego ~ midparent + sibs + spouses + offspring |
| Name of routine: | famcor |
|---|---|
| Source lines: | 51256 - 51454 |
| Type | subroutine |
| Call | famcor(locnam, trait, dataset, jdraw, iter, plevel) |
| Module | None |
| Notes | Quantitative trait relatives means and covariances |
| Name of routine: | fammeans |
|---|---|
| Source lines: | 51459 - 51557 |
| Type | subroutine |
| Call | fammeans(trait, dataset, nobserved, obs_indx, plevel) |
| Module | None |
| Notes | Simple descriptive statistics for a quantitative trait sets up dataset%untyped |
| Name of routine: | famcovar |
|---|---|
| Source lines: | 51561 - 51762 |
| Type | subroutine |
| Call | famcovar(trait, dataset, npairs, mu, cvar, cov) |
| Module | None |
| Notes | Pairwise correlations |
| Name of routine: | sibvar |
|---|---|
| Source lines: | 51766 - 51890 |
| Type | subroutine |
| Call | sibvar(trait, dataset, plevel) |
| Module | None |
| Notes | Sibship variance tests |
| Name of routine: | twincor |
|---|---|
| Source lines: | 51894 - 52102 |
| Type | subroutine |
| Call | twincor(locnam, trait, mztwin, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Classical twin analysis contrasting monozygotic twins v. other siblings. |
| Name of routine: | corr |
|---|---|
| Source lines: | 52112 - 52134 |
| Type | subroutine |
| Call | corr(typ, x1, x2, nclass, npairs, mean, var, cov) |
| Module | None |
| 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 |
| Name of routine: | corrstd |
|---|---|
| Source lines: | 52138 - 52154 |
| Type | subroutine |
| Call | corrstd(nclass, npairs, var, cov) |
| Module | None |
| Notes | cor to cov for classes |
| Name of routine: | docov |
|---|---|
| Source lines: | 52160 - 52259 |
| Type | subroutine |
| Call | docov(typ, nterms, terms, loc, loctyp, locpos, dataset) |
| Module | None |
| Notes |
Means and covariances for multiple trait
typ=1 means and covariances
2 plus PCA
|
| Name of routine: | domix |
|---|---|
| Source lines: | 52263 - 52367 |
| Type | subroutine |
| Call | domix(locnam, trait, nmix, typ, histcat, outfil, dataset, logl, df, nwid, ndec, plevel) |
| Module | None |
| Notes | Fit mixture of distributions to quantitative trait |
| 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) |
| Module | None |
| Notes | Fit mixture of distributions Algorithm AS 203 (Appl Stat 1984; 33:327-332) |
| 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) |
| Module | None |
| Notes | linear regression analysis of quantitative trait |
| 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) |
| Module | None |
| Notes | Binomial (ilink=2), Poisson (ilink=3), Weibull (ilink=4), Exponential (ilink=5), EVD (ilink=6) regression analysis |
| 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) |
| Module | None |
| Notes | Perform binomial (ilink=2) or poisson (ilink=3) regression IRLS, |
| 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) |
| Module | None |
| Notes | One iteration of IRLS for binomial or poisson regression |
| Name of routine: | glmscale |
|---|---|
| Source lines: | 53527 - 53563 |
| Type | subroutine |
| Call | glmscale(ilink, nobs, nter, b, y, offval, x, shap, scaleval) |
| Module | None |
| Notes | Scale parameter for GLM |
| Name of routine: | weishape |
|---|---|
| Source lines: | 53568 - 53601 |
| Type | subroutine |
| Call | weishape(nobs, naff, nter, b, y, offval, x, alpha, alpha2) |
| Module | None |
| Notes | Estimate shape for Weibull distribution Use relaxation methods and hard limit on step size |
| Name of routine: | rcp |
|---|---|
| Source lines: | 53605 - 53634 |
| Type | subroutine |
| Call | rcp(nr, nc, iter) |
| Module | None |
| Notes | Simulation P for RxC contingency table |
| Name of routine: | rctest |
|---|---|
| Source lines: | 53638 - 53744 |
| Type | subroutine |
| Call | rctest(nr, nc, tble, e, iter) |
| Module | None |
| Notes | LRTS and Permutation P for RxC contingency table |
| Name of routine: | simchi |
|---|---|
| Source lines: | 53748 - 53816 |
| Type | subroutine |
| Call | simchi(nr, rows, nc, cols, tble, e, obschi, tot, iter, pval) |
| Module | None |
| Notes | MCMC a RxC contingency table retaining given margins |
| Name of routine: | upchi |
|---|---|
| Source lines: | 53820 - 53836 |
| Type | subroutine |
| Call | upchi(ncells, tble, e, lrts) |
| Module | None |
| Notes | LRTS for contingency table in MCMC |
| Name of routine: | rclrts |
|---|---|
| Source lines: | 53840 - 53886 |
| Type | subroutine |
| Call | rclrts(nr, nc, tble, e, lrts, df) |
| Module | None |
| Notes | Contingency table LRTS |
| Name of routine: | mkchoose |
|---|---|
| Source lines: | 53890 - 53902 |
| Type | subroutine |
| Call | mkchoose(ni, eligible , nelig) |
| Module | None |
| Notes | Load an array with indices of eligible choices (eg nonmissing alleles) |
| Name of routine: | choose |
|---|---|
| Source lines: | 53907 - 53919 |
| Type | subroutine |
| Call | choose(nch, ni, idx) |
| Module | None |
| Notes | Shuffle array of indices so can randomly select combination from as first r elements |
| Name of routine: | uniqid |
|---|---|
| Source lines: | 53923 - 53968 |
| Type | subroutine |
| Call | uniqid(typ, dataset, plevel) |
| Module | None |
| Notes | Make every individual and pedigree ID a unique number |
| Name of routine: | prunep |
|---|---|
| Source lines: | 53972 - 54146 |
| Type | subroutine |
| Call | prunep(wrk, wrk2, locnam, trait, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Prune pedigree to ancestors shared by affecteds |
| Name of routine: | relations |
|---|---|
| Source lines: | 54150 - 54282 |
| Type | subroutine |
| Call | relations(tped, tid, dataset, loc, loctyp, plevel) |
| Module | None |
| Notes | Write relatives of index |
| Name of routine: | prrel |
|---|---|
| Source lines: | 54286 - 54318 |
| Type | subroutine |
| Call | prrel(iclass, ped, dataset, key, eop, loc, loctyp) |
| Module | None |
| Notes | print list of relatives |
| Name of routine: | appval |
|---|---|
| Source lines: | 54322 - 54366 |
| Type | subroutine |
| Call | appval(idx, loc, loctyp, dataset) |
| Module | None |
| Notes | append locus value if asked |
| Name of routine: | pairlink |
|---|---|
| Source lines: | 54370 - 54482 |
| Type | subroutine |
| Call | pairlink(ped, idx, dataset, plevel) |
| Module | None |
| Notes | Show relationship of all pairs to ego: Djikstra's shortest path algorithm |
| Name of routine: | conlen |
|---|---|
| Source lines: | 54486 - 54502 |
| Type | function |
| Call | conlen(i, j, ped, dataset) |
| Module | None |
| Notes | Are i and j a parent-offspring pair? |
| Name of routine: | findloop |
|---|---|
| Source lines: | 54518 - 54724 |
| Type | subroutine |
| Call | findloop(trait, dataset, plevel) |
| Module | None |
| 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
|
| Name of routine: | wricas |
|---|---|
| Source lines: | 54728 - 54811 |
| Type | subroutine |
| Call | wricas(wrk, wrk2, trait, dataset) |
| Module | None |
| Notes | extract unrelated individuals with information for a criterion trait |
| Name of routine: | nuclear |
|---|---|
| Source lines: | 54815 - 54876 |
| Type | subroutine |
| Call | nuclear(wrk, wrk2, typ, maxsibs, dataset) |
| Module | None |
| Notes | convert into nuclear families, duplicating individuals as needed |
| Name of routine: | onefam |
|---|---|
| Source lines: | 54880 - 55009 |
| Type | subroutine |
| Call | onefam(wrk, wrk2, typ, maxsibs, ped, dataset, nuc, newoffset, currf, currm, sta, fin) |
| Module | None |
| Notes | Write out current nuclear family -- with or without grandparents |
| Name of routine: | disjoin |
|---|---|
| Source lines: | 55015 - 55132 |
| Type | subroutine |
| Call | disjoin(wrk, wrk2, dataset, plevel) |
| Module | None |
| 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 |
| 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) |
| Module | None |
| Notes | join families together by duplicated individuals |
| Name of routine: | pedsort |
|---|---|
| Source lines: | 55457 - 55573 |
| Type | subroutine |
| Call | pedsort(ped, dataset, nerr, plevel) |
| Module | None |
| Notes | Sort a pedigree in a dataset |
| 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) |
| Module | None |
| Notes | Additive allelic model for association with a quantitative trait |
| Name of routine: | qtdt |
|---|---|
| Source lines: | 55933 - 56315 |
| Type | subroutine |
| Call | qtdt(trait, locnam, gene, genetyp, freqfnd, iter, mincnt, use2, typ, dataset, pval, plevel) |
| Module | None |
| Notes | Quantitative trait TDT following Gauderman 2003 25(4): 327-338 E(Y_i) = a_MTi + beta Z(G_i) |
| Name of routine: | cpganova |
|---|---|
| Source lines: | 56320 - 56546 |
| Type | subroutine |
| Call | cpganova(trait, locnam, gene, genetyp, iter, mincnt, freqfnd, dataset, plevel) |
| Module | None |
| Notes | Additive allelic model for association with a quantitative trait Conditional on parental genotypes |
| Name of routine: | haploid_count |
|---|---|
| Source lines: | 56552 - 56585 |
| Type | subroutine |
| Call | haploid_count(nloc, loclist, loc, locpos, loctyp, dataset, haplotable) |
| Module | None |
| Notes | MC approach to association to haploid markers Enumerate haplotypes for haploid SNPs |
| Name of routine: | set_hval |
|---|---|
| Source lines: | 56589 - 56626 |
| Type | subroutine |
| Call | set_hval(nloc, loclist, loc, locpos, loctyp, haplotable, hval, dataset, plevel) |
| Module | None |
| Notes | encode observed haplotypes |
| Name of routine: | fillin_yha |
|---|---|
| Source lines: | 56630 - 56678 |
| Type | subroutine |
| Call | fillin_yha(haplotable, hval, dataset, plevel) |
| Module | None |
| Notes | fill in missing haplotypes and check for mutation/error |
| Name of routine: | fillin_mit |
|---|---|
| Source lines: | 56682 - 56726 |
| Type | subroutine |
| Call | fillin_mit(haplotable, hval, dataset, plevel) |
| Module | None |
| Notes | Mitochondrial |
| Name of routine: | haploid_freq |
|---|---|
| Source lines: | 56730 - 56918 |
| Type | subroutine |
| Call | haploid_freq(nloc, loclist, loc, locpos, loctyp, dataset, plevel, typ) |
| Module | None |
| Notes | Count of haplotypes from haploid markers |
| 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) |
| Module | None |
| Notes | MC approach to association to haploid markers |
| 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) |
| Module | None |
| Notes | Count of marker alleles/genotypes in cases and controls -- haploid marker(s) |
| 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) |
| Module | None |
| Notes | Count of marker alleles/genotypes in cases and controls -- codominant system |
| Name of routine: | twobyk |
|---|---|
| Source lines: | 58352 - 58373 |
| Type | function |
| Call | twobyk(sta, fin, cntall, pexp) |
| Module | None |
| Notes | Pearson chi-sq for 2xK table (uses only cntall(,1-3)) |
| Name of routine: | pearson |
|---|---|
| Source lines: | 58378 - 58405 |
| Type | function |
| Call | pearson(sta, fin, nlev, nca, cntall) |
| Module | None |
| Notes | Pearson chi-sq for slice of RxC table (uses cntall(,1:traitlevels+1), nca(1:traitlevels)) |
| Name of routine: | rctdt |
|---|---|
| Source lines: | 58418 - 58795 |
| Type | subroutine |
| Call | rctdt(trait, locnam, gene, genetyp, iter, mincnt, gt, thresh, fbatimp, freqfnd, dataset, plevel) |
| Module | None |
| 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 |
| Name of routine: | parimp |
|---|---|
| Source lines: | 58799 - 58917 |
| Type | subroutine |
| Call | parimp(pg1, pg2, mg1, mg2, sta, fin, set, parall) |
| Module | None |
| Notes | Make list of possible parental genotypes for this sibship |
| Name of routine: | rctperm |
|---|---|
| Source lines: | 58929 - 59015 |
| Type | subroutine |
| Call | rctperm(ifam, sibships, set) |
| Module | None |
| 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) |
| Name of routine: | ranall |
|---|---|
| Source lines: | 59019 - 59032 |
| Type | function |
| Call | ranall(par) |
| Module | None |
| Notes | Randomly transmit nonmissing alleles |
| Name of routine: | conoff |
|---|---|
| Source lines: | 59037 - 59050 |
| Type | subroutine |
| Call | conoff(tr, par, imputd, off) |
| Module | None |
| Notes | Conditional parent-offspring transmission Flag whether an imputed parental allele is transmitted |
| Name of routine: | rctsim |
|---|---|
| Source lines: | 59054 - 59083 |
| Type | subroutine |
| Call | rctsim(nfam, sibships, aff, set, numal, trans) |
| Module | None |
| Notes | One simulation of entire set of informative nuclear families |
| Name of routine: | rctuse |
|---|---|
| Source lines: | 59087 - 59137 |
| Type | function |
| Call | rctuse(pg1, pg2, mg1, mg2, ptyped, parall, contrib, naff) |
| Module | None |
| Notes | test if useful for RC-TDT/FBAT |
| Name of routine: | sibass |
|---|---|
| Source lines: | 59142 - 59309 |
| Type | subroutine |
| Call | sibass(trait, locnam, gene, allele_buffer, dataset, iter, typ, pval, plevel) |
| Module | None |
| Notes | Tabulate sibship affection by genotype for fast test of total association |
| 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) |
| Module | None |
| Notes | Random effects stratified proportional odds model of Whitehead and Whitehead |
| Name of routine: | simped |
|---|---|
| Source lines: | 59544 - 59606 |
| Type | subroutine |
| Call | simped(ped, dataset, allele_buffer, set) |
| Module | None |
| Notes | Simulate (gene-dropping) genotypes at a single autosomal locus in a pedigree of arbitrary complexity |
| Name of routine: | xsimped |
|---|---|
| Source lines: | 59611 - 59684 |
| Type | subroutine |
| Call | xsimped(ped, dataset, allele_buffer, set) |
| Module | None |
| Notes | Simulate (gene-dropping) genotypes at a single X-linked locus in a pedigree of arbitrary complexity |
| Name of routine: | csimped |
|---|---|
| Source lines: | 59691 - 59754 |
| Type | subroutine |
| Call | csimped(ped, dataset, set, xlinkd) |
| Module | None |
| 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 |
| Name of routine: | genoff |
|---|---|
| Source lines: | 59758 - 59784 |
| Type | subroutine |
| Call | genoff(idx, fa, mo, set) |
| Module | None |
| Notes | transmit genes from parents to child |
| Name of routine: | mumson |
|---|---|
| Source lines: | 59788 - 59800 |
| Type | subroutine |
| Call | mumson(idx, mo, set) |
| Module | None |
| Notes | Transmit single X-linked allele from mother to son |
| Name of routine: | gencopy |
|---|---|
| Source lines: | 59804 - 59809 |
| Type | subroutine |
| Call | gencopy(idx, origin, set) |
| Module | None |
| Notes | Copy genotype from MZ cotwin to ego |
| Name of routine: | simhaploid |
|---|---|
| Source lines: | 59813 - 59841 |
| Type | subroutine |
| Call | simhaploid(typ, ped, dataset, nhaps, cumhaps, hval) |
| Module | None |
| Notes | Simulate Y or mitochondrial haplotypes |
| 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) |
| Module | None |
| Notes | Simulate pedigree conditional on all founders (all must be typed) and typed nonfounders |
| Name of routine: | genof4 |
|---|---|
| Source lines: | 59980 - 60065 |
| Type | subroutine |
| Call | genof4(idx, fa, mo, imztwin, set, sibd, untyped, key, failid) |
| Module | None |
| 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 |
| Name of routine: | fill2 |
|---|---|
| Source lines: | 60070 - 60095 |
| Type | subroutine |
| Call | fill2(num, set, sibd, untyped, key) |
| Module | None |
| Notes | infer missing genotypes based on sibd values after run of fsimped assume all founders are typed |
| Name of routine: | cisimped |
|---|---|
| Source lines: | 60100 - 60150 |
| Type | subroutine |
| Call | cisimped(ped, gene, allele_buffer, allele_buffer2, dataset, set) |
| Module | None |
| 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() |
| Name of routine: | sample |
|---|---|
| Source lines: | 60154 - 60209 |
| Type | subroutine |
| Call | sample(trait, ped, dataset, typ) |
| Module | None |
| Notes | Sample with or without replacement from the trait values within an entire pedigree |
| Name of routine: | drop |
|---|---|
| Source lines: | 60229 - 60454 |
| Type | subroutine |
| Call | drop(it, ped, dataset, cntmat, numal, gfrq, set, sibd, set2, key, iprop, plevel) |
| Module | None |
| 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 |
| Name of routine: | simnuc |
|---|---|
| Source lines: | 60463 - 60535 |
| Type | subroutine |
| Call | simnuc(par1, par2, num, nfound, fa, mo, numal, gfrq, set) |
| Module | None |
| 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 |
| Name of routine: | nuclik |
|---|---|
| Source lines: | 60541 - 60605 |
| Type | subroutine |
| Call | nuclik(par1, par2, sta, fin, fa, mo, numal, gfrq, set, targt) |
| Module | None |
| 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). |
| Name of routine: | foulik |
|---|---|
| Source lines: | 60612 - 60659 |
| Type | subroutine |
| Call | foulik(idx, fa, mo, sta, fin, numal, gfrq, set, targt) |
| Module | None |
| 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). |
| Name of routine: | onelik |
|---|---|
| Source lines: | 60666 - 60710 |
| Type | subroutine |
| Call | onelik(idx, fa, mo, sta, fin, set, targt) |
| Module | None |
| 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). |
| Name of routine: | simpar |
|---|---|
| Source lines: | 60717 - 60759 |
| Type | subroutine |
| Call | simpar(par1, par2, numal, num, nfound, fa, mo, set) |
| Module | None |
| 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 |
| Name of routine: | inuclik |
|---|---|
| Source lines: | 60766 - 60811 |
| Type | subroutine |
| Call | inuclik(par1, par2, sta, fin, numal, fa, mo, set, targt, totp) |
| Module | None |
| 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. |
| Name of routine: | mutate |
|---|---|
| Source lines: | 60818 - 60861 |
| Type | subroutine |
| Call | mutate(numal, num, nfound, set, sibd, set2, untyped) |
| Module | None |
| 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 |
| Name of routine: | switch |
|---|---|
| Source lines: | 60865 - 60984 |
| Type | subroutine |
| Call | switch(num, nfound, id, fa, mo, set, sibd, set2, untyped) |
| Module | None |
| Notes | Do a switch of grandparent of origin of alleles = switch lineage |
| Name of routine: | cpibd |
|---|---|
| Source lines: | 60991 - 61011 |
| Type | subroutine |
| Call | cpibd(i, j, sibd, sibd2, imiss) |
| Module | None |
| 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. |
| Name of routine: | update |
|---|---|
| Source lines: | 61015 - 61028 |
| Type | subroutine |
| Call | update(idx, all1, all2, set) |
| Module | None |
| Notes | update new genotype |
| Name of routine: | simibd |
|---|---|
| Source lines: | 61035 - 61122 |
| Type | subroutine |
| Call | simibd(typ, pedigree, num, nfound, fa, mo, imztwin, set, sibd) |
| Module | None |
| 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 |
| Name of routine: | genof2 |
|---|---|
| Source lines: | 61130 - 61190 |
| Type | subroutine |
| Call | genof2(pedigree, idx, fa, mo, imztwin, set, sibd, ifault) |
| Module | None |
| 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. |
| Name of routine: | wrhbd |
|---|---|
| Source lines: | 61194 - 61419 |
| Type | subroutine |
| Call | wrhbd(gene, trait, iter, burnin, allele_buffer, dataset, plevel) |
| Module | None |
| Notes | Monte-Carlo approach to estimating one-locus homozygosity by descent |
| Name of routine: | mcgpe |
|---|---|
| Source lines: | 61423 - 61643 |
| Type | subroutine |
| Call | mcgpe(gene, trait, iter, burnin, allele_buffer, dataset, plevel) |
| Module | None |
| Notes | MCMC for genotype probability estimates and allele doses |
| Name of routine: | mcfreq |
|---|---|
| Source lines: | 61647 - 61858 |
| Type | subroutine |
| Call | mcfreq(gene, iter, emiter, dataset, allele_buffer, plevel) |
| Module | None |
| Notes | MCEM for pedigree allele frequencies |
| Name of routine: | newstart |
|---|---|
| Source lines: | 61862 - 62014 |
| Type | subroutine |
| Call | newstart(gene, allele_buffer, dataset, plevel) |
| Module | None |
| Notes | Call drop to shuffle the unobserved genotypes |
| Name of routine: | cntprop |
|---|---|
| Source lines: | 62018 - 62026 |
| Type | subroutine |
| Call | cntprop(iprop, proprate, proptyp) |
| Module | None |
| Notes | Increment counts of MCMC proposal type |
| Name of routine: | wrprop |
|---|---|
| Source lines: | 62030 - 62045 |
| Type | subroutine |
| Call | wrprop(ilabel, proprate, proptyp) |
| Module | None |
| Notes | Summary of MCMC proposals from drop() |
| Name of routine: | tabmat |
|---|---|
| Source lines: | 62049 - 62066 |
| Type | subroutine |
| Call | tabmat(ped, dataset, cntmat) |
| Module | None |
| Notes | count the untyped founder x founder matings for use by Metropolis algs |
| Name of routine: | nucseg |
|---|---|
| Source lines: | 62088 - 62325 |
| Type | subroutine |
| Call | nucseg(trait, locnam, gene, genetyp, freqfnd, spec_candal, dataset, pval, plevel) |
| Module | None |
| 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 |
| 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) |
| Module | None |
| Notes | marker homozygosity in all subjects or just probands -- codominant system |
| 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) |
| Module | None |
| 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 |
| Name of routine: | sibcor |
|---|---|
| Source lines: | 63120 - 63224 |
| Type | subroutine |
| Call | sibcor(trait, typ, dataset, muy, vay, rf, rh, npairs, bigship, plevel) |
| Module | None |
| Notes | Estimate sibling and half-sib intraclass correlations |
| Name of routine: | nucibd |
|---|---|
| Source lines: | 63236 - 63435 |
| Type | subroutine |
| Call | nucibd(gene, setoffset, fa, mo, sta, fin, set, untyped, allele_buffer, ibd) |
| Module | None |
| 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 |
| Name of routine: | shibd |
|---|---|
| Source lines: | 63439 - 63490 |
| Type | function |
| Call | shibd(c11, c12, c21, c22, p11, p12, p21, p22) |
| Module | None |
| Notes | Calculate ibd sharing for full sibs when parental genotypes known |
| Name of routine: | regwt |
|---|---|
| Source lines: | 63494 - 63509 |
| Type | function |
| Call | regwt(weight, i, j, dataset) |
| Module | None |
| Notes | Calculate regression weight |
| Name of routine: | hibd |
|---|---|
| Source lines: | 63514 - 63572 |
| Type | function |
| Call | hibd(c11, c12, c21, c22, p11, p12, pc1, pc2, p21, p22) |
| Module | None |
| Notes | estimate ibd score for a pair of half-sibs -- parents known tabulations of number of genes expected shared ibd |
| Name of routine: | twopoi |
|---|---|
| Source lines: | 63581 - 63713 |
| Type | subroutine |
| Call | twopoi(mark1, loc1, mark2, loc2, allele_buffer1, allele_buffer2, dataset, plevel) |
| Module | None |
| 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 |
| Name of routine: | countall |
|---|---|
| Source lines: | 63717 - 63748 |
| Type | subroutine |
| Call | countall(p1, p2, p3, p4, nallele, nmiss) |
| Module | None |
| Notes | Count alleles in pair of relatives or spouses |
| Name of routine: | doasp |
|---|---|
| Source lines: | 63752 - 63991 |
| Type | subroutine |
| Call | doasp(trait, locnam, gene, gt, thresh, allele_buffer, dataset, pval, plevel) |
| Module | None |
| Notes | Do ibs sharing ASP analysis as per Lange 1986 and Bishop 1990 |
| Name of routine: | sshare |
|---|---|
| Source lines: | 63995 - 64006 |
| Type | subroutine |
| Call | sshare(g1, g2, g3, g4, zibs) |
| Module | None |
| Notes | Return IBS sharing for relative pair |
| Name of routine: | dopenrose |
|---|---|
| Source lines: | 64010 - 64132 |
| Type | subroutine |
| Call | dopenrose(loc1, trait, typ1, loc2, gene, typ2, dataset, iter, plevel) |
| Module | None |
| Notes | Penrose sib pair linkage analysis |
| Name of routine: | shipsiz |
|---|---|
| Source lines: | 64136 - 64163 |
| Type | subroutine |
| Call | shipsiz(dataset, bigship) |
| Module | None |
| Notes | Find biggest active sibship |
| 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) |
| Module | None |
| Notes | Perform Monte-Carlo based APM analysis |
| Name of routine: | loadset |
|---|---|
| Source lines: | 64756 - 64800 |
| Type | subroutine |
| Call | loadset(gene, ped, allele_buffer, dataset, set, nuntyp) |
| Module | None |
| Notes | Copy genotypes from pedigree to set |
| Name of routine: | pedibd |
|---|---|
| Source lines: | 64804 - 64833 |
| Type | subroutine |
| Call | pedibd(typ, ped, dataset, set, sibd) |
| Module | None |
| Notes | Pedigree structure type call to simibd |
| Name of routine: | makewt |
|---|---|
| Source lines: | 64839 - 64857 |
| Type | function |
| Call | makewt(typ, naff, unaff, var) |
| Module | None |
| 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 |
| Name of routine: | clcibs |
|---|---|
| Source lines: | 64861 - 64973 |
| Type | subroutine |
| Call | clcibs(naff, unaff, aff, allele_buffer, set, z) |
| Module | None |
| Notes | Calculate ibs statistic |
| Name of routine: | delta |
|---|---|
| Source lines: | 64977 - 64982 |
| Type | function |
| Call | delta(g1,g2) |
| Module | None |
| Notes | measure of IBS sharing |
| Name of routine: | clcibd |
|---|---|
| Source lines: | 64986 - 65050 |
| Type | subroutine |
| Call | clcibd(naff, unaff, aff, sibd, zibd) |
| Module | None |
| Notes | calculate ibd sharing statistic based on simulated ibd |
| Name of routine: | share |
|---|---|
| Source lines: | 65054 - 65068 |
| Type | subroutine |
| Call | share(g1, g2, g3, g4, zibd) |
| Module | None |
| Notes | Return IBD sharing for relative pair based on ibd-alleles |
| Name of routine: | simil |
|---|---|
| Source lines: | 65090 - 65151 |
| Type | function |
| Call | simil(nfound, naff, aff, sibd, key) |
| Module | None |
| 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
|
| 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) |
| Module | None |
| Notes | Conditional logistic regression Stratum variable is either pedigree or sibship |
| Name of routine: | getstrata |
|---|---|
| Source lines: | 65451 - 65483 |
| Type | subroutine |
| Call | getstrata(styp, ped, dataset, nstrata, strata) |
| Module | None |
| Notes | Locate beginnings and ends of strata |
| Name of routine: | dohrr |
|---|---|
| Source lines: | 65487 - 65808 |
| Type | subroutine |
| Call | dohrr(trait, locnam, gene, iter, mincnt, gt, thresh, dataset, allele_buffer, pval, plevel) |
| Module | None |
| Notes | Haplotype Relative Risk |
| 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) |
| Module | None |
| Notes | Monte-Carlo approach to various TDTs |
| Name of routine: | tdtuse |
|---|---|
| Source lines: | 66247 - 66266 |
| Type | function |
| Call | tdtuse(pg1, pg2, mg1, mg2, naff, use2, xlinkd) |
| Module | None |
| Notes | test if useful for TDT |
| Name of routine: | shuffle |
|---|---|
| Source lines: | 66272 - 66333 |
| Type | subroutine |
| Call | shuffle(nallele, cntall, tot, cutoff, tdt, mxiter, mincnt, pvalue) |
| Module | None |
| Notes | randomization test for allelic TDT -- shuffle table ITER times using TOT swaps per shuffle Genotype counts: all1, all2, #all1 trans, #all2 trans |
| Name of routine: | clctdt |
|---|---|
| Source lines: | 66337 - 66356 |
| Type | function |
| Call | clctdt(ngcount, gcount, cutoff) |
| Module | None |
| Notes | calculate symmetry pearson chi-square |
| Name of routine: | clcchi |
|---|---|
| Source lines: | 66360 - 66381 |
| Type | function |
| Call | clcchi(ngcount, gcount, cutoff) |
| Module | None |
| Notes | calculate g.o.f. LR chi-square |
| Name of routine: | trans |
|---|---|
| Source lines: | 66386 - 66475 |
| Type | subroutine |
| Call | trans(pg1, pg2, mg1, mg2, cg1, cg2, tr1, tr2, nt1, nt2, typ) |
| Module | None |
| 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 |
| Name of routine: | xtrans |
|---|---|
| Source lines: | 66479 - 66499 |
| Type | subroutine |
| Call | xtrans(mg1, mg2, cg1, cg2, tr1, tr2, nt1, nt2) |
| Module | None |
| Notes | Transmission of X-linked marker to a male |
| Name of routine: | incpo |
|---|---|
| Source lines: | 66503 - 66525 |
| Type | subroutine |
| Call | incpo(tr, nt, nall, cntall) |
| Module | None |
| Notes | Increment counts of transmitted and nontransmitted alleles: parentwise |
| Name of routine: | incr |
|---|---|
| Source lines: | 66530 - 66556 |
| Type | subroutine |
| Call | incr(tr1, tr2, nt1, nt2, ngcount, gcount) |
| Module | None |
| Notes | Increment counts of transmitted and expected genotypes Revised after reading Thomas 1999 |
| Name of routine: | insgen |
|---|---|
| Source lines: | 66561 - 66605 |
| Type | subroutine |
| Call | insgen(a1, a2, ngcount, gcount, typ, haplo) |
| Module | None |
| Notes | update counts of genotypes or haplotypes for cases or controls -- binary search and insertion sort |
| Name of routine: | ldp |
|---|---|
| Source lines: | 66609 - 66667 |
| Type | subroutine |
| Call | ldp(numal, numal2, plevel) |
| Module | None |
| Notes | Do LD analysis for unphased data |
| Name of routine: | cubicld |
|---|---|
| Source lines: | 66671 - 66841 |
| Type | subroutine |
| Call | cubicld(loc1, loc2, typ, counts, pval, sumtyp, plevel) |
| Module | None |
| Notes | Two SNPs, unphased and phased data |
| Name of routine: | cubiclik |
|---|---|
| Source lines: | 66845 - 66915 |
| Type | subroutine |
| Call | cubiclik(typ, nunph, nph, praw, counts, h1, h2, h3, h4, ex, lik, eh) |
| Module | None |
| Notes | Likelihood for pairwise SNP LD table under given level of LD |
| 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) |
| Module | None |
| Notes | Do LD analysis for unphased and phased data |
| Name of routine: | haptogen |
|---|---|
| Source lines: | 67232 - 67279 |
| Type | subroutine |
| Call | haptogen(numal, numal2, scatter, typ, xlinkd) |
| Module | None |
| Notes | Map haplotypes to genotypes 1=phase unknown 2=phase KNOWN |
| Name of routine: | twohwe |
|---|---|
| Source lines: | 67283 - 67335 |
| Type | subroutine |
| Call | twohwe(numal, numal2, nfull, totpars, model, typ, xlinkd) |
| Module | None |
| Notes | Double HWE |
| Name of routine: | twofrq |
|---|---|
| Source lines: | 67339 - 67413 |
| Type | subroutine |
| Call | twofrq(numal, numal2, ncells, counts, typ, xlinkd) |
| Module | None |
| Notes | Marginal allele frequencies two loci |
| Name of routine: | ldtab |
|---|---|
| Source lines: | 67417 - 67484 |
| Type | subroutine |
| Call | ldtab(numal, numal2, counts, ex, typ, xlinkd) |
| Module | None |
| Notes | Show table of genotypes and haplotypes |
| 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) |
| Module | None |
| Notes | Two locus linkage disequilibrium: autosomal or X-linked loci identify typed founders or nonfounders who have untyped parents |
| Name of routine: | inchap |
|---|---|
| Source lines: | 67828 - 67866 |
| Type | subroutine |
| Call | inchap(g11, g12, g21, g22, ngcat, npg, allele_buffer1, allele_buffer2, counts, typ) |
| Module | None |
| Notes | increment count of phased or unphased genotype, haplotype contingency table is partitioned 1..ngcat...ngcat+npg... |
| Name of routine: | tabhap |
|---|---|
| Source lines: | 67870 - 67886 |
| Type | subroutine |
| Call | tabhap(g1, g2, allele_buffer1, allele_buffer2, tble) |
| Module | None |
| Notes | straight haplotype count |
| Name of routine: | useld |
|---|---|
| Source lines: | 67890 - 67914 |
| Type | function |
| Call | useld(c1, c2, c3, c4, f1, f2, f3, f4, m1, m2, m3, m4) |
| Module | None |
| Notes | Check if useful triad for haplotype inference |
| Name of routine: | ldtest |
|---|---|
| Source lines: | 67918 - 68035 |
| Type | subroutine |
| Call | ldtest(loc1, allele_buffer1, loc2, allele_buffer2, tble, iter, pval, plevel) |
| Module | None |
| Notes | LRTS and Permutation P for haplotype table |
| Name of routine: | compld |
|---|---|
| Source lines: | 68039 - 68145 |
| Type | subroutine |
| Call | compld(gene1, gene2, newgene, cutoff, allele_buffer1, allele_buffer2, dataset) |
| Module | None |
| Notes | Infer haplotypes for SNPs in complete LD |
| Name of routine: | moskvina |
|---|---|
| Source lines: | 68150 - 68256 |
| Type | subroutine |
| Call | moskvina(window, alpha, maxhap, nloci, loc, loctyp, locpos, locord, map, dataset, plevel) |
| Module | None |
| Notes | An improved correction for multiple testing Moskvina V, Schmidt KM (2008) Genet Epidemiol 32: 567-573 |
| Name of routine: | moskld |
|---|---|
| Source lines: | 68260 - 68285 |
| Type | subroutine |
| Call | moskld(maxhap, loc1, loc2, loc, locpos, loctyp, allele_buffer1, dataset, r) |
| Module | None |
| Notes | wrapper for twold |
| Name of routine: | stand |
|---|---|
| Source lines: | 68290 - 68349 |
| Type | subroutine |
| Call | stand(trait, dataset, typ) |
| Module | None |
| Notes | Standardization of quantitative trait overall or *within* family as required by the approach of Commenge |
| Name of routine: | lifetab |
|---|---|
| Source lines: | 68352 - 68734 |
| Type | subroutine |
| Call | lifetab(date1, date2, censor, covar, covtyp, width1, width2, typ, dataset, plevel) |
| Module | None |
| Notes |
| Name of routine: | prodlim |
|---|---|
| Source lines: | 68742 - 68872 |
| Type | subroutine |
| Call | prodlim(trait, censor, dataset, typ, plevel) |
| Module | None |
| 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. |
| Name of routine: | dorank |
|---|---|
| Source lines: | 68880 - 68953 |
| Type | subroutine |
| Call | dorank(trget, trait, typ, dataset) |
| Module | None |
| Notes | Rank trait values 1=rank all 2=within family rank 3=Blom score all 4=within family Blom score |
| Name of routine: | wrsim |
|---|---|
| Source lines: | 68958 - 69054 |
| Type | subroutine |
| Call | wrsim(typ, mark, gene, allele_buffer, allele_buffer2, dataset, plevel) |
| Module | None |
| Notes | Simulate a single marker, either unconditionally, or consistent with ibd sharing at a given locus |
| Name of routine: | wrsimq |
|---|---|
| Source lines: | 69060 - 69171 |
| Type | subroutine |
| Call | wrsimq(typ, trait, loctyp, prevalence, h2, gene, allele_buffer, allele_buffer2, dataset, plevel) |
| Module | None |
| Notes | Simulate a quantitative trait of given heritability, either unconditionally, or consistent with complete linkage to a given locus |
| Name of routine: | wrsimqtl |
|---|---|
| Source lines: | 69176 - 69401 |
| Type | subroutine |
| Call | wrsimqtl(trait, gene, smlfreq, smlpen, h2, dataset, plevel) |
| Module | None |
| Notes | Simulate QTL genotypes conditional on binary trait values, heritability and marginal QTL penetrances by rejection sampling |
| Name of routine: | permdata |
|---|---|
| Source lines: | 69405 - 69427 |
| Type | subroutine |
| Call | permdata(trait, dataset) |
| Module | None |
| Notes | Permute trait values within pedigrees |
| Name of routine: | dateconv |
|---|---|
| Source lines: | 69431 - 69488 |
| Type | subroutine |
| Call | dateconv(locnam, trait, dataset, typ) |
| Module | None |
| Notes | Convert to/from Julian etc |
| Name of routine: | combine |
|---|---|
| Source lines: | 69492 - 69518 |
| Type | subroutine |
| Call | combine(crit, recto, nf, recfro, allele_buffer) |
| Module | None |
| Notes | identify rare alleles at a marker locus and list for combination |
| Name of routine: | swapalleles |
|---|---|
| Source lines: | 69522 - 69564 |
| Type | subroutine |
| Call | swapalleles(loc, gene, allele_buffer, dataset) |
| Module | None |
| Notes | swap diallelic marker alleles eg 1->2 2->1 |
| Name of routine: | ntcode |
|---|---|
| Source lines: | 69568 - 69610 |
| Type | subroutine |
| Call | ntcode(typ, gene, dataset) |
| Module | None |
| Notes | recode SNP alleles to/from numerical coding A<->1 C<->2 G<->3 T<->4 |
| Name of routine: | flip |
|---|---|
| Source lines: | 69614 - 69643 |
| Type | subroutine |
| Call | flip(loc, gene, dataset) |
| Module | None |
| Notes | flip alleles to complement eg other strand A<->T G<->C |
| Name of routine: | atgc |
|---|---|
| Source lines: | 69647 - 69655 |
| Type | function |
| Call | atgc(g) |
| Module | None |
| Notes | complement nucleotide |
| Name of routine: | nttonum |
|---|---|
| Source lines: | 69659 - 69672 |
| Type | function |
| Call | nttonum(g) |
| Module | None |
| Notes | number code nucleotide |
| Name of routine: | numtont |
|---|---|
| Source lines: | 69676 - 69684 |
| Type | function |
| Call | numtont(g) |
| Module | None |
| Notes | number code nucleotide |
| Name of routine: | renumb |
|---|---|
| Source lines: | 69688 - 69741 |
| Type | subroutine |
| Call | renumb(loc, gene, typ, allele_buffer, dataset) |
| Module | None |
| Notes | renumber alleles to consecutive integers |
| Name of routine: | recode |
|---|---|
| Source lines: | 69746 - 69894 |
| Type | subroutine |
| Call | recode(loc, gene, loctyp, nto, recto, nf, recfro, dataset, plevel) |
| Module | None |
| Notes | recode alleles or values for particular locus -- replace all "from" values with "to" values |
| Name of routine: | recast |
|---|---|
| Source lines: | 69898 - 69955 |
| Type | subroutine |
| Call | recast(typ, trait, dataset) |
| Module | None |
| Notes | Recast aff or cat to qua or qua to aff or cat |
| Name of routine: | snpenc |
|---|---|
| Source lines: | 69959 - 70012 |
| Type | subroutine |
| Call | snpenc(gene, trait, typ, dataset) |
| Module | None |
| Notes | Dummy encode a SNP 1=add 2=dom 3=rec |
| Name of routine: | wribs |
|---|---|
| Source lines: | 70016 - 70156 |
| Type | subroutine |
| Call | wribs(trait, gt, thresh, nloci, loc, loctyp, locpos, dataset, plevel) |
| Module | None |
| Notes | Multipoint IBS sharing for all pairs |
| Name of routine: | ibspca |
|---|---|
| Source lines: | 70160 - 70362 |
| Type | subroutine |
| Call | ibspca(typ, nloci, loc, loctyp, locpos, ncomps, loadvars, dataset, plevel) |
| Module | None |
| Notes | Principal components or classical MDS analysis of multipoint IBS sharing |
| Name of routine: | wribd |
|---|---|
| Source lines: | 70366 - 70536 |
| Type | subroutine |
| Call | wribd(nmark, mark, loc, loctyp, locpos, dataset, burnin, iter, typ, plevel) |
| Module | None |
| Notes | Monte-Carlo approach to estimating IBD sharing at a marker |
| Name of routine: | markeribd |
|---|---|
| Source lines: | 70540 - 70734 |
| Type | subroutine |
| Call | markeribd(gene, iter, burnin, allele_buffer, ped, dataset, ibdcount, ibdvar, plevel) |
| Module | None |
| Notes | Monte-Carlo approach to estimating IBD sharing at a marker for a pedigree |
| Name of routine: | dokin |
|---|---|
| Source lines: | 70738 - 70932 |
| Type | subroutine |
| Call | dokin(typ, dataset, trait) |
| Module | None |
| Notes | Write kinship coefficients |
| Name of routine: | kinship |
|---|---|
| Source lines: | 70936 - 70982 |
| Type | subroutine |
| Call | kinship(ped, dataset, kin) |
| Module | None |
| Notes | Calculate kinship coefficient |
| Name of routine: | frater |
|---|---|
| Source lines: | 70986 - 71014 |
| Type | subroutine |
| Call | frater(ped, dataset, kin, dom) |
| Module | None |
| Notes | Calculate coefficient of fraternity |
| Name of routine: | delta7 |
|---|---|
| Source lines: | 71019 - 71054 |
| Type | function |
| Call | delta7(peri, perj, ped, dataset, kin) |
| Module | None |
| Notes | Coefficient of fraternity for one pair of relatives peri and perj are relative to start of current pedigree |
| Name of routine: | doinbred |
|---|---|
| Source lines: | 71059 - 71202 |
| Type | subroutine |
| Call | doinbred(iter, dataset, trait, plevel) |
| Module | None |
| Notes | Write MC estimates of inbreeding coefficients (and list of nodal ancestors) Also marks inbred individuals using dataset%untyped |
| Name of routine: | invkin |
|---|---|
| Source lines: | 71207 - 71256 |
| Type | subroutine |
| Call | invkin(ped, dataset, ainv) |
| Module | None |
| Notes | A~ = (T~)' D~ T~ |
| Name of routine: | segerr |
|---|---|
| Source lines: | 71261 - 71299 |
| Type | subroutine |
| Call | segerr(ped, dataset, rsd) |
| Module | None |
| Notes | Calculate standard deviation of segregation error (used for gametic model breeding value calculation) |
| Name of routine: | casekin |
|---|---|
| Source lines: | 71303 - 71474 |
| Type | subroutine |
| Call | casekin(locnam, trait, gt, thresh, dataset, statval, plevel) |
| Module | None |
| Notes | Give kinships among affecteds |
| Name of routine: | ancest |
|---|---|
| Source lines: | 71479 - 71615 |
| Type | subroutine |
| Call | ancest(locnam, trait, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Find the ancestor(s) shared by the maximum number of affecteds Also calculate inbreeding among all cases within each family |
| Name of routine: | wrdesc |
|---|---|
| Source lines: | 71619 - 71634 |
| Type | subroutine |
| Call | wrdesc(pedigree, cid, sx, ndesc, ntot) |
| Module | None |
| Notes | write person and number of descendants |
| 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) |
| Module | None |
| Notes | Parse a mixed model |
| Name of routine: | preseg |
|---|---|
| Source lines: | 72056 - 72112 |
| Type | subroutine |
| Call | preseg(nvar, fixed, loc, loctyp, gene, allele_buffer, covariates) |
| Module | None |
| Notes | Names and preliminary estimates for fixed effects part of mixed model |
| 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) |
| Module | None |
| Notes |
Mixed model MCMC: simulate genotypes at 1..N unlinked QTLs
Gaussian breeding values
family intercepts
regression coefficients for fixed effects
|
| Name of routine: | genfreq |
|---|---|
| Source lines: | 73152 - 73163 |
| Type | subroutine |
| Call | genfreq(pall, qtl_buffer) |
| Module | None |
| Notes | QTL genotypic log frequencies |
| 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) |
| Module | None |
| Notes | One iteration of the sampler: either parameters or random effects Give "empirical" estimates of random effects variances |
| 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) |
| Module | None |
| Notes | Metropolis sampler for global parameters |
| 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) |
| Module | None |
| Notes | end-of-mhprop Slice sampler for global parameters |
| Name of routine: | parprop |
|---|---|
| Source lines: | 73534 - 73560 |
| Type | subroutine |
| Call | parprop(typ, tune, yvar, oobounds) |
| Module | None |
| Notes | end-of-slprop Make a proposal for one QTL model parameter for Metropolis sampler oobounds!=0 when proposal is illegal |
| Name of routine: | parbounds |
|---|---|
| Source lines: | 73566 - 73587 |
| Type | subroutine |
| Call | parbounds(typ, oobounds) |
| Module | None |
| Notes | end-of-parprop Check Metropolis proposal oobounds!=0 when proposal is illegal |
| Name of routine: | qtlmod |
|---|---|
| Source lines: | 73601 - 73688 |
| Type | subroutine |
| Call | qtlmod(linkf, modtyp, nqtl, qtl_buffer) |
| Module | None |
| 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
|
| Name of routine: | chkbin |
|---|---|
| Source lines: | 73692 - 73710 |
| Type | subroutine |
| Call | chkbin(nqtl, oobounds) |
| Module | None |
| Notes | check bounds on linear binomial model terms |
| Name of routine: | triprop |
|---|---|
| Source lines: | 73715 - 73726 |
| Type | subroutine |
| Call | triprop(tune, p) |
| Module | None |
| Notes | end-of-chkbin Circularized triangular random proportion |
| Name of routine: | linfun |
|---|---|
| Source lines: | 73732 - 73756 |
| Type | subroutine |
| Call | linfun(linkf, y, thresh) |
| Module | None |
| Notes | end-of-triprop link function for binary data linkf=1 identity 2 logit 3 probit 4 MFT 5=Log |
| Name of routine: | dens |
|---|---|
| Source lines: | 73761 - 73799 |
| Type | function |
| Call | dens(x, mu, sd, shap, cens, modtyp) |
| Module | None |
| Notes | end-of-linfun Poisson or Binomial or Gaussian log density for FPM |
| 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) |
| Module | None |
| Notes | end-of-dens Calculate likelihood under FPM for entire sample of pedigrees over all chains (replicates) |
| Name of routine: | seglik |
|---|---|
| Source lines: | 73848 - 73900 |
| Type | subroutine |
| Call | seglik(linkf, modtyp, ichain, nqtl, nfix, qtl_buffer, family, dataset, plevel) |
| Module | None |
| Notes | end-of-pedlik Calculate likelihood under FPM for one pedigree (one chain/replicate) |
| 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) |
| Module | None |
| Notes | end-of-seglik Update (gene-dropping) genotypes at one of N unlinked QTLs or Gaussian polygenotype or familial random intercept |
| Name of routine: | oneslice |
|---|---|
| Source lines: | 74141 - 74278 |
| Type | subroutine |
| Call | oneslice(ieff, linkf, modtyp, shap, ichain, nqtl, nfix, qtl_buffer, family, dataset, plevel) |
| Module | None |
| Notes | Slice sampler updating Gaussian polygenotype |
| Name of routine: | sliceprop |
|---|---|
| Source lines: | 74283 - 74308 |
| Type | subroutine |
| Call | sliceprop(ieff, idx, mztwin_proposal, twinlist, ichain, prop, family) |
| Module | None |
| Notes | end-of-oneslice copy proposal to appropriate location |
| Name of routine: | idxlik |
|---|---|
| Source lines: | 74314 - 74361 |
| Type | subroutine |
| Call | idxlik(linkf, modtyp, shap, ichain, nqtl, nfix, qtl_buffer, family, dataset, lik, gtplik) |
| Module | None |
| Notes | end-of-sliceprop Gaussian polygenotype likelihood contribution of individual idx (and affected relatives) |
| 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) |
| Module | None |
| Notes | Likelihood contribution of a founder |
| 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) |
| Module | None |
| Notes | Likelihood contribution of a nonfounder |
| Name of routine: | isimped |
|---|---|
| Source lines: | 74519 - 74602 |
| Type | subroutine |
| Call | isimped(ped, dataset, qtl_buffer, set) |
| Module | None |
| Notes | Resimulate (gene-dropping) genotypes at a single autosomal locus in descendants of randomly selected index |
| Name of routine: | simpol |
|---|---|
| Source lines: | 74606 - 74688 |
| Type | subroutine |
| Call | simpol(vsd, ichain, family) |
| Module | None |
| Notes | Propose updated additive polygenic values in a pedigree |
| Name of routine: | simmat |
|---|---|
| Source lines: | 74693 - 74726 |
| Type | subroutine |
| Call | simmat(vstep, ichain, family) |
| Module | None |
| Notes | end-of-simpol Propose updated sibship/maternal effects in a pedigree |
| Name of routine: | empval |
|---|---|
| Source lines: | 74732 - 74831 |
| Type | subroutine |
| Call | empval(linkf, modtyp, nchain, nqtl, nfix, nfam, families, totobs, empmu, empvar) |
| Module | None |
| Notes | end-of-simmat Get empirical estimates of random effects Tote up empirical statistics for random effects: VG, VC, VS, VE |
| Name of routine: | initvc |
|---|---|
| Source lines: | 74836 - 74903 |
| Type | subroutine |
| Call | initvc(nchain, nfam, families) |
| Module | None |
| Notes | end-of-empval Initialize additive genetic and/or maternal random effects |
| Name of routine: | set2hap |
|---|---|
| Source lines: | 74909 - 74936 |
| Type | subroutine |
| Call | set2hap(ichain, iqtl, num, set, hset, typ) |
| Module | None |
| Notes | end-of-initvc Copy or swap genotypes from set to hset 1=set->hset; 2=hset->set; 3=swap |
| Name of routine: | fpmpred |
|---|---|
| Source lines: | 74941 - 74977 |
| Type | subroutine |
| Call | fpmpred(typ, idx, ichain, linkf, nqtl, nfix, family, yp, ypf) |
| Module | None |
| Notes | end-of-set2hap FPM Linear predictor |
| Name of routine: | updateblups |
|---|---|
| Source lines: | 74981 - 75043 |
| Type | subroutine |
| Call | updateblups(whichblup, nvals, nchain, nfam, families) |
| Module | None |
| Notes | Accumulate BLUP for additive genetic effects |
| Name of routine: | dobatch |
|---|---|
| Source lines: | 75047 - 75076 |
| Type | subroutine |
| Call | dobatch(nbatch, nvar, batch, batchse) |
| Module | None |
| Notes | Produce batch estimates of Monte-Carlo error variance |
| Name of routine: | wronep |
|---|---|
| Source lines: | 75080 - 75113 |
| Type | subroutine |
| Call | wronep(idx, it, ichain, yp, iqtl, nqtl, ieff, lik, family, dataset) |
| Module | None |
| Notes | Print oneseg's proposed genotypes for one individual |
| Name of routine: | wrfpm |
|---|---|
| Source lines: | 75118 - 75208 |
| Type | subroutine |
| Call | wrfpm(it, linkf, modtyp, ichain, nqtl, nfix, family, dataset) |
| Module | None |
| Notes | end-of-wronep Print simulated genotypes from FPM iteration |
| Name of routine: | wlscor |
|---|---|
| Source lines: | 75212 - 75254 |
| Type | subroutine |
| Call | wlscor(cor, npairs) |
| Module | None |
| Notes | WLS analysis of familial correlations |
| Name of routine: | domft |
|---|---|
| Source lines: | 75258 - 75411 |
| Type | subroutine |
| Call | domft(trait, prevalence, logrid, higrid, gridstep, dataset, mlik, mpar, iter, plevel) |
| Module | None |
| Notes | MFT |
| Name of routine: | sibqtl |
|---|---|
| Source lines: | 75415 - 75682 |
| Type | subroutine |
| Call | sibqtl(tranam, trait, locnam, gene, allele_buffer, dataset, pval, plevel, toler) |
| Module | None |
| Notes | Variance components analysis |
| 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) |
| Module | None |
| 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
|
| Name of routine: | mvnlik |
|---|---|
| Source lines: | 76348 - 76402 |
| Type | function |
| Call | mvnlik(npar, parest) |
| Module | None |
| Notes | MVN model loglikelihood |
| Name of routine: | mftlik |
|---|---|
| Source lines: | 76406 - 76462 |
| Type | function |
| Call | mftlik(npar, parest) |
| Module | None |
| Notes | MFT model loglikelihood |
| Name of routine: | vcprofile |
|---|---|
| Source lines: | 76466 - 76496 |
| Type | subroutine |
| Call | vcprofile(whichpar, vc_nfix, npar, parest, modlik, lo95, up95) |
| Module | None |
| Notes | Function to give profile likelihood for given parameter of MVN model |
| Name of routine: | brent_proflik |
|---|---|
| Source lines: | 76500 - 76518 |
| Type | function |
| Call | brent_proflik(x) |
| Module | None |
| Notes | Function to give profile likelihood for A in AE model |
| Name of routine: | vcov |
|---|---|
| Source lines: | 76522 - 76567 |
| Type | subroutine |
| Call | vcov(va, vq, ve, vcvmat) |
| Module | None |
| Notes | GLS model VCOV for fixed effects part of MVN mixed model |
| Name of routine: | thinibd |
|---|---|
| Source lines: | 76571 - 76602 |
| Type | subroutine |
| Call | thinibd(ped, dataset, nobs, ibd1, ibd2) |
| Module | None |
| Notes | Drop covariance matrix entries for unused records |
| Name of routine: | syminv |
|---|---|
| Source lines: | 76606 - 76647 |
| Type | subroutine |
| Call | syminv(a, n, c, logdet, info) |
| Module | None |
| Notes | Call to LINPACK routines to invert packed lower triangular symmetric matrix |
| Name of routine: | gibinv |
|---|---|
| Source lines: | 77028 - 77080 |
| Type | subroutine |
| Call | gibinv(cov, n, invcov, logdet, iter) |
| Module | None |
| 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)
|
| Name of routine: | oneinv |
|---|---|
| Source lines: | 77084 - 77107 |
| Type | subroutine |
| Call | oneinv(n, nn, cov, z) |
| Module | None |
| Notes | One iteration of update of z |
| Name of routine: | brent |
|---|---|
| Source lines: | 77134 - 77231 |
| Type | function |
| Call | brent(ax, bx, f, tol) |
| Module | None |
| 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
|
| Name of routine: | globhom |
|---|---|
| Source lines: | 77235 - 77400 |
| Type | subroutine |
| Call | globhom(dataset, plevel) |
| Module | None |
| Notes | Calculate observed and expected homozygosity for all individuals |
| Name of routine: | globhom_onelocus |
|---|---|
| Source lines: | 77404 - 77431 |
| Type | subroutine |
| Call | globhom_onelocus(gene, loctyp, dataset, exphom) |
| Module | None |
| Notes | Homozygosity contribution for ith locus |
| 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) |
| Module | None |
| Notes | Calculate observed and expected multipoint homozygosity Expected distribution simulated using given map |
| Name of routine: | clcrun |
|---|---|
| Source lines: | 77751 - 77795 |
| Type | subroutine |
| Call | clcrun(ped, dataset, nmark, hset, runlen, totrunlen, averun) |
| Module | None |
| Notes | calculate average maximum run length of homozygosity |
| Name of routine: | simhap |
|---|---|
| Source lines: | 77799 - 77874 |
| Type | subroutine |
| Call | simhap(nmark, recdist, alleles, ped, dataset, hset, plevel) |
| Module | None |
| Notes | Drop haplotypes for all family members for given map |
| Name of routine: | exclude |
|---|---|
| Source lines: | 77879 - 77905 |
| Type | subroutine |
| Call | exclude(imp, nloci, loc, loctyp, locpos, dataset, inconsist, imputd, plevel) |
| Module | None |
| Notes | Excluding genotypes from parental phenoset Straight Lange & Goradia AJHG 1987 40: 250-256 |
| Name of routine: | exclude_onelocus |
|---|---|
| Source lines: | 77909 - 77981 |
| Type | subroutine |
| Call | exclude_onelocus(imp, gene, loc, loctyp, dataset, inconsist, imputd, plevel) |
| Module | None |
| Notes | Exclude at one locus |
| 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) |
| Module | None |
| Notes | Do one pedigree at one locus |
| Name of routine: | wrset |
|---|---|
| Source lines: | 78287 - 78317 |
| Type | subroutine |
| Call | wrset(locnam, ped, dataset, set, gset) |
| Module | None |
| Notes | write out phenoset |
| Name of routine: | exc |
|---|---|
| Source lines: | 78321 - 78455 |
| Type | subroutine |
| Call | exc(locnam, xlinkd, gene, ped, dataset, set, gset, inconsist, plevel) |
| Module | None |
| Notes | perform exclusion for the pedigree regardless of imputation level |
| Name of routine: | landg |
|---|---|
| Source lines: | 78459 - 78577 |
| Type | subroutine |
| Call | landg(xlinkd, currf, currm, sta, fin, sex, set, gset, change, incon) |
| Module | None |
| Notes | 2nd version of impute -- following Lange & Goradia, 1987 |
| Name of routine: | prune |
|---|---|
| Source lines: | 78581 - 78605 |
| Type | subroutine |
| Call | prune(idx, ngeno, gset, keep) |
| Module | None |
| Notes | Remove unwanted genotypes from phenoset |
| Name of routine: | swapg |
|---|---|
| Source lines: | 78609 - 78620 |
| Type | subroutine |
| Call | swapg(idx, gset, j, k) |
| Module | None |
| Notes | Swap two genotypes within a phenoset array |
| Name of routine: | doblup |
|---|---|
| Source lines: | 78624 - 78697 |
| Type | subroutine |
| Call | doblup(locnam, trait, h2, dataset, plevel) |
| Module | None |
| Notes | Calculate BLUPs for VC model |
| Name of routine: | blup |
|---|---|
| Source lines: | 78701 - 78781 |
| Type | subroutine |
| Call | blup(lam, trait, ped, dataset, ainv, bval, fmu) |
| Module | None |
| Notes | Calculate BLUPs for current pedigree |
| Name of routine: | hapassoc |
|---|---|
| Source lines: | 78790 - 79190 |
| Type | subroutine |
| Call | hapassoc(nmark, markers, loc, loctyp, locpos, dataset, pval, plevel) |
| Module | None |
| 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 ]) |
| Name of routine: | agl |
|---|---|
| Source lines: | 79199 - 79229 |
| Type | subroutine |
| Call | agl(nr, nc, design, sta, nalleles, nstrata) |
| Module | None |
| 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 |
| Name of routine: | hap2gen |
|---|---|
| Source lines: | 79233 - 79284 |
| Type | subroutine |
| Call | hap2gen(nrep, nmarkers, numals, scatter) |
| Module | None |
| Notes | Phased genotype to unphased genotype mapping |
| Name of routine: | nearloc |
|---|---|
| Source lines: | 79302 - 79364 |
| Type | subroutine |
| Call | nearloc(pos, thresh, maxcluster, nloci, loc, loctyp, map, nmark, mark, plevel) |
| Module | None |
| 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
|
| Name of routine: | dopeel |
|---|---|
| Source lines: | 79393 - 79457 |
| Type | subroutine |
| Call | dopeel(typ, gene, trait, maxiter, allele_buffer, dataset, plevel) |
| Module | None |
| 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
|
| 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) |
| Module | None |
| Notes | pth ped |
| Name of routine: | filltrans |
|---|---|
| Source lines: | 79999 - 80026 |
| Type | subroutine |
| Call | filltrans(numal, ngeno, transprob) |
| Module | None |
| Notes | Create table of transmission probabilities |
| Name of routine: | postprod |
|---|---|
| Source lines: | 80030 - 80050 |
| Type | function |
| Call | postprod(idx, geno, nmates, mates, postp) |
| Module | None |
| Notes | Product of posterior values for all matings of ego |
| Name of routine: | postprodex |
|---|---|
| Source lines: | 80054 - 80078 |
| Type | function |
| Call | postprodex(idx, except, geno, nmates, mates, postidx, postp) |
| Module | None |
| Notes | Product of posterior values for all matings of ego save one |
| Name of routine: | postscale |
|---|---|
| Source lines: | 80082 - 80096 |
| Type | function |
| Call | postscale(idx, nmates, mates, pscale) |
| Module | None |
| Notes | Sum of posterior value scaling factors for all matings of ego |
| Name of routine: | postscalex |
|---|---|
| Source lines: | 80100 - 80118 |
| Type | function |
| Call | postscalex(idx, except, nmates, mates, postidx, pscale) |
| Module | None |
| Notes | Sum of posterior value scaling factors for all matings of ego |
| Name of routine: | nglist |
|---|---|
| Source lines: | 80122 - 80130 |
| Type | function |
| Call | nglist(gtp,ngeno) |
| Module | None |
| Notes | Length of list of genotypes |
| Name of routine: | glist |
|---|---|
| Source lines: | 80134 - 80142 |
| Type | function |
| Call | glist(gtp, idx) |
| Module | None |
| Notes | member of list of genotypes |
| Name of routine: | itlik |
|---|---|
| Source lines: | 80146 - 80179 |
| Type | subroutine |
| Call | itlik(trget, ngeno, gtp, nmates, mates, antp, postp, ascale, pscale, lik) |
| Module | None |
| Notes | Likelihood from iterative peeling |
| Name of routine: | dopeel2 |
|---|---|
| Source lines: | 80185 - 80310 |
| Type | subroutine |
| Call | dopeel2(typ, mark1, mark2, theta, maxiter, allele_buffer1, allele_buffer2, dataset, plevel) |
| Module | None |
| Notes | Two locus version typ=1 likelihood typ=2 grid |
| 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) |
| Module | None |
| Notes | Iterative peeling two codominant loci over grid of recombination fractions: pth ped |
| Name of routine: | nglist2 |
|---|---|
| Source lines: | 80920 - 80925 |
| Type | function |
| Call | nglist2(gtp) |
| Module | None |
| Notes | Length of list of genotypes |
| Name of routine: | glist2 |
|---|---|
| Source lines: | 80929 - 80935 |
| Type | function |
| Call | glist2(gtp, idx) |
| Module | None |
| Notes | member of list of genotypes |
| Name of routine: | transprob |
|---|---|
| Source lines: | 80939 - 80955 |
| Type | function |
| Call | transprob(geno, fgeno, mgeno, ngeno, phased, prec, pnrec) |
| Module | None |
| Notes | Parent-offspring triad |
| Name of routine: | transmit |
|---|---|
| Source lines: | 80963 - 80976 |
| Type | function |
| Call | transmit(p11, p12, p21, p22, c1, c2, prec, pnrec) |
| Module | None |
| Notes |
Transmission probabilities: two codominant loci, phased genotypes
p11 | p12 c1
| =>
p21 | p22 c2
|
| Name of routine: | itlik2 |
|---|---|
| Source lines: | 80980 - 81013 |
| Type | subroutine |
| Call | itlik2(trget, gtp, nmates, mates, antp, postp, ascale, pscale, lik) |
| Module | None |
| Notes | Likelihood from iterative peeling |
| Name of routine: | fillphase |
|---|---|
| Source lines: | 81017 - 81066 |
| Type | subroutine |
| Call | fillphase(allele_buffer1, allele_buffer2, ngeno, phased, gfrq) |
| Module | None |
| Notes | Phased genotype frequencies |
| Name of routine: | doeigen |
|---|---|
| Source lines: | 81068 - 81102 |
| Type | subroutine |
| Call | doeigen(n) |
| Module | None |
| Name of routine: | dcentre |
|---|---|
| Source lines: | 81107 - 81131 |
| Type | subroutine |
| Call | dcentre(n, nn, x) |
| Module | None |
| Notes | double centre a distance matrix (lower triangular form) used for MDS |
| Name of routine: | twinken |
|---|---|
| Source lines: | 81136 - 81296 |
| Type | subroutine |
| Call | twinken(locnam, trait, cenloc, censor, mztwin, gt, thresh, dataset, plevel) |
| Module | None |
| Notes | Oakes' Kendall tau for bivariate survival analysis contrasting monozygotic twins v. other siblings. |
| Name of routine: | eigen |
|---|---|
| Source lines: | 81300 - 81326 |
| Type | subroutine |
| Call | eigen(typ, n, a, z) |
| Module | None |
| Notes | Wrapper for EISPACK real symmetric matrix routines |
| Name of routine: | rs |
|---|---|
| Source lines: | 81333 - 81358 |
| Type | subroutine |
| Call | rs(nm, n, a, w, matz, z, fv1, fv2, ierr) |
| Module | None |
| 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. |
| Name of routine: | tred1 |
|---|---|
| Source lines: | 81367 - 81470 |
| Type | subroutine |
| Call | tred1(nm, n, a, d, e, e2) |
| Module | None |
| 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. |
| Name of routine: | tred2 |
|---|---|
| Source lines: | 81479 - 81619 |
| Type | subroutine |
| Call | tred2(nm, n, a, d, e, z) |
| Module | None |
| 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. |
| Name of routine: | tqlrat |
|---|---|
| Source lines: | 81627 - 81724 |
| Type | subroutine |
| Call | tqlrat(n, d, e2, ierr) |
| Module | None |
| 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. |
| Name of routine: | tql2 |
|---|---|
| Source lines: | 81736 - 81878 |
| Type | subroutine |
| Call | tql2(nm, n, d, e, z, ierr) |
| Module | None |
| 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. |
| Name of routine: | pythag |
|---|---|
| Source lines: | 81882 - 81903 |
| Type | function |
| Call | pythag(a, b) |
| Module | None |
| Notes | Finds dsqrt(A**2+B**2) without overflow or destructive underflow |
| Name of routine: | |
|---|---|
| Source lines: | 81907 - 81921 |
| Type | function |
| Call | epslon (x) |
| Module | None |
| Notes | estimate unit roundoff in quantities of size x |