code: public static List<Domain> suggestDomains(Atom[] ca) throws StructureException{
  
  		GetDistanceMatrix distMaxCalculator = new GetDistanceMatrix();
  
  		PDPDistanceMatrix pdpMatrix = distMaxCalculator.getDistanceMatrix(ca);
  
  
  
  		Domain dom = new Domain();
  		Chain c = ca[0].getGroup().getChain();
  		dom.setId("D"+c.getStructure().getPDBCode()+c.getId()+"1");
  		dom.setSize(ca.length);
  		dom.setNseg(1);
  		dom.getSegmentAtPos(0).setFrom(0);
  		dom.getSegmentAtPos(0).setTo(ca.length-1);
  
  		CutSites cutSites = new CutSites();
  
  		// Do the initial splitting
  		CutDomain cutDomain = new CutDomain(ca,pdpMatrix);
  		cutDomain.cutDomain(dom, cutSites, pdpMatrix);
  		List<Domain> domains =  cutDomain.getDomains();
  
  
  		//
  		domains = ClusterDomains.cluster(domains, pdpMatrix);
  
  		ShortSegmentRemover.cleanup(domains);
  
  
  		return domains;
  
  	}
docs: Suggest domains for a set of Calpha atoms
  
  @param ca an array of Calpha atoms
  @return a list of possible domains
  @throws StructureException