Tracker Tracker

 - Bugs ( 20 open / 46 total )
Bug Tracking System

 - Support Requests ( 0 open / 0 total )
Tech Support Tracking System

 - Patches ( 1 open / 1 total )
Patch Tracking System

 - Feature Requests ( 39 open / 48 total )
Feature Request Tracking System

Forums Forums ( 2 messages in 2 forums )
Mail Lists Mailing Lists ( 4 mailing lists )
Screenshots Screenshots
Tasks Task Manager
  - Pymerase
  - Pymerase Website
  - Pymerase Docs
CVS CVS Tree ( 505 commits, 244 adds ) known bug
FTP Released Files

SourceForge Logo

Pymerase Docs - FAQ

Pymerase Docs - FAQ

Brandon King & Diane Trout
Copyright © California Institute of Technology

Version 0.1.6
May 2, 2003


FAQ - General
    1.1  How do you pronounce Pymerase?
    1.2  Why the name 'Pymerase'?
    1.3  Where was Pymerase originally developed?
    1.4  What is the Wold Lab?
    1.5  Who originally developed Pymerase?
    1.6  What was the original purpose of Pymerase?
    1.7  What License is Pymerase distributed under?
    1.8  Does Pymerase support all versions of ArgoUML and/or XMI?
FAQ - Bin
    2.1  General
        2.1.1  How do I run Pymerase?
    2.2  Pymweb
        2.2.1  What is Pymweb?
FAQ - Input Modules
    3.1  parseGenexSchemaXML
        3.1.1  Does the parseGenexSchemaXML input module only parse the GeneX project schema?
    3.2  parseXMI
        3.2.1  What happend to Jython?
        3.2.2  Does parseXMI support all versions of XMI?
FAQ - Output Modules
    4.1  General
        4.1.1  What modules do hope to include in the future?
    4.2  CreateDBAPI
        4.2.1  What does CreateDBAPI do?
    4.3  CreateSQL
        4.3.1  What does CreateSQL do?
    4.4  CreateGraphvizUML
        4.4.1  What does CreateGraphvizUML do?
        4.4.2  How can I create a postscript from my generated .dot file?
FAQ - Glosary
    5.1  What does API stand for and what does it mean?
FAQ - Contributing to Pymerase
    6.1  Can I contribute to Pymerase?
    6.2  What ways can I contribute?
    6.3  How can I help fund development and how will it help?

1  FAQ - General

1.1  How do you pronounce Pymerase?

Pie mer ase - The Py in Pymerase comes from Py in Python and the merase comes from the word Polymerase. See section 1.2 for more information.

1.2  Why the name 'Pymerase'?

Pymerase is the combination of 'Python', the primary language Pymerase is written in, and 'Polymerase'. Polymerase, in short, is a molecule which copies/converts DNA into RNA. We figured that Pymerase had similar functionality in that it took table.dtd XML (DNA) files and converted them into other things, such as SQL statements (RNA) which is then used to create a database (Protein).

1.3  Where was Pymerase originally developed?

Pymerase was originally developed in the Wold Lab at the California Institute of Technology (Caltech).

1.4  What is the Wold Lab?

The Wold Lab, run by Barbara Wold, is a Bioinformatics / Biology Lab at the California Institute of Technology. The Lab consists of both biologists and computational members. For more information visit

1.5  Who originally developed Pymerase?

Diane Trout and Brandon King originally developed Pymerase in the Wold Lab at Caltech. Barbara Wold is the principal investigator in charge of the project at Caltech, along with collaborator Eric Mjolsness of UC Irvine.

1.6  What was the original purpose of Pymerase?

The original purpose of Pymerase was to generate a Python Database API for the GeneX Microarray Gene Expression Database. As development progressed Pymerase was made more generic to support other projects defined in UML such as Sigmoid and MAGE.

1.7  What License is Pymerase distributed under?

Pymerase is distributed under the MIT license which can be found in the source code of Pymerase or on the web at

1.8  Does Pymerase support all versions of ArgoUML and/or XMI?

Please see section 3.2.2 for more information.

2  FAQ - Bin

2.1  General

2.1.1  How do I run Pymerase?

There is a document called "Pymerase Docs - Running Pymerase" which you should find useful. It covers four ways in which you can run Pymerase. These include, in python, command line, GUI, and web interfaces.

2.2  Pymweb

2.2.1  What is Pymweb?

Pymweb is web front end for running Pymerase. It's useful if you would like to maintain one installation of Pymerase or if you would like to expose Pymerase to a number of users.

3  FAQ - Input Modules

3.1  parseGenexSchemaXML

3.1.1  Does the parseGenexSchemaXML input module only parse the GeneX project schema?

No. It's called parseGenexSchemaXML to give credit to the GeneX project for coming up with the file format used for this particular input module and the schema of the GeneX 2.x project. The format can be used to make any number of schemas using it. Special thanks goes to Jason Stewart of for the original design of this XML format.

3.2  parseXMI

3.2.1  What happend to Jython?

parseXMI use to use a Java xmi parser which prevented parseXMI from running under Python. Now parseXMI is using SMW, which is a python xmi parser, so we no longer need Jython. We are no longer supporting Jython as we would like to use Python v2.2 features. Jython is currently (5/2/2003) at v2.1.

3.2.2  Does parseXMI support all versions of XMI?

No. Unfortunately, the XMI standard is still developing rapidly, so different versions of XMI can become incompatible with previous versions. Supporting XMI was difficult in the first place as it's a complicated standard.
I will have to compile a list and post it to the Pymerase website as soon as I figure out which versions of ArgoUML, Poseidon, and the SMW UML programs are compatible with parseXMI.
If you want to know more information on which versions of ArgoUML export the version of XMI that Pymerase can read, please e-mail the mailing list pymerase-devel at

4  FAQ - Output Modules

4.1  General

4.1.1  What modules do hope to include in the future?

In the future we hope to include many more output modules. One of the output modules we hope to develop is the generation of a C++ API which then could be swig wrapped to allow many different languages like, Python, Perl, and Java to use the same generate API.

4.2  CreateDBAPI

4.2.1  What does CreateDBAPI do?

CreateDBAPI generates a Python Database API for a given schema. Currently the generated DBAPI is only compatible with PostgreSQL databases. With some work, it could be ported to other Relational Database Management Systems such as MySQL or Oracle.

4.3  CreateSQL

4.3.1  What does CreateSQL do?

CreateSQL generates a file containing SQL statements for the creation of a PostgreSQL database for a given schema.

4.4  CreateGraphvizUML

4.4.1  What does CreateGraphvizUML do?

CreateGraphvizUML creates a .dot file which describes the relationships of objects in your schema. This file can then be used by the Graphviz program 'dot' to generate a UML like diagram of your schema. This is great if you are using the Table.dtd format used by Pymerase.

4.4.2  How can I create a postscript from my generated .dot file?

You can use the command 'dot -Tps -o' to generate a postscript file. See the man page for dot for more options.

5  FAQ - Glosary

5.1  What does API stand for and what does it mean?

API - Application Programming Interface
An API provides set of standard building blocks for programmers to use to make custom applications which interface to a particular resource.

6  FAQ - Contributing to Pymerase

6.1  Can I contribute to Pymerase?

Yes, anyone with the will to help may contribute to the Pymerase project. Be it with programming skills, documentation, examples, money or good old moral support, we could use all the help we can get. If you would like contribute in any way please send an e-mail to pymerase-devel at or contact on of the current developers.

6.2  What ways can I contribute?

Pymerase as an open source project services from the support of the Open Source community. Any help is welcome. Becoming a programmer is probably the most obvious way to help, but is not the only way one can contribute.
Here is just a small list of things one can do to help:
  • writing documentation

  • testing code

  • creating examples

  • updating the web site

  • contributing expertise

  • contributing ideas

  • funding development

Please send e-mail to the mailing list pymerase-devel at if you would like to contribute in any way.

6.3  How can I help fund development and how will it help?

If you would like to help fund the Pymerase project or other projects in the Wold Lab please contact Barbara Wold or send an e-mail to pymerase-devel at You can find out more about the Wold Lab in section 1.4
Additional funding for Pymerase would help in many ways. First of all, Diane and myself (Brandon) also work on other projects in the Wold Lab, so not all of our time goes into the project. Funding would help with the continuing development by providing more time for us to work on the project or the hiring of more programmers to work on the project.

File translated from TEX by TTH, version 3.33.
On 2 May 2003, 17:09.
Last Modified: Friday, 21-Mar-2003 02:43:07 UTC