git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-2418 source formatting
[jalview.git]
/
src
/
jalview
/
io
/
IdentifyFile.java
diff --git
a/src/jalview/io/IdentifyFile.java
b/src/jalview/io/IdentifyFile.java
index
89fc3cd
..
7ad8fcd
100755
(executable)
--- a/
src/jalview/io/IdentifyFile.java
+++ b/
src/jalview/io/IdentifyFile.java
@@
-30,8
+30,6
@@
import java.io.IOException;
*/
public class IdentifyFile
{
*/
public class IdentifyFile
{
- public static final String FeaturesFile = "GFF or Jalview features";
-
/**
* Identify a datasource's file content.
*
/**
* Identify a datasource's file content.
*
@@
-74,6
+72,14
@@
public class IdentifyFile
// preserves original behaviour prior to version 2.3
}
// preserves original behaviour prior to version 2.3
}
+ public FileFormatI identify(AlignmentFileReaderI file,
+ boolean closeSource) throws IOException
+ {
+ FileParse fp = new FileParse(file.getInFile(),
+ file.getDataSourceType());
+ return identify(fp, closeSource);
+ }
+
/**
* Identify contents of source, closing it or resetting source to start
* afterwards.
/**
* Identify contents of source, closing it or resetting source to start
* afterwards.
@@
-93,12
+99,15
@@
public class IdentifyFile
boolean lineswereskipped = false;
boolean isBinary = false; // true if length is non-zero and non-printable
// characters are encountered
boolean lineswereskipped = false;
boolean isBinary = false; // true if length is non-zero and non-printable
// characters are encountered
+
try
{
if (!closeSource)
{
source.mark();
}
try
{
if (!closeSource)
{
source.mark();
}
+ boolean aaIndexHeaderRead = false;
+
while ((data = source.nextLine()) != null)
{
bytesRead += data.length();
while ((data = source.nextLine()) != null)
{
bytesRead += data.length();
@@
-136,6
+145,20
@@
public class IdentifyFile
}
data = data.toUpperCase();
}
data = data.toUpperCase();
+ if (data.startsWith(ScoreMatrixFile.SCOREMATRIX))
+ {
+ reply = FileFormat.ScoreMatrix;
+ break;
+ }
+ if (data.startsWith("H ") && !aaIndexHeaderRead)
+ {
+ aaIndexHeaderRead = true;
+ }
+ if (data.startsWith("D ") && aaIndexHeaderRead)
+ {
+ reply = FileFormat.ScoreMatrix;
+ break;
+ }
if (data.startsWith("##GFF-VERSION"))
{
// GFF - possibly embedded in a Jalview features file!
if (data.startsWith("##GFF-VERSION"))
{
// GFF - possibly embedded in a Jalview features file!
@@
-254,7
+277,7
@@
public class IdentifyFile
}
int lessThan = data.indexOf("<");
if ((lessThan > -1)) // possible Markup Language data i.e HTML,
}
int lessThan = data.indexOf("<");
if ((lessThan > -1)) // possible Markup Language data i.e HTML,
- // RNAML, XML
+ // RNAML, XML
{
String upper = data.toUpperCase();
if (upper.substring(lessThan).startsWith("<HTML"))
{
String upper = data.toUpperCase();
if (upper.substring(lessThan).startsWith("<HTML"))
@@
-287,9
+310,8
@@
public class IdentifyFile
break;
}
break;
}
- if ((data.indexOf("//") == 0)
- || ((data.indexOf("!!") > -1) && (data.indexOf("!!") < data
- .indexOf("_MULTIPLE_ALIGNMENT "))))
+ if ((data.indexOf("//") == 0) || ((data.indexOf("!!") > -1) && (data
+ .indexOf("!!") < data.indexOf("_MULTIPLE_ALIGNMENT "))))
{
reply = FileFormat.MSF;
{
reply = FileFormat.MSF;
@@
-339,10
+361,11
@@
public class IdentifyFile
}
if (trimmedLength == 0)
{
}
if (trimmedLength == 0)
{
- System.err
- .println("File Identification failed! - Empty file was read.");
+ System.err.println(
+ "File Identification failed! - Empty file was read.");
throw new FileFormatException("EMPTY DATA FILE");
}
throw new FileFormatException("EMPTY DATA FILE");
}
+ System.out.println("File format identified as " + reply.toString());
return reply;
}
return reply;
}
@@
-364,8
+387,9
@@
public class IdentifyFile
}
/**
}
/**
- * Returns true if the data has at least 6 tab-delimited fields _and_
- * fields 4 and 5 are integer (start/end)
+ * Returns true if the data has at least 6 tab-delimited fields _and_ fields 4
+ * and 5 are integer (start/end)
+ *
* @param data
* @return
*/
* @param data
* @return
*/
@@
-376,14
+400,17
@@
public class IdentifyFile
return false;
}
String[] columns = data.split("\t");
return false;
}
String[] columns = data.split("\t");
- if (columns.length < 6) {
+ if (columns.length < 6)
+ {
return false;
}
for (int col = 3; col < 5; col++)
{
return false;
}
for (int col = 3; col < 5; col++)
{
- try {
+ try
+ {
Integer.parseInt(columns[col]);
Integer.parseInt(columns[col]);
- } catch (NumberFormatException e) {
+ } catch (NumberFormatException e)
+ {
return false;
}
}
return false;
}
}
@@
-401,9
+428,9
@@
public class IdentifyFile
type = ider.identify(args[i], DataSourceType.FILE);
} catch (FileFormatException e)
{
type = ider.identify(args[i], DataSourceType.FILE);
} catch (FileFormatException e)
{
- System.err.println(String.format(
- "Error '%s' identifying file type for %s", args[i],
- e.getMessage()));
+ System.err.println(
+ String.format("Error '%s' identifying file type for %s",
+ args[i], e.getMessage()));
}
System.out.println("Type of " + args[i] + " is " + type);
}
}
System.out.println("Type of " + args[i] + " is " + type);
}