diff --git a/doc/TechnicalReference/TechnicalReference.tex b/doc/TechnicalReference/TechnicalReference.tex
index bbbe5a54d12a26279299b07b7e3d53247d3f0d88..23564f82c2295ee84a60a909efe5060762e428ad 100644
--- a/doc/TechnicalReference/TechnicalReference.tex
+++ b/doc/TechnicalReference/TechnicalReference.tex
@@ -644,9 +644,72 @@ transcription start, transcription stop and CDS stop, a function
 \newpage
 
 \section{Programs} \label{sec:programs}
+In this section we discuss a number of possible interconnections between the
+modules.
 
 \subsection{Mutalyzer} \label{subsec:mutalyzer}
 
+\subsubsection{Semantic checks}
+The main function of \texttt{Mutalyzer} program, is \emph{semantic name
+checking}. It uses the \texttt{Parser} module for syntactic checking and the
+generation of a parse tree, and applies the given description to a reference 
+sequence. This reference sequence is provided by either the \texttt{LRGparser}
+of \texttt{GBparser} module. By combining the variant description and the
+interpreted reference sequence file, semantic checking can be done.
+
+Semantic checks focus on several aspects of a variant description:
+\begin{itemize}
+\item Correctness of an intronic position notation.
+\item Disambiguation of a deletion or insertion.
+\item Minimising a description.
+\item Verifying optional arguments.
+\end{itemize}
+
+As an example of an intronic position check, we look at the position $25+4$. In
+this case, position $25$ must be a splice donor site.
+
+When a nucleotide is deleted from a stretch of nucleotides, the HGVS prescribes
+that the last one should be deleted. This disambiguation also applies for more
+complex structures; deleting \verb#GACTATTCCCTG# from a sequence
+\verb#ATGGACTATTCCCTGGCT# for example, should be corrected to the deletion of
+\verb#ACTATTCCCTGG#. Only deletions, insertions and duplications are sensitive
+to this kind of ambiguity.
+
+Every description can be written as a deletion/insertion (\emph{delins})
+operation, but using this representation is not necessarily the shortest one. A
+delins of one nucleotide, for example should be written as a substitution.
+Several checks are implemented to reduce one representation to an other. In 
+Table~\ref{tab:erosion} a list of possibly ``disguised'' variants is shown.
+
+\begin{table}[H]
+\begin{center}
+\begin{tabular}{l|l}
+Variant type & Could be \\
+\hline
+delins & del, ins, dup, subst, inv \\
+ins    & dup \\
+inv    & subst 
+\end{tabular}
+\end{center}
+\caption{Disguised variants.} \label{tab:erosion}
+\end{table}
+
+Apart from this possible disguise, a variant can be described using too much
+nucleotides, or a range that is too large. A delins can include part of the
+flanking sequence of the real change. To prevent this, the \emph{longest common
+prefix} and \emph{longest common suffix} are pruned. Likewise, an inversion 
+can be too large when the \emph{reverse complement} of a prefix is a suffix.
+This is pruned in a similar way. Finally, a delins, subst or inv can have no
+effect at all.
+
+Any optional arguments must also be checked. If a length of a deletion is given
+for example, it must match the range of the deletion. If a stretch of
+nucleotides is given, this stretch must match the reference sequence.
+
+\subsubsection{Visualisation}
+
+\subsubsection{Effect prediction}
+
 \subsection{VarInfo} \label{subsec:varinfo}
 
 \subsection{UCSC\_Update} \label{subsec:ucsc_update}
diff --git a/src/Modules/Parser.py b/src/Modules/Parser.py
index be18693c2cf7b2ef2e959ca2b57037e48941aea3..4035b1ef00ca7582751b11031c4a0225dca8b858 100644
--- a/src/Modules/Parser.py
+++ b/src/Modules/Parser.py
@@ -70,7 +70,8 @@ class Nomenclatureparser() :
     ProtIso = Suppress("_i") + Number("ProtIso")
     GeneSymbol = Suppress('(') + Group(Name("GeneSymbol") + \
                  Optional(TransVar ^ ProtIso))("Gene") + Suppress(')')
-    GI = Suppress(Optional("GI") ^ Optional("GI:")) + Number("RefSeqAcc")
+    GI = Suppress(Optional("GI") ^ Optional("GI:") ^ Optional("gi") ^ 
+         Optional("gi:")) + Number("RefSeqAcc")
     Version = Suppress('.') + Number("Version")
     AccNo = NotAny("LRG_") + \
             Combine(Word(alphas + '_') + Number)("RefSeqAcc") + \
diff --git a/src/Modules/Web.py b/src/Modules/Web.py
index 80c20f619516e2a44b8a9eaa24914fa404a47626..5ec7476ed1df405127fd6fde14750d2591861f02 100644
--- a/src/Modules/Web.py
+++ b/src/Modules/Web.py
@@ -42,8 +42,9 @@ class Web() :
                 version ; Here the displayed version is defined.
         """
 
-        self.version = "2.0α-5"
+        self.version = "2.0β-1"
         self.nomenclatureVersion = "2.0"
+        self.releaseDate = "9 Aug 2010"
 
         C = Config.Config()
         self.email = C.Retriever.email
@@ -134,6 +135,7 @@ class Web() :
     
         context.addGlobal("version", self.version)
         context.addGlobal("nomenclatureVersion", self.nomenclatureVersion)
+        context.addGlobal("releaseDate", self.releaseDate)
         context.addGlobal("contactEmail", self.email)
         for i in args :
             context.addGlobal(i, args[i])
diff --git a/src/Mutalyzer.py b/src/Mutalyzer.py
index 65f1fe9df98038d9fead8a3edac508f96fd031e7..8e09f53cc0c5b11677c185835f7634f744ba1b2b 100644
--- a/src/Mutalyzer.py
+++ b/src/Mutalyzer.py
@@ -269,6 +269,16 @@ def __cdsLen(splice_sites) :
     return l
 #__cdsLen
 
+def __checkDNA(arg) :
+    """
+    """
+
+    for i in str(arg) :
+        if not i in IUPAC.unambiguous_dna.letters :
+            return False
+    return True
+#__checkDNA
+
 def __checkOptArg(ref, p1, p2, arg, O) :
     """
     """
@@ -285,6 +295,10 @@ def __checkOptArg(ref, p1, p2, arg, O) :
             #if
         #if
         else :
+            if not __checkDNA(arg) :
+                O.addMessage(__file__, 4, "ENODNA",
+                    "Invalid letters in argument.")
+                return False
             ref_slice = str(ref[p1 - 1:p2])
             if ref_slice != str(arg) : # FIXME more informative.
                 O.addMessage(__file__, 3, "EREF",
@@ -537,11 +551,15 @@ def _createBatchOutput(O):
 
 
     O.addOutput("batchDone", outputline)
+#_createBatchOutput
 
 def checkSubstitution(start_g, Arg1, Arg2, MUU, GenRecordInstance, O) :
     """
     """
 
+    if not __checkDNA(Arg2) :
+        #O.addMessage(__file__, 4, "ENODNA", "Invalid letter in input")
+        return
     if Arg1 == Arg2 :
         O.addMessage(__file__, 3, "ENOVAR",
             "No mutation given (%c>%c) at position %i." % (
@@ -640,6 +658,14 @@ def checkInsertion(start_g, end_g, Arg1, MUU, GenRecordInstance, O) :
     if start_g + 1 != end_g :
         O.addMessage(__file__, 3, "EINSRANGE",
             "%i and %i are not consecutive positions." % (start_g, end_g))
+        return
+    #if
+    if not Arg1 or not __checkDNA(Arg1) :
+        O.addMessage(__file__, 3, "EUNKVAR", "Although the syntax of this " \
+            "variant is correct, the effect can not be analysed.")
+        return
+    #if
+
     MUU.insM(start_g, Arg1)
     insertionLength = len(Arg1)
     newStart = MUU.shiftpos(start_g)
@@ -674,6 +700,13 @@ def checkInsertion(start_g, end_g, Arg1, MUU, GenRecordInstance, O) :
                                (roll[0] + shift - insertionLength, 0))
     #if
     else :
+        if shift :
+            O.addMessage(__file__, 2, "WROLL", "Insertion of %s at position " \
+                "%i_%i was given, however, the HGVS notation prescribes " \
+                "that it should be an insertion of %s at position %i_%i." % (
+                MUU.mutated[newStart:newStop], start_g, start_g + 1,
+                MUU.mutated[newStart + shift:newStop + shift], 
+                newStart + shift, newStart + shift + 1))
         GenRecordInstance.name(start_g, start_g + 1, "ins", 
             MUU.mutated[newStart + shift:newStop + shift] , "", 
             (roll[0], shift))
@@ -899,6 +932,9 @@ def __rv(MUU, RawVar, GenRecordInstance, parts, O, transcript) :
 
 def __ppp(MUU, parts, GenRecordInstance, O) :
     if parts.RawVar or parts.SingleAlleleVarSet :
+        if parts.RefType == 'r' :
+            O.addMessage(__file__, 4, "ERNA", "Descriptions on RNA level " \
+                "are not supported.")
         if parts.RefType in ['c', 'n'] :
             GS, W = None, None
             goi, toi = O.getOutput("geneSymbol")[-1]
@@ -1194,6 +1230,7 @@ def process(cmd, C, O) :
                     fullDescr =\
                         "%st%s:%c.%s" % (reference, j.name, j.molType, descr)
                     O.addOutput("descriptions", fullDescr)
+                #if
                 else:
                     O.addOutput("descriptions", (i.name))
 
@@ -1203,12 +1240,14 @@ def process(cmd, C, O) :
                     fullpDescr = "%sp%s:%s" % (reference, j.name, pDescr)
                     O.addOutput("protDescriptions", fullpDescr)
                     cAcc, pAcc = j.transcriptID, j.proteinID
+                #if
 
                 O.addOutput("NewDescriptions", (
                     iName, jName, mType, cDescr, pDescr, gAcc,
                     cAcc, pAcc, fullDescr, fullpDescr))
-
-   #if
+            #for
+        #for
+    #if
     else :
         for i in GenRecordInstance.record.geneList :
             for j in sorted(i.transcriptList, key = attrgetter("name")) :
@@ -1232,11 +1271,13 @@ def process(cmd, C, O) :
                         reference, iName, jName, pDescr)
                     O.addOutput("protDescriptions", fullpDescr)
                     cAcc, pAcc = j.transcriptID, j.proteinID
+                #if
 
                 O.addOutput("NewDescriptions", (
                     iName, jName, mType, cDescr, pDescr, gAcc,
                     cAcc, pAcc, fullDescr, fullpDescr))
             #for
+        #for
     #else
 
 
diff --git a/src/index.py b/src/index.py
index e67584ccd6970cb8e8897597f6bd980213b4379a..60f123adc13e78f94f2c32c7af39d0e6303fd53f 100644
--- a/src/index.py
+++ b/src/index.py
@@ -44,6 +44,7 @@ def snp(req) :
         R = Retriever.Retriever(C.Retriever, O, None)
         R.snpConvert(rsId)
         O.addMessage(__file__, -1, "INFO", "Finished processing rs%s" % rsId)
+    #if
 
     args = {
         "snp"      : O.getOutput("snp"),
@@ -63,6 +64,16 @@ def index(req) :
     return W.tal("HTML", "templates/index.html", {})
 #index
 
+def help(req) :
+    W = Web.Web()
+    return W.tal("HTML", "templates/help.html", {})
+#about
+
+def about(req) :
+    W = Web.Web()
+    return W.tal("HTML", "templates/about.html", {})
+#about
+
 def nameGenerator(req):
     W = Web.Web()
     return W.tal("HTML", "templates/generator.html", {})
@@ -113,11 +124,15 @@ def check(req) :
     else :
         reference += ".gb"
 
+    pe = O.getOutput("parseError")
+    if pe :
+        pe[0] = pe[0].replace('<', "&lt;")
+
     args = {
         "lastpost"           : name,
         "messages"           : O.getMessages(),
         "summary"            : summary,
-        "parseError"         : O.getOutput("parseError"),
+        "parseError"         : pe,
         "errors"             : errors,
         "genomicDescription" : W.urlEncode([O.getIndexedOutput(
                                    "genomicDescription", 0)])[0],
@@ -188,10 +203,15 @@ def syntaxCheck(req) :
         #else :
         #    args["messages"].append("The syntax of this variant is OK!")
     #if
+
+    pe = O.getOutput("parseError")
+    if pe :
+        pe[0] = pe[0].replace('<', "&lt;")
+
     args = {
         "variant"       : variant,
         "messages"      : O.getMessages(),
-        "parseError"    : O.getOutput("parseError"),
+        "parseError"    : pe,
         "debug"         : ""
     }
     ret = W.tal("HTML", "templates/parse.html", args)
diff --git a/templates/about.html b/templates/about.html
new file mode 100644
index 0000000000000000000000000000000000000000..aad12185a7a9348950f49997bb6761ad3331d58a
--- /dev/null
+++ b/templates/about.html
@@ -0,0 +1,49 @@
+<html>
+  <head>
+    <title></title>
+  </head>
+  <body>
+    <div metal:define-macro="content">
+      <center>
+        <h3>About</h3>
+      </center>
+      Mutalyzer <span tal:content = "structure string:${version}"></span>
+      is designed and developed by Jeroen F. J. Laros, with the
+      following exceptions:
+      <ul>
+        <li>The LRG parser, as well as the Batch interfaces are written
+            by Gerben R. Stouten.</li>
+        <li>The position converter interfaces (webservice and WWW) are
+            written by Gerard C. P. Schaafsma.</li>
+      </ul>
+      Specifications are given by Peter E. M. Taschner and Johan T. den 
+      Dunnen.<br>
+      <br>
+      Since the publication is under development, please use the old 
+      reference for now when referring to these pages:
+      <a href="http://www.ncbi.nlm.nih.gov/entrez/utils/fref.fcgi?PrId=3058&itool=AbstractPlus-def&uid=18000842&db=pubmed&url=http://dx.doi.org/10.1002/humu.20654">
+        &quot;Wildeman M et al. (2008). Improving sequence variant
+        descriptions in mutation databases and literature using the
+        Mutalyzer sequence variation nomenclature checker. Hum Mutat 29,
+        6-13&quot;</a>.<br>
+      <br>
+      Project development is sponsored by
+      <a href="http://www.gen2phen.org" target="_blank">
+        <img src="base/images/gen_2_phen_logo_print.png" 
+             width="110"
+             height="50"
+             align="middle"
+             border="0"
+             alt="Eurogentest"></a>
+      and has been supported by
+      <a href="http://www.eurogentest.org" target="_blank">
+        <img src="base/images/Eurogentest.png"
+             width="110"
+             height="50" 
+             align="middle"
+             border="0"
+             alt="Eurogentest"></a>
+      <br>
+    </div>
+  </body>
+</html>
diff --git a/templates/help.html b/templates/help.html
new file mode 100644
index 0000000000000000000000000000000000000000..52ebab3ef0b98aea523fa1b7d755dfcbb1cb428c
--- /dev/null
+++ b/templates/help.html
@@ -0,0 +1,953 @@
+<html>
+  <head>
+    <title>Mutalyzer - Sequence variant nomenclature check - Help</title>
+  </head>
+  <body>
+    <div metal:define-macro="content">
+      <center><h3>Mutalyzer 2 Help</h3></center>
+
+      <h3>About Mutalyzer</h3>
+      <p>
+        Mutalyzer is a tool primarily designed to check descriptions of
+        sequence variants according to the standard human sequence variant
+        nomenclature of the Human Genome Sequence Variation Society
+        (<a href="http://www.hgvs.org/">HGVS</a>) (For an overview, visit 
+        <a href="http://www.hgvs.org/mutnomen/"
+          >http://www.hgvs.org/mutnomen/</a>).
+        Mutalyzer aims to encourage the proper use of&nbsp; nomenclature in
+        publications and reduce redundancy in sequence variation databases. In
+        principle, Mutalyzer can check descriptions of sequence variants
+        detected in other organisms, provided that the standard HGVS
+        nomenclature is applied. 
+      </p>
+
+      <h3>Mutalyzer 2 flow</h3>
+      <p>
+        The user specifies a reference sequence (file) and a variant using the
+        <a href="#NameGenerator">Name Generator</a> or the 
+        <a href="#NameChecker">Name checker</a> interface. The Name Generator
+        builds the complete variant description for the Name Checker (e.g.,
+        Mutalyzer uses this input to perform the nomenclature check in the
+        following steps:
+      </p>
+      <p>
+        1) Retriever: retrieves
+        <a href="#Ref">reference sequence records</a> from the 
+        <a href="http://www.ncbi.nlm.nih.gov/">NCBI</a> or 
+        <a href="http://www.lrg-sequence.org/">LRG</a> websites.
+      </p>
+      <p>
+        2) Reference sequence parser: extracts sequence and annotation from
+        reference sequence records
+      </p>
+      <p>
+        3) <a href="#SyntaxChecker">Syntax checker</a>: context-free parser
+        using the complete sequence variant description to check whether the
+        syntax is correct according to standard HGVS sequence variant
+        nomenclature
+      </p>
+      <p>
+        4) <a href="#NameChecker">Name checker</a>: the core nomenclature
+        checker using the complete sequence variant description to check
+        whether it is correct according to standard HGVS sequence variant
+        nomenclature
+      </p>
+      <p>&nbsp;</p>
+      <p>
+        <b>Additional Mutalyzer 2 functionality:</b>
+      </p>
+      <p>
+        - <a href="#PositionConverter">Position Converter</a>: converts hg18
+          and hg19 chromosomal positions to transcript positions in HGVS n. or
+          c. notation and vice versa. The n. or c. notation should be checked
+          with the Name checker
+      </p>
+      <p>
+        - <a href="#GenBankUploader">GenBank Uploader</a>: allows you to
+          upload and use your own reference sequence.
+      </p>
+      <p>
+        - <a href="#SNPConverter">SNP converter</a>: allows you to convert a
+          <a href="http://www.ncbi.nlm.nih.gov/projects/SNP/">dbSNP</a> rsId to
+          HGVS notation.
+      </p>
+      <p>
+        - <a href="#BatchChecker">Batch Checkers</a>: interfaces for the
+          different checkers that accept a large list of descriptions as input.
+      </p>
+      <p>
+        - <a href="#Webservices">Webservices</a>: programmatic access to
+          Mutalyzer's functionality.
+      </p>
+      <p>&nbsp;</p>
+
+      <h2>Introduction</h2>
+
+      <h3>Reference sequences<a name="Ref"></a></h3>
+      <p>
+        <b>
+          We strongly recommend the use of genomic reference sequences
+          containing proper annotation for optimal use of Mutalyzer's
+          capabilities to generate descriptions for all transcripts and protein
+          isoforms of the gene(s) affected by the sequence variation.
+        </b>
+      </p>
+      <p>
+        Mutalyzer accepts the following reference sequences:
+      </p>
+      <p>
+        1) GenBank files
+      </p>
+      <p>
+        GenBank records (e.g., NG_007400.1) are specified by a 
+        <i>GenBank accession number</i> (NG_007400) and a version number (.1).
+        Omission of the version number automatically results in selection of
+        the most recent version of that record. In case of outdated versions,
+        Mutalyzer will issue a warning. Alternatively, the unique 
+        <i>GenInfo identifier</i> (gi) of the reference sequence (e.g.,
+        4506864) can be used with or without the letters &#8220;gi&#8221;.
+        Mutalyzer does not accept GenBank records containing no sequence (e.g.
+        chromosomal reference sequence identifiers referring to contig
+        accession numbers) or files larger than 10 MB. Mutalyzer also accepts
+        user-defined files in GenBank format, including slices of chromosomal
+        reference sequences. These files are specified by unique 
+        <i><a href="#UD">UD identifiers</a></i>, which are returned by Mutalyzer
+        after upload (See the <a href="#GenBankUploader">GenBank Uploader</a>
+        section for more information).<br>
+      </p>
+      <p>
+        2) LRG files
+      </p>
+      <p>
+        Locus Reference Genomic (LRG) files containing uniquely and stable
+        reference DNA sequences along with all relevant transcript and protein
+        sequences essential to the description of gene variants (see the 
+        <a href="http://www.lrg-sequence.org/"> LRG website</a> for more
+        information). LRG files are based on 
+        <a href="http://www.ncbi.nlm.nih.gov/">NCBI</a>'s 
+        <a href="http://www.ncbi.nlm.nih.gov/RefSeq/RSG/">RefSeqGene project</a>
+        and created in collaboration with the community of research and
+        diagnostic labs, LSDB curators and mutation consortia. LRG files are
+        specified by the prefix &quot;LRG_&quot; followed by a number (e.g.,
+        LRG_1). The <a href="http://www.lrg-sequence.org/"> LRG website</a>
+        lists existing LRG sequences and has an 
+        <a href="ftp://ftp.ebi.ac.uk/pub/databases/lrgex/">FTP site</a> for
+        downloading LRGs. To maintain LRG stability, Mutalyzer's uploader does
+        not accept user-defined LRG files.
+      </p>
+
+      <h3>Variant descriptions</h3>
+      <p>
+        The Mutalyzer nomenclature checker accepts variant descriptions in
+        standard human sequence variant nomenclature format. For users, who are
+        not familiar with the nomenclature syntax, Mutalyzer's 
+        <a href="#NameGenerator">Name Generator</a> provides a form to acquire
+        the separate components necessary to construct variant descriptions.
+      </p>
+      <p>
+        These components, which are discussed in more detail below are:\
+      </p>
+      <p>
+        1) <a href="#Position">Position numbering scheme (Sequence Type)</a>
+      </p>
+      <p>
+        2) <a href="#GeneSymbol"
+             >Gene symbol, transcript variant and protein isoform</a>
+      </p>
+      <p>
+        3) <a href="#Start">Variant start and end positions</a>
+      </p>
+      <p>
+        4) <a href="#Mutation">Mutation type</a>
+      </p>
+      <p>
+        5) <a href="#Deleted">Deleted and Inserted sequence</a>
+      </p>
+      <p>
+        <b><a name="Position"></a>Position numbering scheme (Sequence Type)</b>
+      </p>
+      <p>
+        The standard human sequence variant nomenclature uses different
+        position numbering schemes to describe variants relative to the
+        reference sequence. Mutalyzer checks if the specified reference
+        sequence is compatible with the selected position numbering scheme for
+        the sequence variation. Variant descriptions involving upstream or
+        downstream regulatory sequences and intron sequences can only be
+        checked using genomic sequence records. Therefore, genomic records with
+        correct annotation of all genes, transcripts and protein isoforms
+        support most position numbering schemes. Mutalyzer automatically
+        converts the given variant description to other position numbering
+        schemes supported by the reference sequence and its annotation.
+        Mutalyzer will not return results when the selected reference sequence
+        does not contain sufficient sequence or annotation to support the
+        nomenclature check of the variant.
+      </p>
+      <p>
+        There are six position numbering schemes (Sequence Types):
+      </p>
+      <p>
+        <i>Genomic</i>
+      </p>
+      <p>
+        The <i>Genomic</i> position numbering scheme is applied to raw genomic
+        records. The value 1 is assigned to the first base in the record and
+        all bases are counted from there. In the output, genomic numbering is
+        indicated by the g. prefix preceding the position number(s). LRG
+        records and all <i>GenBank</i> records with 'DNA' in the first line
+        will be accepted.
+      </p>
+      <p>
+        Please note that well-annotated genomic sequence records containing
+        annotated transcripts and corresponding coding sequences can be used in
+        combination with non-coding DNA, coding DNA and protein position
+        numbering schemes.
+      </p>
+      <p>
+        <i>Non-coding DNA (ncDNA)</i>
+      </p>
+      <p>
+        The <i>Non-coding DNA</i> or <i>ncDNA</i> position numbering scheme can
+        be used with:<br> 
+        a) <i> GenBank</i> records containing genomic sequences with annotated
+        transcripts without a corresponding coding sequence.<br>
+        b) LRG records<br>
+        c) <i> Genbank </i>records containing transcript sequences without
+        annotated coding sequences, provided that no intronic bases are
+        involved in the variation. Mutalyzer needs a correctly annotated
+        genomic reference sequence to check HGVS Non-coding DNA numbering of
+        intron positions.
+      </p>
+      <p>
+        The value 1 is assigned to to the first base of the transcript in the
+        record and all the exonic bases are counted from there. Intronic bases
+        are numbered x+1, x+2, x+3 &#8230; y-3, y-2, y-1 where x is the value
+        of the last exonic base upstream of the intron, y is the value of the
+        first exonic base downstream of the intron and x and y are consecutive
+        numbers. Intronic position numbers are always counted from the closest
+        exonic base. In case of a tie, the upstream base is used. In the
+        output, ncDNA numbering is indicated by the n. prefix preceding the
+        position number(s).
+      </p>
+      <p>
+        <i>Coding DNA (cDNA)</i>
+      </p>
+      <p>
+        The <i>Coding DNA</i> or <i>cDNA</i> position numbering scheme can be
+        used with:<br>
+        a) <i> Genbank</i> records containing genomic sequences with annotated
+        transcripts and corresponding coding sequences. <br>
+        b) LRG records<br>
+        c) <i>Genbank </i>records containing transcript sequences with
+        annotated coding sequences, provided that no intronic bases are
+        involved in the variation. Mutalyzer needs a correctly annotated
+        genomic reference sequence to check HGVS Coding DNA numbering of intron
+        positions.
+      </p>
+      <p>
+        The value 1 is assigned to the A of the ATG start codon and all the
+        exonic bases between start and stop are counted normally.<br>
+        5' untranslated region: Exonic bases upstream of (i.e. before) the ATG
+        are numbered -1, -2, -3 and so on.<br> 
+        3' untranslated region: Exonic bases downstream of (i.e. behind) the
+        stop codon are numbered *1, *2, *3 and so on.<br>
+        Intronic bases in the Coding sequence are numbered x+1, x+2, x+3
+        &#8230; y-3, y-2, y-1 where x is the value of the last exonic base
+        upstream of the intron, y is the value of the first exonic base
+        downstream of the intron and x and y are consecutive numbers. Intronic
+        position numbers are always counted from the closest exonic base. In
+        case of a tie, the upstream base is used.<br>
+        In case of: a 5' untranslated region split over two or more exons:
+        Intronic bases are numbered -x+1, -x+2, -x+3 &#8230; -y-3, -y-2, -y-1
+        where -x is the value of the last exonic base upstream of the intron,
+        -y is the value of the first exonic base downstream of the intron and x
+        and y are consecutive numbers.<br>
+        In case of: a 3' untranslated region split over two or more exons:
+        Intronic bases are numbered *x+1, *x+2, *x+3 &#8230; *y-3, *y-2, *y-1
+        where *x is the value of the last exonic base upstream of the intron,
+        *y is the value of the first exonic base downstream of the intron and y
+        are consecutive numbers.
+        <br>
+        In the output, cDNA numbering is indicated by the c. prefix preceding
+        the position number(s).
+      </p>
+      <p>
+        <i>RNA</i>
+      </p>
+      <p>
+        The <i>RNA</i> position numbering scheme has not yet been implemented
+        in Mutalyzer 2. The value 1 is assigned to the first base in the record
+        and from there all bases are counted normally. In the output, RNA
+        numbering is indicated by the r. notation preceding the position
+        number(s).
+      </p>
+      <p>
+        <i>Mitochondrial DNA (mtDNA)</i>
+      </p>
+      <p>
+        The <i>Mitochondrial DNA (mtDNA)</i> position numbering scheme uses raw
+        genomic records. The value 1 is assigned to the first base in the
+        record and from there all bases are counted normally.
+      </p>
+      <p>
+        <i>Protein</i>
+      </p>
+      <p>
+        The <i>Protein</i> position numbering scheme is used to generate
+        variant descriptions at protein level from genomic or Coding DNA
+        descriptions by translation of the Coding sequence. The current version
+        of Mutalyzer 2 does not yet support checks of protein variants using a
+        <i>GenBank</i> protein record. The value 1 is assigned to the first
+        amino acid of the translated Coding sequence and from there all amino
+        acids are counted normally. In the output, protein variants have the
+        prefix p. folllowed by the amino acid changes between parentheses to
+        indicate that they are predicted by translation of the modified Coding
+        sequence.
+      </p>
+      <p>
+        <i>EST</i>
+      </p>
+      <p>
+        The <i>EST</i> position numbering scheme can be used with
+        <i>GenBank</i> <i>EST</i> records. The value 1 is assigned to the first
+        base in the record and from there all bases are counted normally.
+        Sequence variation descriptions based on EST sequences lack the c.
+        prefix to indicate that only part of the coding sequence may be
+        present. All records with 'EST' in the first line will be accepted.
+        These records do not allow checks of intronic sequence variations.
+      </p>
+      <p>
+        <b><a name="GeneSymbol"></a>Gene Symbol and Variant</b>
+      </p>
+      <p>
+        In genomic records containing annotation of multiple genes, alternative
+        transcript variants and protein isoforms, only genomic positions are
+        unambiguous. Descriptions at <i>Non-coding DNA, coding DNA, </i>or
+        protein level may be ambiguous. Mutalyzer parses the annotation of the
+        reference sequence record and displays the detected genes, transcript
+        variants or protein isoforms in the legend at the bottom of the output
+        page. Mutalyzer uses the annotation to detect potential ambiguity in a
+        variant description. Further specification of genes, transcript
+        variants or protein isoforms may be required to solve it. Only Gene
+        Symbols matching the reference sequence annotation are allowed.
+        Usually, gene symbols have to be combined with the desired transcript
+        variant or protein isoform
+      </p>
+      <p>
+        Variant descriptions are accepted in two formats:
+      </p>
+      <p>
+        - A positive integer referring to the order of the transcripts in the
+          annotation, e.g. <b>1</b>, <b>2</b>, <b>3</b>, ...<br>
+        - The exact identifier following the underscore behind the Gene symbol
+          in the legend, e.g. v002 for a transcript variant or i002 for a
+          protein isoform
+      </p>
+      <p>
+        <b><a name="Start"></a>Start and End Position</b>
+      </p>
+      <p>
+        The Start position is the positional value of the most upstream base or
+        amino acid in the reference sequence affected by the mutation. The End
+        position is the positional value of the most downstream base or amino
+        acid in the reference sequence affected by the mutation. Mutalyzer only
+        accepts positions contained within the reference sequence. The values
+        should be a positive integer (whole number) for all position numbering
+        schemes, except <i>Non-coding DNA </i> and<i> Coding DNA </i> . For
+        <i>Non-coding </i> and<i> Coding DNA,</i> these positions may also
+        contain + and - signs to indicate intron positions. For
+        <i> Coding DNA,</i> positions can also have prefixes - and * to
+        indicate exonic positions in 5' or 3' untranslated regions.
+        Furthermore, in descriptions of deletions, exonic positions can be
+        followed by +? or -? to indicate unknown intronic positions.<br>
+        The Mutalyzer nomenclature checker has a strict implementation of Start
+        and End positions in <i>Non-coding DNA </i> and<i> Coding DNA</i>
+        position numbering schemes. To prevent discrepancies between
+        <i>Non-coding DNA </i> and<i> Coding DNA</i> descriptions based on
+        genomic RefSeqGene (NG_) records and the corresponding RefSeq
+        transcript (NR_ or NM_) records, exon positions may not exceed those of
+        the transcript annotated in the genomic reference sequence record.
+        Therefore, Mutalyzer cannot use - or * prefixes to indicate positions
+        in upstream or downstream intergenic regions.
+      </p>
+      <p>
+        For upstream intergenic positions, Mutalyzer combines the position of
+        the first nucleotide of the transcript with the suffix -u followed by
+        the position of the upstream nucleotide. Intergenic bases upstream of
+        <i>Non-coding DNA </i>are numbered n.1-uy, ..., n.1-u3, n.1-u2, n.1-u1
+        where y is the value of the most upstream base and n.1-u1 is the value
+        of the first intergenic base upstream of the first exon. Intergenic
+        bases upstream of <i>Coding DNA </i>are numbered c.x-uy, ..., c.x-u3,
+        c.x-u2, c.x-u1 where x is the value of the first nucleotide of the
+        first exon and y is the value of the most upstream base. The advantage
+        of this notation is that the -u position corresponds to the - position
+        used by to describe transcription factor binding sites.
+      </p>
+      <p>
+        For downstream intergenic positions, Mutalyzer combines the position of
+        the last nucleotide of the transcript with the suffix +d followed by
+        the position of the downstream nucleotide. Intergenic bases downstream
+        of <i>Non-coding DNA </i>are numbered n.x+d1, n.x+d2, n.x+d3 ... where
+        x is the value of the last nucleotide of the last exon. Intergenic
+        bases downstream of <i>Coding DNA </i>are numbered c.x+d1, c.x+d2,
+        c.x+d3, ... where x is the value of the last nucleotide of the last
+        exon.
+      </p>
+      <p>
+        <b><a name="Mutation"></a>Mutation Type</b>
+      </p>
+      <p>
+        The syntax of the standard human sequence variant nomenclature depends
+        on the type of mutation. Six mutation types are supported:
+      </p>
+      <p>
+        <i>Substitution</i>
+      </p>
+      <p>
+        A substitution is the replacement of a single nucleotide or amino acid
+        by another. A substitution involving multiple residues is classified as
+        an indel. The start and end position should be identical. The original
+        residue and the new residue have to be specified and must be
+        non-identical. In the Name Generator, the Deleted Sequence and Inserted
+        Sequence fields must be filled in.
+      </p>
+      <p>
+        <i>Deletion</i>
+      </p>
+      <p>
+        A deletion is the removal of one or more nucleotides or amino acids
+        without replacement. In the Name Generator, the Inserted Sequence field
+        must remain empty. The Deleted Sequence field can be filled in to check
+        the start and end positions and to match the deleted residues with the
+        reference sequence (Optional). Please note that the start and end
+        positions should be equal when only one nucleotide or amino acid is
+        deleted.
+      </p>
+      <p>
+        <i>Insertion</i>
+      </p>
+      <p>
+        An insertion is the addition of one or more nucleotides or amino acids
+        without removing any previously existing ones. The starting and end
+        positions should differ by exactly one. In the Name Generator, Inserted
+        Sequence must be filled in with the actual new sequence. If the
+        inserted sequence is already present in the reference sequence at the
+        location of the insertion, it should be represented as a
+        duplication.
+      </p>
+      <p>
+        <i>Duplication</i>
+      </p>
+      <p>
+        Duplication is the addition of one or more nucleotides or amino acids
+        identical to the sequence from the specified start position to the
+        specified end position, at the end position. In the Name
+        Generator,&nbsp; Deleted Sequence must remain empty. Inserted Sequence
+        can be filled in to check the start and end positions and to match the
+        duplicated residues with the reference sequence (Optional).
+      </p>
+      <p>
+        <i>Insertion/Deletion (indel)</i>
+      </p>
+      <p>
+        An indel is the removal of one or more bases or amino acids, combined
+        with the addition of one or more bases or amino acids. In case a single
+        residue is deleted and another residue is inserted, the mutation should
+        be described as a substitution, not an indel. If the inserted sequence
+        is the reverse complement of the original sequence, it should be
+        described as an inversion. Start and end position define the boundaries
+        of the deletion in the original sequence. In the Name Generator, the
+        deleted sequence should be entered in the Deleted Sequence field and
+        the Inserted sequence in the New Sequence field.
+      </p>
+      <p>
+        <i>Inversion (nucleotide sequences only)</i>
+      </p>
+      <p>
+        An inversion is a sequence of two or more bases inserted as its reverse
+        complement. Start and end position must be non-identical. In the Name
+        Generator, the Deleted Sequence and Inserted Sequence fields must
+        remain empty.&nbsp;
+      </p>
+      <p>
+        <b><a name="Deleted"></a>Deleted and Inserted Sequence</b>
+      </p>
+      <p>
+        The syntax of the standard human sequence variant nomenclature requires
+        specification of the inserted residue(s) for several mutation types.
+        Specification of the original residue(s) is optional for most types,
+        except for subsitutions. In the Name Generator, the presence or absence
+        of these fields depends on the selected Mutation Type. These fields
+        should be used:<br>
+        -to enter the original amino acid or nucleotide residue(s) present in
+        the reference sequence (Deleted Sequence).<br>
+        -to enter the amino acid(s) or nucleotide residue(s) introduced by the
+        change (Inserted Sequence).
+      </p>
+
+      <hr>
+      
+      <h3>Mutalyzer Name Checker Help<a name="NameChecker"></a></h3>
+      <p>
+        Users can check the correctness of a variant description. The Name
+        Checker will try to regenerate the variant sequence and name it
+        according to the HGVS standard human sequence variant nomenclature.
+      </p>
+      <p>
+        Examples: <br>
+        AB026906.1:c.3_4insG<br> 
+        AB026906.1:c.[1del;4G&gt;T]<br> 
+        AL449423.14(CDKN2A_v1):c.1_10del<br> 
+        UD_127955523176(DMD_v002):c.136G&gt;T<br>
+        LRG_1t1:c.266G&gt;T
+      </p>
+
+      <hr>
+      
+      <h3>Mutalyzer Syntax Checker Help<a name="SyntaxChecker"></a></h3>
+      <p>
+        Users can check the correctness of the standard nomenclature syntax.
+        The Syntax Checker uses a context-free parser to detect deviations from
+        the standard nomenclature syntax in the input. The position of&nbsp;
+        the deviation is indicated in the error message and by a caret (^)
+        below the description.
+      </p>
+      <p>
+        Examples: <br>
+        AB026906:c.3_4inG<br>
+        AB026906.1:c.35_36ins<br>
+        LRG_1t1:c.266G&lt;T
+      </p>
+      
+      <hr>
+      
+      <h3>
+        Mutalyzer Position Converter Help<a name="PositionConverter"></a>
+      </h3>
+      <p>
+        The Position Converter will convert the positions of the variation
+        description from the chromosomal position for a specific human genome
+        build to a position relative to RefSeq transcript reference sequences.
+        The Position Converter uses a local database containing the mapping
+        information from the 
+        <a href="http://genome.ucsc.edu/index.html?org=Human"
+          >UCSC genome browser</a> for human genome builds hg18 (NCBI 36) and
+        hg19 (GRCh37). The specified version of the RefSeq transcript Accession
+        number has to be present in the database. The sequence variation
+        description has <u>not</u> been checked by Mutalyzer's 
+        <a href="#NameChecker">Name Checker</a>.
+      </p>
+      <p>
+        Examples:<br>
+        NM_003002.2:c.274G&gt;T<br> 
+        chr11:g.111959693G&gt;T<br> 
+        NC_000011.9:g.111959693G&gt;T
+      </p>
+
+      <hr>
+      
+      <h3>Mutalyzer SNP Converter Help<a name="SNPConverter"></a></h3>
+      <p>
+        The SNP Converter will submit a <a
+        href="http://www.ncbi.nlm.nih.gov/projects/SNP/">dbSNP</a> rsID to
+        dbSNP to retrieve the sequence variation description according to the
+        HGVS sequence variation description listed in dbSNP.<br>
+        The sequence variation description has <u>not</u> been checked by
+        Mutalyzer's <a href="#NameChecker">Name Checker</a>.
+      </p>
+      <p>
+        Example:<br>
+        SNP Accession number: rs9919552
+      </p>
+
+      <hr>
+      
+      <h3>Mutalyzer Name Generator Help<a name="NameGenerator"></a></h3>
+      <p>
+        The Name Generator aims to assist users, who are not familiar with all
+        the details of the HGVS standard human sequence variant nomenclature,
+        to construct variant descriptions. The Name Generator presents a form
+        to collect the separate components of a variant description described
+        above. The variant description generated is subsequently used by the
+        Name Checker to construct the variant sequence and name it according to
+        the HGVS standard human sequence variant nomenclature.
+      </p>
+      <p>
+        Example: <br>
+        Reference: AL449423.14<br> 
+        Sequence Type: Coding DNA<br> 
+        Gene symbol: CDKN2A<br> 
+        Transcript: v_1
+      </p>
+      <p>
+        Variant 1<br> 
+        Mutation Type: Substitution<br> 
+        Start Position: 112<br> End Position: 112<br> 
+        Deleted Sequence: C<br> 
+        Inserted Sequence: T
+      </p>
+
+      <hr>
+      
+      <h3>Mutalyzer Batch Checker Help<a name="BatchChecker"></a></h3>
+      <p>
+        <br>
+        The Batch checkers support submission of files containing large
+        datasets to the <a href="#NameChecker">Name Checker</a>, 
+        <a href="#SyntaxChecker">Syntax Checker</a>, and 
+        <a href="#PositionConverter">Position Converter</a> tools. 
+      </p>
+      <p>The Mutalyzer batch checker accepts the following file formats
+        <ul>
+            <li>Tab Delimited Text File</li>
+            <li>Microsoft Excel XML File</li>
+            <li>OpenOffice .odt File</li>
+        </ul>
+      </p>
+      
+      <h5>
+        We accept two types of input files, you can download examples below
+      </h5>
+
+      <h5>
+        New Style <a href="downloads/batchtestnew.txt">Download Example File</a>
+      </h5>
+      <div style="padding-left:20px; width:400px">
+        <p>
+          This file format has no header-row and no columns. Instead each row
+          contains a single variant for the Batch check.
+        </p>
+        <table>
+          <tr>
+            <td>AB026906.1:c.274G&gt;T</td>
+          </tr>
+          <tr>
+            <td>AL449423.14(CDKN2A_v002):c.5_400del<td>
+          </tr>
+        </table>
+      </div>
+
+      <h5>
+        Old Style: 
+        <a href="downloads/batchtestold.txt">Download Example File</a>
+      </h5>
+      <div style="padding-left:20px; width:400px">
+        <p>
+          This file format has a header-row, which consists of three tab
+          delimited fields. In each following row, the corresponding data is
+          also tab delimited.The gene symbol field may be left empty, when it
+          is not nessary to select a particular gene or transcript.
+        </p>
+        <table>
+          <tr>
+            <td>AccNo</td><td>Genesymbol</td><td>Mutation</td>
+          </tr>
+          <tr>
+            <td>AB026906.1</td><td>SDHD</td><td>g.7872G&gt;T</td>
+          </tr>
+        </table>
+      </div>
+
+      <h5>Output Format</h5>
+      <div style="padding-left:20px; width:400px">
+        <p>
+          The output of a Mutalyzer Batch run is a Tab Delimited Text file,
+          which has a header-row to clarify the results.
+        </p>
+      </div>
+      <p>
+        Users can upload a tab-delimited text file&nbsp;with the sequence
+        variations to be checked. Files for the Name Checker and the Syntax
+        Checker may contain any combination of reference sequences and sequence
+        types for different genes. Mutalyzer's 
+        <i><a href="#UD">UD identifiers</a></i> can also be used, but we
+        strongly suggest to update any GenBank record following
+        <a href="http://www.ncbi.nlm.nih.gov/Genbank/update.html"
+          >these instructions</a>.<br>
+      </p>
+      <p>
+        A message containing a link to the results will be send to the e-mail
+        address specified, when the analysis is finished, but Mutalyzer's
+        progress can be followed in the browser window also. Performance
+        depends on the server load and the number of reference sequence records
+        to be downloaded. The program will process approximately 100 variations
+        per minute, when using a single reference sequence record.
+      </p>
+      <p>
+        The Batch checkers use JavaScript to update the progress report. In
+        Internet Explorer, progress may not be reported correctly. Adding
+        Mutalyzer to your trusted sites is one option to solve this.
+      </p>
+      
+      <hr>
+      
+      <h2>Mutalyzer Output</h2>
+      <p>
+        Mutalyzer has been designed to issue warnings, when correcting entries,
+        encountering inconsistencies, incomplete sequences or annotation, or
+        identifying variations with potential effects on splicing before
+        presenting the results of the analysis. Errors will be generated when
+        the entries can not be processed properly (see below for more
+        information). <br>
+        The sequence variation description will always be in the format:
+      </p>
+      <p>
+        &lt;<i>Accession Number</i>&gt;.&lt;<i>version number&gt;</i>:<i>&lt;sequence type</i>&gt;.&lt;<i >mutation</i>&gt;<br>
+        
+        (Examples: NM_003002.1:c.5delC or AL449423.14:g.61866_85191del)<br>
+        or<br>
+        &lt;<i>Accession Number</i>&gt;.&lt;<i>version number&gt;&lt;(Gene Symbol)&gt;</i>:<i >&lt;sequence type</i>&gt;.&lt;<i >mutation</i>&gt;<br>
+        In the latter case, the gene symbol may be followed by transcript
+        variant or protein isoform numbers (e.g., _v001 or _i001,
+        respectively).<br>
+        Example: the fictitious sequence variation AL449423.14:g.61866_85191del
+        corresponds with the following changes in transcript variants and
+        protein isoforms:<br>
+        AL449423.14(CDKN2A_v001):c.-271_234del<br>
+        AL449423.14(CDKN2A_v002):c.5_400del<br>
+        AL449423.14(CDKN2A_v003):c.1_*3352del<br>
+        and<br>
+        CAH70600.1(CDKN2A_i001):p.Met1?<br>
+        CAH70601.1(CDKN2A_i002):p.Gly2AspfsX41<br>
+        CAH70599.1(CDKN2A_i003):p.Met1?
+      </p>
+      <p>
+        From the example &#8220;CAD55702.1:p.Pro2Arg&nbsp;(missense
+        mutation)&#8221;, you can conclude that the protein in version 1 of the
+        record CAD55702 has a mutation denoted as Pro2Arg (which signifies an
+        arginine substituted for a proline at position 2).
+      </p>
+      <p>
+        Please note the following: 
+      </p>
+      <p>
+        - Sequence variation descriptions using genomic references in
+          combination with Sequence Type &quot;Coding DNA&quot; will result in
+          the use of nucleotides in reverse complement for genes transcribed in
+          the opposite orientation.
+      </p>
+      <p>
+        - Genbank Identifiers are always converted to Genbank Accession
+          Numbers, which are automatically retrieved from the annotation based
+          on the selected Sequence Type. Example: 4506864:c.5del will be
+          converted into NM_003002.1:c.5delC
+      </p>
+      
+      <hr>
+      
+      <h3>GenBank Uploader Help<a name="GenBankUploader"></a></h3>
+      <p>
+        Users can upload their own reference sequence file in 
+        <a href="http://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html"
+          >GenBank Flat file format</a>, retrieve the genomic sequence of a
+        gene with its flanking regions, or specify a chromosomal range for use
+        as a reference sequence. Mutalyzer checks whether the file is in valid
+        GenBank Flat file format. If so, Mutalyzer stores the file locally and
+        returns a unique number the <i><a href="#UD">UD identifier</a></i> that
+        can be used with all different forms of the Mutalyzer Sequence
+        Variation Nomenclature Checker. This option allows users to use
+        reference files, which are not present in GenBank, or add information
+        about alternative transcripts or proteins or additional genes contained
+        within or derived from the reference sequence to an existing GenBank
+        file. Users are encouraged to limit their use of this option by
+        submitting annotation updates and corrections of existing GenBank files
+        following <a href="http://www.ncbi.nlm.nih.gov/Genbank/update.html"
+          >these instructions</a>.
+      </p>
+      <p>
+        Uploader options:
+      </p>
+      <p>
+        <b>The reference sequence file is a local file</b>
+      </p>
+      <p>
+        Browse to locate your Genbank Flat file with a .gb extension and press
+        the submit button.
+      </p>
+      <p>&nbsp;</p>
+      <p>
+        <b>The reference sequence file can be found at the following URL</b>
+      </p>
+      <p>
+        Enter the URL of the website, where the Genbank Flat file with a .gb
+        extension can be found and press the submit button.
+      </p> 
+      <p>&nbsp;</p>
+      <p>
+        <b>
+          Retrieve part of the reference genome for a 
+          (<a href="http://www.genenames.org">HGNC</a>) gene symbol
+        </b>
+      </p>
+      <p>
+        This option retrieves part of the chromosomal reference sequence, which
+        is annotated for this gene in the last genome build of the
+        organism.
+      </p>
+      <p>
+        The organism name should not contain any spaces (e.g., use
+        homo_sapiens, human or man)
+      </p>
+      <p>
+        Input:
+      </p>
+      <div style="padding-left:20px; width:400px">
+        <i>Please enter the Gene symbol and organism name without spaces and
+        specify the length of the flanking sequences</i>
+      	<table>
+       		<tr>
+            <td>Gene symbol</td>
+            <td><input type="text" name="genesymbol"></td>
+          </tr>
+        	<tr>
+            <td>Organism name</td>
+            <td><input type="text" name="organism"></td>
+          </tr>
+        	<tr>
+            <td>Number of 5' flanking nucleotides</td>
+            <td><input type="text" name="5utr" value="5000"></td>
+          </tr>
+          <tr>
+            <td>Number of 3' flanking nucleotides</td>
+            <td><input type="text" name="3utr" value="2000"></td>
+          </tr>               	
+       	</table>
+      </div>
+      <p>
+        <b>Retrieve a range of a chromosome</b>
+      </p>
+      <p>
+        Use of NC_accession numbers without version number will result in
+        retrieval of the latest version.
+      </p>
+      <p>
+        Input:
+      </p>
+      <div style="padding-left:20px; width:400px">
+        <i>Please enter the accession number of the chromosome or contig and
+        specify the range</i><br>
+        <table>
+          <tr>
+            <td>Chromosome Accession Number</td>
+            <td><input type="text" name="chracc"></td>
+          </tr>
+          <tr>
+            <td>Start Position</td>
+            <td><input type="text" name="start"></td>
+          </tr>
+          <tr>
+            <td>Stop Position</td>
+            <td><input type="text" name="stop"></td>
+          </tr>
+          <tr>
+            <td>Orientation</td>
+            <td>
+              <select name="orientation">
+                <option value="1">Forward</option>
+                <option value="-1">Reverse</option>
+              </select>
+            </td>
+          </tr>
+        </table>
+      </div>
+      <p>
+        <b>Mutalyzer output for all options:</b>
+      </p>
+      <p>
+        Output:<a name="UD"></a>
+      </p>
+      <div style="padding-left:20px; width:400px">
+        <p>
+          Your reference sequence was uploaded successfully. You now can use
+          mutalyzer with the following accession number as reference:
+          UD_127955523176 <br>
+          Download this reference sequence. 
+        </p>
+      </div>
+      <p>
+        The GenBank uploader uses JavaScript to change the form depending on
+        the selected option. In Internet Explorer, forms may not be displayed
+        correctly. Adding Mutalyzer to your trusted sites is one option to
+        solve this.
+      </p>
+
+      <hr>
+
+      <h3>Mutalyzer Webservices <a name="Webservices"></a></h3>
+      <p>
+        Mutalyzer's webservices provide programmatic access to different parts
+        of Mutalyzer's functionality. In the future, these will be used by 
+        <a href="http://www.LOVD.nl">LOVD</a> to convert coding DNA positions
+        to chromosomal positions for mapping and display purposes. A full
+        description of available webservices can be found at the 
+        <a href="documentation">Webservice documentation page</a>. 
+        Example scripts and requirements can be found at the 
+        <a href="webservices">Webservice page</a>.
+      </p>
+
+      <hr>
+      
+      <h3>Using Mutalyzer with sequences from other organisms</h3>
+      <p>
+        Mutalyzer can process Genbank reference files from other organisms than
+        man and will apply the appropriate coding table to translate an open
+        reading frame into a protein sequence. Please note that all variants
+        will be described according to the HGVS
+        <a href="http://www.hgvs.org/mutnomen/"
+          >standard human sequence variation nomenclature</a>. When trying to
+        retrieve genomic reference sequences using gene symbols with the
+        Genbank uploader or when specifying a particular gene in a genomic
+        reference sequence, the gene symbol should be similar to that used in
+        the (genome) sequence annotation.
+      </p>
+
+      <h3>Errors and feature requests</h3>
+      <p>
+        Any error message gives an indication of the problem encountered and
+        replicates the input of the user. Most errors occurring after mistyping
+        should be easy to understand and can be corrected immediately by
+        altering the data in the field specified. In other cases, Mutalyzer
+        should advise you to contact 
+        <a href="mailto:Mutalyzer@humgen.nl">us</a> when the error persists.
+        Please specify your input and which tool you used.
+      </p>
+      <p>
+        Occasionally, Mutalyzer will display an Internal Server Error message
+        due to unexpected behavior. You can use Mutalyzer's 
+        <a href="https://www.mutalyzer.nl/projects/mutalyzer2/"
+          >bugtracking system</a> to report errors and send in feature requests.
+      </p>
+
+      <h3>Citing Mutalyzer </h3>
+      <p>
+        When you use Mutalyzer, please cite this paper: Wildeman M, van
+        Ophuizen E, den Dunnen JT, Taschner PE. Improving sequence variant
+        descriptions in mutation databases and literature using the MUTALYZER
+        sequence variation nomenclature checker.
+        <a href="http://www.ncbi.nlm.nih.gov/entrez/utils/fref.fcgi?PrId=3058&itool=AbstractPlus-def&uid=18000842&db=pubmed&url=http://dx.doi.org/10.1002/humu.20654">Hum Mutat 29:6-13 (2008)</a> 
+        [<a href="http://www.ncbi.nlm.nih.gov/pubmed/18000842?"
+          >PMID: 18000842</a>].
+      </p>
+      <p>
+        Mutalyzer 2 has been completely redesigned by Jeroen F.J. Laros, with
+        help from Gerben R. Stouten and Gerard C. P. Schaafsma, according to
+        specifications provided by Peter E. M. Taschner and Johan T. den
+        Dunnen. The different parts of the nomenclature checker functionality
+        have been separated into modules, which can be used as independent
+        webservices and undergo further development and extension in the
+        future.
+      </p>
+
+      <hr>
+
+      <p>
+        If you have any comments or suggestions be sure to let us know!
+      </p>
+      
+      <p>
+        Last modified: August 6, 2010
+      </p>
+      <a href="mailto:Mutalyzer@humgen.nl">
+        <address>mutalyzer@humgen.nl</address></a>
+   </div>
+  </body>
+</html>
diff --git a/templates/index.html b/templates/index.html
index 052a4275e1577814befef8a0215fae02ebf95d0e..329d53a3875ac2055cc7749102e6c4507921b830 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -50,28 +50,6 @@
         </li>
       </ul>
       <br>
-      Mutalyzer <span tal:content = "structure string:${version}"></span>
-      is designed and developed by Dr. Jeroen F. J. Laros, with the
-      following exceptions:
-      <ul>
-        <li>The LRG parser, as well as the Batch interfaces are written
-            by Gerben R. Stouten.</li>
-        <li>The position converter interfaces (webservice and WWW) are
-            written by Ir. Gerard C. P. Schaafsma.</li>
-      </ul>
-      Specifications are given by Dr. Peter E. M. Taschner and Prof. Dr. 
-      Johan T. den Dunnen.<br>
-      <br>
-      Since the publication is under development, please use the old 
-      reference for now when referring to these pages:
-      <a href="http://www.ncbi.nlm.nih.gov/entrez/utils/fref.fcgi?PrId=3058&itool=AbstractPlus-def&uid=18000842&db=pubmed&url=http://dx.doi.org/10.1002/humu.20654">
-        &quot;Wildeman M et al. (2008). Improving sequence variant
-        descriptions in mutation databases and literature using the
-        Mutalyzer sequence variation nomenclature checker. Hum Mutat 29,
-        6-13&quot;
-      </a>.<br>
-      <br>
-      <br>
       <!--
       Mutalyzer <span tal:content = "structure string:${version}"></span> is
       written completely in <a href="http://www.python.org">Python</a>. The
@@ -86,22 +64,6 @@
       <a href = "http://www.sun.com">SUN Microsystems</a> with server
       hardware within the scope of the Academic Excellence Grant (AEG)
       program (award EDUD-7832-080223-CNE).<br>
-      Project development is sponsored by
-      <a href="http://www.gen2phen.org" target="_blank">
-        <img src="base/images/gen_2_phen_logo_print.png" 
-             width="110"
-             height="50"
-             align="middle"
-             border="0"
-             alt="Eurogentest"></a>
-      and has been supported by
-      <a href="http://www.eurogentest.org" target="_blank">
-        <img src="base/images/Eurogentest.png"
-             width="110"
-             height="50" 
-             align="middle"
-             border="0"
-             alt="Eurogentest"></a>
     </div>
   </body>
 </html>
diff --git a/templates/menu.html b/templates/menu.html
index a8abaa0a3bdb1417f7c0f44df3efa1d38da57065..0e1d4ddb4a21e5efad2eef1cec15aeae8a6398d6 100644
--- a/templates/menu.html
+++ b/templates/menu.html
@@ -40,7 +40,7 @@
             preloadImages('base/images/bullitlicht1.gif',
                           'base/images/bullitlicht2.gif');"> 
     <!-- Header -->
-    <a id="top"></a>
+    <a id = "top" name = "top"></a>
     
     <table width="98%" 
       border="0" 
@@ -89,6 +89,8 @@
             <td align="right">
               <a href="index" 
                  class="hornav">home</a>&nbsp;&nbsp;&nbsp;
+              <a href="about" 
+                 class="hornav">about</a>&nbsp;&nbsp;&nbsp;
               <a tal:attributes = "href string:mailto:${contactEmail}"
                  class="hornav">contact</a>&nbsp;&nbsp;&nbsp;
               <a href="#bottom" class="hornav">go to bottom</a>&nbsp;&nbsp;&nbsp;
@@ -120,81 +122,6 @@
           <img src="base/images/1x1b.gif" height="19" border="0">
         </td>
       </tr>
-  
-      <!-- Home 
-      <tr>
-        <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_">
-        </td>
-        <td colspan="3">
-          <a id="page_" 
-            onClick="swapActive('');"
-            href="/" 
-            onMouseover="navAct('base/images/bullitlicht1.gif', 
-                                '');" 
-            onMouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 '');" 
-            class="vertnavsub">Home</a>
-        </td>
-      </tr>
-      -->
-    
-      <!-- Contact - ->
-      <tr>
-        <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_contact">
-        </td> 
-        <td colspan="3">
-          <a id="page_contact" 
-            onClick="swapActive('contact');" 
-            href="/#contact" 
-            onMouseover="navAct('base/images/bullitlicht1.gif', 
-                                'contact');" 
-            onMouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 'contact');" 
-            class="vertnavsub">Contact</a>
-        </td>
-      </tr>  
-  -->
-    
-      <!-- Current Projects -->
-      <!--
-      <tr>
-        <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_projects">
-        </td>
-        <td colspan="3">
-          <a id="page_projects" 
-            onClick="swapActive('projects');" 
-            href="/#projects" 
-            onMouseover="navAct('base/images/bullitlicht1.gif', 
-                                'projects');" 
-            onMouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 'projects');"
-            class="vertnavsub">Current Projects</a>
-        </td>
-      </tr>
-      <!- - Current Projects sub: SNP - ->
-      <tr style="display:none" id="projects_0">
-        <td></td>
-        <td valign="baseline" width="10">
-          <img src="base/images/bullitmiddel.gif" id="b_projects_snp">
-        </td>
-        <td colspan="2">
-          <a id="page_projects_snp" 
-            onClick="swapActive('projects_snp');" 
-            href="/projects/snp/" 
-            onMouseover="navAct('base/images/bullitlicht2.gif', 
-                                'projects_snp');" 
-            onMouseout="navDeAct('base/images/bullitmiddel.gif', 
-                                 'projects_snp');" 
-            class="vertnavsub">SNP</a>
-        </td>
-      </tr>
-      -->
-    
-      <!-- Finished Projects -->
-
 
       <tr>
         <td valign="top" width="20">
@@ -260,38 +187,6 @@
         </td>
       </tr>
 
-      <tr>
-        <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_nameGenerator">
-        </td>
-        <td colspan="3">
-          <a id="page_nameGenerator" 
-            onclick="swapActive('nameGenerator');" 
-            href="nameGenerator" 
-            onmouseover="navAct('base/images/bullitlicht1.gif', 
-                                'nameGenerator');" 
-            onmouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 'nameGenerator');" 
-            class="vertnavsub">Name Generator</a>
-        </td>
-      </tr>
-
-      <tr>
-        <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_upload">
-        </td>
-        <td colspan="3">
-          <a id="page_upload" 
-            onclick="swapActive('upload');" 
-            href="upload" 
-            onmouseover="navAct('base/images/bullitlicht1.gif', 
-                                'upload');" 
-            onmouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 'upload');" 
-            class="vertnavsub">GenBank uploader</a>
-        </td>
-      </tr>
-
       <tr>
         <td valign="top" width="20">
           <img src="base/images/bullitdonker.gif" id="b_snp">
@@ -310,17 +205,17 @@
 
       <tr>
         <td valign="top" width="20">
-          <img src="base/images/bullitdonker.gif" id="b_webservices">
+          <img src="base/images/bullitdonker.gif" id="b_nameGenerator">
         </td>
         <td colspan="3">
-          <a id="page_webservices" 
-            onclick="swapActive('webservices');" 
-            href="webservices" 
-            onmouseover="navAct('base/images/bullitlicht1.gif', 
-                                'webservices');" 
-            onmouseout="navDeAct('base/images/bullitdonker.gif', 
-                                 'webservices');" 
-            class="vertnavsub">Webservices</a>
+          <a id="page_nameGenerator"
+            onclick="swapActive('nameGenerator');"
+            href="nameGenerator"
+            onmouseover="navAct('base/images/bullitlicht1.gif',
+                                'nameGenerator');"
+            onmouseout="navDeAct('base/images/bullitdonker.gif',
+                                 'nameGenerator');"
+            class="vertnavsub">Name Generator</a>
         </td>
       </tr>
 
@@ -347,7 +242,6 @@
         </td>
         <td colspan="2">
           <a id="page_batchNameChecker" 
-            onclick="swapActive('batchNameChecker');" 
             href="batchNameChecker" 
             class="vertnavsub">Name Checker</a>
         </td>
@@ -360,7 +254,6 @@
         </td>
         <td colspan="2">
           <a id="page_batchSyntaxChecker" 
-            onclick="swapActive('batchSyntaxChecker');" 
             href="batchSyntaxChecker" 
             class="vertnavsub">Syntax Checker</a>
         </td>
@@ -373,12 +266,45 @@
         </td>
         <td colspan="2">
           <a id="page_batchPositionConverter" 
-            onclick="swapActive('batchPositionConverter');" 
             href="batchPositionConverter" 
             class="vertnavsub">Position Converter</a>
         </td>
       </tr>
 
+      <tr>
+        <td valign="top" width="20">
+          <img src="base/images/bullitdonker.gif" id="b_upload">
+        </td>
+        <td colspan="3">
+          <a id="page_upload" 
+            onclick="swapActive('upload');" 
+            href="upload" 
+            onmouseover="navAct('base/images/bullitlicht1.gif', 
+                                'upload');" 
+            onmouseout="navDeAct('base/images/bullitdonker.gif', 
+                                 'upload');" 
+            class="vertnavsub">GenBank uploader</a>
+        </td>
+      </tr>
+
+      <tr>
+        <td valign="top" width="20">
+          <img src="base/images/bullitdonker.gif" id="b_webservices">
+        </td>
+        <td colspan="3">
+          <a id="page_webservices" 
+            onclick="swapActive('webservices');" 
+            href="webservices" 
+            onmouseover="navAct('base/images/bullitlicht1.gif', 
+                                'webservices');" 
+            onmouseout="navDeAct('base/images/bullitdonker.gif', 
+                                 'webservices');" 
+            class="vertnavsub">Webservices</a>
+        </td>
+      </tr>
+
+      <tr><td>&nbsp;</td></tr>
+
       <tr>
         <td valign="top" width="20">
           <img src="base/images/bullitdonker.gif" id="b_help">
@@ -468,7 +394,6 @@
         </td>
         <td colspan="2">
           <a id="page_external_hgb" 
-            onclick="swapActive('external_hgb');" 
             href="http://www.genenames.org/guidelines.html" 
             class="vertnavsub">Human Gene Nomenclature</a>
         </td>
@@ -481,7 +406,6 @@
         </td>
         <td colspan="2">
           <a id="page_external_hgvs" 
-            onclick="swapActive('external_hgvs');" 
             href="http://www.hgvs.org/mutnomen/" 
             class="vertnavsub">HGVS variation nomenclature</a>
         </td>
@@ -494,7 +418,6 @@
         </td>
         <td colspan="2">
           <a id="page_external_hgvsext" 
-            onclick="swapActive('external_hgvsext');" 
             href="downloads/HGVS_nomenclature_extension_proposal.pdf" 
             class="vertnavsub">HGVS nomenclature extension proposal</a>
         </td>
@@ -559,7 +482,10 @@
   
   
     <center>
-      <h2 tal:content = "structure string:Mutalyzer ${version}"></h2>
+      <h2 tal:content = "structure string:Mutalyzer ${version}<br>
+        <small><small><small><small>
+          released on ${releaseDate}
+        </small></small></small></small>"></h2>
       HGVS nomenclature version 
       <span tal:content = "nomenclatureVersion"></span>
     </center>
@@ -590,7 +516,7 @@
       </tr>
       <tr>
         <td align="left">
-          <a href="javascript:history.back(-1);" 
+          &nbsp;<a href="javascript:history.back(-1);" 
              class="hornav">previous page</a>
         </td>
         <td align="middle">
@@ -599,7 +525,9 @@
           &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
           &nbsp; &nbsp; 
         </td>
-        <td align="right"><a href="#top" class="hornav">go to top</a></td>
+        <td align="right">
+          <a href="#top" class="hornav">go to top</a>&nbsp;&nbsp;&nbsp;&nbsp;
+        </td>
       </tr>
       <tr>
   <!--
@@ -620,6 +548,6 @@
     </td>
   </tr>
   </table>
-  <a id="bottom"></a>
+  <a id = "bottom" name = "bottom"></a>
   </body>
 </html>