// exported and re-read back into the program. This is to ensure that the
// program can be terminated without losing a large quantity of data. The
// increment is the number of families read per 'save'.
- if (command.indexOf("run") > -1)
+ if (command.indexOf("run") > -1 && !(command.indexOf("ToEnd") > -1))
{
try
{
{
System.out.println("Command failed");
}
+ continue;
+ }
+ if ((command.indexOf("runToEnd") > -1))
+ {
+ try
+ {
+
+ inputScanner.next();
+ int minCount = inputScanner.nextInt();
+ int maxCount = inputScanner.nextInt();
+ boolean keepRaw = inputScanner.nextBoolean();
+ boolean forClans = inputScanner.nextBoolean();
+ analyser.runToEnd(minCount, maxCount, keepRaw, forClans);
+ System.out.println("Task completed");
+ } catch (Exception e)
+ {
+ System.out.println("Command failed");
+ }
+ continue;
}
// terminates program. Syntax is terminate.
if (command.indexOf("terminate") > -1)
} catch (Exception e)
{
System.out.println("Command failed");
+
}
+ continue;
}
if (command.indexOf("getFamName") > -1)
{
inputScanner.next();
System.out.println(analyser.getFamilyName(inputScanner.nextInt()));
- inputScanner.close();
- continue;
+
} catch (Exception e)
{
System.out.println("Command failed");
}
+ continue;
}
if (command.indexOf("sortIntoClans") > -1)
{
continue;
}
+ if (command.indexOf("setFamilies") > -1)
+ {
+ inputScanner.next();
+ analyser.setFamilies(inputScanner.next());
+ continue;
+
+ }
+
+ if (command.indexOf("setHMMs") > -1)
+ {
+ inputScanner.next();
+ analyser.setHmms(inputScanner.next());
+ continue;
+
+ }
+
+ if (command.indexOf("alignWithinClans") > -1)
+ {
+ inputScanner.next();
+ String export = inputScanner.next();
+ String clans = inputScanner.next();
+ analyser.alignWithinClan(export, clans);
+ continue;
+
+ }
+
+ System.out.println("Unrecognised command");
}