// preserves original behaviour prior to version 2.3
}
- public FileFormatI identify(AlignmentFileReaderI file, boolean closeSource)
- throws IOException
+ public FileFormatI identify(AlignmentFileReaderI file,
+ boolean closeSource) throws IOException
{
- FileParse fp = new FileParse(file.getInFile(), file.getDataSourceType());
+ FileParse fp = new FileParse(file.getInFile(),
+ file.getDataSourceType());
return identify(fp, closeSource);
}
// read as a FASTA (probably)
break;
}
+ if (data.indexOf("{\"") > -1)
+ {
+ reply = FileFormat.Json;
+ break;
+ }
int lessThan = data.indexOf("<");
if ((lessThan > -1)) // possible Markup Language data i.e HTML,
// RNAML, XML
}
}
- if (data.indexOf("{\"") > -1)
- {
- reply = FileFormat.Json;
- break;
- }
if ((data.length() < 1) || (data.indexOf("#") == 0))
{
lineswereskipped = true;
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.Phylip;
break;
}
- else
+ else if (!lineswereskipped && looksLikeJnetData(data))
{
- if (!lineswereskipped && looksLikeJnetData(data))
- {
reply = FileFormat.Jnet;
break;
+
+ }
+ else // phylogenetic file
+ {
+ String identifier = data.toLowerCase();
+ String secondLine = source.nextLine().toLowerCase();
+ if (identifier.startsWith("<phyloxml")
+ || secondLine.startsWith("<phyloxml"))
+ {
+ reply = FileFormat.PhyloXML;
+ break;
}
+ else if (((identifier.startsWith("nexus"))
+ || (identifier.startsWith("#nexus"))
+ || (identifier.startsWith("# nexus"))
+ || (identifier.startsWith("begin"))))
+ {
+ reply = FileFormat.Nexus;
+ break;
+ }
}
-
lineswereskipped = true; // this means there was some junk before any
// key file signature
}
}
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");
}
System.out.println("File format identified as " + reply.toString());
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);
}