/******************** * 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 = "PFAM"; 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 = "PileUp"; break; } if((data.indexOf("//")==0) || ((data.indexOf("!!")>-1) && (data.indexOf("!!")-1) { reply = "CLUSTAL"; break; } else if(data.indexOf(">P1;")>-1 || data.indexOf(">DL;")>-1) { reply = "PIR"; break; } else if(data.indexOf(">")>-1) { // could be BLC file, read next line to confirm data = reader.readLine(); if(data.indexOf(">")>-1) reply = "BLC"; else reply = "FASTA"; break; } } reader.close(); } catch(Exception ex){ System.err.println("File Identification failed!\n"+ex);} return reply; } }