From 15f3c39fd477204175c0889f10b8c5e4271acf23 Mon Sep 17 00:00:00 2001 From: cmzmasek Date: Wed, 1 Aug 2012 11:23:01 +0000 Subject: [PATCH] in progress --- .../src/org/forester/surfacing/SurfacingUtil.java | 45 +++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/forester/java/src/org/forester/surfacing/SurfacingUtil.java b/forester/java/src/org/forester/surfacing/SurfacingUtil.java index ab83ebf..1774cc6 100644 --- a/forester/java/src/org/forester/surfacing/SurfacingUtil.java +++ b/forester/java/src/org/forester/surfacing/SurfacingUtil.java @@ -66,6 +66,7 @@ import org.forester.go.GoTerm; import org.forester.go.PfamToGoMapping; import org.forester.io.parsers.nexus.NexusConstants; import org.forester.io.writers.PhylogenyWriter; +import org.forester.msa.MsaCompactor.SORT_BY; import org.forester.phylogeny.Phylogeny; import org.forester.phylogeny.PhylogenyMethods; import org.forester.phylogeny.PhylogenyNode; @@ -1204,9 +1205,19 @@ public final class SurfacingUtil { } out.write( "/" ); out.write( separator ); + + Domain domain_ary[] = new Domain[ protein.getProteinDomains().size() ]; + + for( int i = 0; i < protein.getProteinDomains().size(); ++i ) { + domain_ary[ i ] = protein.getProteinDomains().get( i ); + } + + Arrays.sort( domain_ary, new DomainComparator( false ) ); + out.write( "{" ); boolean first = true; - for( final Domain domain : protein.getProteinDomains() ) { + + for( final Domain domain : domain_ary ) { if ( first ) { first = false; } @@ -1214,6 +1225,10 @@ public final class SurfacingUtil { out.write( "," ); } out.write( domain.getDomainId().toString() ); + out.write( ":" ); + out.write( domain.getFrom() ); + out.write( "-" ); + out.write( domain.getTo() ); } out.write( "}" ); if ( !( ForesterUtil.isEmpty( protein.getDescription() ) || protein.getDescription() @@ -2606,4 +2621,32 @@ public final class SurfacingUtil { e.printStackTrace(); } } + + final static class DomainComparator implements Comparator { + + final private boolean _ascending; + + public DomainComparator( final boolean ascending ) { + _ascending = ascending; + } + + @Override + public final int compare( final Domain d0, final Domain d1 ) { + + if ( d0.getFrom() < d1.getFrom() ) { + return _ascending ? -1 : 1; + } + else if ( d0.getFrom() > d1.getFrom() ) { + return _ascending ? 1 : -1; + } + return 0; + + } + + } } + + + + + -- 1.7.10.2