| Type: | Package | 
| Title: | Genetic Algorithm with Incomplete Dominance for Feature Selection | 
| Version: | 1.2 | 
| Author: | Nicolae Teodor Melita | 
| Maintainer: | Nicolae Teodor Melita <nt_melita@yahoo.com> | 
| Description: | Feature selection from high dimensional data using a diploid genetic algorithm with Incomplete Dominance for genotype to phenotype mapping and Random Assortment of chromosomes approach to recombination. | 
| Depends: | R (≥ 3.3.1), Biobase, MLInterfaces | 
| Imports: | genefilter, ALL, grDevices, graphics, stats, utils | 
| License: | MIT + file LICENSE | 
| LazyData: | TRUE | 
| RoxygenNote: | 5.0.1 | 
| NeedsCompilation: | no | 
| Packaged: | 2017-07-10 03:52:32 UTC; Dr | 
| Repository: | CRAN | 
| Date/Publication: | 2017-07-10 05:02:55 UTC | 
AnalyzeResults
Description
Ranks individuals according to their fitness and records the results.
Usage
AnalyzeResults(individuals, results, randomAssortment = TRUE, chrConf)
Arguments
individuals | 
 Population of individuals with diploid genotypes.  | 
results | 
 Results returned by EvaluationFunction().  | 
randomAssortment | 
 Random Assortment of Chromosomes for recombinations. The default value is TRUE.  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
Examples
## Not run: 
 library(genefilter)
 library(ALL)
 data(ALL)
 bALL = ALL[, substr(ALL$BT,1,1) == "B"]
 smallALL = bALL[, bALL$mol.biol %in% c("BCR/ABL", "NEG")]
 smallALL$mol.biol = factor(smallALL$mol.biol)
 smallALL$BT = factor(smallALL$BT)
 f1 <- pOverA(0.25, log2(100))
 f2 <- function(x) (IQR(x) > 0.5)
 f3 <- ttest(smallALL$mol.biol, p=0.1)
 ff <- filterfun(f1, f2, f3)
 selectedsmallALL <- genefilter(exprs(smallALL), ff)
 smallALL = smallALL[selectedsmallALL, ]
 rm(f1)
 rm(f2)
 rm(f3)
 rm(ff)
 rm(bALL)
 sum(selectedsmallALL)
 set.seed(1357)
 population0<-InitialPopulation(smallALL, 14, 10, FALSE)
 individuals0<-Individuals(population0)
 results0<-EvaluationFunction(smallALL, individuals0, response="mol.biol",
             method=knn.cvI(k=3, l=2), trainTest="LOG")
 chrConf0<-splitChromosomes(smallALL)
 iterRes0<-AnalyzeResults(individuals0, results0, randomAssortment=TRUE, chrConf0)
 
## End(Not run)
Crossover
Description
Two-point crossover operator.
Usage
Crossover(c1, c2, chrConf)
Arguments
c1 | 
 Set of chromosomes.  | 
c2 | 
 Set of chromosomes.  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1357)
population02<-InitialPopulation(demoALL, 2, 4, FALSE)
chrConf02<-splitChromosomes(demoALL, 2)
chrConf02
population02[1:2,]
Crossover(population02[1,], population02[2,], chrConf02)
 
## End(Not run)
Elitism
Description
Operator for elitism.
Usage
Elitism(results, elitism, ID)
Arguments
results | 
 Results returned by EvaluationFunction().  | 
elitism | 
 Elite population in percentages.  | 
ID | 
 Dominance. The default value is "ID1". Use "ID2" for Incomplete Dominance.  | 
Examples
## Not run: 
 library(genefilter)
 library(ALL)
 data(ALL)
 bALL = ALL[, substr(ALL$BT,1,1) == "B"]
 smallALL = bALL[, bALL$mol.biol %in% c("BCR/ABL", "NEG")]
 smallALL$mol.biol = factor(smallALL$mol.biol)
 smallALL$BT = factor(smallALL$BT)
 f1 <- pOverA(0.25, log2(100))
 f2 <- function(x) (IQR(x) > 0.5)
 f3 <- ttest(smallALL$mol.biol, p=0.1)
 ff <- filterfun(f1, f2, f3)
 selectedsmallALL <- genefilter(exprs(smallALL), ff)
 smallALL = smallALL[selectedsmallALL, ]
 rm(f1)
 rm(f2)
 rm(f3)
 rm(ff)
 rm(bALL)
 sum(selectedsmallALL)
 set.seed(1357)
 population0<-InitialPopulation(smallALL, 14, 8, FALSE)
 individuals0<-Individuals(population0)
 results0<-EvaluationFunction(smallALL, individuals0, response="mol.biol",
             method=knn.cvI(k=3, l=2), trainTest="LOG")
 Elitism(results0, 25, ID="ID1")
 Elitism(results0, 25, ID="ID2")
 
## End(Not run)
EmbryonicSelection
Description
Function for deleting individuals with a fitness below a specified threshold.
Usage
EmbryonicSelection(population, results, embryonicSelection)
Arguments
population | 
 Population of individuals with diploid genotypes.  | 
results | 
 Results returned by EvaluationFunction().  | 
embryonicSelection | 
 Threshold value. The default value is NA.  | 
Examples
## Not run: 
 library(genefilter)
 library(ALL)
 data(ALL)
 bALL = ALL[, substr(ALL$BT,1,1) == "B"]
 smallALL = bALL[, bALL$mol.biol %in% c("BCR/ABL", "NEG")]
 smallALL$mol.biol = factor(smallALL$mol.biol)
 smallALL$BT = factor(smallALL$BT)
 f1 <- pOverA(0.25, log2(100))
 f2 <- function(x) (IQR(x) > 0.5)
 f3 <- ttest(smallALL$mol.biol, p=0.1)
 ff <- filterfun(f1, f2, f3)
 selectedsmallALL <- genefilter(exprs(smallALL), ff)
 smallALL = smallALL[selectedsmallALL, ]
 rm(f1)
 rm(f2)
 rm(f3)
 rm(ff)
 rm(bALL)
 sum(selectedsmallALL)
 set.seed(1357)
 population0<-InitialPopulation(smallALL, 14, 8, FALSE)
 individuals0<-Individuals(population0)
 results0<-EvaluationFunction(smallALL, individuals0, response="mol.biol",
             method=knn.cvI(k=3, l=2), trainTest="LOG")
 EmbryonicSelection(individuals0, results0, 0.5)
 
## End(Not run)
EvaluationFunction
Description
Evaluates the individuals' fitnesses.
Usage
EvaluationFunction(x, individuals, response, method, trainTest, nnetSize = NA,
  nnetDecay = NA, rdaAlpha = NA, rdaDelta = NA, ...)
Arguments
x | 
 Dataset in ExpressionSet format.  | 
individuals | 
 Population of individuals with diploid genotypes.  | 
response | 
 Response variable.  | 
method | 
 Supervised classifier for fitness evaluation. Most of the supervised classifiers in MLInterfaces are acceptable. The default is knn.cvI(k=3, l=2).  | 
trainTest | 
 Cross-validation method. The default is "LOG".  | 
nnetSize | 
 for nnetI. The default value is NA.  | 
nnetDecay | 
 for nnetI. The default value is NA.  | 
rdaAlpha | 
 for rdaI. The default value is NA.  | 
rdaDelta | 
 for rdaI. The default value is NA.  | 
... | 
 Additional arguments.  | 
Examples
## Not run: 
 library(genefilter)
 library(ALL)
 data(ALL)
 bALL = ALL[, substr(ALL$BT,1,1) == "B"]
 smallALL = bALL[, bALL$mol.biol %in% c("BCR/ABL", "NEG")]
 smallALL$mol.biol = factor(smallALL$mol.biol)
 smallALL$BT = factor(smallALL$BT)
 f1 <- pOverA(0.25, log2(100))
 f2 <- function(x) (IQR(x) > 0.5)
 f3 <- ttest(smallALL$mol.biol, p=0.1)
 ff <- filterfun(f1, f2, f3)
 selectedsmallALL <- genefilter(exprs(smallALL), ff)
 smallALL = smallALL[selectedsmallALL, ]
 rm(f1)
 rm(f2)
 rm(f3)
 rm(ff)
 rm(bALL)
 sum(selectedsmallALL)
 set.seed(1357)
 population0<-InitialPopulation(smallALL, 14, 8, FALSE)
 individuals0<-Individuals(population0)
 results<-EvaluationFunction(smallALL, individuals0, response="mol.biol",
             method=knn.cvI(k=3, l=2), trainTest="LOG")
 
## End(Not run)
Individuals
Description
Generates individuals with diploid genotypes.
Usage
Individuals(population)
Arguments
population | 
 Population of haploid genotypes.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
population02<-InitialPopulation(demoALL, 20, 4, FALSE)
individuals02<-Individuals(population02)
 
## End(Not run)
InitialPopulation
Description
Generates an initial randomly generated population of haploid genotypes.
Usage
InitialPopulation(x, populationSize, startGenes,
  EveryGeneInInitialPopulation = TRUE)
Arguments
x | 
 Dataset in ExpressionSet format.  | 
populationSize | 
 Number of genotypes in initial population.  | 
startGenes | 
 Genes in the genotypes at initialization.  | 
EveryGeneInInitialPopulation | 
 Request for every gene to be present in the initial population. The default value is TRUE.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
population01<-InitialPopulation(demoALL, 4, 4)
population02<-InitialPopulation(demoALL, 20, 4, FALSE)
 
## End(Not run)
PlotGenAlg
Description
Function for graphically representing the evolution.
Usage
PlotGenAlg(DGenes, dGenes, maxEval, meanEval)
Arguments
DGenes | 
 Occurences of genes as dominant.  | 
dGenes | 
 Occurences of genes as recessive. For future developments.  | 
maxEval | 
 Maximum fitness.  | 
meanEval | 
 Average fitness.  | 
Examples
## Not run: 
		#Graphical representation of the evolution after each generation.
		#Intended to be used by dGAselID() only.
		#Please refer to the example for dGAselID().
 
## End(Not run)
RandomAssortment
Description
Random assortment of chromosomes operator.
Usage
RandomAssortment(newChrs, chrConf)
Arguments
newChrs | 
 Set of chromosomes.  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
population02<-InitialPopulation(demoALL, 2, 4, FALSE)
chrConf02<-splitChromosomes(demoALL, 4)
set.seed(1357)
cr1<-Crossover(population02[1,], population02[2,], chrConf02)
RandomAssortment(cr1, chrConf02)
cr1
chrConf02
 
## End(Not run)
RandomizePop
Description
Generates a random population for the next generation.
Usage
RandomizePop(population)
Arguments
population | 
 Population of chromosome sets in current generation.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
population01<-InitialPopulation(demoALL, 4, 4)
population01
RandomizePop(population01)
 
## End(Not run)
dGAselID
Description
Initializes and starts the search with the genetic algorithm.
Usage
dGAselID(x, response, method = knn.cvI(k = 3, l = 2), trainTest = "LOG",
  startGenes, populationSize, iterations, noChr = 22, elitism = NA,
  ID = "ID1", pMutationChance = 0, nSMutationChance = 0,
  fSMutationChance = 0, lSDeletionChance = 0, wChrDeletionChance = 0,
  transposonChance = 0, randomAssortment = TRUE, embryonicSelection = NA,
  EveryGeneInInitialPopulation = TRUE, nnetSize = NA, nnetDecay = NA,
  rdaAlpha = NA, rdaDelta = NA, ...)
Arguments
x | 
 Dataset in ExpressionSet format.  | 
response | 
 Response variable  | 
method | 
 Supervised classifier for fitness evaluation. Most of the supervised classifiers in MLInterfaces are acceptable. The default is knn.cvI(k=3, l=2).  | 
trainTest | 
 Cross-validation method. The default is "LOG".  | 
startGenes | 
 Genes in the genotypes at initialization.  | 
populationSize | 
 Number of genotypes in initial population.  | 
iterations | 
 Number of iterations.  | 
noChr | 
 Number of chromosomes. The default value is 22.  | 
elitism | 
 Elite population in percentages.  | 
ID | 
 Dominance. The default value is "ID1". Use "ID2" for Incomplete Dominance.  | 
pMutationChance | 
 Chance for a Point Mutation to occur. The default value is 0.  | 
nSMutationChance | 
 Chance for a Non-sense Mutation to occur. The default value is 0.  | 
fSMutationChance | 
 Chance for a Frameshift Mutation to occur. The default value is 0.  | 
lSDeletionChance | 
 Chance for a Large Segment Deletion to occur. The default value is 0.  | 
wChrDeletionChance | 
 Chance for a Whole Chromosome Deletion to occur. The default value is 0.  | 
transposonChance | 
 Chance for a Transposon Mutation to occur. The default value is 0.  | 
randomAssortment | 
 Random Assortment of Chromosomes for recombinations. The default value is TRUE.  | 
embryonicSelection | 
 Remove chromosomes with fitness < specified value. The default value is NA.  | 
EveryGeneInInitialPopulation | 
 Request for every gene to be present in the initial population. The default value is TRUE.  | 
nnetSize | 
 for nnetI. The default value is NA.  | 
nnetDecay | 
 for nnetI. The default value is NA.  | 
rdaAlpha | 
 for rdaI. The default value is NA.  | 
rdaDelta | 
 for rdaI. The default value is NA.  | 
... | 
 Additional arguments.  | 
Value
The output is a list containing 5 named vectors, records of the evolution:
DGenes | 
 The occurrences in selected genotypes for every gene,  | 
dGenes | 
 The occurrences in discarded genotypes for every gene,  | 
MaximumAccuracy | 
 Maximum accuracy in every generation,  | 
MeanAccuracy | 
 Average accuracy in every generation,  | 
MinAccuracy | 
 Minimum accuracy in every generation,  | 
BestIndividuals | 
 Best individual in every generation.  | 
Examples
## Not run: 
 library(genefilter)
 library(ALL)
 data(ALL)
 bALL = ALL[, substr(ALL$BT,1,1) == "B"]
 smallALL = bALL[, bALL$mol.biol %in% c("BCR/ABL", "NEG")]
 smallALL$mol.biol = factor(smallALL$mol.biol)
 smallALL$BT = factor(smallALL$BT)
 f1 <- pOverA(0.25, log2(100))
 f2 <- function(x) (IQR(x) > 0.5)
 f3 <- ttest(smallALL$mol.biol, p=0.1)
 ff <- filterfun(f1, f2, f3)
 selectedsmallALL <- genefilter(exprs(smallALL), ff)
 smallALL = smallALL[selectedsmallALL, ]
 rm(f1)
 rm(f2)
 rm(f3)
 rm(ff)
 rm(bALL)
 sum(selectedsmallALL)
 set.seed(149)
 res<-dGAselID(smallALL, "mol.biol", trainTest=1:79, startGenes=12, populationSize=200,
               iterations=150, noChr=5, pMutationChance=0.0075, elitism=4)
 
## End(Not run)
frameShiftMutation
Description
Operator for the frameshift mutation.
Usage
frameShiftMutation(individuals, chrConf, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
mutationChance | 
 Chance for a frameshift mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
chrConf<-splitChromosomes(demoALL, 2)
chrConf
individuals
set.seed(123)
frameShiftMutation(individuals, chrConf, 20)
 
## End(Not run)
largeSegmentDeletion
Description
Operator for the large segment deletion.
Usage
largeSegmentDeletion(individuals, chrConf, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
mutationChance | 
 Chance for a large segment deletion mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
chrConf<-splitChromosomes(demoALL, 2)
chrConf
individuals
set.seed(123)
largeSegmentDeletion(individuals, chrConf, 20)
 
## End(Not run)
nonSenseMutation
Description
Operator for the nonsense mutation.
Usage
nonSenseMutation(individuals, chrConf, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
mutationChance | 
 Chance for a nonsense mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
chrConf<-splitChromosomes(demoALL, 2)
chrConf
individuals
set.seed(123)
nonSenseMutation(individuals, chrConf, 20)
 
## End(Not run)
pointMutation
Description
Operator for the point mutation.
Usage
pointMutation(individuals, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
mutationChance | 
 chance for a point mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
individuals
set.seed(123)
pointMutation(individuals, 4)
 
## End(Not run)
splitChromosomes
Description
Divides the genotypes into sets with a desired number of chromosomes.
Usage
splitChromosomes(x, noChr = 22)
Arguments
x | 
 Dataset in ExpressionSet format.  | 
noChr | 
 Desired number of chromosomes. The default value is 22.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
splitChromosomes(demoALL, 3)
splitChromosomes(demoALL)
 
## End(Not run)
transposon
Description
Operator for transposons.
Usage
transposon(individuals, chrConf, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
mutationChance | 
 Chance for a transposon mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
chrConf<-splitChromosomes(demoALL, 2)
chrConf
individuals
set.seed(123)
transposon(individuals, chrConf, 20)
 
## End(Not run)
wholeChromosomeDeletion
Description
Operator for the deletion of a whole chromosome.
Usage
wholeChromosomeDeletion(individuals, chrConf, mutationChance)
Arguments
individuals | 
 dataset returned by Individuals().  | 
chrConf | 
 Configuration of chromosomes returned by splitChromosomes().  | 
mutationChance | 
 Chance for a deletion of a whole chromosome mutation to occur.  | 
Examples
## Not run: 
library(ALL)
data(ALL)
demoALL<-ALL[1:12,1:8]
set.seed(1234)
population<-InitialPopulation(demoALL, 4, 9)
individuals<-Individuals(population)
chrConf<-splitChromosomes(demoALL, 2)
chrConf
individuals
set.seed(123)
wholeChromosomeDeletion(individuals, chrConf, 20)
 
## End(Not run)