X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fphylogeny%2Fdata%2FDomainArchitecture.java;h=0f09c55345f71a3d69b9da82c84e0ba552e43939;hb=79cae2c4cb52ff0d105292121ea9637886f1f8af;hp=e93e74238e1639d781c9c70a2494afbc92b69144;hpb=eee996a6476a1e3d84c07f8f690dcde3ff4b2ef5;p=jalview.git diff --git a/forester/java/src/org/forester/phylogeny/data/DomainArchitecture.java b/forester/java/src/org/forester/phylogeny/data/DomainArchitecture.java index e93e742..0f09c55 100644 --- a/forester/java/src/org/forester/phylogeny/data/DomainArchitecture.java +++ b/forester/java/src/org/forester/phylogeny/data/DomainArchitecture.java @@ -21,12 +21,13 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.phylogeny.data; import java.io.IOException; import java.io.Writer; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.SortedMap; @@ -40,10 +41,10 @@ import org.forester.util.ForesterUtil; public class DomainArchitecture implements PhylogenyData { - public final static String NHX_SEPARATOR = ">"; - private static final double INCREASE_KEY = 0.0001; - private SortedMap _domains; - private int _total_length; + public final static String NHX_SEPARATOR = ">"; + private static final BigDecimal INCREASE_KEY = new BigDecimal( "0.00001" ); + private SortedMap _domains; + private int _total_length; public DomainArchitecture() { init(); @@ -79,7 +80,7 @@ public class DomainArchitecture implements PhylogenyData { } } catch ( final Exception e ) { - throw new IllegalArgumentException( "Malformed format for domain structure \"" + da_str + "\": " + throw new IllegalArgumentException( "malformed format for domain structure \"" + da_str + "\": " + e.getMessage() ); } if ( to > total_length ) { @@ -89,9 +90,9 @@ public class DomainArchitecture implements PhylogenyData { } public void addDomain( final ProteinDomain pd ) { - Double key = new Double( pd.getFrom() ); + BigDecimal key = new BigDecimal( "" + pd.getFrom() ); while ( _domains.containsKey( key ) ) { - key = new Double( key.doubleValue() + DomainArchitecture.INCREASE_KEY ); + key = new BigDecimal( "" + ( key.doubleValue() + DomainArchitecture.INCREASE_KEY.doubleValue() ) ); } _domains.put( key, pd ); } @@ -133,7 +134,7 @@ public class DomainArchitecture implements PhylogenyData { return ( ProteinDomain ) _domains.values().toArray()[ i ]; } - public SortedMap getDomains() { + public SortedMap getDomains() { return _domains; } @@ -146,7 +147,7 @@ public class DomainArchitecture implements PhylogenyData { } private void init() { - _domains = new TreeMap(); + _domains = new TreeMap(); _total_length = 0; }