
from mformula_utils import write_image_and_descr
import generic_fatty_acid as fa

def main():
  back = False  # No background.
  for style in ("B2", "S1"): 
    for hydro in (False, True):
      for wlabs in (False, True):
        do_tests(style,back,hydro,wlabs)
  
def do_tests(style,back,hydro,wlabs):
  prefix = "out/fatty_"
  labmult = True # Should multiple bonds be numbered?
  laball = False # Should all carbons be numbered?
  labpos = (-1 if hydro else 0) # Position of carbon number labels.
a  codes_and_syns = [
    ( "1:0",                                         ("formic",) ),
    ( "2:0",                                         ("acetic",) ),
    ( "3:0",                                         ("propionic",) ),
    ( "3:1 dbl-2",                                   (), ),
    ( "4:0",                                         ("butyric",) ),
    ( "4:1 cis-2",                                   (), ),
    ( "4:1 trans-2",                                 ("crotonic",) ),
    ( "4:1 dbl-2,3",                                 (), ),
    ( "4:1 dbl-3",                                   (), ),
    ( "5:0",                                         ("valeric",) ),
    ( "6:0",                                         ("caproic",) ),
    ( "7:0",                                         ("enanthic",) ),
    ( "8:0",                                         ("caprylic",) ),
    ( "9:0",                                         ("pelargonic",) ),
    ( "10:0",                                        ("capric",) ),
    ( "12:0",                                        ("lauric",) ),
    ( "14:0",                                        ("myristic",) ),
    ( "14:1 cis-9",                                  ("myristoleic",) ),
    ( "16:0",                                        ("palmitic",) ),
    ( "16:1 cis-6",                                  ("sapienic",) ),
    ( "16:1 cis-9",                                  ("palmitoleic",) ),
    ( "17:0",                                        ("margaric",) ),
    ( "18:0",                                        ("stearic",) ),
    ( "18:1 cis-9",                                  ("oleic",) ),
    ( "18:1 trans-11",                               ("vaccenic",) ),
    ( "18:1 trans-9",                                ("elaidic",) ),
    ( "18:2 cis-9,12",                               ("linoleic",) ),
    ( "18:2 trans-9,12",                             ("linolelaidic(?)",) ),
    ( "18:3 cis-13, trans-9,11",                     ("alpha-eleostearic", "α-eleostearic", ) ),
    ( "18:3 cis-5,9,12",                             ("pinolenic",) ),
    ( "18:3 cis-6,9,12",                             ("gamma-linolenic", "γ-linolenic",) ),
    ( "18:3 cis-9,12 trans-15",                      (), ),
    ( "18:3 cis-9,12,15",                            ("alpha-linolenic", "α-linolenic",) ),
    ( "18:3 trans-9,11,13",                          ("beta-eleostearic", "β-eleostearic",) ),
    ( "18:4 cis-6,9,12,15",                          ("stearidonic",) ),
    ( "18:5 cis-3,4,5, trans-7,8,9 R-11,12 S-14,15", ("foobaric", "barfooic", "quuxic", ) ),
    ( "20:0",                                        ("arachidic",) ),
    ( "20:1 cis-11",                                 ("gondoic",) ),
    ( "20:1 cis-13",                                 ("paullinic",) ),
    ( "20:1 cis-9",                                  ("gadoleic",) ),
    ( "20:3 cis-5,8,11",                             ("Mead's",) ),
    ( "20:3 cis-8,11,14",                            ("dihomo-gamma-linolenic", "dihomo-γ-linolenic",) ),
    ( "20:4 cis-5,8,11,14",                          ("arachidonic",) ),
    ( "20:5 cis-5,8,14,trans-10,12",                 ("bosseopentaenoic",) ),
    ( "22:0",                                        ("behenic",) ),
    ( "22:1 cis-13",                                 ("erucic",) ),
    ( "22:4 cis-7,10,13,16",                         ("adrenic",) ),
    ( "22:5 cis-4,7,10,13,16",                       ("Osbond's",) ),
    ( "22:5 cis-7,10,13,16,19",                      ("clupanodonic",) ),
    ( "22:6 cis-4,7,10,13,16,19",                    ("cervonic",) ),
    ( "24:0",                                        ("lignoceric",) ),
    ( "24:1 cis-15",                                 ("nervonic",) ),
    ( "24:6 cis-6,9,12,15,18,21",                    ("nisinic",) ),
    ( "26:0",                                        ("cerotic",) ),
    ( "27:0",                                        ("carboceric",) ),
    ( "28:0",                                        ("montanic",) ),
    ( "30:0",                                        ("melissic",) ),
    ( "32:0",                                        ("lacceroic",) ),
    ( "33:0",                                        ("psyllic",) ),
    ( "34:0",                                        ("geddic",) ),
    ( "35:0",                                        ("ceroplastic",) ),
  ]

  for code, syns in codes_and_syns:
    write_image_and_descr(fa,style,back,prefix,code,hydro,syns,labmult,laball,wlabs,labpos)

main()
