[Rcolony-commits] r74 - pkg/R
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Fri Nov 16 11:55:57 CET 2012
Author: jonesor
Date: 2012-11-16 11:55:57 +0100 (Fri, 16 Nov 2012)
New Revision: 74
Modified:
pkg/R/build.colony.input.R
Log:
Undid last change
Modified: pkg/R/build.colony.input.R
===================================================================
--- pkg/R/build.colony.input.R 2012-11-16 10:29:49 UTC (rev 73)
+++ pkg/R/build.colony.input.R 2012-11-16 10:55:57 UTC (rev 74)
@@ -1,1055 +1,1055 @@
build.colony.input<-function(wd=getwd(),name="Colony2.DAT"){
-
-# wd = getwd()
-# name = "Colony2.DAT"
-colonyfile<-NULL
-
-cat("This function will construct a Colony input file.\nPLEASE REFER TO THE HELP FILE ?build.colony.input.\n\n")
-cat(paste("It will be called",name,"and be placed in",wd,"...\n\n\n"))
-
-#Functions used here
-is.whole <- function(a) { floor(a)==a }
-
-
-#######################################################
-# ! C, Dataset name, Length<51
-#######################################################
-
-while(length(colonyfile$datasetname)==0){
- cat("Enter dataset name (must be <51 characters).\n\n\n")
- colonyfile$datasetname<-scan(n=1,what="character")
- write(paste(colonyfile$datasetname,"! C, Dataset name, Length<51"),name,append=FALSE)
+
+ # wd = getwd()
+ # name = "Colony2.DAT"
+ colonyfile<-NULL
+
+ cat("This function will construct a Colony input file.\nPLEASE REFER TO THE HELP FILE ?build.colony.input.\n\n")
+ cat(paste("It will be called",name,"and be placed in",wd,"...\n\n\n"))
+
+ #Functions used here
+ is.whole <- function(a) { floor(a)==a }
+
+
+ #######################################################
+ # ! C, Dataset name, Length<51
+ #######################################################
+
+ while(length(colonyfile$datasetname)==0){
+ cat("Enter dataset name (must be <51 characters).\n\n\n")
+ colonyfile$datasetname<-scan(n=1,what="character")
+ write(paste(colonyfile$datasetname,"! C, Dataset name, Length<51"),name,append=FALSE)
}
-
-#######################################################
-# ! C, Main output file name, Length<21
-#######################################################
-while(length(colonyfile$outfile)==0){
- cat("Enter main output file name (must be <21 characters).\n\n\n")
- colonyfile$outfile<-scan(n=1,what="character")
- write(paste(colonyfile$outfile,"! C, Main output file name, Length<21"),name,append=TRUE)
+
+ #######################################################
+ # ! C, Main output file name, Length<21
+ #######################################################
+ while(length(colonyfile$outfile)==0){
+ cat("Enter main output file name (must be <21 characters).\n\n\n")
+ colonyfile$outfile<-scan(n=1,what="character")
+ write(paste(colonyfile$outfile,"! C, Main output file name, Length<21"),name,append=TRUE)
}
-
-#######################################################
-# ! C, Note to the project
-#######################################################
-
-while(length(colonyfile$note)==0){
- cat("Enter one sentence to describe your dataset (no carriage returns!).\n\n\n")
- colonyfile$note<-scan(n=1,what="character")
+
+ #######################################################
+ # ! C, Note to the project
+ #######################################################
+
+ while(length(colonyfile$note)==0){
+ cat("Enter one sentence to describe your dataset (no carriage returns!).\n\n\n")
+ colonyfile$note<-scan(n=1,what="character")
}
-
-#######################################################
-# ! I, Number of offspring in the sample
-#######################################################
-while(length(colonyfile$n.offspring)==0){
- cat("Enter number of offspring in the sample.\n\n\n")
- colonyfile$n.offspring<-as.numeric(scan(n=1,what="integer"))
- write(paste(colonyfile$n.offspring,"! I, Number of offspring in the sample"),name,append=TRUE)
-
- if(length(colonyfile$n.offspring)!=0){
- #Whole number warning
- if(is.whole(colonyfile$n.offspring)==FALSE){
- flush.console()
- colonyfile<-colonyfile[which(names(colonyfile)!="n.offspring")]
- ;warning("The number of offspring must be a whole number!\n",immediate.=TRUE)
+
+ #######################################################
+ # ! I, Number of offspring in the sample
+ #######################################################
+ while(length(colonyfile$n.offspring)==0){
+ cat("Enter number of offspring in the sample.\n\n\n")
+ colonyfile$n.offspring<-as.numeric(scan(n=1,what="integer"))
+ write(paste(colonyfile$n.offspring,"! I, Number of offspring in the sample"),name,append=TRUE)
+
+ if(length(colonyfile$n.offspring)!=0){
+ #Whole number warning
+ if(is.whole(colonyfile$n.offspring)==FALSE){
+ flush.console()
+ colonyfile<-colonyfile[which(names(colonyfile)!="n.offspring")]
+ ;warning("The number of offspring must be a whole number!\n",immediate.=TRUE)
}
}
}
-
-
-#######################################################
-# ! I, Number of loci
-#######################################################
-while(length(colonyfile$n.loci)==0){
- cat("Enter number of loci.\n\n\n")
- colonyfile$n.loci<-as.numeric(scan(n=1,what="integer"))
- write(paste(colonyfile$n.loci,"! I, Number of loci"),name,append=TRUE)
- if(length(colonyfile$n.loci)!=0){
- #Whole number warning
- if(is.whole(colonyfile$n.loci)==FALSE){
- flush.console()
- colonyfile<-colonyfile[which(names(colonyfile)!="n.loci")]
- ;warning("The number of loci must be a whole number!\n",immediate.=TRUE)
+
+ #######################################################
+ # ! I, Number of loci
+ #######################################################
+ while(length(colonyfile$n.loci)==0){
+ cat("Enter number of loci.\n\n\n")
+ colonyfile$n.loci<-as.numeric(scan(n=1,what="integer"))
+ write(paste(colonyfile$n.loci,"! I, Number of loci"),name,append=TRUE)
+
+ if(length(colonyfile$n.loci)!=0){
+ #Whole number warning
+ if(is.whole(colonyfile$n.loci)==FALSE){
+ flush.console()
+ colonyfile<-colonyfile[which(names(colonyfile)!="n.loci")]
+ ;warning("The number of loci must be a whole number!\n",immediate.=TRUE)
}
}
}
-
-#######################################################
-# ! I, Seed for random number generator
-#######################################################
-while(length(colonyfile$rseed)==0){
- cat("Enter seed for random number generator.\n\n\n")
- colonyfile$rseed<-as.numeric(scan(n=1,what="integer"))
- write(paste(colonyfile$rseed,"! I, Seed for random number generator"),name,append=TRUE)
+
+ #######################################################
+ # ! I, Seed for random number generator
+ #######################################################
+ while(length(colonyfile$rseed)==0){
+ cat("Enter seed for random number generator.\n\n\n")
+ colonyfile$rseed<-as.numeric(scan(n=1,what="integer"))
+ write(paste(colonyfile$rseed,"! I, Seed for random number generator"),name,append=TRUE)
}
-
-#######################################################
-# ! B, 0/1=Not updating/updating allele frequency
-#######################################################
-cat("Should allele frequency be updated?\n\n\n")
-switch(menu(c("Not updating allele frequency", "Updating allele frequency")) + 1, cat("Nothing done\n\n\n"), colonyfile$updateallelefreq<-0, colonyfile$updateallelefreq<-1)
-write(paste(colonyfile$updateallelefreq,"! B, 0/1=Not updating/updating allele frequency"),name,append=TRUE)
-
-
-#######################################################
-# ! 2/1=Dioecious/Monoecious
-#######################################################
-cat("What kind of species is it?\nSee help for definitions.\n\n")
-switch(menu(c("Dioecious species", "Monoecious species")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$diomonoecy<-2, colonyfile$diomonoecy<-1)
-write(paste(colonyfile$diomonoecy,"! 2/1=Dioecious/Monoecious"),name,append=TRUE)
-
-#######################################################
-# ! B, 0/1=Diploid species/HaploDiploid species
-#######################################################
-cat("What kind of species is it?\nSee help for definitions.\n\n")
-switch(menu(c("Diploid species", "HaploDiploid species")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$ploidy<-0, colonyfile$ploidy<-1)
-write(paste(colonyfile$ploidy,"! B, 0/1=Diploid species/HaploDiploid species"),name,append=TRUE)
-
-#######################################################
-# ! B, 0/1=Polygamy/Monogamy for males & females
-#######################################################
-cat("Are males monogamous or polygamous?\nSee help for definitions.\n\n")
-switch(menu(c("Males monogamous", "Males polygamous")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$malepolygamy<-1, colonyfile$malepolygamy<-0)
-
-cat("Are females monogamous or polygamous?\nSee help for definitions.\n\n")
-switch(menu(c("Females monogamous", "Females polygamous")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$femalepolygamy<-1, colonyfile$femalepolygamy<-0)
-write(paste(colonyfile$malepolygamy,colonyfile$femalepolygamy,"! B, 0/1=Polygamy/Monogamy for males & females"),name,append=TRUE)
-
-#######################################################
-# ! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size
-#######################################################
-cat("Use sibship prior?\n\n\n")
-switch(menu(c("Yes", "No")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$sibship.prior<-1, colonyfile$sibship.prior<-0)
-
-if(colonyfile$sibship.prior==0){
- colonyfile$sibship.prior.paternal<-0
- colonyfile$sibship.prior.maternal<-0
-write(paste(colonyfile$sibship.prior,colonyfile$sibship.prior.paternal,colonyfile$sibship.prior.maternal,"! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size"),name,append=TRUE)
- }else{
-
-while(length(colonyfile$sibship.prior.paternal)==0){
-cat("Enter the paternal sibship size (number of sibships).\n\n\n")
-colonyfile$sibship.prior.paternal<-as.numeric(scan(n=1,what="integer"))}
-
-while(length(colonyfile$sibship.prior.maternal)==0){
-cat("Enter the maternal sibship size (number of sibships).\n\n\n")
-colonyfile$sibship.prior.maternal<-as.numeric(scan(n=1,what="integer"))}
-write(paste(colonyfile$sibship.prior,colonyfile$sibship.prior.paternal,colonyfile$sibship.prior.maternal,"! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size"),name,append=TRUE)
-}
-
-#######################################################
-# ! B, 0/1=Unknown/Known population allele frequency
-#######################################################
-cat("Unknown/Known population allele frequency?\n\n\n")
-switch(menu(c("Unknown", "Known")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$knownAFreq<-0, colonyfile$knownAFreq<-1)
-
-write(paste(colonyfile$knownAFreq,"! B, 0/1=Unknown/Known population allele frequency\n"),name,append=TRUE)
-
-if(colonyfile$knownAFreq==1){
-while(length(colonyfile$AlleleFreqPATH)==0){
-cat("Select the ALLELE FREQUENCY file.\n\n\n")
-Sys.sleep(.2)
-flush.console()
-colonyfile$AlleleFreqPATH<-file.choose()
-colonyfile$delim.for.allele.freq<-","
-colonyfile$allele.frequency<-read.table(colonyfile$AlleleFreqPATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.allele.freq,fill=TRUE,flush=TRUE,na.string="",col.names=1:max(count.fields(colonyfile$AlleleFreqPATH)))
-flush.console()
-}
-
-
-
-x<-count.fields(colonyfile$AlleleFreqPATH)[seq(2,length(count.fields(colonyfile$AlleleFreqPATH)),2)]
-x<-paste(paste(x,collapse=" "),"!Number of alleles per locus",collapse=" ")
-
-write.table(x,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE,na="")
-write.table(colonyfile$allele.frequency,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE,na="")
-write("\n",name,append=TRUE)
-
-}
-
-
-
-
-
-#######################################################
-# ! I, Number of runs
-#######################################################
-while(length(colonyfile$n.runs)==0){
-cat("Number of runs.\n\n\n")
-colonyfile$n.runs<-as.numeric(scan(n=1,what="integer"))
-write(paste(colonyfile$n.runs,"! I, Number of runs"),name,append=TRUE)
-
-if(length(colonyfile$n.runs)!=0){
-#Whole number warning
-if(is.whole(colonyfile$n.runs)==FALSE){
-flush.console()
-colonyfile<-colonyfile[which(names(colonyfile)!="n.runs")]
-;warning("The number of runs must be a whole number!\n",immediate.=TRUE)}}
-
-}
-
-#######################################################
-# ! I, Length of Run (1, 2, 3) = (Short, Medium, Long)
-#######################################################
-while(length(colonyfile$runlength)==0){
- cat("Length of run?\n\n\n")
- switch(menu(c("Short", "Medium","Long")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$runlength<-1, colonyfile$runlength<-2, colonyfile$runlength<-3)
- write(paste(colonyfile$runlength,"! I, Length of Run (1, 2, 3) = (Short, Medium, Long)"),name,append=TRUE)
+
+ #######################################################
+ # ! B, 0/1=Not updating/updating allele frequency
+ #######################################################
+ cat("Should allele frequency be updated?\n\n\n")
+ switch(menu(c("Not updating allele frequency", "Updating allele frequency")) + 1, cat("Nothing done\n\n\n"), colonyfile$updateallelefreq<-0, colonyfile$updateallelefreq<-1)
+ write(paste(colonyfile$updateallelefreq,"! B, 0/1=Not updating/updating allele frequency"),name,append=TRUE)
+
+
+ #######################################################
+ # ! 2/1=Dioecious/Monoecious
+ #######################################################
+ cat("What kind of species is it?\nSee help for definitions.\n\n")
+ switch(menu(c("Dioecious species", "Monoecious species")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$diomonoecy<-2, colonyfile$diomonoecy<-1)
+ write(paste(colonyfile$diomonoecy,"! 2/1=Dioecious/Monoecious"),name,append=TRUE)
+
+ #######################################################
+ # ! B, 0/1=Diploid species/HaploDiploid species
+ #######################################################
+ cat("What kind of species is it?\nSee help for definitions.\n\n")
+ switch(menu(c("Diploid species", "HaploDiploid species")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$ploidy<-0, colonyfile$ploidy<-1)
+ write(paste(colonyfile$ploidy,"! B, 0/1=Diploid species/HaploDiploid species"),name,append=TRUE)
+
+ #######################################################
+ # ! B, 0/1=Polygamy/Monogamy for males & females
+ #######################################################
+ cat("Are males monogamous or polygamous?\nSee help for definitions.\n\n")
+ switch(menu(c("Males monogamous", "Males polygamous")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$malepolygamy<-1, colonyfile$malepolygamy<-0)
+
+ cat("Are females monogamous or polygamous?\nSee help for definitions.\n\n")
+ switch(menu(c("Females monogamous", "Females polygamous")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$femalepolygamy<-1, colonyfile$femalepolygamy<-0)
+ write(paste(colonyfile$malepolygamy,colonyfile$femalepolygamy,"! B, 0/1=Polygamy/Monogamy for males & females"),name,append=TRUE)
+
+ #######################################################
+ # ! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size
+ #######################################################
+ cat("Use sibship prior?\n\n\n")
+ switch(menu(c("Yes", "No")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$sibship.prior<-1, colonyfile$sibship.prior<-0)
+
+ if(colonyfile$sibship.prior==0){
+ colonyfile$sibship.prior.paternal<-0
+ colonyfile$sibship.prior.maternal<-0
+ write(paste(colonyfile$sibship.prior,colonyfile$sibship.prior.paternal,colonyfile$sibship.prior.maternal,"! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size"),name,append=TRUE)
+ }else{
+
+ while(length(colonyfile$sibship.prior.paternal)==0){
+ cat("Enter the paternal sibship size (number of sibships).\n\n\n")
+ colonyfile$sibship.prior.paternal<-as.numeric(scan(n=1,what="integer"))}
+
+ while(length(colonyfile$sibship.prior.maternal)==0){
+ cat("Enter the maternal sibship size (number of sibships).\n\n\n")
+ colonyfile$sibship.prior.maternal<-as.numeric(scan(n=1,what="integer"))}
+ write(paste(colonyfile$sibship.prior,colonyfile$sibship.prior.paternal,colonyfile$sibship.prior.maternal,"! B,R,R : Use sibship prior, Y/N=1/0. If Yes, give mean paternal, maternal sibship size"),name,append=TRUE)
}
-
-#######################################################
-# ! B, 0/1=Monitor method by Iterate#/Time in second
-#######################################################
-cat("Monitor method by Iterate/Time in second?\n\n\n")
-switch(menu(c("Monitor by iterate", "Monitor by time in seconds")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$monitortype<-0, colonyfile$monitortype<-1)
-write(paste(colonyfile$monitortype,"! B, 0/1=Monitor method by Iterate#/Time in second"),name,append=TRUE)
-
-#######################################################
-# ! I, Monitor interval in Iterate#/Seconds
-#######################################################
-while(length(colonyfile$interval)==0){
- cat("Monitor interval (in iterate number or seconds) depending on how you have chosen to monitor progress.\n\n\n")
- colonyfile$interval<-as.numeric(scan(n=1,what="integer"))
- write(paste(format(colonyfile$interval,scientific=F),"! I, Monitor interval in Iterate#/Seconds"),name,append=TRUE)
+
+ #######################################################
+ # ! B, 0/1=Unknown/Known population allele frequency
+ #######################################################
+ cat("Unknown/Known population allele frequency?\n\n\n")
+ switch(menu(c("Unknown", "Known")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$knownAFreq<-0, colonyfile$knownAFreq<-1)
+
+ write(paste(colonyfile$knownAFreq,"! B, 0/1=Unknown/Known population allele frequency\n"),name,append=TRUE)
+
+ if(colonyfile$knownAFreq==1){
+ while(length(colonyfile$AlleleFreqPATH)==0){
+ cat("Select the ALLELE FREQUENCY file.\n\n\n")
+ Sys.sleep(.2)
+ flush.console()
+ colonyfile$AlleleFreqPATH<-file.choose()
+ colonyfile$delim.for.allele.freq<-""
+ colonyfile$allele.frequency<-read.table(colonyfile$AlleleFreqPATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.allele.freq,fill=TRUE,flush=TRUE,na.string="",col.names=1:max(count.fields(colonyfile$AlleleFreqPATH)))
+ flush.console()
+ }
+
+
+
+ x<-count.fields(colonyfile$AlleleFreqPATH)[seq(2,length(count.fields(colonyfile$AlleleFreqPATH)),2)]
+ x<-paste(paste(x,collapse=" "),"!Number of alleles per locus",collapse=" ")
+
+ write.table(x,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE,na="")
+ write.table(colonyfile$allele.frequency,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE,na="")
+ write("\n",name,append=TRUE)
+
}
-
-#######################################################
-# ! B, 0/1=Other platform/Windows execution
-#######################################################
-cat("What platform is this to be executed on?\n\n\n")
-switch(menu(c("Microsoft Windows system", "Other system (e.g. Mac/Unix)")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$sys<-1, colonyfile$sys<-0)
-write(paste(colonyfile$sys,"! B, 0/1=Other platform/Windows execution"),name,append=TRUE)
-
-#######################################################
-# ! 1/0=Full-likelihood/pair-likelihood score method
-#######################################################
-cat("Which likelihood method should be used?\n\n\n")
-switch(menu(c("Full likelihood", "Pairwise likelihood")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$likelihood.method<-1, colonyfile$likelihood.method<-0)
-write(paste(colonyfile$likelihood.method,"! 1/0=Full-likelihood/pair-likelihood score method"),name,append=TRUE)
-
-#######################################################
-# ! 1/2/3=low/medium/high precision
-#######################################################
-cat("What level of precision should be used?\n\n\n")
-switch(menu(c("Low", "Medium","High")) + 1,
- cat("Nothing done\n\n\n"), colonyfile$precision<-1, colonyfile$precision<-2, colonyfile$precision<-3)
-write(paste(colonyfile$precision,"! 1/2/3=low/medium/high precision"),name,append=TRUE)
-
-write("\n",name,append=TRUE)
-
-#######################################################
-#Marker file import
-#######################################################
-
-#Give the path to the marker types and error rate file. This should be a file with a number of columns equal to the number of markers used.
-#There should be 4 rows, 1) marker ID, 2) marker type, 3) marker specific allelic dropout rate, 4) marker specific other typing error rate.
-
-while(length(colonyfile$MarkerPATH)==0){
- cat("Provide the path to the Marker Types and Error Rate file.\n\n\n");Sys.sleep(.5)
- flush.console()
- colonyfile$MarkerPATH<-file.choose()
-
- colonyfile$delim.for.markers<-","
-
- colonyfile$Markers<-read.table(colonyfile$MarkerPATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.markers)
-
- flush.console()
-
- if(colonyfile$n.loci!=dim(colonyfile$Markers)[2]){colonyfile<-colonyfile[which(names(colonyfile)!="MarkerPATH")]
- ;warning(paste("The number of defined loci ","(", colonyfile$n.loci,") does not equal the number of markers provided in the file selected (", dim(colonyfile$Markers)[2],").\n\n",sep=""),immediate.=TRUE)}
+
+
+
+
+
+ #######################################################
+ # ! I, Number of runs
+ #######################################################
+ while(length(colonyfile$n.runs)==0){
+ cat("Number of runs.\n\n\n")
+ colonyfile$n.runs<-as.numeric(scan(n=1,what="integer"))
+ write(paste(colonyfile$n.runs,"! I, Number of runs"),name,append=TRUE)
+
+ if(length(colonyfile$n.runs)!=0){
+ #Whole number warning
+ if(is.whole(colonyfile$n.runs)==FALSE){
+ flush.console()
+ colonyfile<-colonyfile[which(names(colonyfile)!="n.runs")]
+ ;warning("The number of runs must be a whole number!\n",immediate.=TRUE)}}
+
}
-
-colonyfile$Markers[,1+dim(colonyfile$Markers)[2]]<-c("!Marker IDs","!Marker types, 0/1=Codominant/Dominant","!Marker-specific allelic dropout rate","!Other marker-specific typing-error rate")
-write.table(colonyfile$Markers,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
-write("\n",name,append=TRUE)
-
-
-#######################################################
-#Offspring genotype import
-#######################################################
-
-#Give the path to the offpring ID and genotype file
-#This should have a first column giving the ID, then 2 columns for each locus (1 for each allele at that locus), at least for diploid species.
-#Therefore, with 4 loci, there should be 9 columns.
-
-cat("\nProvide the path to the offspringID and genotype file.\n\n\n")
-flush.console()
-
-while(length(colonyfile$OSGenotypePATH)==0){
- colonyfile$OSGenotypePATH<-file.choose()
-
- colonyfile$delim.for.OSGenotype<-","
-
-
- colonyfile$Offspring<-read.table(colonyfile$OSGenotypePATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.OSGenotype)
- if(colonyfile$n.offspring!=dim(colonyfile$Offspring)[1]){
- colonyfile<-colonyfile[which(names(colonyfile)!="OSGenotypePATH")];
- flush.console();
- warning(paste("The number of defined offspring ","(", colonyfile$n.offspring,") does not equal the number of offspring provided in the file selected (", dim(colonyfile$Offspring)[1],").\n\n",sep=""),immediate.=TRUE)
+ #######################################################
+ # ! I, Length of Run (1, 2, 3) = (Short, Medium, Long)
+ #######################################################
+ while(length(colonyfile$runlength)==0){
+ cat("Length of run?\n\n\n")
+ switch(menu(c("Short", "Medium","Long")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$runlength<-1, colonyfile$runlength<-2, colonyfile$runlength<-3)
+ write(paste(colonyfile$runlength,"! I, Length of Run (1, 2, 3) = (Short, Medium, Long)"),name,append=TRUE)
}
-
- fileloci<-(dim(colonyfile$Offspring)[2]-1)/2
- if(colonyfile$ploidy==0){if((colonyfile$n.loci)!=fileloci){
- colonyfile<-colonyfile[which(names(colonyfile)!="OSGenotypePATH")];
- flush.console();
- warning(paste("The number of defined loci ","(", colonyfile$n.loci,") does not appear to equal the number of loci provided in the file selected (", fileloci,").\n\n",sep=""),immediate.=TRUE)}
-}
-}
-
-colonyfile$Offspring[,1+dim(colonyfile$Offspring)[2]]<-c("!Offspring ID and genotypes",rep("",dim(colonyfile$Offspring)[1]-1))
-write.table(colonyfile$Offspring,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
-write("",name,append=TRUE)
-
-######################################################
-#Sampling of candidate parents
-######################################################
-
-
-#######################################################
-#FATHERS - probability of inclusion in candidate set
-#######################################################
-while(length(colonyfile$fatherprob)==0){
- cat("What is the probability that the FATHER of an offpring is included in the candidate set?\n\n\n E.g. 0.5\n\n\n")
- colonyfile$fatherprob<-as.numeric(scan(n=1,what="integer"))
- if(colonyfile$fatherprob>1){
+
+ #######################################################
+ # ! B, 0/1=Monitor method by Iterate#/Time in second
+ #######################################################
+ cat("Monitor method by Iterate/Time in second?\n\n\n")
+ switch(menu(c("Monitor by iterate", "Monitor by time in seconds")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$monitortype<-0, colonyfile$monitortype<-1)
+ write(paste(colonyfile$monitortype,"! B, 0/1=Monitor method by Iterate#/Time in second"),name,append=TRUE)
+
+ #######################################################
+ # ! I, Monitor interval in Iterate#/Seconds
+ #######################################################
+ while(length(colonyfile$interval)==0){
+ cat("Monitor interval (in iterate number or seconds) depending on how you have chosen to monitor progress.\n\n\n")
+ colonyfile$interval<-as.numeric(scan(n=1,what="integer"))
+ write(paste(format(colonyfile$interval,scientific=F),"! I, Monitor interval in Iterate#/Seconds"),name,append=TRUE)
+ }
+
+ #######################################################
+ # ! B, 0/1=Other platform/Windows execution
+ #######################################################
+ cat("What platform is this to be executed on?\n\n\n")
+ switch(menu(c("Microsoft Windows system", "Other system (e.g. Mac/Unix)")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$sys<-1, colonyfile$sys<-0)
+ write(paste(colonyfile$sys,"! B, 0/1=Other platform/Windows execution"),name,append=TRUE)
+
+ #######################################################
+ # ! 1/0=Full-likelihood/pair-likelihood score method
+ #######################################################
+ cat("Which likelihood method should be used?\n\n\n")
+ switch(menu(c("Full likelihood", "Pairwise likelihood")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$likelihood.method<-1, colonyfile$likelihood.method<-0)
+ write(paste(colonyfile$likelihood.method,"! 1/0=Full-likelihood/pair-likelihood score method"),name,append=TRUE)
+
+ #######################################################
+ # ! 1/2/3=low/medium/high precision
+ #######################################################
+ cat("What level of precision should be used?\n\n\n")
+ switch(menu(c("Low", "Medium","High")) + 1,
+ cat("Nothing done\n\n\n"), colonyfile$precision<-1, colonyfile$precision<-2, colonyfile$precision<-3)
+ write(paste(colonyfile$precision,"! 1/2/3=low/medium/high precision"),name,append=TRUE)
+
+ write("\n",name,append=TRUE)
+
+ #######################################################
+ #Marker file import
+ #######################################################
+
+ #Give the path to the marker types and error rate file. This should be a file with a number of columns equal to the number of markers used.
+ #There should be 4 rows, 1) marker ID, 2) marker type, 3) marker specific allelic dropout rate, 4) marker specific other typing error rate.
+
+ while(length(colonyfile$MarkerPATH)==0){
+ cat("Provide the path to the Marker Types and Error Rate file.\n\n\n");Sys.sleep(.5)
flush.console()
- cat("Probabilities must be less than or equal to 1.\n")
- colonyfile<-colonyfile[which(names(colonyfile)!="fatherprob")]
+ colonyfile$MarkerPATH<-file.choose()
+
+ colonyfile$delim.for.markers<-""
+
+ colonyfile$Markers<-read.table(colonyfile$MarkerPATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.markers)
+
+ flush.console()
+
+ if(colonyfile$n.loci!=dim(colonyfile$Markers)[2]){colonyfile<-colonyfile[which(names(colonyfile)!="MarkerPATH")]
+ ;warning(paste("The number of defined loci ","(", colonyfile$n.loci,") does not equal the number of markers provided in the file selected (", dim(colonyfile$Markers)[2],").\n\n",sep=""),immediate.=TRUE)}
+ }
+
+ colonyfile$Markers[,1+dim(colonyfile$Markers)[2]]<-c("!Marker IDs","!Marker types, 0/1=Codominant/Dominant","!Marker-specific allelic dropout rate","!Other marker-specific typing-error rate")
+ write.table(colonyfile$Markers,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
+ write("\n",name,append=TRUE)
+
+
+ #######################################################
+ #Offspring genotype import
+ #######################################################
+
+ #Give the path to the offpring ID and genotype file
+ #This should have a first column giving the ID, then 2 columns for each locus (1 for each allele at that locus), at least for diploid species.
+ #Therefore, with 4 loci, there should be 9 columns.
+
+ cat("\nProvide the path to the offspringID and genotype file.\n\n\n")
+ flush.console()
+
+ while(length(colonyfile$OSGenotypePATH)==0){
+ colonyfile$OSGenotypePATH<-file.choose()
+
+
+ colonyfile$delim.for.OSGenotype<-""
+
+
+ colonyfile$Offspring<-read.table(colonyfile$OSGenotypePATH,header=FALSE,colClasses=c("character"),sep=colonyfile$delim.for.OSGenotype)
+ if(colonyfile$n.offspring!=dim(colonyfile$Offspring)[1]){
+ colonyfile<-colonyfile[which(names(colonyfile)!="OSGenotypePATH")];
+ flush.console();
+ warning(paste("The number of defined offspring ","(", colonyfile$n.offspring,") does not equal the number of offspring provided in the file selected (", dim(colonyfile$Offspring)[1],").\n\n",sep=""),immediate.=TRUE)
}
+
+ fileloci<-(dim(colonyfile$Offspring)[2]-1)/2
+ if(colonyfile$ploidy==0){if((colonyfile$n.loci)!=fileloci){
+ colonyfile<-colonyfile[which(names(colonyfile)!="OSGenotypePATH")];
+ flush.console();
+ warning(paste("The number of defined loci ","(", colonyfile$n.loci,") does not appear to equal the number of loci provided in the file selected (", fileloci,").\n\n",sep=""),immediate.=TRUE)}
+ }
}
-
-#######################################################
-#Number of candidate fathers
-#######################################################
-while(length(colonyfile$n.father)==0){
- cat("How many candidate FATHERS are there?\n\n\n")
- colonyfile$n.father<-as.numeric(scan(n=1,what="integer"))
- if(length(colonyfile$n.father)!=0){
- #Whole number warning
- if(is.whole(colonyfile$n.father)==FALSE){
+ colonyfile$Offspring[,1+dim(colonyfile$Offspring)[2]]<-c("!Offspring ID and genotypes",rep("",dim(colonyfile$Offspring)[1]-1))
+ write.table(colonyfile$Offspring,name,append=TRUE,quote=FALSE,row.names=FALSE,col.names=FALSE)
+ write("",name,append=TRUE)
+
+ ######################################################
+ #Sampling of candidate parents
+ ######################################################
+
+
+ #######################################################
+ #FATHERS - probability of inclusion in candidate set
+ #######################################################
+ while(length(colonyfile$fatherprob)==0){
+ cat("What is the probability that the FATHER of an offpring is included in the candidate set?\n\n\n E.g. 0.5\n\n\n")
+ colonyfile$fatherprob<-as.numeric(scan(n=1,what="integer"))
+ if(colonyfile$fatherprob>1){
flush.console()
- colonyfile<-colonyfile[which(names(colonyfile)!="n.fathers")]
- ;warning("The number of fathers must be a whole number!\n",immediate.=TRUE)
+ cat("Probabilities must be less than or equal to 1.\n")
+ colonyfile<-colonyfile[which(names(colonyfile)!="fatherprob")]
}
- }
-}
-
-#######################################################
-#Import candidate FATHERS file
-#######################################################
-if(colonyfile$n.father!=0){
-while(length(colonyfile$fathersPATH)==0){
-cat("Provide the path to the candidate FATHERS file.\n\n\n")
-flush.console()
-colonyfile$fathersPATH<-file.choose()
-
-colonyfile$delim.for.fathers<-","
-
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/rcolony -r 74
More information about the Rcolony-commits
mailing list