Thursday, October 15, 2009

Welcome JCCC Autism spectrum conference!

Virtual World Resources related to Autism

This is a selected list for the JCCC workshop on Second Life and Autism being presented by Marziah Masala and me October 16. You can get an SL notecard with these links and relevant SL land marks by visiting my JCCC home at
http://slurl.com/secondlife/JohnsonCountyCommCollege/36/92/65
You need to have Second Life installed.

Once there touch the rotating box with the brightly colored autism ribbon.





Virtual World Resources including virtual world resources for young children

Second Life
http://www.secondlife.com

Virtual world with over 90% user-created content. Must be 18 to create an account. Basic accounts are free, but "Linden dollars" can optionally be spent and earned in-world. Some users have created in-world businesses that earn enough to support them in "first life," but most view their in-world business as a hobby.

Suggested places to visit: Virtual Ability Island, Autism Society of America, Autism Liberation Front

Second Life Teen Grid
http://teen.secondlife.com

Teens 13-17. This is exactly like Second Life's main grid, except that membership is restricted to teenagers and educators who pass background checks. Teens also have restrictions on how many Lindens they can purchase per month and stricter rules on conduct. Basic accounts are free, but paid accounts are required for land ownership. Parents can also request an activity summary for teens. Teens can "graduate" their avatar and possessions to the main grid when they turn 18.

Alice
http://alice.org
free download

Alice is a programming language designed for kids to make programs that can be uploaded to the Web and shared with others. The 3D virtual world programming environment was designed by Carnegie Mellon and teaches object oriented programming principles that apply to more advanced programming languages like C++ or C#. There are also lesson plans available for teachers.

Although it's designed for kids, they should have strong reading and computer skills.

Project Wonderland
Free
http://wonderland.commonneed.com:8080/Wonderland/

Sun Micrososystems Java environment for virtual worlds. Mainly aimed at higher ed/corporate environments but
see http://isocial.rnet.missouri.edu/ for video about iSocial at the University of Missouri. iSocial is designed to help autism spectrum youth develop social competencies and uses Sun's Wonderland software.


Open Sim
http://opensimulator.org/wiki/Main_Page

Open Sim is an environment similar to Second Life, but open source. It can be run on a single server instead of connected to a large grid. Building content in Open Sim is nearly identical to doing it in Second Life.


Young Children:

Secret Builders
http://secretbuilders.com/
Free
Secret Builders is a virtual world for 5-14 year olds emphasizing education and creativity. Children interact with virtual versions of famous historical figures and characters and can create and publish their own writing, art, and videos.

Club Penguin
http://www.clubpenguin.com/
Free membership, but some activities require a paid membership

Virtual world for kids from Disney where each avatar is a penguin. Attempts to offer personally identifying information like addresses/phone numbers are filtered out by the system. Parents can choose between allowing free dialog or allowing only limited, scripted communication.

Along the same lines, Disney offers:
Pixie Hollow
http://pixiehollow.go.com/
Pirates of the Caribbean (10+ for simulated violence and drinking)
http://piratesonline.go.com
Toon Town
http://play.toontown.com/

And Mattel offers Barbie Girls http:barbiegirls.com/

Webkinz
www.webkinz.com

Membership requires a purchase of a plush Webkinz doll per pet per year ~ $10-15

This is a virtual world where members care for pets that resemble their stuffed toy. They can earn points by playing games and then spend those points on items relating to their pets, such as food, clothing, furniture, etc. The pets have monitors corresponding to their health and wellbeing of the virtual pet.

Articles and videos related to Autism activities in Virtual Worlds.

Naughty Auties from cnn
http://www.cnn.com/2008/HEALTH/conditions/03/28/sl.autism.irpt/index.html

Link to video and article about Amanda Baggs.
http://www.miltonbroome.com/2009/05/autism-awareness-in-virtual-world.html

Autism community forges virtual haven
http://www.guardian.co.uk/society/2006/mar/08/guardiansocietysupplement1

Virtual Worlds Turn Therapeutic for Autistic Disorders
http://chronicle.com/article/Virtual-Worlds-Turn/11607/

Milton Broome Autism and Aspergers in Second Life
http://www.slideshare.net/Milton.Broome/autism-and-aspergers-in-second-life

Internet resources for special neds educators
http://www.emergingedtech.com/2009/07/internet-resources-for-special-needs-educators-this-week-autism-pdd/

Seond Life virtual world: A heaven for autistic people? http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WN2-4TDBMGK-2&_user=4558894&_rdoc=1&_fmt=&_orig=search&_sort=d&_docanchor=&view=c&_acct=C000063405&_version=1&_urlVersion=0&_userid=4558894&md5=8962aef203a348469c83462b49d9a641

Autistic Acceptance, The College Campus and Technology:Growth of Neurodiversity in Society and Academia
http://www.dsq-sds.org/article/view/146/146

Monitor on Pyschology, Can Second Life Therapy help with Autism?
http://www.apa.org/monitor/2009/09/second-life.html

A Second LIfe for E-Health Prospects for Use of 3-D WOrlds in Clinical Pyschology
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2553247/

A Virtual Environment for Teaching Social Skills
http://www2.computer.org/portal/web/csdl/doi/10.1109/MCG.2009.57

iSocial 3D Virtual Learning: Helping youth with Autism Spectrum Disorders develop social competence
http://isocial.rnet.missouri.edu

iSocial Video
http://vimeo.com/2064686

Thursday, July 30, 2009

Welcome SidLit!

Science Simulations for students in Second Life at SidLit July 31, 2009.
















Welcome from Simone Gateaux and her carbon based side kick Paul Decelles!

Install the Second Life viewer first and create your avatar.

SLURL to Sidlit Notecard with landmarks:
http://slurl.com/secondlife/Carmine/87/145/135

When you arrive, touch on the box which will offer you a note card with landmarks to the sites discussed in my presentation. Accept the note card into your inventory.

Other links-not SLURLS:

Some scripting resources:

Scratch for Second Life:
http://web.mit.edu/~eric_r/Public/S4SL/

Autoscript: A web based script generator:
http://www.3greeneggs.com/autoscript/


Other virtual World Systems:

Virtual Worlds: Best Practices in Education 2009:
http://www.vwbpe.org/

Wonderland
Blog Entry about Wonderland:
http://slbiology.blogspot.com/2009/03/wonderland.html

Sun's Wonderland Site:
https://lg3d-wonderland.dev.java.net/index.html

Video about iSocial at U of Missouri in Columbia MO:



OpenSim Links:
Blog entry about OpenSim and Intel's Science Island:
http://slbiology.blogspot.com/2009/03/opensim.html
OpenSim main site:
http://opensimulator.org/wiki/Main_Page

Exit Reality
Blog Entry about Exit Reality:
http://slbiology.blogspot.com/2009/02/another-virtual-reality-system.html

Exit Reality Site:
http://3d.exitreality.com/

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!

Thursday, June 4, 2009

Particle fun

In building my protein synthesis model, I really don't want to use more prims than needed. At the same time I want to display the results in a more interesting way than than as a string. So I have been playing with a particle system.

Here's the result. The script is modified from a snippit of script that generates a particle banner by Debbie Trilling, part of her Random AV profile script.

I tweaked those settings to give two functions that collectively take a text string and converts it into a string of particles. One could use this to display text messages, but here I am using it to display the one letter amino codes of a proteins primary structure. The colors represent the type of amino acid (non polar, acidic, polar non ionizing etc). Of course you have to put a texture for each symbol.

The two functions I developed to represent the protein's primary structure as a string of particles

particleletter(string texture, float distance, float size)


particlemessage(string message, float distance, float size, float speed)

This system unfortunately does not work reliably in that the individual particles are not always produced so the display will have gaps in it. This is a big problem with long polypeptides such as this one here which is the primary structure of an opsin protein.

Another limitation is that the particles only last for a minute or so.

For the student version I will use a small polypeptide with 10-12 residues, that way the DNA template and RNA will require only 30 or so DNA bases. That is a lot more practical.

Friday, May 29, 2009

What's going on at the lab?

My protein synthesis functions, got me thinking about developing an animated model of protein synthesis that actually does transcription and translation and so I have been trying to figure out a good way to do this. The figure shows a animated prototype for an operon that I have been working on. The model loosely mimics the behavior of the repressor protein and inducer of the lac operon as well as the RNA polymerase.

In the picture the repressor protein (red) is sitting on the operator and the RNA polymerase(purple) cannot attach to the promoter to begin transcription of the operon's coding region (teal). The inducer is the green ball. The can see how the system behaves by touching say the inducer which will then bind to the repressor protein, preventing it from blocking the RNA polymerase.

This view shows the repressor protein not on the operator allowing the RNA polymerase to begin transcription. As the polymerase moves down the coding region the transcript (yellow) grows.










When the RNA polymerase reaches the terminator part of the operon the polymerase detaches, the RNA detaches and the small ribosomal subunit (brown) attaches to the start of the start of the transcript.

Obviously there are some simplifications here. For instance in prokaryotes translation can begin while transcription is still on going and I don't bother with the details of how RNA polymerase works.

The goal is to let the students input a short DNA sequence, animate transcription and show the mRNA in local chat (or perhaps as hovering text above the mRNA) and optionally send it as an e-mail. Then as translation proceeds actually have the tRNA's bring in the amino acids and make a short polypeptide. In this scheme the mRNA is a single prim but carries the codons as data inside. But the development of the polypeptide via translation is explicitly animated in terms of what happens at the ribosome, each amino acid shown as a separate object.

In the foreground are some crude tRNA's (orange rectangles) some of which have amino acids represented by balls attached to them. This is going to be a fairly elaborate scripting effort with some neat tricks involved so stay tuned...

My sabbatical is officially over and have already given my sabbatical report. I will be teaching summer school-just two intro biology lecture sections. Also at the end of July I will be speaking on Science simulations in Second Life at SidLit and giving also giving several local talks about Second Life in general.

Thursday, May 14, 2009

Protein synthesis functions

The chromosome module mentioned previously is part of my JCCC evolution build on the agents of evolution. Mutations are any sort of heritable change in the DNA, that is changes in the DNA passed on to future generations of cells. Chromosomal mutations are large scale rearrangements, involving many nucleotide bases. But a discussion of mutations has to include point mutations-changes on the level of a single nucleotide base.

Discussing these means dealing with protein synthesis first. So the last couple of days I have been scripting core functions to do the basic steps in protein synthesis , namely transcription and translation. Max Chatnoir over at Genome Island has a nice little collaborative game related to protein synthesis, (http://slurl.com/secondlife/Genome/119/144/54) but since my focus is on evolution at JCCC, I've decided to build my module around a series of functions that start with a strand of DNA, transcribe that DNA to get a messenger RNA and then translate that DNA.

Doing this involves a series of string manipulations and here are some functions I've written specifically to manipulate DNA and RNA represented as a sequence of letters:

string stringclean(string toclean, string allowed);

This function takes a string toclean and strips out blanks and any characters that are not allowed after converting upper case letters to lower case. Permissible characters are in the string allowed. For instance DNA nucleotide bases are represented as a,t,g or c so the the string allowed is "atgc". Were the string toclean representing RNA then allowed would be "augc". Just to be safe the function trims any leading and trailing spaces. The reason for this function is to try to catch elementary mistakes and strip out extra characters from genetic information copied and pasted from GenBank or FASTA formatted data.

string compdna(string dna);

This function takes a DNA strand and outputs the complementary strand. This is useful because data bases often give a so called sense strand which is like the RNA only with "t" shown instead of "u". For illustrating transcription you need to start with the complement of the the sense strand as happens in the cell. Hence the need for a function to generate the correct DNA strand.

string transcription(string dna);

This function takes what ever DNA strand is given it and mechanically does transcription. It doesn't recognize any sort of promoter region such as a -35 or Pribnow box. If you don't know what those are..well don't worry.

string transcodon(string codon);

Takes an mRNA codon and uses the standard genetic code table to translate the codon into the corresponding amino acid using the standard genetic code, used by most eukaryotes. This function is needed for the translation function:

string translation(string mrna);

This function takes the mRNA string and using the function transcodon, translates the mRNA into the polypeptide that would be produced in the cell at the ribosome. The function does not recognize the Shine-Dalgarno sequence and mRNA's start for simplicity with the start codon, 'aug'. The function terminates the polypeptide when it recognizes a stop codon. Polypeptides are represented by the now standard one letter abbreviations commonly used in protein data bases. Thus it will allow the student to compare the effects of frame shift mutations caused by insertions or deletions to substitutions on the resulting polypeptide.

These functions work for small genes with on the order of 250 nucleotide bases. One frustrating thing is the limited ability of SL to write data to files and for now the easiest way fo the user to save the output, is to e-mail it to themselves.That will be built into the module as an option. Otherwise users would have to cut and paste from the chat window.

Users will have the option of using data they obtain from another source by configuring a note card with the raw data copied from say NCBI, or using a small gene data set preloaded onto a note card.

Three other core functions are being developed:

string makesubstitution(string dna) makes a random base substitution in an original DNA strand.

string makeinsertion(string dna) makes a random insertion while
string makedeletion(string dna) makes a random deletion.

But these will be easy to make. The activities are being designed around a pencil and paper exercise I use in my classes currently, only now the students will be able to use more realistic data and quickly investigate at a number of different mutations.