Function Repository Resource:

NucleotideName

Source Notebook

Construct the semisystematic name of an oligonucleotide from its DNA or RNA base sequence

Contributed by: Jan Mangaldan

ResourceFunction["NucleotideName"][bioseq]

gives the semisystematic name of the oligonucleotide represented by the DNA or RNA sequence bioseq.

Details and Options

bioseq can be a fully specified "DNA" or "RNA" BioSequence object.
The one-letter abbreviations used for the bases are explained in the documentation for BioSequence or the IUPAC-IUB recommendations. The last link also describes the semisystematic nomenclature.
ResourceFunction["NucleotideName"]["seq"] is equivalent to ResourceFunction["NucleotideName"][BioSequence["seq"]].
ResourceFunction["NucleotideName"] accepts the option Direction. Setting Direction"Sense" gives a name corresponding to a sense strand (5'3' direction), while setting Direction"Antisense" gives a name corresponding to an antisense strand (3'5' direction)

Examples

Basic Examples (2) 

Semisystematic name of an oligodeoxyribonucleotide:

In[1]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/44eedb7a-b63f-4a0c-9d65-98ab9c3e8195"]
Out[1]=

Semisystematic name of an oligoribonucleotide:

In[2]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/c101b654-078e-4cbf-9e9f-32dc86ee5f2a"]
Out[2]=

Scope (1) 

NucleotideName can be used on strings and will infer the sequence type from the letters:

In[3]:=
ResourceFunction["NucleotideName"]["GACT"]
Out[3]=

Options (3) 

Direction (3) 

With Direction"Sense", NucleotideName gives a name consistent with a sense strand:

In[4]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/04b1ba3d-6659-45a3-a2df-a7f955d8a9ea"]
Out[4]=

With Direction"Antisense", NucleotideName gives a name consistent with an antisense strand:

In[5]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/aeca2e47-8724-4b4e-a469-62c05225e91f"]
Out[5]=

The two names give the same molecule:

In[6]:=
MoleculeEquivalentQ[Molecule[senName], Molecule[asenName]]
Out[6]=

Properties and Relations (2) 

Convert the result of NucleotideName to a Molecule:

In[7]:=
ResourceFunction["NucleotideName"][
  BioSequence["RNA", "ACG"]] // Molecule
Out[7]=

The result is equivalent to directly converting the BioSequence to a Molecule:

In[8]:=
MoleculeEquivalentQ[%, Molecule[BioSequence["RNA", "ACG"]]]
Out[8]=

Possible Issues (1) 

NucleotideName is left unevaluated if the BioSequence contains degenerate letters:

In[9]:=
ResourceFunction["NucleotideName"][BioSequence["DNA", "GRYT"]]
Out[9]=

Version History

  • 1.1.0 – 06 December 2021

Source Metadata

Related Resources

Author Notes

Support for circular/cyclic oligonucleotides will be added at a later date.

License Information