X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fprotein%2FBasicProtein.java;h=edece19a8b9ee8119dd2fdb878c277b8b1edbfab;hb=b5fe992f707cdad84255eb85040effbee97d61b3;hp=e17862f25007823f35fae3d3cefb8c7c85ebf5a5;hpb=7713a9bc5abcc18bcfeb3b8e4d172edef36b0992;p=jalview.git diff --git a/forester/java/src/org/forester/protein/BasicProtein.java b/forester/java/src/org/forester/protein/BasicProtein.java index e17862f..edece19 100644 --- a/forester/java/src/org/forester/protein/BasicProtein.java +++ b/forester/java/src/org/forester/protein/BasicProtein.java @@ -55,9 +55,11 @@ public class BasicProtein implements Protein { final Domain d2 ) { final int m1 = ( d1.getTo() + d1.getFrom() ); final int m2 = ( d2.getTo() + d2.getFrom() ); - return m1 < m2 ? -1 : m1 > m2 ? 1 : d1 - .getDomainId().getId() - .compareTo( d2.getDomainId().getId() ); + return m1 < m2 ? -1 + : m1 > m2 ? 1 + : d1.getDomainId() + .compareTo( d2 + .getDomainId() ); } }; @@ -88,17 +90,17 @@ public class BasicProtein implements Protein { * If in_nc_order is set to true, this returns true only and only if * the order in List 'domains' and this protein (as determined by the start positions * of the domains of this proteins, _not_ by their index) are the same - * (interspersing, 'other', domains in this are ignored). + * (interspersing, 'other', domains in this are ignored). * If in_nc_order is set to false, this returns true only and only if * this contains all domains listed in 'domains' (order and count do not matter). - * + * * @param domains a list of domain ids in a certain order. * @param in_nc_order to consider order * @return */ - public boolean contains( final List query_domain_ids, final boolean in_nc_order ) { + public boolean contains( final List query_domain_ids, final boolean in_nc_order ) { if ( !in_nc_order ) { - for( final DomainId query_domain_id : query_domain_ids ) { + for( final String query_domain_id : query_domain_ids ) { if ( !getProteinDomainIds().contains( query_domain_id ) ) { return false; } @@ -107,7 +109,7 @@ public class BasicProtein implements Protein { } else { int current_start_position = -1; - I: for( final DomainId query_domain_id : query_domain_ids ) { + I: for( final String query_domain_id : query_domain_ids ) { if ( getProteinDomainIds().contains( query_domain_id ) ) { final List found_domains = getProteinDomains( query_domain_id ); final SortedSet ordered_start_positions = new TreeSet(); @@ -171,7 +173,7 @@ public class BasicProtein implements Protein { } @Override - public int getProteinDomainCount( final DomainId domain_id ) { + public int getProteinDomainCount( final String domain_id ) { return getProteinDomains( domain_id ).size(); } @@ -181,7 +183,7 @@ public class BasicProtein implements Protein { } @Override - public List getProteinDomains( final DomainId domain_id ) { + public List getProteinDomains( final String domain_id ) { final List domains = new ArrayList(); for( final Domain domain : getProteinDomains() ) { if ( domain.getDomainId().equals( domain_id ) ) { @@ -213,21 +215,28 @@ public class BasicProtein implements Protein { _name = name; } - public String toDomainArchitectureString( final String separator ) { + @Override + public final String toDomainArchitectureString( final String separator, final double ie_cutoff ) { final StringBuilder sb = new StringBuilder(); boolean first = true; for( final Domain d : getDomainsSortedByPosition() ) { - if ( first ) { - first = false; - } - else { - sb.append( separator ); + if ( ( ie_cutoff <= -1 ) || ( d.getPerDomainEvalue() <= ie_cutoff ) ) { + if ( first ) { + first = false; + } + else { + sb.append( separator ); + } + sb.append( d.getDomainId() ); } - sb.append( d.getDomainId().getId() ); } return sb.toString(); } + public final String toDomainArchitectureString( final String separator ) { + return toDomainArchitectureString( separator, -1 ); + } + public String toDomainArchitectureString( final String separator, final int repeats_limit, final String repeat_separator ) { @@ -239,7 +248,7 @@ public class BasicProtein implements Protein { String prev_id = ""; int counter = 1; for( final Domain d : getDomainsSortedByPosition() ) { - final String id = d.getDomainId().getId(); + final String id = d.getDomainId(); if ( prev_id.equals( id ) ) { counter++; } @@ -269,11 +278,11 @@ public class BasicProtein implements Protein { @Override public String toString() { - return toDomainArchitectureString( "~" ); + return toDomainArchitectureString( "--", 1 ); } - private List getProteinDomainIds() { - final List ids = new ArrayList( getProteinDomains().size() ); + private List getProteinDomainIds() { + final List ids = new ArrayList( getProteinDomains().size() ); for( final Domain domain : getProteinDomains() ) { ids.add( domain.getDomainId() ); }