text: #include <stdlib.h>
  #include <stdio.h>
  #include <string.h>
  
  #include <ViennaRNA/alifold.h>
  #include <ViennaRNA/utils/basic.h>
  #include <ViennaRNA/utils/alignments.h>
  
  int
  main()
  {
    /* The RNA sequence alignment */
    const char  *sequences[] = {
      "CUGCCUCACAACGUUUGUGCCUCAGUUACCCGUAGAUGUAGUGAGGGU",
      "CUGCCUCACAACAUUUGUGCCUCAGUUACUCAUAGAUGUAGUGAGGGU",
      "---CUCGACACCACU---GCCUCGGUUACCCAUCGGUGCAGUGCGGGU",
      NULL /* indicates end of alignment */
    };
  
    /* compute the consensus sequence */
    char        *cons = consensus(sequences);
  
    /* allocate memory for MFE consensus structure (length + 1) */
    char        *structure = (char *)vrna_alloc(sizeof(char) * (strlen(sequences[0]) + 1));
  
    /* predict Minmum Free Energy and corresponding secondary structure */
    float       mfe = vrna_alifold(sequences, structure);
  
    /* print consensus sequence, structure and MFE */
    printf("%s\n%s [ %6.2f ]\n", cons, structure, mfe);
  
    /* cleanup memory */
    free(cons);
    free(structure);
  
    return 0;
  }
  