/******************** * 2004 Jalview Reengineered * Barton Group * Dundee University * * AM Waterhouse *******************/ package jalview.io; import java.io.*; import java.net.*; public class IdentifyFile { public static String Identify(String file, String protocol) { String reply = "error"; try{ BufferedReader reader = null; if(protocol.equals("File")) reader = new BufferedReader(new FileReader(file)); else if (protocol.equals("URL")) { reply = "URL NOT FOUND"; URL url = new URL(file); reader = new BufferedReader(new InputStreamReader( url.openStream() ) ); reply = "error"; } else if( protocol.equals("Paste")) reader = new BufferedReader( new StringReader(file) ); String data; while( (data=reader.readLine())!=null) { data = data.toUpperCase(); if(data.indexOf("#")==0 || data.length()<1) continue; if(data.indexOf("PILEUP")>-1) { reply = "MSF"; break; } else if(data.indexOf("CLUSTAL")>-1) { reply = "CLUSTAL"; break; } else if(data.indexOf(">P1;")>-1 || data.indexOf(">DL;")>-1) { reply = "PIR"; break; } else if(data.indexOf(">")==0) { // could be BLC file data = reader.readLine(); if(data.indexOf(">")==0) reply = "BLC"; else reply = "FASTA"; break; } else { reply = "PFAM"; break; } } reader.close(); } catch(Exception ex){ex.printStackTrace();} return reply; } }