From 90c7930fef3df43e214e4660f999174ba3164680 Mon Sep 17 00:00:00 2001 From: "cmzmasek@gmail.com" Date: Sat, 28 Sep 2013 03:58:56 +0000 Subject: [PATCH] inprogress --- .../src/org/forester/ws/seqdb/UniProtEntry.java | 34 ++++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/forester/java/src/org/forester/ws/seqdb/UniProtEntry.java b/forester/java/src/org/forester/ws/seqdb/UniProtEntry.java index c30dc4c..2565339 100644 --- a/forester/java/src/org/forester/ws/seqdb/UniProtEntry.java +++ b/forester/java/src/org/forester/ws/seqdb/UniProtEntry.java @@ -26,17 +26,22 @@ package org.forester.ws.seqdb; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.forester.go.BasicGoTerm; +import org.forester.go.GoTerm; import org.forester.util.ForesterUtil; public final class UniProtEntry implements SequenceDatabaseEntry { - private String _ac; - private String _name; - private String _symbol; - private String _gene_name; - private String _os_scientific_name; - private String _tax_id; + public final static Pattern GO_PATTERN = Pattern.compile( "GO;\\s+GO:(\\d+);\\s+([PF]):([^;]+);" ); + private String _ac; + private String _name; + private String _symbol; + private String _gene_name; + private String _os_scientific_name; + private String _tax_id; private UniProtEntry() { } @@ -49,7 +54,7 @@ public final class UniProtEntry implements SequenceDatabaseEntry { public static SequenceDatabaseEntry createInstanceFromPlainText( final List lines ) { final UniProtEntry e = new UniProtEntry(); for( final String line : lines ) { - System.out.println( line ); + //System.out.println( line ); if ( line.startsWith( "AC" ) ) { e.setAc( DatabaseTools.extract( line, "AC", ";" ) ); } @@ -71,6 +76,21 @@ public final class UniProtEntry implements SequenceDatabaseEntry { e.setGeneName( DatabaseTools.extract( line, "Name=", ";" ) ); } } + else if ( line.startsWith( "DR" ) ) { + if ( line.indexOf( "GO;" ) > 0 ) { + Matcher m = GO_PATTERN.matcher( line ); + if ( m.find() ) { + String n = m.group( 1 ); + String ns_str = m.group( 2 ); + String desc = m.group( 3 ); + if ( ns_str.equals( "F" ) ) { + + System.out.println( "GO:" + n + " " + desc + " " + ns ); + GoTerm go = new BasicGoTerm( n, desc, ns, false ); + // e.setGeneName( DatabaseTools.extract( line, "Name=", ";" ) ); + } + } + } else if ( line.startsWith( "OS" ) ) { if ( line.indexOf( "(" ) > 0 ) { e.setOsScientificName( DatabaseTools.extract( line, "OS", "(" ) ); -- 1.7.10.2