SeqApp Help
SeqPup, version 0.5 development release, January 1996
Abstract
SeqPup is a biological sequence editor and analysis program
usable on the common computer systems including Macintosh,
MS-Windows and X-Windows. It includes links to network
services and external analysis programs.
Features include
multiple sequence alignment editor
single sequence editor
read and write several sequence file formats
easy hand alignment features including colored bases and sliding
automatic multiple sequence alignment with ClustalW app
automatic gel fragment alignment to contigs with CAP app
phylogenetic analysis of alignments with fastDNAml and LSADT apps
phylogenetic tree drawing with DrawTree and DrawGram Phylip apps
consensus, reverse, complement, degap, and distance/similarity operations
restriction maps
pretty print of alignments and sequences with boxed and shaded regions.
translate dna to/from protein using various codon tables
find strings and ORFs
automatic preference saving
internet send mail and sequence analysis services by email
user-definable links to external analysis programs
NOTICE: This release is still unfinish, and has bugs.
Please careful of trusting important work to it. Yet it may
be useful to some of you as is.
SeqPup is being written by Don Gilbert using DCLAP, a free,
portable C++ class application framework, and founded on the
NCBI Toolkit, especially it's Vibrant user-interface section
written primarily by Jonathan Kans. SeqApp/SeqPup was
started in 1990 as sequence editor/analysis platform on
which analysis programs from other authors could be easily
incorporated into a useable interface. It was originally
written with Apple Computer's MacApp application framework.
You can obtain this release thru anonymous ftp, gopher or
http to iubio.bio.indiana.edu, in folder /molbio/seqpup.
Versions are available for Macintosh, MS Windows, and
various Unix/XWindows systems. The Internet locators to
this software are
Source code for this software is at
.
Comments, bug reports and suggestions for new features (see
below) are very welcome and should be sent via e-mail to
.
Jan 96 - version 0.5b: added configurable child-app
parameters as HTML forms; fixed file path handling; added
LSADT, DrawTree and DrawGram child apps; fixed save-file-in-
place; better data table and child app handling; added seq
mask items ; click-top-index-line to select columns; fix for
GCG-MSF format ('-' to '.' translate); several MS-
Win32/NT/95 updates; Mac file bundle rez & finder-open;
added seq-index display; added variable position grey
coloring; added mswin/xwin sticky menubar; fixed mswin mouse-
shift commands;added mswin menu command keys; fixed
mac/mswin text edit command keys; save pretty print in PICT
format (mac), metafile (mswin - still buggy?)
SeqPup
version 0.5 development release
January 1995
¦ SeqPup Help
SeqPup is a biological sequence editor and analysis program
usable on the common computer systems including Macintosh,
Motif/X-Windows and MS-Windows. It includes links to
network services and external analysis programs.
This program has already gone thru several changes since
its start in September 1990. I don't expect it to mature
for another year or two, as my prime programming time is
holidays and weekends.
Comments, bug reports and suggestions for new features (see
below) are very welcome and should be sent via e-mail to
With any bug reports, I would appreciate as much detail as
is reasonable without putting you off from making the
report. If you don't have time to send detailed
descriptions of problems, please do send comments and
reports, even if all you say is "Good" or "Bad" or "Ugly".
Please include mention of computer hardware, and operating
system software, including version. Describe how the
problem may be repeated, if it is repeatable. If it is
sporadic or only seen once, please also describe actions
leading up to it. Include copies of data if relevant.
If you need to use land mail, send to
Don Gilbert
Biocomputing Office, Biology Department
Indiana University, Bloomington, IN 47405
¦ Fetching
You can obtain this software via Internet, using anonymous
ftp, gopher or http to the IUBio server at
iubio.bio.indiana.edu. It is located in folder
/molbio/seqpup. Versions are available for Macintosh, MS
Windows, and various XWindows/Unix systems. Please check
the Readme files at this archive for recent news. Remember
to use binary FTP to fetch the .zip and .gz binary files.
Internet resource locators for this software are
Source code for this software is at
You will need to fetch one of the program archive files for
your computer system, its associated child app archive, and
fetch the essential and optional items from the "all-
systems" folder. For example, this would be
all-systems/ SeqPup.help, SeqPup.prefs, tables/*, seqs/*
plus one of these groups to match your computer system
mac/ seqpup-mac-68k.hqx and seqpup-mac-apps.hqx
mswin/ seqpup32.zip
mswin/win16/seqpup16.zip and spapp1.zip
unix/dec-alpha-osf/ SeqPup.gz and seqpup-apps.tar.gz
unix/sgi-irix/ SeqPup.gz and seqpup-apps.tar.gz
unix/sun-sol2-sparc/ SeqPup.gz and seqpup-apps.tar.gz
unix/sun-sol2-i86/ SeqPup.gz and seqpup-apps.tar.gz
unix/sun-sunos4-sparc/ SeqPup-sunos-mostat.gz and seqpup-apps.tar.gz
The current software distribution comprises the following
items.
all-systems/ mac/ mswin-i86/ unix/
all-systems/
SeqPup.help - help file (RTF format) essential
SeqPup-help.text - help file (plain text) optional
SeqPup.prefs - preferences file (plain text)
essential
tables/ - data files used by SeqPup, essential
codon.table dro.cod hum.cod renzyme.table
color.table eco.cod rat.cod tob.cod
appsrc/ - source to applications called by SeqPup,
optional
ChildApp.c captest.seq fastDNAml.doc
cap.src/ clustalw.doc fastDNAml.infile
cap2.doc clustalw.src/ fastdnaml.src/
seqs/ - test sequence files, optional
23+28SrRNA.gb captest.fasta fastdnaml.phylip
5srna.gb dros.ig testre.map6
blue.seq ecolac.seq testreseq.gcg
mac: - Macintosh, files are in binhex format
Readme
seqpup-68k.hqx - SeqPup for Mac with Motorola
68000 processor
seqpup-ppc.hqx - SeqPup for Mac with PowerPC processor
seqpup-apps.hqx - child apps for mac, both 68k and
PPC (fat binaries)
mswin: - MS Windows, files are in ZIP archive binary
format
Readme
seqpup32.zip - SeqPup and child apps for MS
Windows, 32-bit code
win16/seqpup16.zip - Seqpup for MS Windows, 16-
bit code
win16.spapp1.zip - child apps for for mswin
unix: - Unix, files are in TAR, Gnu ZIP format
dec-alpha-osf/ - DEC Alpha computer with OSF/1 Unix
sgi-irix/ - Silicon Graphics Iris
sun-sol2-i86/ - Sun Solaris 2 on Intel 80x86
processor
sun-sunos4-sparc/ - Sun SunOS4 on SPARC processor (or
Sol2)
sun-sol2-sparc/ - Sun Solaris 2 on SPARC processor
unix/dec-alpha-osf:
Readme SeqPup.gz seqpup-
apps.tar.gz
unix/sgi-irix:
Readme SeqPup.gz seqpup-
apps.tar.gz
unix/sun-sol2-i86:
Readme SeqPup.Z seqpup-
apps.tar.Z
unix/sun-sol2-sparc:
Readme SeqPup.gz seqpup-
apps.tar.gz
unix/sun-sunos4-sparc:
Readme
SeqPup-sunos-mostat.gz - Motif libraries are included
(will run on SunOS 4 or Solaris 2
lacking Motif libraries)
SeqPup-sunos-dyn.gz - Motif libraries are not included
seqpup-apps.tar.gz - child apps for SPARC
Note: At this writing (Jan'96), the systems Sun-SunOS4 and
MS-Win3/16bit are not well supported by development software
that I now use (which supports more current operating
systems). These systems will continue to be supported, but
due to time constrains on me, they now lag behind others in
updates.
Also, other operating systems will be supported depending on
popularity and requests. Linux OS on Intel86 will be
supported when I can get hardware incompatibilities with it
and my home Intel PC straightened out. Let me know your
favorite OS if not supported.
¦ Installing
SeqPup is distributed over the Internet in archive files.
The archive format used is commonly available on the
computer system you use (HQX self-extracting for Macintosh,
ZIP for MS Windows, and tar + Gnu ZIP for Unix). There is
one primary program, several document and data files,
examples, and child application programs.
The current organization of files used by the program is:
SeqPup -- execuable, called "seqpup.exe" in MSDOS
SeqPup.help -- this document, in Microsoft RTF format
SeqPup.prefs -- settings for the program, in text format.
tables/ -- data files, required for Restriction
maps, translate and some other functions.
These are standard bioinformatics data files
available and updateable from various
sources.
codon.table -- table of codon preferences, in GCG format
renzyme.table -- REBase data file, for restriction
maps, in GCG format
color.table -- table of color values for display of
bases
hum.cod, tob.cod, eco.cod, and other codon preference
tables that can substitute for codon.table at
your preference
apps/ -- a selection of external analysis
applications.
clustalw -- multiple sequence alignment
cap2 -- contig alignment
fastDNAml -- phylogenetic analysis of sequences
lsadt -- De Soete Least Squares phylogeny analysis
drawtree -- draw unrooted tree, from Phylip
drawgram -- draw cladograms, from Phylip
Note for olderSun systems: This program requires theMotif
run-time libraries that are commonly found on other XWindow
systems. Motif is standard for the current Solaris 2.4 and
later versions, but is not standard on SunOS 4. If you have
Solaris 2.3 or earlier, or SunOS, and do not know that your
system includes Motif, then you will need the version with
statically bound Motif libraries (SeqPup-sunos-mostat.gz).
If you have Solaris 2.4 or later, or a version where Motif
libraries are present, you may still need to configure the
system to let SeqPup know where they are. In a Solaris 2.4
system, where motif lives in /usr/dt/lib by default, this
may be needed to run successfully:
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":/usr/dt/lib
If you get error messages with this saying something about
an out-of-date library,
try instead putting the Motif /dt/lib in front:
setenv LD_LIBRARY_PATH /usr/dt/lib:"$LD_LIBRARY_PATH"
¦¦ Installing preferences
In addition to these two folders and three SeqPup files, the
program will automatically create a personal preferences
file in you computer when you first run it. These
preferences come from the SeqPup.prefs file. The
preferences file created on your system will be something
like this
System Folder:Preferences:seqpup.cnf - MacOS
c:\windows\seqpup.ini - MS Windows
~/.seqpuprc - Unix
The program will save various configuration information to
this file. You may edit this with a text editor. You may
delete it and a new one will be generated from the
SeqPup.prefs file. You may not edit it while the program is
active (any such changes are lost). When the program is
updated in the future, new preferences are added, using the
label
[version=123]
to indicate the version number.
The preference file format is as follows:
- Logical sections are indicated in brackets [section].
- Variables are denoted with a "name=value" format.
- Line starting with ";" indicates a comment and will be
ignored.
The current release of the program may require some fiddling
to install correctly. This
is a known problem, and will be corrected in future
releases. You will want to look at and probably edit the
file "SeqPup.prefs".
The following sections are important in getting the program
to work right, and may need to be edited.
[paths]
temp=
tables=tables
apps=apps
[data]
codon=tables:codon.table
renzyme=tables:renzyme.table
color=tables:color.table
If you use this on a Unix system or an MS DOS system, the
current configuration should work if you start the program
from its folder, e.g.,
cd /path/to/seqpup/
./SeqPup
A perhaps better way for Unix or MSDos systems is to set the
environemntal variable called "SEQPUPHOME" to the path to
SeqPup's folder, then you can run the program from any local
directory (v.0.5 or 0.4k)
setenv SEQPUPHOME /path/to/seqpup/
SeqPup
But as is common on Unix, if you want to install this for
use from any directory, you will currently need to edit the
prefs file and put a fixed path to the SeqPup folders in it,
as
[paths]
temp=/tmp
tables=/long/path/to/seqpup/tables
apps=/long/path/to/seqpup/apps
If you run SeqPup first, then decide to change parts of the
prefs file, you can have all users prefs be updated if you
add the new prefs after a new version number. This is the
procedure:
a) add a higher version number at the end of the
SeqPup.prefs file
[version=6]
b) add changed preference sections and values after that.
You need not remove or edit the original values (I hope...).
So for instance if the highest verson value in the prefs
file is 5, then add this at the end of the SeqPup prefs to
get all users preferences updated:
[version=6]
[paths]
tables=/new/path/to/seqpup/tables
apps=/new/path/to/seqpup/apps
An important caveat with this: New distributions of SeqPup
will use new version values to trigger preference updates.
If the new distribution has a lower version value than you
have used, it won't trigger an update.
Child applications are configured for use with the
SeqPup.prefs file. Please see below the section Child
Tasks.
¦ Source code and DCLAP
SeqPup is built on an object-oriented application framework,
written in C++, called DCLAP. This framework is designed to
speed the development of easy to use, complex programs with
a rich user-interface. At this point, DCLAP is still an
unfinished framework, lacking in documentation. However, it
is rich enough at this point to build complex programs like
SeqPup.
DCLAP includes the following segments
DClap/ -- basic application framework, including command,
control, dialog, file, icon, list, menu, display
panel, table view, mouse tracker, child
application, window and view classes.
Drtf/ -- rich text display handlers, including RTF, HTML
document, PICT and GIF image format readers.
DNet/ -- Internet connection tools, including TCP/IP,
SMTP, Gopher and preliminary HTTP classes.
DBio/ -- Biocomputing methods, included biosequence,
restrict enzyme, sequence editor, seq.
manipulator, seq. output classes.
New applications can be built to employ and reuse these
classes fairly quickly. Variations on the current methods
are simple to add in the class derivation method of C++.
For instance, new document formats can be added on the Drtf
display objects, and new sequence manipulations can be added
in the biosequence handlers, by building on current methods.
DCLAP rests upon the NCBI toolkit, including the Vibrant GUI
toolkit, which is designed for cross-platform functioning.
The successful genome data browser Entrez is written with
the NCBI toolkit.
All of this source is available without charge for non-
profit use (see copyright below). The NCBI toolkit portion
is further available for profit use, and such arrangements
may be made for use of DCLAP.
DCLAP will never compete with commercial programming
frameworks, but it has the virtue of being freely available
and redistributable, and includes support specifically for
biocomputing applications. If you are undertaking a
biocomputing project requiring a rich user interface, and
wish it to run on multiple computer platforms, this may be a
worthwhile choice, especially if you wish to redistribute
your source code for the benefit of the scientific
community.
The DCLAP developer archive is at
Please contact Don Gilbert for further information on using
this framework in other applications.
¦ Copyright
This SeqPup program is Copyright (C) 1990-1995 by D.G.
Gilbert.
All Rights are reserved.
gilbertd@bio.indiana.edu
Biology Dept., Indiana University, Bloomington, IN 47405
You may use this program for your personal use, to provide a
non-profit service to others.
You may not use this program in a commercial product, nor to
provide commercial service, nor may you sell this code
without express written permission of the author.
You may redistribute this program freely. If you wish to
redistribute it as part of a commercial collection or
venture, you need to contact the author for permission.
The source code to this program is likewise copyrighted, and
may be used, modified and redistributed in a free manner.
Commercial uses of it need prior permission of the author.
Any external applications that may distributed with SeqPup
are copyrighted by their respective authors and subject to
distribution provisions as described by those authors. At
present this includes ClustalW, by Des Higgins, CAP2 by
Xiaoqiu Huang, and FastDNAml, written by Joseph Felsenstein
with modifications by Gary Olsen, Hideo Matsuda and Ross
Overbeek, is copyrighted by University of Washington and
Joseph Felsenstein.
Distribution of external analysis applications with this
program is done as a convenience for users, and in no way
modifies the original copyright. If there is a problem with
this, instructions to users for obtaining and installing
external applications will be substituted.
No warranty, express or implied, is provided with this
software. The author is trying to produce a good quality
program, and will incorporate corrections to problems
reported by users of it.
¦ Views
There are four main types of views or displays in SeqPup:
A multiple-sequence view which is the primary display when
you open a sequence document; the single sequence editting
view; various print views which result from an analysis,
like the Restriction map; and dialog views where you control
some function.
Many of these views have dialog controls -- push buttons,
check boxes, radio controls and edittable text items -- to
let you fine-tune a view to fit your preference. Many of
these views also will remember your last preferences.
When a view has editable text items, including the sequence
entry views, most usual undo/cut/copy/paste features will
work.
Two or more views of the same data are possible. Some of
these are truly views of the same data -- changes made in
one view are reflected in another. Other views are static
pictures taken of the data at the time the analysis was
performed -- later changes to the data do not affect that
picture.
¦¦ Aligned multi-sequence view
The main view into a sequence document is the multiple
sequence editor window, which lists sequence names to the
left and sequence bases as one line that can be scrolled
thru. Bases can be colored (now only nucleic colorings) or
black. Sequence can be editted here, especially to align
them, and subranges and subgroupings can be selected for
further operations or analysis. Entire sequence(s) can be
cut/copied/pasted by selecting the left name(s). Mouse-down
selects one. Shift-mouse down selects many in group, Command-
mouse down selects many unconnected. Double click name to
open single sequence view. Select name, then grab and move
up or down to relocate.
Select the lock/unlock button at the view top to lock/unlock
text editting in the sequence line. With lock on (no
editting) you can use shift and command mouse to select a
subrange of sequences to operate on.
Bases can be slid to left and right, like beads on an
abacus, when the edit lock is On (now default). Select a
base or group of bases (over one or several sequences),
using mouse, shift+mouse, option+mouse, command+mouse. Then
grab selected bases with mouse (mouse up, then mouse down on
selection), and slide to left or right. Indels "-" or
spacing on ends "." will be added and squeezed out as needed
to slide the bases. See also the "Degap" menu selection to
remove all gaps thus entered from a sequence.
¦¦ Single sequence view
For entering/editting a single sequence, this view displays
one sequence with more info and control. Edit the name here
(later other documentation). Bring out this view by double-
clicking sequence name in align view, or choosing Edit from
Sequence menu.
¦¦ Print views
Various analyses provide non-editable displays. These are
usually save-able as PICT format for editting in your
favorite MacDraw program, or print-able.
¦ Data files
SeqPup uses plain TEXT type files for its primary sequence
data. These files can be exchanged without modification
with many other sequence analysis programs. SeqPup
automatically determines the sequence format of a data file
when openning it. You have an choice of several formats to
save it as. As of this writing, the GenBank format is
prefered (see bugs).
The program looks in the folder "tables" for text files
containing various data. At present these files include
"codon.table", "renzyme.table" and "color.table".
There is a "SeqPup.prefs" file which stores various user
options like window positions, mail address, child tasks.
This is described more in the Install and Child Apps
sections.
Various temporary files are created for child tasks,
generally in the :Apps: folder. Currently you cannot run
the Child Tasks portion of SeqPup from a locked file server
because these temporary files need to be created where the
child applications reside. Otherwise, SeqPup should operate
from a locked fileserver properly, and can be launched by
several users at once.
¦¦ Restriction Enzyme Table
The file called "renzyme.table" contains restriction enzyme
data, as distributed in REBASE by R.Roberts. The format
used is identical to that used by GCG software.
{ documentation ...}
Commercial sources of restriction enzymes are abbreviated as
follows:
A Amersham (12/91)
B BRL (6/91)
...
X New York Biolabs (4/91)
Y P.C. Bio (9/91)
.. {< separates data}
;AatI 3 AGG'CCT 0 ! Eco147I,StuI
>OU
AatII 5 G_ACGT'C -4 !
>EJLMNOPRSUVX
AccI 2 GT'mk_AC 2 !
>ABDEIJKLMNOPQRSUVXY
;AccII 2 CG'CG 0 ! Bsp50I,BstUI,MvnI,ThaI
>DEJKQVXY
;AccIII 1 T'CCGG_A 4 !
BseAI,BsiMI,Bsp13I,BspEI,Kpn2I,MroI >DEJKQRVY
;Acc65I 1 G'GTAC_C 4 ! Asp718I,KpnI
>DFNY
¦¦ Codon Table
The file called "codon.table" in folder "Tables" is used for
translation of nucleic to protein sequence, and for
backtranslation. This file may be replaced with a table of
your choice in the following format (this format is
identical to that used by GCG software codon tables).
{ any documentation... }
AmAcid Codon Number /1000 Fraction .. {<
data separator}
Gly GGG 1743.00 9.38 0.13
Gly GGA 1290.00 6.94 0.09
... { continue for 64 codons }
¦ Features
The following topics describe main features found in the
SeqPup menus.
¦¦ File
New will create an align view of sequence data. New Text
will create a plain text document, which is the format of
the sequence data files also.
Open will open an exising file. The default choice will
open a file of sequences into a new window. You can choose
"Sequence, append", or hold down the SHIFT key, to open a
sequence file and append it to an existing alignment window.
Other Open options include opening a plain text file, a file
of phylogeny trees in Newick format (see Phylip
documentation), or a Gopher document.
Save, Save as, Save a copy in, all will save the current
document to disk files. Revert will restore the open align
view to the last version saved to disk.
Save selection, Saves only highlighted sequences to a new
disk file. Doesn't affect save status of current full
alignment document.
Print setup, print will print the current view.
Help brings up a view to page thru the help file.
Preferences will set some user preferences.
¦¦ Editing
Undo, cut, copy, paste, clear, select all -- these standard
mac commands will operate on text as well as on sequences in
(hopefully) intuitive, usual ways.
Find, Find same, Find "selection" will search for strings in
text.
Replace, replace same will replace target strings (not yet
enabled).
¦¦ Sequence manipulations
New sequence -- append a new, blank sequence to the sequence
document.
Edit -- open single sequence editting view for selected
items.
Reverse, Complement, Rev-complement -- Reverse, complement
or reverse+complement a sequence. Works on one or more
sequences, and the selected subrange.
Rna-Dna,Dna-Rna -- Convert dna to rna (t->u) and vice versa.
Works on one or more sequences, and the selected subrange.
Degap -- remove alignment gaps "~". Works on one or more
sequences, and the selected subrange. Gaps of "-" are locked
and not affected by Degap. Works on one or more sequences,
and the selected subrange.
Lock Indel & Unlock Indel -- Convert from unlocked gaps "~",
to locked gaps "-". Unlocked gaps will disappear and appear
as needed as you slide bases left and right. Locked gaps
are not affected by sliding nor by Degap. Works on one or
more sequences, and the selected subrange.
Consensus -- generate a consensus sequence of the selected
sequences.
Translate -- translate to/from amino acid. Relies on
Codon.Table data.
Pretty print -- a prettier view of a single or aligned
sequences. Use these views to print your sequences.
Printing from the editing display will not be supported
fully, and may not print all of your sequence(s).
Restriction map -- Restriction enzyme cut points of selected
sequence. Also protein translation options.
Dotty plot -- provide a dot plot comparison of two
sequences.
Nucleic, amino codes -- These provide both reminders of the
base codes, and a way to select colors to assocate with each
code (new in v 1.9a). See below for some discussion of the
two "aa-color" documents that now ship with SeqPup.
¦ Child Tasks
The "ChildApps" menu lets you link SeqPup with external
sequence analysis programs that you or others may write.
SeqPup can be configured to launch any other application,
and to send it sequence data and command information. When
the child program is finished with its analysis, SeqPup can
open and display results files from the child in a variety
of formats, including text, biosequence, PICT, RTF and GIF.
On Macs, the ChildApps menu requires System 7 to operate.
The general design of child applications is taken to be data
analysis programs that have a simple command-line user-
interface, and that take input data from a file or from the
system "standard input" file (stdin), and that write outputs
to files and to two system standard files "standard output"
(stdout) and "standard error" (stderr). This is how many
existing analyses programs work, and it is very
straightforward to program this basic kind of user-
interface.
The value of SeqPup joined with these kinds of programs is
that the SeqPup can concentrate on providing an easy-to-use
interface for biologists, and the analysis application can
concentrate on data analyses, without having to add a lot of
software baggage to provide a more usable interface.
A desired addition to SeqPup will be a dialog to configure
new and current child tasks. However, at present this needs
to be done by using a text editor to change the SeqPup.prefs
file.
¦¦ Configuring child applications
You can add new child apps by editing the text file
SeqPup.prefs. You will need to update the section [apps]
with a new line for you new app, then install a new section,
[newappname]. You will also need to increase the
[version=#] value, as described above in the Installation
section, for the program to take notice of your changes.
The [apps] section contains a list of child app sections,
and the menu title string. E.g.,
[apps]
clustal=ClustalW Multiple align...
The clustal= line says there is a child app section called
clustal, and its menu title is "ClustalW Multiple align..."
Version 0.5 adds the form=path-to-html-form method for
configuring child apps.
Forms are the recommended replacement to the following
methods. This new feature needs documenting, but is still
evolving. It follows the HTML forms standard, though not
all HTML specs are implemented at this release.
See the example HTML forms in the apps folder to find how
these work.
The following variable names have special meaning as Input
tags of TYPE=hidden:
infile, seqformat, minseq,
outfile1, outfile2, .. outfilen
stdin, stdout, stderr, stdcmdin
The HTML