{ // write gene filter to xml file
final IDataFilter outFilter;
if (filter != null) {
outFilter = filter;
} else {
outFilter = new GODistanceFilter(goTree);
}
if( ! SystemUtility.writeXMLObject(outFilter, new File(outFilterFile.value)) )
System.err.println("Warning: cannot write output filter file "+outFilterFile.value);
}
// HIGH-THROUGHPUT GOMINER FILE IMPORT
if( !flag && (htGceFile.value != null) )
{
if( gceFile.value != null || seFile.value != null )
{
System.err.println("Error: --htgce option excludes the use of --gce and --se");
System.exit(-1);
}
loadFiles.loadHTGOMiner(htGceFile.value);
flag = true;
}
// GOMINER FILE IMPORT
if (! flag && (gceFile.value != null && seFile.value == null)) {
System.err.println("Error: --gce can only be used in combination with --se");
System.exit(-1);
}
if (! flag && (gceFile.value == null && seFile.value != null)) {
System.err.println("Error: --se can only be used in combination with --gce");
System.exit(-1);
}
if( !flag && (gceFile.value != null) && (seFile.value != null) )
{
loadFiles.loadGOMiner(seFile.value,gceFile.value);
flag = true;
}
}
catch(IOException ex)
{
ex.printStackTrace();
System.err.println("I/O error while importing data set.");
System.exit(-1);
}
checkModelAndFilterCompatibility(loadFiles.getSourceDataModel(), filter);
// check if GUI should be started
if (profFile.value == null && svgFile.value == null
&& outConfigFile.value == null && simFile.value == null
&& optStateFile.value == null && outFilterFile.value == null) {
// start graphical interface
final IDataFilter finalFilter = filter;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Gui(
goTree,
params,
loadFiles,
finalFilter instanceof GODistanceFilter ? (GODistanceFilter) finalFilter
: null);
}
});
return;
}
// command line version
if (simFile.value == null && optStateFile.value == null && svgFile.value == null && profFile.value == null) {
assert outFilterFile.value != null || outConfigFile.value != null;
System.exit(0);
}
if( !flag )
{
System.err.println("You have to specify input data with --gce and --se, --htgce, or --list");
System.exit(-1);
}
VennArrangementsOptimizer vennArrsOptim = new VennArrangementsOptimizer();
vennArrsOptim.setParameters(params);
VennPanel venn = new VennPanel(vennArrsOptim);
venn.setParameters(params);
final IVennDataModel model = loadFiles.getSourceDataModel();
if (filter == null && (loadFiles.getSourceType() == LoadFiles.SourceType.GO
|| loadFiles.getSourceType() == LoadFiles.SourceType.HTGO)) {
filter = new GODistanceFilter( goTree );
// set filterBy to default
if (model != null) {
assert model instanceof GeneOntologyReaderModel || model instanceof HTGeneOntologyReaderModel;
final GODistanceFilter distanceFilter = (GODistanceFilter) filter;
if (model.getNumGroups() > 0) {
distanceFilter.getParameters().filterBy =
((AbstractGOCategoryProperties) model.getGroupProperties(0)).getFilterBy();
}
}
}