# http://www.graphviz.org/Gallery/directed/lion_share.html
#
# digraph Ped_Lion_Share           {
# # page = "8.2677165,11.692913" ;
# ratio = "auto" ;
# mincross = 2.0 ;
# label = "Pedigree Lion_Share" ;
#
# "001" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "002" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "003" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "004" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "005" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "006" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "007" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "009" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "014" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "015" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "016" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "ZZ01" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "ZZ02" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "017" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "012" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "008" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "011" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "013" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "010" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "023" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "020" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "021" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "018" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "025" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "019" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "022" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "024" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "027" [shape=circle  , regular=1,style=filled,fillcolor=white   ] ;
# "026" [shape=box     , regular=1,style=filled,fillcolor=white   ] ;
# "028" [shape=box     , regular=1,style=filled,fillcolor=grey    ] ;
# "marr0001" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "001" -> "marr0001" [dir=none,weight=1] ;
# "007" -> "marr0001" [dir=none,weight=1] ;
# "marr0001" -> "017" [dir=none, weight=2] ;
# "marr0002" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "001" -> "marr0002" [dir=none,weight=1] ;
# "ZZ02" -> "marr0002" [dir=none,weight=1] ;
# "marr0002" -> "012" [dir=none, weight=2] ;
# "marr0003" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "002" -> "marr0003" [dir=none,weight=1] ;
# "003" -> "marr0003" [dir=none,weight=1] ;
# "marr0003" -> "008" [dir=none, weight=2] ;
# "marr0004" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "002" -> "marr0004" [dir=none,weight=1] ;
# "006" -> "marr0004" [dir=none,weight=1] ;
# "marr0004" -> "011" [dir=none, weight=2] ;
# "marr0005" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "002" -> "marr0005" [dir=none,weight=1] ;
# "ZZ01" -> "marr0005" [dir=none,weight=1] ;
# "marr0005" -> "013" [dir=none, weight=2] ;
# "marr0006" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "004" -> "marr0006" [dir=none,weight=1] ;
# "009" -> "marr0006" [dir=none,weight=1] ;
# "marr0006" -> "010" [dir=none, weight=2] ;
# "marr0007" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "005" -> "marr0007" [dir=none,weight=1] ;
# "015" -> "marr0007" [dir=none,weight=1] ;
# "marr0007" -> "023" [dir=none, weight=2] ;
# "marr0008" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "005" -> "marr0008" [dir=none,weight=1] ;
# "016" -> "marr0008" [dir=none,weight=1] ;
# "marr0008" -> "020" [dir=none, weight=2] ;
# "marr0009" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "005" -> "marr0009" [dir=none,weight=1] ;
# "012" -> "marr0009" [dir=none,weight=1] ;
# "marr0009" -> "021" [dir=none, weight=2] ;
# "marr0010" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "008" -> "marr0010" [dir=none,weight=1] ;
# "017" -> "marr0010" [dir=none,weight=1] ;
# "marr0010" -> "018" [dir=none, weight=2] ;
# "marr0011" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "011" -> "marr0011" [dir=none,weight=1] ;
# "023" -> "marr0011" [dir=none,weight=1] ;
# "marr0011" -> "025" [dir=none, weight=2] ;
# "marr0012" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "013" -> "marr0012" [dir=none,weight=1] ;
# "014" -> "marr0012" [dir=none,weight=1] ;
# "marr0012" -> "019" [dir=none, weight=2] ;
# "marr0013" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "010" -> "marr0013" [dir=none,weight=1] ;
# "021" -> "marr0013" [dir=none,weight=1] ;
# "marr0013" -> "022" [dir=none, weight=2] ;
# "marr0014" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "019" -> "marr0014" [dir=none,weight=1] ;
# "020" -> "marr0014" [dir=none,weight=1] ;
# "marr0014" -> "024" [dir=none, weight=2] ;
# "marr0015" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "022" -> "marr0015" [dir=none,weight=1] ;
# "025" -> "marr0015" [dir=none,weight=1] ;
# "marr0015" -> "027" [dir=none, weight=2] ;
# "marr0016" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "024" -> "marr0016" [dir=none,weight=1] ;
# "018" -> "marr0016" [dir=none,weight=1] ;
# "marr0016" -> "026" [dir=none, weight=2] ;
# "marr0017" [shape=diamond,style=filled,label="",height=.1,width=.1] ;
# "026" -> "marr0017" [dir=none,weight=1] ;
# "027" -> "marr0017" [dir=none,weight=1] ;
# "marr0017" -> "028" [dir=none, weight=2] ;
# }

$:.unshift( "../../lib" );
require "graphviz"

GraphViz::new( "Ped_Lion_Share", :type => :digraph ) { |g|
  g[:ratio] = :auto
#  g[:mincross] = 2.0
  g[:label] = "Pedigree Lion_Share"

  g._001.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "001" }
  g._002.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "002" }
  g._003.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "003" }
  g._004.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "004" }
  g._005.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "005" }
  g._006.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "006" }
  g._007.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "007" }
  g._009.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "009" }
  g._014.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "014" }
  g._015.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "015" }
  g._016.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "016" }
  g.ZZ01.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white }
  g.ZZ02.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white }
  g._017.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "017" }
  g._012.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "012" }
  g._008.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "008" }
  g._011.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "011" }
  g._013.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "013" }
  g._010.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "010" }
  g._023.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "023" }
  g._020.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "020" }
  g._021.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "021" }
  g._018.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "018" }
  g._025.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "025" }
  g._019.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "019" }
  g._022.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "022" }
  g._024.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "024" }
  g._027.set { |n| n[:shape] = :circle; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "027" }
  g._026.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :white; n[:label] = "026" }
  g._028.set { |n| n[:shape] = :box; n[:regular] = 1; n[:style] = :filled; n[:fillcolor] = :grey; n[:label] = "028" }
  g.marr0001.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._001 << g.marr0001).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._007 << g.marr0001).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0001 << g._017).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0002.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._001 << g.marr0002).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.ZZ02 << g.marr0002).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0002 << g._012).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0003.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._002 << g.marr0003).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._003 << g.marr0003).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0003 << g._008).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0004.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._002 << g.marr0004).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._006 << g.marr0004).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0004 << g._011).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0005.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._002 << g.marr0005).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.ZZ01 << g.marr0005).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0005 << g._013).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0006.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._004 << g.marr0006).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._009 << g.marr0006).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0006 << g._010).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0007.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._005 << g.marr0007).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._015 << g.marr0007).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0007 << g._023).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0008.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._005 << g.marr0008).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._016 << g.marr0008).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0008 << g._020).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0009.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._005 << g.marr0009).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._012 << g.marr0009).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0009 << g._021).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0010.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._008 << g.marr0010).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._017 << g.marr0010).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0010 << g._018).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0011.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._011 << g.marr0011).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._023 << g.marr0011).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0011 << g._025).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0012.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._013 << g.marr0012).set { |e|  e[:dir] = :none; e[:weight] = 1 }
  (g._014 << g.marr0012).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0012 << g._019).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0013.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._010 << g.marr0013).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._021 << g.marr0013).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0013 << g._022).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0014.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._019 << g.marr0014).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._020 << g.marr0014).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0014 << g._024).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0015.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._022 << g.marr0015).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._025 << g.marr0015).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0015 << g._027).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0016.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._024 << g.marr0016).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._018 << g.marr0016).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0016 << g._026).set { |e| e[:dir] = :none; e[:weight] = 2 }
  g.marr0017.set { |n| n[:shape] = :diamond; n[:style] = :filled; n[:label] = ""; n[:height] = 0.1; n[:width] = 0.1 }
  (g._026 << g.marr0017).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g._027 << g.marr0017).set { |e| e[:dir] = :none; e[:weight] = 1 }
  (g.marr0017 << g._028).set { |e| e[:dir] = :none; e[:weight] = 2 }
}.output( :png => "#{$0}.png" )