% Preamble: Sets up General Parameters which are Global \documentclass[12pt]{article} \usepackage{doublespace, fullpage} \usepackage{epsfig} \usepackage{wrapfig} \pagenumbering{arabic} % Body: Main Document \begin{document} \title{A Study of the Parasitic Bacteria Wolbachia} \author{A. Chin} \maketitle \section{Abstract} \par This document chronicles the progress made on a research project throughout the year. The research centered on making a simulation of a population and modifying this population according to the effects of the parasitic bacteria Wolbachia. Modifiying factors included types of Wolbachia, types of organisms, and environmental factors. \end{Abstract} \pagebreak \section{Introduction} \par The bacteria Wolbachia has startling effects on many types of insects. It interests many researchers, however, there is no one resource where they can find and manipulate data easily. In order to address this problem, we have designed a computer simulation in which anyone can choose the type of species being affected, as well as other variables. In this way, the user will be able to analyze Wolbachia's effects on various species with much more ease. \end{Introduction} \pagebreak \section{Background} \par Wolbachia itself is a gram-negative bacteria. It causes inherited infections in different types of animals, including insects and other types of invertebrates. Wolbachia, although not well-known beyond the scientific community, is very common in insects, with between a 20 and 75 percent infection rate. To date, the host population of Wolbachia is not completely known. Wolbachia's unique biology has raised any number of questions, including that of its role in evolution, and implications for pest and disease control. (National Science Foundation) \par Wolbachia has drastic effects on many species; these effects include embryonic lethality caused by genetic incompatibility and feminization of males. Genetic incompatability is defined as the inability of certain organisms to reproduce, especially in matings between infected males and females that are either uninfected or harbour a different infection type. Feminization refers to one effect of Wolbachia, that is, the fact that the offspring of organisms is uncommonly more likely to be a female than a male. (Dobson) \par It has been recently discovered that Wolbachia is present in a wide variety of arthropods, including at least six orders of insects and five of isopod crustaceans. A study was done on over six hundred species of insects in Central America, and infections were found in over 15% of those. This research belies the fact that Wolbachia infections are not rare, and the number of infected species may be increasing. (Karr) \par Some of the most extensive research has been done on the species "Culex pipiens" or the common house mosquito. After the initial discovery of CI in this species, the potential for insect control or eradication was made apparent. In the beginning of scientific research into this study, field tests were carried out in which cytoplasmically incompatible males were released. These tests were successful in showing a suppression of Culex pipiens populations, however, the tests were stopped due to political issues. In addition, the scientific community argued that the tests were impractical, because only incompatible males could be released - no females could become part of the infected population. If they were accidentally included, the type of Wolbachia infection would eventually become part of the population, through reproduction. After this point, the efficacy of new male releases would decline due to the spread of the infection through the population. In other words, crosses between infected males and infected females would result in compatible matches, and continued reproduction. \par More recently, practical uses of Wolbachia-induced CI have be centered around population replacement strategies. In this area of research, Wolbachia would be used to insert certain desired characteristics into populations, in a process called cytoplasmic drive. It is also possible that population replacement strategies may be able to be used in host field populations that are naturally infected. However, this technique has not been used because of the fact that no one has been able to transform Wolbachia genetically. (Dobson) \par Currently, many researchers are looking into these effects, among others, and information is upcoming every day. \end{Background} \pagebreak \section{Theory} \par The developers of this project have acquired information from many of the most prominent researchers of Wolbachia. The majority of these researchers have developed formulas as to what occurred during their studies of Wolbachia. In theory, the simulations should follow these formulas as closely as possible. For example, in the article "Wolbachia-induced cytoplasmic incompatibility" by S.L. Dobson, et al., the probability of reproduction is based on: Female frequency * male frequency * (1 - maternal transmission failure rate) * Fecundity costs associated with infection * cytoplasmic incompatability survivorship = probability \par According to this equation, the probability of reproduction is based on various factors. Each of these factors was calibrated and calculated extensively during the real life research that has gone into Wolbachia. After researchers determined and reported, or published, the information on these factors that they have discovered, the information was available for use in the simulation. Each factor was programmed into the simulation in order to create the most accurate representation of a population and how it changes over each generation. \end{Theory} \pagebreak \section{Procedure} \par The results of the project will be measured after every generation of the simulation. The results are equal to the change in numbers of organisms. For example, the simulation will track the change in the number of infected organisms for each type of Wolbachia, and the change in the male to female ratio, among other data. \par Before the program is actually run, the user will enter the requisite data. The user will choose the following characterisitics of their simulation: \begin{enumerate} \item The number of different species \item Which species they would like \item The number of male and female organisms of each species \item The number of different Wolbachia strains \item Which strains of Wolbachia \item How many Wolbachia will be present to begin the simulation \item The number of organisms they want infected at the beginning of the simulation \item The environment in which the simulation will run \end{enumerate} If the user does not want to choose each characteristic of the simulation, there are also preset standards on which it will run. There are some characteristics that are required by the user, however. Basically, the only data required is the environment; each of these environments has a standard species that it will use to run a simulation. For every simulation, there will be 1,000 organisms at the beginning; this number was chosen completely arbitrarily. In addition, there will be 100 organisms infected; the number of organisms affected by each strain of Wolbachia is divided equally between them. For each group that is infected, there are an equal number of male and female organisms that is infected. \end{Procedure} \pagebreak \section{Development} \par Development on the simulation began with a general plan. This plan was changed multiple times throughout the course of the project. Originally, the following classes were going to be included in the program: user, wolbachia, host, population, and display. The user class was a link between the program itself and the user; the wolbachia class was going to include data about Wolbachia, each of the different species, for example; the host was to be each of the organisms that was infected with Wolbachia, including the type of Wolbachia in question and when it was infected; finally, the display was to be the link between this section of the project and the other developer's program. Eventually, however, this design was discarded in favor of another. \par During the period of time in which the design was being finalized, the developers also contacted prominent researchers who have studied Wolbachia. The following letter was sent: \par To Whom It May Concern: \par We are currently attending Thomas Jefferson High School for Science and Technology (TJHSST) in Alexandria, Virginia. During the course of this year, we have become interested in the bacteria Wolbachia and its effects on other organisms. Thus, we are planning on writing a computer program to simulate those effects. Hopefully this program will grow to incorporate both effects on individuals and effects on a population as a whole. \par Despite these future plans, we are still trying to finalize our ideas concerning the best course of action for our project. Any direct suggestions or guidance concerning it would be greatly appreciated. In addition, if you know of anyone else we can contact for assistance, we would be glad for this kind of help. Thank you in advance. Best regards, Alycia Chin and Sarah Hagan We received a response from some of the people that we contacted, and they agreed to provide information as needed. \pagebreak \par The simulation was finally created using a C++ compiler. It is based around three main classes: validator, calculator, and organism. These classes work in conjunction, with the validator acting as the interim between the user and the program, the calculator for creating the results, and the organism is the backbone of the program, that is modified after each iteration. \end{Development} \pagebreak \section{Bibliography} \begin{enumerate} \item Berkeley University "Bizarre parasite that kills male insects and disrupts insect sex lives is not all bad: it can make sterile fruit flies fertile again". (2003). [On-line]. Available http://www.berkeley.edu/news/media/releases/2002/07/03 \item Bordenstein, S.R., O'Hara, F.P & Werren, J.H. Wolbachia-induced incompatibility precedes other hybrid incompatibilities in Nasonia. \item Dobson, S.L., Fox, C.W. & Jiggins, F.M. (2002). The effect of Wolbachia-induced cytoplasmic incompatability on host population size in natural and manipulated systems. The Royal Society, Feb 2002. \item The Karr Lab, University of Chicago Department of Organismal Biology and Anatomy. (2003). Wolbachia-induced reproductive failure in Drosophila [On-line]. Available http://pondside.uchicago.edu/oba/Faculty/Karr/Lab/research.htm \item The National Science Foundation. (2003). Wolbachia [On-line]. Available http://www.wolbachia.sols.uq.edu.au/ \item "The role of Wolbachia bacteria in reproductive incompatibilities and hybrid zones of Diabrotica beetles and gryllus crickets" \item "Rescuing Wolbachia have been overlooked..." \item Wade, Michael J. "Infectious Speciation". \end{enumerate} \end{Bibliography} \pagebreak \section{Appendix} \begin{verbatim} Commented Code Samples: #include #include #include class organism { public: organism(); organism(int S, bool G, bool I); int isAge(); bool isInfected(); bool isGender(); void incAge(); void die(); void getInfected(); private: bool alive; // dead = 0, alive = 1 bool infected; // not infected = 0, infected = 1 bool gender; // male = 0, female = 1 int age; int species; }; organism::organism() : alive(1), age(1) {} organism::(int S, bool G, bool I) : species(S), gender(G), infected(I), age(1), alive(1) {} int organism::isAge() { return age; } bool organism::isInfected() { return infected; } bool organism::isGender() { return gender; } void organism::incAge() { age = age++; } void organism::die() { alive = false; } void organism::getInfected() { infected = true; } //--------------------------------- class info { public: info(); void initiateData(); private: int numSpecies; int numFields; int table[numSpecies][numFields]; //The table is set up basically with the different //species ordered down the table, and all of the //corresponding information across each row. //The data is in order of: //1. Maternal transmission failure rate //2. Fecundity costs associated with infection //3. Cytoplasmic Incompatability survivorship }; void info::initiateData() { int x; int y; istream infile("tableinfo.txt"); if(!infile) cout << "The read in has failed."; for (y = 0; y < numSpecies; y++) { for (x = 0; x < numFields; x++) //read in info } } //--------------------------------- class species { public: species(); species(int NO, int GR, int SN, int IR); void assignOrganisms(); void breed(); void addOrganism(); private: int speciesNum; int numOrganisms; int genderRatio; //male::female, value = male% int infectionRatio; //value = infected% organism allOrganisms[numOrganisms]; }; species::species() : numOrganisms(20), genderRatio(50), infectionRatio(50) {} species::species(int NO, int GR, int SN, int IR) : numOrganisms(NO), genderRatio(GR), speciesNum(SN), infectionRatio(IR) {} void species::assignOrganisms() { //This function converts the generalized numbers given about //the number of infected organisms, and the number of males //that the user gave, or that the computer generated //automatically, into actual organisms that are grouped //and stored together in a "Species" int x; int numMale = numOrganisms * genderRatio / 100; int numInf = numOrganisms * infectionRatio / 100; for (x = 0; x < numOrganisms; x++) { if (numMale > 0) { if (numInf > 0) organism z(speciesNum, false, true); else organism z(speciesNum, false, false); } else if (numInf > 0) organism z(speciesNum, true, true); else organism z(speciesNum, true, false); } } void species::breed() { //This function will change the makeup of the species //and all/some of the included organisms for each //generation //I am using the algorithm that was given to me by //Dr Dobson, in other words: //Female frequency * male frequency * (1 - maternal transmission failure rate) //* Fecundity costs associated with infection * cytoplasmic incompatability //survivorship = probability } void species::addOrganism() { numorganisms++; gender = rand(2); speciesNum = speciesNum + 1; } //--------------------------------- class calculator { public: void changeInRatio(); private: int prevMale; double prevMale; //male vs. female ratio int newMale; double newMale; }; void calculator::changeInRatio() { double change; change = newMale - prevMale; cout << "The change in the male ratio is: "; cout << change << "."; } //This class will have a vector of each //subspecies, and keep track of the data //of each, and compare it to the changes //of each generation... not sure about this //--------------------------------- class validator { public: validator(); bool checkInputs(int numOrg, int genRat); //0 = problem //1 = ok private: }; validator::validator() {} bool validator::checkInputs(int numOrg, int getRat) { if (getRat > 1) return false; return true; } //------------------------------- void inputData(species allSpecies[], int numSpecies); void addSpecies(species allSpecies[], int numSpecies); void inputData(species allSpecies[], int numSpecies) //This function will eventually //be modified to mesh with Sarah's //menus, so this is basically //just for testing before we //are able to put the two programs //together { int numOfSpecies; int speciesNum; int numOrganisms; int genRatio; int infRatio; int numGenerations; cout << "Number of species: "; cin >> numOfSpecies; numSpecies = numOfSpecies; while (numOfSpecies != 0) { cout << "Pick species: "; cin >> speciesNum; cout << "Number of organisms: "; cin >> numOrganisms; cout << "Male (in %): "; cin >> genRatio; cout << "Infected (in %): "; //Given with % of species //infected cin >> infRatio; species x(numOrganisms, genRatio, speciesNum, infRatio); allSpecies[speciesNum] = x; numOfSpecies = numOfSpecies - 1; } cout << "Number of generations: "; cin >> numGenerations; } void addSpecies(species allSpecies[], int numSpecies) { int speciesNum; int numOrganisms; int genRatio; int infRatio; numSpecies = allSpecies.length(); cout << "Pick species: "; cin >> speciesNum; cout << "Number of organisms: "; cin >> numOrganisms; cout << "Male (in %): "; cin >> genRatio; cout << "Infected (in %): "; cin >> infRatio; species x(numOrganisms, genRatio, speciesNum, infRatio); allSpecies[speciesNum] = x; } //------------------------------- int main() { int numSpecies = 10; int numGenerations; species allSpecies[numSpecies]; inputData(allSpecies[numSpecies], numSpecies); return 0; } \end{verbatim} \end{Appendix} \end{document}