MUG'99 -- 23-26 February 1999 -- Santa Fe, NM

Contributed CGI's

  1. Motivation:

    • We want to deliver database-access and other Daylight functionality to all the users who need it on various platforms across the network.

    • We want fast prototyping of new applications.

    • We want it now.

    • We want it cheap.

    • Maybe simple CGIs are the solution. (Or part of it.)

  2. Web interfaces are empowering for both users and programmers. (Weininger, MUG '96)

    • Users: Familiar look and feel, simple.

    • Users and Programmers: Multi-platform.

    • Programmers: Well defined and simple API.

    • Programmers: Wealth of useable code.

  3. What is CGI?

    • Common Gateway Interface, a W3C-standardized method for running software on a web-server from a web-client.

  4. Is there a "DayCGI toolkit"?

    • Not really. But there are some useable tools (e.g., smi2gif).

    • The DayCGI applications are not readily customizable.

    • But a DayCGI toolkit isn't really necessary.

    • But additional tools are contained in these contrib CGI's (e.g., tdt2html, etc.).

  5. DayCGI Architecture:

    (Weininger, MUG '96)

  6. Why Perl?

    • Great string-handling functions.

    • Lots of available CGI code.

    • We have DayPerl.

    • It's easy.

    • It's free.

    • It's fun.

  7. What are the drawbacks of CGIs?

    • Inherently slower than non-web application.

    • Poor performance for high-volume.

    • Inherent error-handling difficulties.

  8. What are the alternatives to CGIs?

    • Java applets
    • JavaScript, XML
    • Server-side Java/JavaScript
    • Application server

  9. What's new here?

    • JJY and other have created some CGI's recently.

    • Let's have a look at these.

All contrib source code is available from Daylight (in distribution or via
  1. cansmi.cgi - canonicalize and check SMILES.
    • Runs cansmi (contrib C program).

  2. pcmodels.cgi - ClogP/CMR.
    • Runs clogp and cmr.

  3. depict.cgi - flexible depicter
    • Uses /daycgi/smi2gif.

  4. depictmatch.cgi - SMARTS matcher and depicter
    • Uses DayPerl, SMARTS Toolkit.

  5. daybase.cgi - Simple Thor/Merlin interface
    • Uses Thorfilters programs, no toolkits.

  6. react.cgi - reaction transforms
    • Uses DayPerl, Reaction Toolkit.

  7. mol2smi.cgi - molfile to SMILES converter; front end to mol2smi.c
    • Runs mol2smi, contrib program.

  8. daytops.cgi - PrintPackage interface
    • Runs prado, treetops. and tablet.

  9. rubicon.cgi - Rubicon
    • Runs rubicon.

  10. tester.cgi - CGI Trainer

  11. UC_SELECT (Geoff Skillman, UCSF) - reagent selection
    • Uses DayPerl, Merlin Toolkit.

MUG'99 -- 23-26 February 1999 -- Santa Fe, NM

Daylight Chemical Information Systems Inc.