# Abstract Shapes Representation of Secondary Structures

  Functions

  char *vrna_abstract_shapes(const char *structure, unsigned int level)
    #include <ViennaRNA/structures/shapes.h>

    Convert a secondary structure in dot-bracket notation to its abstract shapes representation.

    This function converts a secondary structure into its abstract shapes representation as presented by Giegerich et al. [2004] .

    SWIG Wrapper Notes:

      This function is available as an overloaded function `abstract_shapes()` where the optional second parameter `level` defaults to 5. See, e.g. `RNA.abstract_shapes()` in the Python API.

    See also

    vrna_abstract_shapes_pt()

    Parameters:

      - structure – A secondary structure in dot-bracket notation

      - level – The abstraction level (integer in the range of 0 to 5)

    Returns:

      The secondary structure in abstract shapes notation

  char *vrna_abstract_shapes_pt(const short *pt, unsigned int level)
    #include <ViennaRNA/structures/shapes.h>

    Convert a secondary structure to its abstract shapes representation.

    This function converts a secondary structure into its abstract shapes representation as presented by Giegerich et al. [2004] . This function is equivalent to vrna_db_to_shapes(), but requires a pair table input instead of a dot-bracket structure.

    SWIG Wrapper Notes:

      This function is available as an overloaded function `abstract_shapes()` where the optional second parameter `level` defaults to 5. See, e.g. `RNA.abstract_shapes()` in the Python API.

    See also

    vrna_abstract_shapes()

    Note

    The length of the structure must be present at `pt`[0]!

    Parameters:

      - pt – A secondary structure in pair table format

      - level – The abstraction level (integer in the range of 0 to 5)

    Returns:

      The secondary structure in abstract shapes notation