Merge branch 'develop' into menard
authorjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 24 Aug 2012 15:29:25 +0000 (16:29 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 24 Aug 2012 15:29:25 +0000 (16:29 +0100)
1  2 
src/jalview/bin/Jalview.java

   */
  package jalview.bin;
  
 +import java.awt.FlowLayout;
 +import java.awt.Frame;
 +import java.awt.event.ActionEvent;
 +import java.awt.event.ActionListener;
  import java.io.BufferedReader;
  import java.io.File;
  import java.io.FileOutputStream;
@@@ -71,7 -67,6 +71,7 @@@ public class Jalvie
        }
      });
    }
 +  protected static boolean proteine;
  
    /**
     * main class for Jalview application
        {
          try
          {
-           String viprotocol = jalview.io.AppletFormatAdapter.checkProtocol(vamsasImport);
+           String viprotocol = jalview.io.AppletFormatAdapter
+                   .checkProtocol(vamsasImport);
            if (viprotocol == jalview.io.FormatAdapter.FILE)
            {
              inSession = desktop.vamsasImport(new File(vamsasImport));
          }
        }
      }
-     long progress=-1;
+     long progress = -1;
      // Finally, deal with the remaining input data.
      if (file != null)
      {
        if (!headless)
        {
-         desktop.setProgressBar("Processing commandline arguments...", progress=System.currentTimeMillis());
+         desktop.setProgressBar("Processing commandline arguments...",
+                 progress = System.currentTimeMillis());
        }
        System.out.println("Opening file: " + file);
  
        if (af == null)
        {
          System.out.println("error");
-         return;
        }
-       data = aparser.getValue("colour", true);
-       if (data != null)
+       else
        {
-         data.replaceAll("%20", " ");
  
-         jalview.schemes.ColourSchemeI cs = jalview.schemes.ColourSchemeProperty
-                 .getColour(af.getViewport().getAlignment(), data);
-         if (cs == null)
+         data = aparser.getValue("colour", true);
+         if (data != null)
          {
-           jalview.schemes.UserColourScheme ucs = new jalview.schemes.UserColourScheme(
-                   "white");
-           ucs.parseAppletParameter(data);
-           cs = ucs;
-         }
+           data.replaceAll("%20", " ");
  
-         System.out.println("colour is " + data);
-         af.changeColour(cs);
-       }
-       // Must maintain ability to use the groups flag
-       data = aparser.getValue("groups", true);
-       if (data != null)
-       {
-         af.parseFeaturesFile(data, jalview.io.AppletFormatAdapter.checkProtocol(data));
-         System.out.println("Added " + data);
-       }
-       data = aparser.getValue("features", true);
-       if (data != null)
-       {
-         af.parseFeaturesFile(data, jalview.io.AppletFormatAdapter.checkProtocol(data));
-         System.out.println("Added " + data);
-       }
+           jalview.schemes.ColourSchemeI cs = jalview.schemes.ColourSchemeProperty
+                   .getColour(af.getViewport().getAlignment(), data);
  
-       data = aparser.getValue("annotations", true);
-       if (data != null)
-       {
-         af.loadJalviewDataFile(data, null, null, null);
-         System.out.println("Added " + data);
-       }
-       // set or clear the sortbytree flag.
-       if (aparser.contains("sortbytree"))
-       {
-         af.getViewport().setSortByTree(true);
-       }
-       if (aparser.contains("nosortbytree"))
-       {
-         af.getViewport().setSortByTree(false);
-       }
-       data = aparser.getValue("tree", true);
-       if (data != null)
-       {
-         jalview.io.NewickFile fin = null;
-         try
-         {
-           fin = new jalview.io.NewickFile(data, jalview.io.AppletFormatAdapter.checkProtocol(data));
-           if (fin != null)
+           if (cs == null)
            {
-             af.getViewport().setCurrentTree(
-                     af.ShowNewickTree(fin, data).getTree());
-             System.out.println("Added tree " + data);
+             jalview.schemes.UserColourScheme ucs = new jalview.schemes.UserColourScheme(
+                     "white");
+             ucs.parseAppletParameter(data);
+             cs = ucs;
            }
-         } catch (IOException ex)
-         {
-           System.err.println("Couldn't add tree " + data);
-           ex.printStackTrace(System.err);
-         }
-       }
-       // TODO - load PDB structure(s) to alignment JAL-629
-       // (associate with identical sequence in alignment, or a specified
-       // sequence)
  
-       getFeatures = checkDasArguments(aparser);
-       if (af != null && getFeatures != null)
-       {
-         FeatureFetcher ff = startFeatureFetching(getFeatures);
-         if (ff != null)
-           while (!ff.allFinished() || af.operationInProgress())
-           {
-             // wait around until fetching is finished.
-             try
-             {
-               Thread.sleep(100);
-             } catch (Exception e)
-             {
+           System.out.println("colour is " + data);
+           af.changeColour(cs);
+         }
  
-             }
-           }
-         getFeatures = null; // have retrieved features - forget them now.
-       }
-       if (groovyscript != null)
-       {
-         // Execute the groovy script after we've done all the rendering stuff
-         // and before any images or figures are generated.
-         if (jalview.bin.Cache.groovyJarsPresent())
+         // Must maintain ability to use the groups flag
+         data = aparser.getValue("groups", true);
+         if (data != null)
          {
-           System.out.println("Executing script " + groovyscript);
-           executeGroovyScript(groovyscript, new Object[] {desktop,af});
+           af.parseFeaturesFile(data,
+                   jalview.io.AppletFormatAdapter.checkProtocol(data));
+           System.out.println("Added " + data);
          }
-         else
+         data = aparser.getValue("features", true);
+         if (data != null)
          {
-           System.err
-                   .println("Sorry. Groovy Support is not available, so ignoring the provided groovy script "
-                           + groovyscript);
+           af.parseFeaturesFile(data,
+                   jalview.io.AppletFormatAdapter.checkProtocol(data));
+           System.out.println("Added " + data);
          }
-         groovyscript = null;
-       }
-       String imageName = "unnamed.png";
-       while (aparser.getSize() > 1)
-       {
-         format = aparser.nextValue();
-         file = aparser.nextValue();
  
-         if (format.equalsIgnoreCase("png"))
+         data = aparser.getValue("annotations", true);
+         if (data != null)
          {
-           af.createPNG(new java.io.File(file));
-           imageName = (new java.io.File(file)).getName();
-           System.out.println("Creating PNG image: " + file);
-           continue;
+           af.loadJalviewDataFile(data, null, null, null);
+           System.out.println("Added " + data);
          }
-         else if (format.equalsIgnoreCase("imgMap"))
+         // set or clear the sortbytree flag.
+         if (aparser.contains("sortbytree"))
          {
-           af.createImageMap(new java.io.File(file), imageName);
-           System.out.println("Creating image map: " + file);
-           continue;
+           af.getViewport().setSortByTree(true);
          }
-         else if (format.equalsIgnoreCase("eps"))
+         if (aparser.contains("nosortbytree"))
          {
-           System.out.println("Creating EPS file: " + file);
-           af.createEPS(new java.io.File(file));
-           continue;
+           af.getViewport().setSortByTree(false);
          }
+         data = aparser.getValue("tree", true);
+         if (data != null)
+         {
+           jalview.io.NewickFile fin = null;
+           try
+           {
+             fin = new jalview.io.NewickFile(data,
+                     jalview.io.AppletFormatAdapter.checkProtocol(data));
+             if (fin != null)
+             {
+               af.getViewport().setCurrentTree(
+                       af.ShowNewickTree(fin, data).getTree());
+               System.out.println("Added tree " + data);
+             }
+           } catch (IOException ex)
+           {
+             System.err.println("Couldn't add tree " + data);
+             ex.printStackTrace(System.err);
+           }
+         }
+         // TODO - load PDB structure(s) to alignment JAL-629
+         // (associate with identical sequence in alignment, or a specified
+         // sequence)
  
-         if (af.saveAlignment(file, format))
+         getFeatures = checkDasArguments(aparser);
+         if (af != null && getFeatures != null)
          {
-           System.out.println("Written alignment in " + format
-                   + " format to " + file);
+           FeatureFetcher ff = startFeatureFetching(getFeatures);
+           if (ff != null)
+             while (!ff.allFinished() || af.operationInProgress())
+             {
+               // wait around until fetching is finished.
+               try
+               {
+                 Thread.sleep(100);
+               } catch (Exception e)
+               {
+               }
+             }
+           getFeatures = null; // have retrieved features - forget them now.
          }
-         else
+         if (groovyscript != null)
          {
-           System.out.println("Error writing file " + file + " in " + format
-                   + " format!!");
+           // Execute the groovy script after we've done all the rendering stuff
+           // and before any images or figures are generated.
+           if (jalview.bin.Cache.groovyJarsPresent())
+           {
+             System.out.println("Executing script " + groovyscript);
+             executeGroovyScript(groovyscript, new Object[]
+             { desktop, af });
+           }
+           else
+           {
+             System.err
+                     .println("Sorry. Groovy Support is not available, so ignoring the provided groovy script "
+                             + groovyscript);
+           }
+           groovyscript = null;
          }
+         String imageName = "unnamed.png";
+         while (aparser.getSize() > 1)
+         {
+           format = aparser.nextValue();
+           file = aparser.nextValue();
  
-       }
+           if (format.equalsIgnoreCase("png"))
+           {
+             af.createPNG(new java.io.File(file));
+             imageName = (new java.io.File(file)).getName();
+             System.out.println("Creating PNG image: " + file);
+             continue;
+           }
+           else if (format.equalsIgnoreCase("imgMap"))
+           {
+             af.createImageMap(new java.io.File(file), imageName);
+             System.out.println("Creating image map: " + file);
+             continue;
+           }
+           else if (format.equalsIgnoreCase("eps"))
+           {
+             System.out.println("Creating EPS file: " + file);
+             af.createEPS(new java.io.File(file));
+             continue;
+           }
  
-       while (aparser.getSize() > 0)
-       {
-         System.out.println("Unknown arg: " + aparser.nextValue());
+           if (af.saveAlignment(file, format))
+           {
+             System.out.println("Written alignment in " + format
+                     + " format to " + file);
+           }
+           else
+           {
+             System.out.println("Error writing file " + file + " in "
+                     + format + " format!!");
+           }
+         }
+         while (aparser.getSize() > 0)
+         {
+           System.out.println("Unknown arg: " + aparser.nextValue());
+         }
        }
      }
      AlignFrame startUpAlframe = null;
      // We'll only open the default file if the desktop is visible.
      // And the user
      // ////////////////////
 +  
 +    JFrame Typechooser =new JFrame("choose molecule type"); 
 +    FlowLayout fl = new FlowLayout();
 +    Typechooser.setLayout(fl);
 +    Typechooser.setSize(400,400);
 +    Typechooser.setDefaultCloseOperation(Typechooser.DISPOSE_ON_CLOSE);
 +    JLabel label = new JLabel("What would you open ? ");
 +    JButton rnabutton = new JButton("RNA molecule");
 +    JButton pbutton = new JButton("Proteine molecule");
 +    
 +    pbutton.addActionListener(new pbuttonlistener());
 +    rnabutton.addActionListener(new rnabuttonlistener());
 +    Typechooser.getContentPane().add(label);
 +    Typechooser.getContentPane().add(rnabutton);
 +    Typechooser.getContentPane().add(pbutton);
 +    Typechooser.setVisible(true);
 +    
 +    
 +
 +    
      if (!headless && file == null && vamsasImport == null
 -            && jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true))
 +            && jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true) && proteine == true)
      {
-       file = jalview.bin.Cache.getDefault("STARTUP_FILE",
-               jalview.bin.Cache.getDefault("www.jalview.org", "http://www.jalview.org")+"/examples/exampleFile_2_7.jar");
+       file = jalview.bin.Cache.getDefault(
+               "STARTUP_FILE",
+               jalview.bin.Cache.getDefault("www.jalview.org",
+                       "http://www.jalview.org")
+                       + "/examples/exampleFile_2_7.jar");
        if (file.equals("http://www.jalview.org/examples/exampleFile_2_3.jar"))
        {
          // hardwire upgrade of the startup file
-         file.replace("_2_3.jar","_2_7.jar");
-         // and remove the stale setting 
+         file.replace("_2_3.jar", "_2_7.jar");
+         // and remove the stale setting
          jalview.bin.Cache.removeProperty("STARTUP_FILE");
        }
-       
        protocol = "File";
  
        if (file.indexOf("http:") > -1)
        if (jalview.bin.Cache.groovyJarsPresent())
        {
          System.out.println("Executing script " + groovyscript);
-         executeGroovyScript(groovyscript, new Object[] { desktop, startUpAlframe});
+         executeGroovyScript(groovyscript, new Object[]
+         { desktop, startUpAlframe });
        }
        else
        {
      // and finally, turn off batch mode indicator - if the desktop still exists
      if (desktop != null)
      {
-       if (progress!=-1) {
+       if (progress != -1)
+       {
          desktop.setProgressBar(null, progress);
        }
        desktop.setInBatchMode(false);
      }
    }
 -
 +  
 +  
    private static void startUsageStats(final Desktop desktop)
    {
      /**
          ex.printStackTrace();
          return;
        }
-       try {
+       try
+       {
          sfile = tfile.toURI().toURL();
        } catch (Exception x)
        {
-         System.err.println("Unexpected Malformed URL Exception for temporary file created from STDIN: "+tfile.toURI());
+         System.err
+                 .println("Unexpected Malformed URL Exception for temporary file created from STDIN: "
+                         + tfile.toURI());
          x.printStackTrace();
          return;
        }
            System.err.println("File '" + groovyscript + "' is empty.");
            return;
          }
-         try {
-         sfile = tfile.getAbsoluteFile().toURI().toURL();
+         try
+         {
+           sfile = tfile.getAbsoluteFile().toURI().toURL();
          } catch (Exception ex)
          {
-           System.err.println("Failed to create a file URL for "+tfile.getAbsoluteFile());
+           System.err.println("Failed to create a file URL for "
+                   + tfile.getAbsoluteFile());
            return;
          }
        }
   * @author Andrew Waterhouse and JBP documented.
   * 
   */
 +
 +class rnabuttonlistener  implements ActionListener{
 +        public void actionPerformed(ActionEvent arg0) {
 +                System.out.println("Good idea ! ");
 +
 +        }
 +}
 +
 +class pbuttonlistener  implements ActionListener{
 +        public void actionPerformed(ActionEvent arg0) {
 +              
 +        
 +        }
 +}
 +
  class ArgsParser
  {
    Vector vargs = null;
@@@ -1062,7 -1039,4 +1080,7 @@@ class FeatureFetche
    {
      return queued == 0 && running == 0;
    }
 +  
 +  
 +  
  };