package com.bio4j.model;

import com.bio4j.angulillos.*;
import com.bio4j.angulillos.Arity.*;

public final class UniRefGraph<V,E> extends TypedGraph<UniRefGraph<V,E>,V,E> {

  public UniRefGraph(UniProtGraph<V,E> uniProtGraph) {

    super(uniProtGraph.raw());
    this.uniProtGraph = uniProtGraph;
  }

  public final UniProtGraph<V,E> uniProtGraph;

  @Override public final UniRefGraph<V,E> self() { return this; }
}

@@ -86,16 +86,38 @@
 Arity.*;
+%0Aimport java.util.Set;
 %0A%0Apublic
@@ -158,13 +158,12 @@
 nds 
-Typed
+Link
 Grap
@@ -432,11 +432,1735 @@
  this; %7D
+%0A%0A  public final class UniRef100Cluster extends Vertex%3CUniRef100Cluster%3E %7B%0A%0A    private UniRef100Cluster(V vertex) %7B super(vertex, uniRef100Cluster); %7D%0A    @Override public final UniRef100Cluster self() %7B return this; %7D%0A  %7D%0A%0A  public final UniRef100ClusterType uniRef100Cluster = new UniRef100ClusterType();%0A  public final class UniRef100ClusterType extends VertexType%3CUniRef100Cluster%3E %7B%0A%0A    @Override public final UniRef100Cluster fromRaw(V vertex) %7B return new UniRef100Cluster(vertex); %7D%0A%0A    public final ID id = new ID();%0A    public final class ID extends Property%3CString%3E implements FromAtMostOne, ToOne %7B%0A      private ID() %7B super(String.class); %7D%0A      public final Index index = new Index();%0A      public final class Index extends UniqueIndex%3CID, String%3E %7B%0A        private Index() %7B super(ID.this); %7D%0A      %7D%0A    %7D%0A  %7D%0A%0A  public final class UniRef100Representative extends LinkEdge%3C%0A    UniRefGraph%3CV,E%3E, UniRef100Cluster,%0A    UniRef100Representative,%0A    UniProtGraph%3CV,E%3E, UniProtGraph%3CV,E%3E.Protein%0A  %3E%0A  %7B%0A    private UniRef100Representative(E edge) %7B super(edge, uniRef100Representative); %7D%0A    @Override public final UniRef100Representative self() %7B return this; %7D%0A  %7D%0A%0A  public final UniRef100RepresentativeType uniRef100Representative = new UniRef100RepresentativeType();%0A  public final class UniRef100RepresentativeType extends LinkEdgeType%3C%0A    UniRefGraph%3CV,E%3E, UniRef100Cluster,%0A    UniRef100Representative,%0A    UniProtGraph%3CV,E%3E, UniProtGraph%3CV,E%3E.Protein%0A  %3E%0A  implements FromAny, ToOne %7B%0A%0A    private UniRef100RepresentativeType() %7B super(uniRef100Cluster, uniProtGraph.protein); %7D%0A    @Override public final UniRef100Representative fromRaw(E edge) %7B return new UniRef100Representative(edge); %7D%0A  %7D
 %0A%7D%0A

add uniref100 edges to proteins