X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FBasicCombinableDomains.java;h=02a8278ec1d7ad1a7612708f86ff59c8583b3340;hb=612e51e63eb66025a04439fc380384a945a4a30f;hp=84408dc9abc86484a35290530ef03219d3feb5fa;hpb=87d34f343d0262cd0c009c6f1da058a5a217bc64;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/BasicCombinableDomains.java b/forester/java/src/org/forester/surfacing/BasicCombinableDomains.java index 84408dc..02a8278 100644 --- a/forester/java/src/org/forester/surfacing/BasicCombinableDomains.java +++ b/forester/java/src/org/forester/surfacing/BasicCombinableDomains.java @@ -27,29 +27,31 @@ package org.forester.surfacing; import java.util.ArrayList; +import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; import org.forester.protein.BinaryDomainCombination; import org.forester.species.Species; -import org.forester.util.DescriptiveStatistics; +import org.forester.util.ForesterUtil; public class BasicCombinableDomains implements CombinableDomains { + final private TreeMap _combining_domains; final private String _key_domain; private int _key_domain_count; - private int _key_domain_proteins_count; + final private Set _proteins_with_key_domain; final private Species _species; - final private TreeMap _combining_domains; - private DescriptiveStatistics _key_domain_confidence_statistics; public BasicCombinableDomains( final String key_domain, final Species species ) { _key_domain = key_domain; _species = species; _combining_domains = new TreeMap(); - init(); + _proteins_with_key_domain = new HashSet(); + _key_domain_count = 0; } @Override @@ -63,6 +65,14 @@ public class BasicCombinableDomains implements CombinableDomains { } @Override + public void addKeyDomainProtein( final String protein ) { + if ( ForesterUtil.isEmpty( protein ) ) { + throw new IllegalArgumentException( "attempt to add null or empty protein" ); + } + getKeyDomainProteins().add( protein ); + } + + @Override public List getAllDomains() { final List domains = getCombinableDomains(); if ( !domains.contains( getKeyDomain() ) ) { @@ -107,28 +117,24 @@ public class BasicCombinableDomains implements CombinableDomains { return sb; } - protected TreeMap getCombiningDomains() { - return _combining_domains; - } - @Override public String getKeyDomain() { return _key_domain; } @Override - public DescriptiveStatistics getKeyDomainConfidenceDescriptiveStatistics() { - return _key_domain_confidence_statistics; + public int getKeyDomainCount() { + return _key_domain_count; } @Override - public int getKeyDomainCount() { - return _key_domain_count; + public Set getKeyDomainProteins() { + return _proteins_with_key_domain; } @Override public int getKeyDomainProteinsCount() { - return _key_domain_proteins_count; + return getKeyDomainProteins().size(); } @Override @@ -151,37 +157,22 @@ public class BasicCombinableDomains implements CombinableDomains { return _species; } - private void init() { - _key_domain_count = 0; - _key_domain_proteins_count = 0; - _key_domain_confidence_statistics = null; - } - @Override public boolean isCombinable( final String protein_domain ) { return getCombiningDomains().containsKey( protein_domain ); } @Override - public void setKeyDomainConfidenceDescriptiveStatistics( final DescriptiveStatistics key_domain_confidence_statistics ) { - _key_domain_confidence_statistics = key_domain_confidence_statistics; - } - - @Override public void setKeyDomainCount( final int key_domain_count ) { _key_domain_count = key_domain_count; } @Override - public void setKeyDomainProteinsCount( final int key_domain_proteins_count ) { - _key_domain_proteins_count = key_domain_proteins_count; - } - - @Override public List toBinaryDomainCombinations() { final List binary_combinations = new ArrayList( getNumberOfCombinableDomains() ); for( final String domain : getCombiningDomains().keySet() ) { - binary_combinations.add( new BasicBinaryDomainCombination( getKeyDomain(), domain ) ); + // binary_combinations.add( new BasicBinaryDomainCombination( getKeyDomain(), domain ) ); + binary_combinations.add( BasicBinaryDomainCombination.obtainInstance( getKeyDomain(), domain ) ); } return binary_combinations; } @@ -200,4 +191,8 @@ public class BasicCombinableDomains implements CombinableDomains { sb.append( getCombiningDomainIdsAsStringBuilder() ); return sb.toString(); } + + protected TreeMap getCombiningDomains() { + return _combining_domains; + } }