X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FIdentifyFile.java;h=e97ec40941ff4061ce7e2718535ac750c08f29dc;hb=a7bec763a3e4f17a549115f8f9f19ee4c742c26b;hp=729a86040aab30234553b705008803d08c1d5da9;hpb=25db325e1dbc879140d059522af353a199045646;p=jalview.git diff --git a/src/jalview/io/IdentifyFile.java b/src/jalview/io/IdentifyFile.java index 729a860..e97ec40 100755 --- a/src/jalview/io/IdentifyFile.java +++ b/src/jalview/io/IdentifyFile.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer -* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle +* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -39,30 +39,35 @@ public class IdentifyFile * * @return DOCUMENT ME! */ - public static String Identify(String file, String protocol) + public String Identify(String file, String protocol) { String reply = "PFAM"; String error = "FILE NOT FOUND"; - try { BufferedReader reader = null; - if (protocol.equalsIgnoreCase("File")) + if (protocol.equals(AppletFormatAdapter.FILE)) { - reader = new BufferedReader(new FileReader(file)); + reader = new BufferedReader(new FileReader(file)); } - else if (protocol.equalsIgnoreCase("URL")) + else if (protocol.equals(AppletFormatAdapter.URL)) { - error = "URL NOT FOUND"; - URL url = new URL(file); - reader = new BufferedReader(new InputStreamReader( - url.openStream())); + error = "URL NOT FOUND"; + URL url = new URL(file); + reader = new BufferedReader(new InputStreamReader( + url.openStream())); } - else if (protocol.equalsIgnoreCase("Paste")) + else if (protocol.equals(AppletFormatAdapter.PASTE)) + { + reader = new BufferedReader(new StringReader(file)); + } + else if (protocol.equals(AppletFormatAdapter.CLASSLOADER)) { - reader = new BufferedReader(new StringReader(file)); + java.io.InputStream is = getClass().getResourceAsStream("/" + + file); + reader = new BufferedReader(new java.io.InputStreamReader(is)); } String data; @@ -71,6 +76,13 @@ public class IdentifyFile { data = data.toUpperCase(); + if ( (data.indexOf("# STOCKHOLM") > -1)) + { + reply = "STH"; + + break; + } + if ((data.indexOf("#") == 0) || (data.length() < 1)) { continue; @@ -116,11 +128,35 @@ public class IdentifyFile } else { + //Is this a single line BLC file? + reader.readLine(); + String data2 = reader.readLine(); + if ( data2 != null + && data.indexOf("*")>-1 + && data.indexOf("*")==data2.indexOf("*")) + { + reply = "BLC"; + } + else + { reply = "FASTA"; + } } break; - } + } + else if (data.indexOf("HEADER") > -1 || + data.indexOf("ATOM") > -1) + { + reply = "PDB"; + break; + } + else if (data.indexOf(":") < data.indexOf(",")) // && data.indexOf(",")