Showing posts with label Science. Show all posts
Showing posts with label Science. Show all posts

Tuesday, July 20, 2010

Student activity at University of New Orleans

Today I visited the University of New Orleans in Second Life, where Stephen Gasior (SL Stephen Xootfly) showed off his student's work in Second Life. The assignment was to select an animal and in the space of a three panel display present information about the animal's natural history, classification and phylogeny and distribution. These students are in a non majors class and did a fine job with their assignment. So you might go on over to the University of New Orleans region and have a look. You can start your tour and get a map here:

http://maps.secondlife.com/secondlife/Louisiana%20Regents/53/60/25

But it's just as much fun to wonder around. Here are a few representative displays:





































I really liked how he kept the assignment simple and focused-no building was required of the students but they did have to design their own layouts. Steve brought in judges-yours truly was supposed to be one but of course misread the starting time.

Great job students!

Thursday, February 25, 2010

SLPro Conference Day 3 Invasion!

Just down the road from my project is this collection of marvelous insects made with scupted prims...and they are flyable according to the menu options. But I guess you have to be the owner to fly them.








The Dragonfly is spectacular!
















The builder by the way is Strat Inshan.

Tuesday, July 21, 2009

Mitosis I Wigglies



Animated and wiggly duplicated chromosomes (Reddish wormie things*) scripted to separate and behave as they do during anaphase. The green structures are the paired centrioles, the pink box when touched tells the sister chromatids...those are the wigglies... to separate into unduplicated chromosomes.

*notice the precise biological terminology in this post.

Lots of stuff: Part 1

Been busy teaching in first life this summer but also with Second Life as well. In about 2 weeks I in my first life presence as Paul Decelles will be giving a presentation on doing simulations in Second Life to the SIDLIT conference in Kansas City. My topic is Scientific Simulations in Virtual Worlds and I will cover some of the stuff I did on my sabbatical, lots of which is on this blog, and also discuss alternative virtual world systems for doing simulations.




Also, I am part of a group of Second Lifers working over at Nature Magazine's Second Life site at Elucian Omega associated with their Second Nature site. The idea is to have people share lab space to work on their own projects and by sharing space and working in close proximity hopefully the collaboration engendered will lead to greater productivity.

The group includes a bunch of really talented people including Max Chatnoir, whose Genome Island Site I have visited numerous times. Another really talented person doing some exciting work on visualizing proteins is Hiro Sheridan who does lots of really cook stuff on visualizing protein structure. We each have our own project areas, my project is to build a mitosis and meiosis simulation, something I have wanted to do, but it is a bit more complex than the other things I have done and so its only now do I have the background in scripting to attempt this.

Since we have people at different levels of Second Life experience, we are having some basic workshops to get us started. For instance the first week was basic building, given by Hiro. I don't know about the other participants, but I thought it is really valuable to see how another person explains Second Life.

In Second Life there are often several ways to ummm build a cat. So it is easy to get stuck in one way of doing things. For instance, when I duplicate an object I always do it from the pie menu and had forgotten about the little shift and drag trick, which is actually a lot easier. Another example: our first homework assignment is to build a chair and while I have done some building had not built my on chairs-just quickly slapping things together not not being too concerned with the llSitTarget function.




So this morning, I spent some time building a chair and using llSitTarget...and of course it needed a table, and a nice rug. The result is shown here. Now I can replace those lumpy cushions in my lab space!

Monday, May 11, 2009

Sabbatical Presentation

Last Thursday I gave my Sabbatical report on my Second Life activities this semester. It is only about 20 minutes long so it is really difficult to say and show everything one might want to show. The video was just posted today so if you want to see my take on what to say about Second Life in less than 20 minutes have a look at:

http://video.jccc.edu/publicvid/innovations/PaulDecelles.asx

Wednesday, May 6, 2009

JCCC Chromosome module

Chromosome Build at JCCC site. This is part of the evolution unit being installed at the JCCC site. It currently includes the human chimp ideograms courtesy of ENSI. You can see two of my real simple viewers, the one on the left with some narrative and the one on the right with the human chimp chromosome ideograms.







On the side directly behind me are some red and blue chromosome, that illustrate reciprical and non reciprical translocations. The four cylinders with the colored horizontal stripes illustrate basic chromosomal rearrangements. Because of their importance, I want to have a separate activity for duplications and the evolution of gene families if I can keep it simple.

On the right hand side of the picture a some of my human chromosomes that link into the Ensemble web site.

The chromosome build is at http://slurl.com/secondlife/JohnsonCountyCommCollege/38/94/65

This is open access but the rest of the JCCC sim is currently not.

Saturday, May 2, 2009

Mitosis in the Morning...

As part of my evolution build I wanted to have an activity related to chromosomal rearrangements. We know these are important in evolution, some of the clearest examples are in our own evolutionary history. So I developed a series of human chromosomes similar to those over at Genome Island.

These consist of representations of human chromosomes, textured with the standard banding patterns (ideograms) that geneticists use. When the user clicks on the chromosome, menu dialogue allows the user to look at the similarities between the human chromosome and the chromosomes of selected mammals: mouse, chimp, and the macaque. This is done using a data base portal called Ensembl. This displays regions of synteny, which in the bioinformatics context refers to regions of chromosome that have the same arrangement of genes in both species. Here is a quick example for human chromosome 1 showing the regions of synteny in chimp chromosomes to human chromosome 1.

It's probably hard to see what's going on here. But the big white structure in the center represents huna chromsome 1, and the chimp chromsomes with regions of synteny for human chromosome 1 are shown to the left and right. Human chromosome one has synteny with most of chimp chromosome 1 with just a little region of synteny with chimp chromosome 2A and chimp chromosome 10.

Speaking of chromosomes, Max Chatnoir was wishing for a build related to mitosis and meiosis so to help me think about this, I spent the last couple of days building mitosis at my carmine site. None of this is scripted and it still isn't clear what the best strategy for this is.







Here is a quick look at my mitosis builds. These are quite large and I will probably scale them down a bit. They are relatively simple but do take up a fair amount of real estate-not prims but literally really real estate.

This shows prophase, prometaphase, metaphase, anaphase and telophase. You can see me in the bottom of the picture. Each of the "cells" is 10m in diameter.

I don't normally build this big, but it seemed easier to do this big. The mitosis build is currently at:
http://slurl.com/secondlife/Carmine/120/190/138








Here is a close up of metaphase when the chromosomes (shown in red and blue) are lined up in the middle of the cell.
















My thinking is rather than animate mitosis, having this build (maybe on a smaller scale) and then an activity center where students can play with chromsome models like they do in lab. I think it is possible to script the chromosomes to sense a proper arrangement. That would provide a nice collaborative activity.

Speaking of collaborative activities, I also tweaked my predator natural selection module and installed it on my college land site. The module is packaged appropriately with a velociraptor texture so hopefully student predators will get in to the spirit of things.












Here's the module installed at http://slurl.com/secondlife/JohnsonCountyCommCollege/41/95/64. I am also building an activity center just above Predator which students will do first to study natural selection under less challenging conditions.

Tuesday, April 21, 2009

Evolution IV

Now that I have my drift and selection modules in hand, the next goal is to working on activities that can be fit around them. I know this is a bit backwards on the surface, but what I want to focus on in my evolution module is mainly the agents of evolution. These are basically:





  • Mutation
  • Genetic Drift
  • Non random mating (of which there are several types!)
  • Migration
  • Selection
To house the activities related to these agents, I have deviated from my photosynthesis and genetics design and come up with a series of open activity arenas. Each one will have a sensor driven script for tracking visitors, an simple activity rezzer of my own design, built into one of the corner posts. Rather than use my Carmine land, I am building the agents of evolution site at my College's island. The design challenge is to work with in a 281 prim limit.

The natural selection and drift modules use temporary prims so only the rezzers for these count. My 5 activity arenas and office take up a grand total of 67 prims so that leaves me a budget of 220 prims. Now I can stretch that, since activities will not be rezzed all at the same time since each arena but each activity has a "budget" of 40 prims. Ah but each activity arena can hold multiple activities in waiting so the "budget" isn't so draconian after all. 220/5 activity arenas.

Oh and my goal is to have this done by May 7th. At least now I can focus on design more rather than the arcanity of the LSL's llfrand function and other such issues. Plus I will have two radically different design approaches to compare, the module in a box approach of my photosynthesis and gentics builds versus my more open arena centered approach.





Evolution lends
itself to the more open approach, and this summer I will install photosynthesis and the Cami genetics modules in Carmine using the arena centered approach. That way I can have the same material side by side with different design features to begin to assess what works best with students.

Saturday, April 18, 2009

Evolution III: the Predator version...

My natural selection module works pretty well but one concern was how to make it a bit more interesting. One obviously way to do that would be to make Cami's that move so that they are harder to spot and catch.

So since I really don't know a whole lot about making things move in Second Life, the first thing I did was develop a cami that will roam around randomly but stay in my land.

The strategy I developed builds on a function I had previously scripted for random movement of a prim:
//--------------------------------
vector newcoodinates(vector pos ,float pathlength, integer start)
{

integer icount;
float deltax;
float deltay;
vector temp;
float ground;
temp = llGetPos();
if (start = TRUE)
{
deltax = llFrand(pathlength)-pathlength/2;
deltay = llFrand(pathlength)-pathlength/2;
temp.x = temp.x + deltax;
temp.y = temp.y + deltay;
ground = llGround(<0.0,0.0,0.1>);

temp.z = ground;
if (llGetLandOwnerAt(temp) == llGetOwnerKey(llGetKey()))
{

return temp;
}
else {

return pos;
}
}

return temp;
}
//---------------------------------------------------

The idea is to take the prim's current position and update it with a "random" number between zero and some maximum path length. That's what this statement does in the one dimension:

deltax = llFrand(pathlength)-pathlength/2;

Since I want the cami's to hug the ground for the vertical dimension I use LSL's llGround function:

ground = llGround(<0.0,0.0,0.1>); the result is the vertical dimension.


One thing that flummoxed me for awhile was how to keep the cami in bounds. My original idea was to have the cami detect when it was on someone else's land and have it turn around and leave. But that turned out to be more difficult to script in a totally fool proof manner to this trigonometrically challenged scriptor. Besides, it seemed much better and nicer, to stop the cami from even entering someone's land in the first place:





So that's what this piece of code does:

if (llGetLandOwnerAt(temp) == llGetOwnerKey(llGetKey()))
{

return temp;
}
else {

return pos;
}

The rest of the basic movement script is deceptively simple:

default
{

state_entry()
{

do {

newpos = newcoodinates(llGetPos() ,2,start);
llSetRot(llEuler2Rot(<0,0,-pi/2>)*llGetRot());
llLookAt(newpos,1,0);
llSetPos(newpos);


llStopLookAt();


}
while (start==TRUE);

}
}

The rotation functions are sort of trial and error on my part but the cami's end up with an interesting waddling motion, so I am pleased with that even if it wasn't quite what I wanted at first.

Deceptively simple because I also needed toggle that stops the cami's so I can catch them and for determining the cami genotypes and phenotypes. Fortunately my previous cami scripts are easily modified to to work with my cami movement script.

The result is Natural Selection the Predator version right now at:

http://slurl.com/secondlife/Carmine/123/151/135

Just touch the light blue prim and 50 maddingly difficult to catch cami's will start swarming around:















The idea is to put yourself
in the role of a predator selecting against one of the phenotypes. The phenotypes use my cami genetics scripts and it is possible to select against one of the phenotypes and eliminate the genes for that phenotype, but its harder than it looks.

This version will allow you to keep selecting until the the cami's derez at which point you must touch the blue prim again to rez the next generation of cami's using the ones you didn't get as the parent population. I may change this feature.

The main script in the cube again handles all the book keeping and generates a report tracking the allele frquencies when you touch it to rez the next generation.

By the way, when you touch one of the camis in your role as predators they explode red blood thanks to a little particle script...next will be sound effects.

So even if you don't know squat about population genetics or evolution, at least you get to blow up stuff. I guess there is a bit of adolescent even in the most prim and proper of us.

Oh if you visit, watch out for cami sharks.




















This week I will be designing some suggested activities related to evolution using my cami system and also taking a few days for a trip to the Ozarks for springtime dogwood viewing, I hope.

Tuesday, April 14, 2009

Evolution II 101 Dalmations?

Well no, how about 30 Caminalcules after selection favoring a recessive allele for 8 generations. The natural selection module beta is finished and works very well. The basic strategy is to have the user or users act as visual predators removing camis from the population. The module might for instance be on a certain background where some cami phenotypes are real obvious while others are not.

The "predators" remove cami's by touching them, and the population is up dated. After a set period of time say 1 minute the remaining cami's are used to make a new population, which the module generates when it is touched and the cycle is repeated until only one genotype remains or until the users give up.

At the start of each generation the module generates a report in chat on the screen showing the allele frequencies for both of the cami loci.

If Cami's are never "eaten" the result is genetic drift. So this module really combines genetic drift and natural selection. It does not use or even compute selection coefficients, but one could add that to a report.

Saturday, April 11, 2009

Soror Nishi's at it again...

At Soror Nishi's new build

I am a big fan of Soror Nishi's phantasmagorical plants and was thrilled to see that she has lots of new stuff on her site. Some of her things are pretty prim intensive and much of my stuff is the same way. So prims are precious. But I do believe in supporting artists I like to the degree that I can so did find a couple things that were low prim.

Here is one of my two buys sited in my land.

Tree fern

Camilab is in the background.

You can visit Soror at http://slurl.com/secondlife/Lifstaen/10/50/228

Definitely worth it.

Also today, actually yesterday now I spent some time in the Costa Rica sims poking around. These are definitely worth a visit as they are very detailed.

Here is a view from the Palo Verde sim:

Palo verde

By the way the Costa Rica builds are so nice that for the first time I have been tempted to buy into a private region...but its quite a bit more expensive than my mainland region.

I recommend Cocos Island which you can visit here:
http://slurl.com/secondlife/Cocos%20Island/128/218/1002

Here are a couple of pictures:

Coco Island

This bridge is quite famous in RL.

Coco Island

An example of the wonderful plant texturing on Cocos Island.

A certain cell membrane...

My biology viewers might recognise what this SL model is supposed to be.

Membrane of a certain cell

This is a preliminary prototype for a neuron membrane showing stylised transport proteins (purple). The round guys with the lids are gated sodium proteins the lidless tubes are gated potassium channel proteins. The "lids" on the sodium gates will be scripted to pop open to let Na+ ions through while the bottoms of the K+ channels will flip open and closed.

The oval shaped guy on the right is part of a Na+/K+ pump.

All these proteins are embedded in a stylised plasma membrane (red fatty acid residues connected to white polar heads with phosphorus for the phospholipids).

This project is actually part of a planned metabolism build which uses the neuron to illustrate how cells use active and passive transport for complex processes. So it's not meant as a full action potential simulation though my scripting strategy will take that possibility into account.

Friday, April 3, 2009

The Cami Lab is up!















The Caminalcules
(camis for short) have been safely installed in a Mendelian Genetics lab module called the Cami Lab. I use my note card configurable camis to illustrate dominance relations, monohybrid crosses, and dihybrid crosses. The evolution module will be directly underneath.

I have had to readjust my land and merge several parcels to give me some prim breathing room. Feel free to come and visit Cami Lab currently at:

http://slurl.com/secondlife/Carmine/128/144/136

As part of this, I rescripted my simple viewer to use Erich Bremer's double buffering script which makes loading much faster. My essentially new viewer uses LSL's way cool llDetectedTouchST function. This function detects where on a prim's surface you are touching and returns that as the x and y terms of a vector.

You can then access, these to do things like change a slide or teleport. What is really cool is that the coordinates are normalized to the size of the prim so they are presented as a float between 0.0 and 1.0, so if you stretch, say a viewer, the detected function still works properly.

Wednesday, April 1, 2009

Evolution I: Simulating genetic drift with Caminalcules

So far I been working with my caminalcules in terms of genetics. But of course-and maybe someone ought to tell creationists about this-evolution and genetics are logically connected and evolution follows from genetics. So naturally I want to use my system to simulate the basic mechanisms of evolution.

Yesterday and today I programed a prototype Evolver (pink square) that simulates genetic drift. Genetic drift is an agent of evolution where a population's genetic make up changes due to sampling error. Drift is particularly important for small populations, such as caminalcule populations which given the prim limits in SL can never be very big.

Genetic drift is actually easier to simulate than natural selection, so it makes a good starting point for scripting and probably also for students to play with.

To look at populations of caminalcules I treat the population as a list containing the genotypes of all the individuals in the population. I use the same phenotype routines developed for genetics crosses and simply can access the approriate caminalcule through the list index.

Next I had to write a series of population functions:

string randommating(list the_pop) chooses two individuals from the population at random to mate and produces one offspring.

initialise(integer popsize) produces an initial random population and stores it in a list called start_pop_list and returns that list after rezzing an offspring:

Here's a snippet form this function:

start_pop_list = start_pop_list + genotype;
pass2offspring = (integer)genotype;
llRezObject("bigpup",llGetPos()+<2.0-llfrand(4),2.0-llfrand(4),0>,<0,0,0>,<0,pi/4,0,0>, pass2offspring);
}
while (++icount
return start_pop_list;

Most of the other routines are functions made before for the Caminalcule genetics module. So there is nothing new here. The simulation is direct in that I do not calculate allele frequencies and sample from that.

Doing random mating is pretty easy and here is the new function that handles that:

string randommating(list the_pop)
{
integer index;
string organism1;
string organism2;
string thezygote;
string gamete1;
string gamete2;
integer pop_size = llGetListLength(the_pop);
index = irandom(0, pop_size-1);
organism1 = llList2String(the_pop,index);
gamete1 = make_a_gamete(organism1);
index = irandom(0, pop_size-1);
organism2 = llList2String(the_pop,index);
gamete2 = make_a_gamete(organism2);

//----pick 2 organisms at random to mate from the_pop, self mating allowed----
//list the_pop must have been checked!


return make_zygote_string("4",gamete1, gamete2);
//4 because we assume independence here
}


Well so what happens with genetic drift? I want to write routines to quantitatively track what happens, but for many situations running the drift script for for a number of trials ought to get the idea across so here are some pictures from two sets of runs.

My first run started with a population that looked like this:


Four generations later...

Notice the pink and green phenotypes are becoming more common. The the genes related to the white caminalcules have apparently been eliminated. Since the genes related to the white photype are recessive the student might think (as did some geneticicts in the early 20th century) that the recessive allele ought to dissappear over time any way.

By the 11th generation all you have are these caminalcules:

Actually the picture shows the population after 14 generations since I wanted to make sure the other types were eliminated. This nicely shows that the effect of genetic drift is to reduce genetic variation in a population.

Now consider a trial starting with this population:

Not very different than the starting population from the previous run. But look what happens now! This is at generation 10. Note the large number of white caminalcules. Remember white is recessive.



And by generation 15:


Only the white caminacules are left and it looks like only one type of spotting! This illustrates two points. First of all as I noted earler, recessive alleles are not eliminated just because they are recessive, but evolution is strongly contingent. Just because you get one result one time, the chance elements in evolution such as genetic drift may cause completely different out comes the following time. This can lead students and teachers into all sorts of interesting avenues of thinking about how evolution works!

If you want to see how this works, look for me in world.

Hopefully later this week I will have worked through natural selection.






Saturday, March 28, 2009

Configurable Caminalcules!















One thing I wanted for my Caminalcules
to is allow for the instructor to configure different genetic systems via a note card rather than a menu system. Turned out to be pretty easy and so in amongst Best Practices Workshops, I've been squeezing out time for this.

So here is an example of a pair of Caminalcules who have indulged in a little bit of dihybrid Mendelian interaction. I'm making little activity pens or corrals (as Max Chatnoir suggests) for them partly to keep them in but because when the pups are "born" sometimes they don't end up right side up. Visitors can move them around with fear that they are going to escape!

I need to give them some sort of movement but that will need to wait and I will probably introduce that option in a couple weeks when I script my Caminalcule evolution activity.

Wednesday, March 18, 2009

Wonderland

Today Kira Cafe hosted a presentation by Nicole Yankelovich from Sun Microsystems about Wonderland, an environment for creating virtual worlds. Wonderland is quite different than Second Life in a number of respects. So I will briefly summarize my in world notes.

The handsome nautilus to the left is Joshua Linden by the way.

Wonderland is free and developers can make either open source or proprietary applications. One can create data driven worlds or programmatic worlds. Also it has modules that allow you to create just bits of functionality e.g. an audio recorder or a microphone. In fact a big push for her group in Sun is in audio for virtual conferencing. For example, one can dial up or down bandwidth from telephone quality to CD quality for internal meetings. Thus one can get a really immersive experience

Suns' vision is different than Second Life since rather than one big world, Wonderland is decentralized and the idea is to have the possibility of a federation of worlds.
As for how big a world can wonderland make, version 0.4 could only support 20 users and scalability is an issue. Her group is aiming for worlds with several hundred avatars.

Right now they are in the middle of doing their fourth developer release 0.5 version. This involves a complete rebuild with better avatars and graphics.

Sun is very much interested in the education market, and its use for data visualization and teaching. There is also a wireless sensor platform (this is way cool) for bringing real world data into a Wonderland World for processing or visualization. Sounds like Wonderland has a lot of potential given that it is JAVA based and open source. Perhaps learning system providers such as Blackboard and Angel Learning Systems should check this out.

The Wonderland group is not directly involved in interoperability issues between virtual worlds but perhaps one of their community will pick this up.

Makes me wish I knew JAVA!

By the way Friday, Simone will be at Intel's Science Sim for a visit and blogging session.

Related Links:

https://lg3d-wonderland.dev.java.net/index.html

http://www.sunspotworld.com/

Monday, March 16, 2009

The Voyage of the Beagle in Second Life

So much science in Second Life and so little time. But today I took a little side trip following Darwin's Voyage of the Beagle. This is a wonderful build and very appropriate for the 200th anniversary of Darwin's birth and the 150th anniversary of the publication of Origin of Species.

The basic idea is to put the clues together to release Darwin's Muse, a Galapagos mocking bird, Mimus trifasciatus . I hesitate reporting too much so as to not spoil the fun. I did the voyage by myself but this is an ideal resource for collaborative learning. There is, for instance, a fun puzzle which took me wayy to long to solve. Don't feel handicapped by not knowing much about the real voyage of the Beagle. You still have to find the clues even if you are like a biology geek like me who read the Voyage in grade school.






If you go, dress appropriately, my normal dress in SL is much too fancy and just to be safe I removed my Geisha hair attachment and skin and donned my Science Friday shirt.











There is lots of wildlife some of which are clues for the game and plenty of poisonous snakes which of course I think are cool. Here is a cobra. I don't recall Darwin mentioning cobras in Voyage, but I ought to check that. Needless to say good thing the SL health option was not on, else I would have died several times over from snake bites.







Of course there are the Galapagos tortoises, pretty much in scale. Here's one with Opuntia cactuses. The focus of the build goes beyond evolution and natural selection to include Darwin's hypotheses about coral reef formation and if you want you can even go diving.

You also get some nice details about the wildlife Darwin encountered and a bit about how Darwin was influenced by the then new geology of Charles Lyell.


Here is what every well dressed avatar
needs in her wardrobe:

By the way the interface includes a supply pack that provides you with a compass and journal. Both are lots of fun.

And if you get four keys and release Darwin's muse, you get the Darwin Prize which includes several goodies such as the Beagle in a bottle which now takes a place of pride in my lab, Second Life lab that is.

I suppose, now the creationists will follow suite and probably put up a Second Life Creation Museum. I wonder how they will show the intelligent designer. Oh I forget, you're not allowed to infer anything about the nature of said designer.

If you have A Second Life viewer installed you can visit The Voyage of the Beagle sim at:

http://slurl.com/secondlife/Elucian%20Omega/113/79/22

Tuesday, March 10, 2009

A Visit to Kira Cafe

I really do need to blog more about some of the places and workshops I visit. One of my new places to visit is Kira Cafe sponsored by the Kira Institute. Kira Cafe is for discussion of science and more. As the institute's mission statement notes:

The Kira Institute's mission is to investigate distinct views of reality, taking off from one central question: “Starting with science, what else is true?

The Institute holds lots of workshops/discussions related to this theme. Some of them are ongoing. For example the other week I attended a really interesting one about the role of virtual environments in scientific visualization as part of an ongoing workshop called Relocatable Laboratories in the Metaverse (ReLaM). This workshop dealt with Open Sim and the Science Sim by Intel.

Today was a weekly science discussion called Nymf's Science Circle which was hosted by Darkeagle Darkstone (left), in real life a computer science instructor in a Californian community college. The discussion revolved around the theme of how virtual reality environments such as SL can help persons with disabilities. Quoting from the note card:

" There are people here, who in real life are strapped into wheelchairs. Here can the walk away from the isolation and prejudice the face in their day to day lives. Here they dance, fly, and mingle. Their bodies here are not ravaged and mangled by disease or genetics in the Virtual worlds. Their speech is not slurred or laborious; we accept them here like everyone else. We discover that they are valuable and treasured friends. "

I was particularly interested in discussion related to use of SL by persons with autism (called in the discussion autists)

Kira has a packed schedule of events and you can view them here. You can visit the Kira campus in Second Life at http://slurl.com/secondlife/BaikUn/234/95/251.

Thursday, March 5, 2009

Caminalcules III Colorful pups...
















This week I implemented a version
of Eloise Pasteure's suggestion to get genetic data into the Caminalcule's offspring, representing the genetic data as a 7 digit integer. This integer has two positions for each locus or allele pair, a dominance term which is 1 position for each locus and an extra flag telling the program whether to process one or both loci when making the phenotype of the offspring. It's a little less compact than what Eloise suggested but easier for me to keep track of.

This version of the Caminalcule will illustrate Mendel's two laws and does not do linkage...yet. The second locus, by the way, has to do with the type and number of black spots on the critter and I just got that implemented today.

Yet to do are some fixes to the menu system- I've had to think carefully how the lldialog function works-and think out the mechanics of Caminalcule mating. How will they communicate and behave? Right now they can detect each other with sensors but I haven't given them an sort of movement. What happens if two encounter each other and they are genetically incompatible? What sort of reproductive system? We already know that some of them are hermaphroditic. Is there also a non hermaphroditic gender? Hmmmm. Stranger things than this happen in nature. You might look up the life cycle of Caenorhabditis elegans, one of the major organisms in modern genetics.

Lots of potential here for getting students thinking about life cycles and gender that go beyond genetics and collaborating with each other. I've also been to several interesting workshops related to Second Life and I will post more on those later.

Thursday, February 26, 2009

Caminalcules II: Mother and her pups

Continuing along with my Caminalcule genetics activity...

Here is a heterozygous Caminalcule mother with 10 of her pups produced by selfing under incomplete dominance. The maternal script produces two gametes at random, the "pup" is rezzed and the genotype along with the degree of dominance communicated to the pup and the pup then changes phenotype.

This is of course not the way it works in the real world; the pups should be rezzed with the genotype in place but there doesn't seem to be an easy way to do that save maybe with some really clever use of llSetPrimativeParams. But my approach seems more flexible.


Here notice that roughly half the "pups" have the heterozygote's phenotype (grey) and roughly half are one of the two phenotypes (black or white) of the homozygotes.

Right now I represent a gene's locus with an SL vector type. The third position is not currently used but it could be used to store some other type of float type information related to the gene say something about its linkage position along a chromosome.

Coming up soon...Caminalcules make nookie.