This document defines an extension to the IUPAC DNA alphabet (IUPAC) tailored for double stranded DNA. This extension is called dsIUPAC and allows unambiguous description of a double stranded DNA molecule with single stranded regions (such as “sticky” ends) using a single sequence of characters.

IUPAC

The IUPAC DNA alphabet is a set of symbols designated by the International Union of Pure and Applied Chemistry (IUPAC) to represent nucleotide bases in DNA sequences, including ambiguity codes for cases where multiple nucleotides are possible at a particular position. The symbols and their meanings are listed below:

  1. A - Adenine
  2. T - Thymine
  3. C - Cytosine
  4. G - Guanine

Ambiguity codes (representing multiple possible nucleotides):

  1. R - Purine (A or G)
  2. Y - Pyrimidine (C or T)
  3. S - Strong interaction (G or C)
  4. W - Weak interaction (A or T)
  5. K - Keto group (T or G)
  6. M - Amino group (A or C)
  7. B - Not A (C, G, or T)
  8. D - Not C (A, G, or T)
  9. H - Not G (A, C, or T)
  10. V - Not T (A, C, or G)
  11. N - Any nucleotide (A, T, C, or G)

These symbols allow for flexibility in representing DNA sequences, especially when there is uncertainty in base composition at specific positions. However, they do not address the single or double strandedness of DNA.

dsIUPAC

The dsIUPAC alphabet is a superset of the IUPAC alphabet. The symbols take on a differen meaning in that each symbol represent a basepair (a base in a DNA strand and its complementary base on the other strand. The alphabet uses an additional ten symbols to represen single stranded regions where there is no complementary base. See table below. The dsIUPAC remains 100% comatible with the IUPAC alphabet.

link

AlphabetSymbolComplementBasesdsIUPAC extended meaning
IUPACGCGG/C
ATAA/T
TATT/A
CGCC/G
RYG or AR/Y
YRT or CY/R
MKA or CM/K
KMG or TK/M
SSG or CS/S
WWA or TW/W
HDA or C or TH/D
BVG or T or CB/V
VBG or C or AV/B
DHG or A or TD/H
NNG or A or T or CN/N
dsIUPACUOU in top strand, A in complementary strandU/A
OUA in top strand, U in complementary strandA/U
EFA in top strand, complementary strand emptyA/◻
IJC “C/◻
PQG “G/◻
XZT “T/◻
ZXA in complementary strand, top strand empty◻/A
QPC ”◻/C
JIG ”◻/G
FET ”◻/T
!AA in upper strand A in lower strandA/A
#CA in upper strand C in lower strandA/C
$GA in upper strand G in lower strandA/G
%AC in upper strand A in lower strandC/A
&CC in upper strand C in lower strandC/C
*TC in upper strand T in lower strandC/T
(AG in upper strand A in lower strandG/A
)GG in upper strand G in lower strandG/G
<TG in upper strand T in lower strandG/T
>CT in upper strand C in lower strandT/C
@GT in upper strand G in lower strandT/G
:TT in upper strand T in lower strandT/T
?GU in upper strand G in lower strandU/G
[CU in upper strand C in lower strandU/C
]TU in upper strand T in lower strandU/T

The symbols PEXI and QFZJ that are not occupied by the extended IUPAC alphabet were adopted to imply single stranded DNA.

The choice of symbols for the dsIUPAC extension facilitate intuitive recognition of compatible single stranded regions, i.e. sticky-ends.

Example

Two double stranded DNA molecules with compatible terminal 5’- single strand overhangs:

GATCaUaAa                   ad-hoc representation
    tAtUtCTAG


PEXIaUaOaQFZJ               representation using dsIUPAC

We can easily recognize that alphabetically, P is followed by Q, E by F and I by J. This symmetry is only broken by the X, Z pair of necessity since Y is already used in the IUPAC alphabet.

DNA molecules with compatible terminal 3’- single strand overhangs:

QFZJaaaPEXI    QFZJaaaPEXI           representation using dsIUPAC

	aaaGATC        aaaGATC           ad-hoc representation
CTAGttt        CTAG

alphabets

ASCII CAPS  = ABCDEFGHIJKLMNOPQRSTUVWXYZ
IUPAC       = ABCD  GH  K MN   RST VW Y
dsIUPAC     =     EF  IJ L  OPQ   U  X Z   +  IUPAC

punctuation = ! # $ % & * + ( ) < = > @ /: ' , - . ; ? [ \ ] ^ _ ` { | } ~ "

Different representations of double stranded DNA:


>format1 alphabet=dsIUPAC
PEXIGULAOCQFZJ

>format2 two strings & space
GATCGUAAAC
    CAUTUGCTAG

>format3 two strings & hyphen
GATCGUAAAC----
----CAUTUGCTAG

>format4 two strings & pipe
GATCGUAAAC||||
||||CAUTUGCTAG

>format5 three strings, pipe & hyphen
GATCGUAAAC----
||||||||||||||
----CAUTUGCTAG