I want to use physico chemical descriptors of single stranded DNA/RNA-Oligonucleotides in order to model certain properties. To generate these descriptors i need a computer understandable representation of these oligonucleotides, e.g. the SMILES representation. So far i could not find of any method to generate these SMILES representations out of the primary structure of these oligonucleotides. I am wondering if someone knows of a software, that takes the primary sequence of a single stranded DNA-Oligonucleotide with e.g. 50 nts as input and gives the SMILES representation as output. So far i could find nothing that would accomplish this task, although, at least to me, it seems like a straight forward task.

I will appreciate every constructive thought on that.


EDIT: Add some form of input and output file

As requested here an example of input and output pair:

input should be primary sequence: TCA

output should be the corresponding SMILES string: O=C(C(C)=CN1[C@@]2([H])C([H])([H])C@@([H])C@([H])O2)NC1=O

This example was generated with chemdraw 20.1.1.

For my use case i need a software, that convert many (like 50k - 1000k) primary sequences of single stranded DNA/RNA with a length of about 50 nts into the corresponding SMILES string. Ideally would be some sort of python package but anything else would help also a lot!

  • $\begingroup$ Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. $\endgroup$
    – Community Bot
    Commented Jan 26, 2023 at 16:26
  • 1
    $\begingroup$ Can you please provide an example input file and example output file? $\endgroup$
    – gringer
    Commented Jan 27, 2023 at 19:39

1 Answer 1


It looks like various chemical software toolkits can export SMILES, for example OpenBabel, using the babel command line tool. I am not readily seeing the best way to read e.g. a FASTA, though. Another option would be ChemDraw.

This researchgate thread has a lot of information on peptide->SMILES conversion, I don't see nucleotides though.

One option, though it would be a little finicky, would be to look up the nucleotides SMILES strings on PubChem and then write a script to string them together (with a monophosphate) based on an input sequence. It seems like there is some related tooling already in rdkit, but a convenient API doesn't seem to exist yet. The developer does have one suggestion for peptides, which would translate into something like this for nucleotides:

from rdkit import Chem

nt_mol = Chem.MolFromFASTA("ACATATAT", flavor=9)  # flavor param notes as DNA

To do this across many nucleotides you could hook it up to biopython to iterate across a FASTA file.

The nucleotide flavor option exists, but there is a note that only peptide is supported. I don't know whether that means the feature is experimental or is not implemented.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.