[ Same page in russian: KOI8 | ISO8859-5 | MS-Windows CP1251 | DOS CP866 ]

Genesmith

"Genesmith" ("Gene Locksmith") his a software which is imitate a work with genes, DNA, genetic code[1].

"Genesmith" was started as a "etude" on BASIC named "Genetic Code" . As a result the procedures of processing of biological sequences such as DNA, RNA, polypeptides were written. These procedures became a core of interactive editor of biological sequences. But the work with finished editor was much boring then its programming: genes needed realization in graphics.

Then I've learned about biomorphes. Richard Dawkins, a famous English evolutionist invented biomorphes and sattled them in his program "Blind watch-maker". Biomorphes don't always look like animals and plants externally, but they can reproduce themselves and mutate like animals and plants.

At present the program ("Genesmith") consists of three parts - editor of biological sequences, interpreter of these sequences into graphic images (biomorphes) and evolutional part, borrowed from "Blind watch-maker". The work with genes has acquired a sense. It was possible to set a task to design an outstanding biomorph, and for the sake of it to study gene code and functions of enzymes which are realizing this code in a living cell. Otherwise, it was possible to guess how gene code is organized, comparing genomes of allied biomorphes. There was also a possibility of doing "artificial selection of biomorphes", knowing nothing about generic code and genes themselves.

From 1989 I use "Genesmith" in children's summer computer and biological schools. Special etudes were invented for it: "re-discovery of gene code", "localization of mutation" etc.
During last years a lot of biomorphes were collected. Letters: , geometrical figures: , animals: bird , ciclop , frog , lizard , cockroach , wolf , plants: , ornnaments and other biomorphes were designed.

If you would like to try "Genesmith" too, click here (~100kb, MSDOS version).


January 1996
Alexander Golubev <goluba@dll.botik.ru>

[1]
Genetic code is the universal key for translation of genetic information from nucleic acides language to peptides language. See genetic code in Logo:
to GenCode.Init
  make "Phe [UUU UUC]
  make "Leu [UUA UUG CUU CUC CUA CUG]
  make "Ile [AUU AUC AUA]
  make "Met [AUG]
  make "Val [GUU GUC GUA GUG]
  make "Ser [UCU UCC UCA UCG AGU AGC]
  make "Pro [CCU CCC CCA CCG]
  make "Thr [ACU ACC ACA ACG]
  make "Ala [GCU GCC GCA GCG]
  make "Tyr [UAU UAC]
  make "Trm [UAA UAG UGA]
  make "His [CAU CAC]
  make "Gln [CAA CAG]
  make "Asn [AAU AAC]
  make "Lys [AAA AAG]
  make "Asp [GAU GAC]
  make "Glu [GAA GAG]
  make "Cys [UGU UGC]
  make "Trp [UGG]
  make "Arg [CGU CGC CGA CGG AGA AGG]
  make "Gly [GGU GGC GGA GGG]

  make "acids [Phe Tyr His Cys Gln Lys Asp Glu Trp Val Ala ~
    Thr Gly Pro Ser Ile Leu Arg Asn Met Trm]
end

to gencode :x :dir
  if not (3 = count :x) [op "]
  ifelse :dir [ op first filter [memberp :x thing ?] :acids ~
  ] [ ~
  ifelse memberp :x :acids [ ~
    op item 1 + random count thing :x thing :x ~
    ] [ op " ] ~
  ]
  op "
end

to ribosoma :seq :dir
  op map [gencode ? :dir] :seq
end