UK-SH Logo
Institut
Logo
english

SNaP: Simulation of SNP haplotype data and phenotypic traits


Description of the program
Web Interface / Obtaining SNaP / Downloads
Citation & Feedback
Job file example for use with SNaP

Description of the program

  • The SNaP program can be used to generate SNP haplotype sequence data of unrelated individuals and nuclear families with a fixed or random number of children.
  • It assumes the SNPs to occur in disjoint blocks with limited numbers of haplotypes each.
  • If required each block can contain a trait-causative SNP. Each individual is then randomly assigned an affection status or a quantitative trait conditional on the one or more causative SNPs' genotypes according to specified penetrances or mean effects, respectively.
  • Cases and controls can optionally be sampled separately; otherwise individuals and families are sampled jointly.
  • Haplotypes are independently sampled in each block and subsequently concatenated to form the sequence haplotype. Haplotype frequencies and SNP alleles can either be specified block-wise or are randomly generated otherwise.
  • The program allows for missing data, genotyping errors, omission of causative SNPs from the output and strictly bi-allelic or possibly mono-allelic SNP markers.
  • It uses job files and is adaptable to memory consumption; characters and designators can be modified, e.g. adapted to different languages.
  • A log output file contains the parameters used for the data generation, including program-generated block haplotypes and frequencies. The data file contains the generated individuals/families in one of various formats, e.g. Linkage format.
  • The program suggests valid values for erroneously specified parameters. Several job-settings examples are provided.

A poster was presented at the ASHG meeting in 2002.
A more detailed documentation can be downloaded.

[ Top of Page ]

Web Interface / Obtaining SNaP / Downloads

SNaP was written in ANSI-C and is distributed under the GNU General Public License (see www.gnu.org for details).

SNaP can be used with a Web Interface. The interface allows for a comfortable creation of job settings files and the succeeding generation of the data set. Both files can be downloaded. For the generation of a higher number of data sets and for automated processing in simulation studies, the SNaP program can be downloaded and be installed on a local computer.

The following files are available for download:

  Description File Size Format Useful software
  SuSE Linux executable snap.suse 67 kB binary  
  RedHat Linux executable snap.redhat 70 kB binary  
  Sun Solaris executable snap.sun 91 kB binary  
  Windows/DOS executable snap.exe 82 kB binary  
  Program documentation snap.pdf 254 kB PDF
    snap.ps 1.4 MB PostScript
    snap.ps.gz 468 kB Zipped PostScript
    snap.ps.zip 475 kB Zipped PostScript
  Short sources installation guide install.txt 3 kB ASCII text  
  BibTeX citation file snapref.bib 4 kB BibTeX  
  GNU General Public License gpl.txt 18 kB ASCII text  

To obtain the software sources, please send me an e-mail with subject "SNaP request" to nothnagel medinfo.uni-kiel.de.

[ Top of Page ]

Citation & Feedback

Please cite the following reference when reporting the results using SNaP:

Nothnagel M (2002).
Simulation of LD block-structured SNP haplotype data and its use for the analysis of case-control data by supervised learning methods.
Am J Hum Genet 71 (Suppl.)(4): A2363.

Comments and error feedback are appreciated. Please send an e-mail to nothnagel medinfo.uni-kiel.de with subject: "Comment on SNaP".

[ Top of Page ]

Job file example to be used with SNaP

[General]    
DataFilename = 'expl.dat'
SettingsFilename = 'expl.set'
OutputType = 'haplotypes'
OutputFormat = 'Standard1'
     
[Design]    
TypeOfPhenoExpression = 'qualitative'
StudyDesign = 'individuals'
SamplingDesign = joint'
NumberOfIndividuals = 1000
     
[Model]    
NumberOfLoci = 1
NumberOfStates = 3
Penetrances =  
  1.0 0.5 0.0    
BiallelicCheck = 'y'
RemoveCausalSNPs = 'n'
GenotypingError = 0.010
GenotypingErrorVisible = 'y'
RandomSeed = 500
     
[Separators]    
BehindStatus = '\t'
BetweenHaplotypes = ' '
BetweenBlocks = '.'
BetweenSNPs = ''
     
[Blocks]    
NumberOfBlocks = 2
     
(Block)    
Number = 1
Size = 3
SuscLocusPosition = 2
SuscAlleleFrequ = 0.200
{NoSuscHaplotypes}    
HtNumber = 2
HtBlock = 111
HtBlock = 211
HtFrequ = 0.60
{SuscHaplotypes}    
HtNumber = 3
HtBlock = 122
HtBlock = 221
HtBlock = 22
HtFrequ = 0.30
HtFrequ = 0.50
     
(Block)    
Number = 2
Size = 1
SuscLocusPosition = 0
{NoSuscHaplotypes}    
HtNumber = 2
HtBlock = 2
HtFrequ = 0.70
[ Top of Page ]