## A JS-EDEN animation of the Life Cycle of the Malaria Parasite at ## http://www.niaid.nih.gov/topics/malaria/pages/lifecycle.aspx NIAID is Div("LifeCycle", 11, 10, 575,567, ""); highlight is Div("highlight", locx, locy, width, height, "", "background-color: transparent; border-style: solid; border-color : white"); locx3 = 15; locy3 = 180; height3 = 200; width3 = 270; locx4 = 190; locy4 = 50; height4 = 180; width4 = 270; locx2 = 50; locy2 = 340; height2 = 227; width2 = 250; locx1 = 290; locy1 = 350; height1 = 215; width1 = 155; locx6 = 390; locy6= 395; height6 = 150; width6 = 188; locx5 = 402; locy5 = 125; height5 = 300; width5 = 174; alllocx is [locx1, locx2, locx3, locx4, locx5, locx6]; alllocy is [locy1, locy2, locy3, locy4, locy5, locy6]; allheight is [height1, height2, height3, height4, height5, height6]; allwidth is [width1, width2, width3, width4, width5, width6]; stage = 1; locx is alllocx[stage]; locy is alllocy[stage]; height is allheight[stage]; width is allwidth[stage]; col1 is (stage==1) ? "red" : "black"; col2 is (stage==2) ? "red" : "black"; col3 is (stage==3) ? "red" : "black"; col4 is (stage==4) ? "red" : "black"; col5 is (stage==5) ? "red" : "black"; col6 is (stage==6) ? "red" : "black"; NIAIDtext is Div("description", 610,10, 440,300, "

Source: http://www.niaid.nih.gov/

  1. A female Anopheles mosquito carrying malaria-causing parasites feeds on a human and injects the parasites in the form of sporozoites into the bloodstream. The sporozoites travel to the liver and invade liver cells.
  2. Over 5-16 days*, the sporozoites grow, divide, and produce tens of thousands of haploid forms, called merozoites, per liver cell. Some malaria parasite species remain dormant for extended periods in the liver, causing relapses weeks or months later.
  3. The merozoites exit the liver cells and re-enter the bloodstream, beginning a cycle of invasion of red blood cells, asexual replication, and release of newly formed merozoites from the red blood cells repeatedly over 1-3 days*. This multiplication can result in thousands of parasite-infected cells in the host bloodstream, leading to illness and complications of malaria that can last for months if not treated.
  4. Some of the merozoite-infected blood cells leave the cycle of asexual multiplication. Instead of replicating, the merozoites in these cells develop into sexual forms of the parasite, called male and female gametocytes, that circulate in the bloodstream.
  5. When a mosquito bites an infected human, it ingests the gametocytes. In the mosquito gut, the infected human blood cells burst, releasing the gametocytes, which develop further into mature sex cells called gametes. Male and female gametes fuse to form diploid zygotes, which develop into actively moving ookinetes that burrow into the mosquito midgut wall and form oocysts.
  6. Growth and division of each oocyst produces thousands of active haploid forms called sporozoites. After 8-15 days*, the oocyst bursts, releasing sporozoites into the body cavity of the mosquito, from which they travel to and invade the mosquito salivary glands. The cycle of human infection re-starts when the mosquito takes a blood meal, injecting the sporozoites from its salivary glands into the human bloodstream .
"); ## stagepos may be heavily dependent on how the html for NIAID text gets to be laid out ## this may in turn depend upon screen size and resolution? introduce magfact to give some control ## stagepos = [60, 100, 166, 257, 330, 419, 460]; ## stagepos = [62, 128, 190, 290, 354, 449, 460]; magfact = 1.0; ## stagepos is [62*magfact,128*magfact,190*magfact,290*magfact,354*magfact,449*magfact,460*magfact]; ## the value I'm using here has been determined totally by experiment ... relation between mouseY and y-coordinate of circle c1 quite obscure! stagepos is [95*magfact,163*magfact,243*magfact,330*magfact,415*magfact,524*magfact,631*magfact]; func calcstage { para mouseypos; auto i, result; result = 1; if ((mouseypos>stagepos[1])&&(mouseypos<=stagepos[2])) result=1; if ((mouseypos>stagepos[2])&&(mouseypos<=stagepos[3])) result=2; if ((mouseypos>stagepos[3])&&(mouseypos<=stagepos[4])) result=3; if ((mouseypos>stagepos[4])&&(mouseypos<=stagepos[5])) result=4; if ((mouseypos>stagepos[5])&&(mouseypos<=stagepos[6])) result=5; if ((mouseypos>stagepos[6])&&(mouseypos<=stagepos[7])) result=6; return result; } stage is calcstage(mouseY); selectcol = "lightblue"; highlightcol = "blue"; selectline is Line(595,stagepos[1]+2, 595, stagepos[6]+2, selectcol); selectcol1 is (stage==1) ? highlightcol : selectcol; selectcol2 is (stage==2) ? highlightcol : selectcol; selectcol3 is (stage==3) ? highlightcol : selectcol; selectcol4 is (stage==4) ? highlightcol : selectcol; selectcol5 is (stage==5) ? highlightcol : selectcol; selectcol6 is (stage==6) ? highlightcol : selectcol; c1 is Circle(595, stagepos[1]+2, 4, selectcol, selectcol1); c2 is Circle(595, stagepos[2]+2, 4, selectcol, selectcol2); c3 is Circle(595, stagepos[3]+2, 4, selectcol, selectcol3); c4 is Circle(595, stagepos[4]+2, 4, selectcol, selectcol4); c5 is Circle(595, stagepos[5]+2, 4, selectcol, selectcol5); c6 is Circle(595, stagepos[6]+2, 4, selectcol, selectcol6); picture is []; picture is [NIAIDtext, NIAID, highlight, selectline, c1, c2, c3, c4, c5, c6];