X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FBasicGenomeWideCombinableDomains.java;h=ef987518f5ac6e653285dec0cce2e9de7f049921;hb=78b77ac2a4a069d0a2e53dc5e7652838c58acd0c;hp=d70f915f68a687a45bc21bc40a8814864c8fe5c6;hpb=eee996a6476a1e3d84c07f8f690dcde3ff4b2ef5;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/BasicGenomeWideCombinableDomains.java b/forester/java/src/org/forester/surfacing/BasicGenomeWideCombinableDomains.java index d70f915..ef98751 100644 --- a/forester/java/src/org/forester/surfacing/BasicGenomeWideCombinableDomains.java +++ b/forester/java/src/org/forester/surfacing/BasicGenomeWideCombinableDomains.java @@ -17,7 +17,12 @@ import java.util.TreeMap; import java.util.TreeSet; import org.forester.go.GoId; -import org.forester.surfacing.BinaryDomainCombination.DomainCombinationType; +import org.forester.protein.BinaryDomainCombination; +import org.forester.protein.BinaryDomainCombination.DomainCombinationType; +import org.forester.protein.Domain; +import org.forester.protein.DomainId; +import org.forester.protein.Protein; +import org.forester.species.Species; import org.forester.util.BasicDescriptiveStatistics; import org.forester.util.DescriptiveStatistics; import org.forester.util.ForesterUtil; @@ -259,21 +264,25 @@ public class BasicGenomeWideCombinableDomains implements GenomeWideCombinableDom ignore_combination_with_same_domain, species, null, - DomainCombinationType.BASIC ); + DomainCombinationType.BASIC, + null, + null ); } public static BasicGenomeWideCombinableDomains createInstance( final List protein_list, final boolean ignore_combination_with_same_domain, final Species species, final DomainCombinationType dc_type ) { - return createInstance( protein_list, ignore_combination_with_same_domain, species, null, dc_type ); + return createInstance( protein_list, ignore_combination_with_same_domain, species, null, dc_type, null, null ); } public static BasicGenomeWideCombinableDomains createInstance( final List protein_list, final boolean ignore_combination_with_same_domain, final Species species, final Map> domain_id_to_go_ids_map, - final DomainCombinationType dc_type ) { + final DomainCombinationType dc_type, + final Map protein_length_stats_by_dc, + final Map domain_number_stats_by_dc ) { final BasicGenomeWideCombinableDomains instance = new BasicGenomeWideCombinableDomains( species, dc_type ); final Map domain_counts = new HashMap(); final Map domain_protein_counts = new HashMap(); @@ -356,6 +365,27 @@ public class BasicGenomeWideCombinableDomains implements GenomeWideCombinableDom if ( ( dc_type == DomainCombinationType.DIRECTED_ADJACTANT ) && ( closest != null ) ) { domain_combination.addCombinableDomain( closest.getDomainId() ); } + if ( protein_length_stats_by_dc != null ) { + final List dcs = domain_combination.toBinaryDomainCombinations(); + for( final BinaryDomainCombination dc : dcs ) { + final String dc_str = dc.toString(); + if ( !protein_length_stats_by_dc.containsKey( dc_str ) ) { + protein_length_stats_by_dc.put( dc_str, new BasicDescriptiveStatistics() ); + } + protein_length_stats_by_dc.get( dc_str ).addValue( protein.getLength() ); + } + } + if ( domain_number_stats_by_dc != null ) { + final List dcs = domain_combination.toBinaryDomainCombinations(); + for( final BinaryDomainCombination dc : dcs ) { + final String dc_str = dc.toString(); + if ( !domain_number_stats_by_dc.containsKey( dc_str ) ) { + domain_number_stats_by_dc.put( dc_str, new BasicDescriptiveStatistics() ); + } + domain_number_stats_by_dc.get( dc_str ).addValue( protein.getNumberOfProteinDomains() ); + } + } + // } } }