X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fio%2FIdentifyFile.java;h=2679b484dc27cea46a3261a743982c84814a2db5;hb=12b928f827972f429471a5bf7a832fa634259a16;hp=f1f51b15c845d921dbbddce67efbf9378630eacc;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/io/IdentifyFile.java b/src/jalview/io/IdentifyFile.java index f1f51b1..2679b48 100755 --- a/src/jalview/io/IdentifyFile.java +++ b/src/jalview/io/IdentifyFile.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) + * Copyright (C) 2009 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 @@ -161,15 +161,17 @@ public class IdentifyFile 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 + // FASTA, PIR file or BLC file + boolean checkPIR = false; + if ((data.indexOf(">P1;") > -1) || (data.indexOf(">DL;") > -1)) + { + // watch for PIR file attributes + checkPIR = true; + reply = "PIR"; + } + // could also be BLC file, read next line to confirm data = source.nextLine(); if (data.indexOf(">") > -1) @@ -181,10 +183,13 @@ public class IdentifyFile // Is this a single line BLC file? source.nextLine(); String data2 = source.nextLine(); - if (data2 != null && data.indexOf("*") > -1 - && data.indexOf("*") == data2.indexOf("*")) + if (data2 != null && data.indexOf("*") > -1) { + if (data.indexOf("*") == data2.indexOf("*")) + { reply = "BLC"; + } + // otherwise can still possibly be a PIR file } else { @@ -192,8 +197,11 @@ public class IdentifyFile // TODO : AMSA File is indicated if there is annotation in the // FASTA file - but FASTA will automatically generate this at the // mo. + break; } } + // TODO final check for PIR content. require >P1;title\n\nterminated sequence to occur at least once. + // the PIR/fasta ambiguity may be the use case that is needed to have a 'Parse as type XXX' parameter for the applet/application. break; } else if (data.indexOf("HEADER") == 0 || data.indexOf("ATOM") == 0) @@ -201,6 +209,16 @@ public class IdentifyFile reply = "PDB"; break; } + /*// TODO comment out SimpleBLAST identification for Jalview 2.4.1 + else if (!lineswereskipped && data.indexOf("BLAST")<4) + { + reply = "SimpleBLAST"; + break; + + } + // end comments for Jalview 2.4.1 + * + */ else if (!lineswereskipped && data.charAt(0) != '*' && data.charAt(0) != ' ' && data.indexOf(":") < data.indexOf(",")) // &&