Module Genome.OldCompiled


module OldCompiled: sig  end


type matcherDomain = {
   md_matcher : Ligand.Matcher.matcher;
}

type matcherState = unit

type snippetDomain = {
   sd_snippet : Ligand.Matcher.snippet;
}

type snippetState = unit

type ligandBindingDomain = {
   libd_mds : matcherDomain list;
   libd_fullmatcher : Ligand.Matcher.matcher;
}

type ligandBindingState = {
   libds_bound : bool;
}

type structuralBindingDomain = {
   pubd_sds : snippetDomain list;
   pubd_fullsnippet : Ligand.Matcher.snippet;
}

type structuralBindingState = {
   pubds_bound : bool;
}

type domain =
| LigandBinding of ligandBindingDomain
| StructuralBinding of structuralBindingDomain
| Matcher of matcherDomain
| Snippet of snippetDomain


type domainstate =
| LigandBindingState of ligandBindingState
| StructuralBindingState of structuralBindingState
| MatcherState of matcherState
| SnippetState of snippetState


type procunit = domain array

type instance = domainstate array
val instantiate_domain : domain -> domainstate
val make_instance : domain array -> domainstate array

type compartment_genome = procunit list

type genome = compartment_genome list
val all_domains : 'a -> 'a