FAMSPHERE PARENTAL ALLOCATION PROGRAM

 

 

Downloads

 

Hints
  1. You can add comments at the input files just beginning the lines with the # symbol.
  2. Missing values are represented by -99
  3. You can discard some individuals from the analysis simply by adding a minus sign "-" before the individual. Therefore the user can perform an analysis with R = 0 (Total Match) and then repit the analysis with R>0 discarding the previously assigned offspring by adding the minus sign before such individuals.

 

Contact
For any questions about the options of the program or the source code, you can contact me

 

 

Disclaimer
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. See the file "gpl.html" under the "license" directory.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Return to AC-R home
Famsphere Model
FamSphere is a C++ computer program that implements a distance-based method to allocate families based on co-dominant molecular marker information. FamSphere models an offspring as a 2n dimensional (n = loci number) sphere with a center (the genotype) and a radius (the mutation or genotyping error allowed). Thus, an individual will be a putative parent if it falls inside the sphere of a given offspring. The model is a formalization of the exclusion method taking into account genotyping errors or mutation. Indeed, when multiple-paternity is not excluded there are rules that provide a way to assign paternity, which is not present in the exclusion method. The information linked to the defined distances is similar to that of the transmission probabilities used in the likelihood approaches however; the information of loci is used as a whole contrary to the likelihood approaches. More details on the model can be found in the article (Carvajal-Rodríguez A 2007. FamSphere: A computer program for parental allocation from known genotypic pools. Molecular Ecology Notes 7:213-216).
Note for new versions 0.3 and 0.4

1.- Fixed a bug, which could affect multipaternity decision rules in cases with very few markers (1 or 2 micros).
2.- More efficient rules for multiple paternity decision are developed: D1 and D2 no longer will decide among compatible parents. A list of compatible families will be given for each son, sorted for its value of D3. D3 measures the difference between homologs, therefore an homozygous parent will have D3 = 0. However as all putative families are given, the user can decide by her/himself to chose the recommended one or any other.
3.- A new output file called "Famgenotypes.out" including the genotypes of the families is given.
4.- In version 0.4 missing value is changed to -99 instead of 0 to avoid problems with file reading errors.

How to Use

There are two different input files called parents.PAR and sons.PRO with the progenitor and the offspring genotypes respectively. In these files, each pair of columns represent the two alleles of a loci and rows represent individuals. In the parents.PAR file, the last column represents the name of the individual, which must be less than 2000 for mothers and equal, or higher than 2000 for fathers, this column is not present at the sons file. Both input files should be present in the same directory as the executable file. Note that FamSphere is able to manage a very much higher number of individuals which can be implemented upon request.

 

To run the program, in Windows just double click FamSphere.exe, in Unix-like systems just type ./FamSphere.lnx. The program will ask for a radius value R, this is the error margin allowed. Default value is R = 0, the introduced value must be an integer >= 0.

Input File Example
1) parents.PAR example

 

# this is a comment: Date: 120706 Data from Author:

 

128 144 122 130 152 152 240 248 270 298 340 368 1001
132 148 122 158 188 192 240 240 278 306 320 328 1003
124 148 126 130 192 192 240 256 270 306 368 372 2002
128 144 126 130 192 192 244 244 302 310 324 388 2005
124 132 122 142 184 204 240 244 270 318 308 388 2006
124 148 122 130 140 144 248 256 330 334 328 360 2007

 

2)  sons.PRO example

 

128 128 130 134 208 208 236 240 270 278 332 364
148 160 122 142 144 180 240 240 266 298 308 376
156 160 130 130 144 176 236 248 254 282 368 380
124 132 122 166 192 204 252 260 298 318 352 372
132 164 126 158 160 184 240 240 306 314 304 356

 

A. Carvajal-Rodriguez - Departamento de Bioquímica Genética e Inmunología - Universidad de Vigo. ( Last update: November 2008)