X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAppletFormatAdapter.java;h=2fc6d120c2af7c44dc2c96497e741698bd8227a0;hb=bb99cb8aa479dc7dd30b3678f183044247e25998;hp=f24ecbca67a47256c8dbe58bac6d065685c56159;hpb=323a457c9d0643be2406b6661246e8e988c0d0f6;p=jalview.git diff --git a/src/jalview/io/AppletFormatAdapter.java b/src/jalview/io/AppletFormatAdapter.java index f24ecbc..2fc6d12 100755 --- a/src/jalview/io/AppletFormatAdapter.java +++ b/src/jalview/io/AppletFormatAdapter.java @@ -1,13 +1,13 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -38,36 +38,39 @@ public class AppletFormatAdapter */ public static final String[] READABLE_FORMATS = new String[] { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", - "PDB", "JnetFile" }; // , "SimpleBLAST" }; + "PDB", "JnetFile" , "RNAML"}; // , "SimpleBLAST" }; /** * List of valid format strings for use by callers of the formatSequences * method */ public static final String[] WRITEABLE_FORMATS = new String[] - { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "AMSA" }; + { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", + "AMSA" }; /** * List of extensions corresponding to file format types in WRITABLE_FNAMES * that are writable by the application. */ public static final String[] WRITABLE_EXTENSIONS = new String[] - { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar" }; + { "fa,faa,fasta,fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar", + "sto,stk" }; /** * List of writable formats by the application. Order must correspond with the * WRITABLE_EXTENSIONS list of formats. */ public static final String[] WRITABLE_FNAMES = new String[] - { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview" }; + { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview", + "STH" }; /** * List of readable format file extensions by application in order * corresponding to READABLE_FNAMES */ public static final String[] READABLE_EXTENSIONS = new String[] - { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar", - "sto", "stk" }; // , + { "fa,faa,fasta,fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar", + "sto,stk","xml,rnaml" }; // , // ".blast" // }; @@ -78,7 +81,7 @@ public class AppletFormatAdapter */ public static final String[] READABLE_FNAMES = new String[] { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview", - "Stockholm" };// , + "Stockholm","RNAML" };// , // "SimpleBLAST" // }; @@ -117,18 +120,22 @@ public class AppletFormatAdapter AlignFile afile = null; String inFile; + /** - * character used to write newlines + * character used to write newlines */ protected String newline = System.getProperty("line.separator"); + public void setNewlineString(String nl) { newline = nl; } + public String getNewlineString() { return newline; } + /** * check that this format is valid for reading * @@ -223,7 +230,9 @@ public class AppletFormatAdapter } else if (format.equals("PDB")) { - afile = new MCview.PDBfile(inFile, type); + afile = new MCview.PDBfile(inFile, type); + // Uncomment to test Jmol data based PDB processing: JAL-1213 + // afile = new jalview.ext.jmol.PDBFileWithJmol(inFile, type); } else if (format.equals("STH")) { @@ -233,7 +242,11 @@ public class AppletFormatAdapter { afile = new SimpleBlastFile(inFile, type); } - + else if (format.equals("RNAML")) + { + afile = new RnamlFile(inFile, type); + } + Alignment al = new Alignment(afile.getSeqsAsArray()); afile.addAnnotations(al); @@ -288,7 +301,7 @@ public class AppletFormatAdapter * * @return DOCUMENT ME! */ - public Alignment readFromFile(FileParse source, String format) + public AlignmentI readFromFile(FileParse source, String format) throws java.io.IOException { // TODO: generalise mapping between format string and io. class instances @@ -340,6 +353,10 @@ public class AppletFormatAdapter { afile = new StockholmFile(source); } + else if (format.equals("RNAML")) + { + afile = new RnamlFile(source); + } else if (format.equals("SimpleBLAST")) { afile = new SimpleBlastFile(source); @@ -441,12 +458,17 @@ public class AppletFormatAdapter } else if (format.equalsIgnoreCase("STH")) { - afile = new StockholmFile(); + afile = new StockholmFile(alignment); } else if (format.equalsIgnoreCase("AMSA")) { afile = new AMSAFile(alignment); } + else if (format.equalsIgnoreCase("RNAML")) + { + afile = new RnamlFile(); + } + else { throw new Exception( @@ -478,7 +500,8 @@ public class AppletFormatAdapter { String protocol = FILE; String ft = file.toLowerCase().trim(); - if (ft.indexOf("http:") ==0 || ft.indexOf("https:") ==0 || ft.indexOf("file:") == 0) + if (ft.indexOf("http:") == 0 || ft.indexOf("https:") == 0 + || ft.indexOf("file:") == 0) { protocol = URL; } @@ -497,44 +520,47 @@ public class AppletFormatAdapter { System.out.println("Reading file: " + f); AppletFormatAdapter afa = new AppletFormatAdapter(); - Runtime r = Runtime.getRuntime(); - System.gc(); - long memf = -r.totalMemory() + r.freeMemory(); - long t1 = -System.currentTimeMillis(); - Alignment al = afa.readFile(args[i], FILE, - new IdentifyFile().Identify(args[i], FILE)); - t1 += System.currentTimeMillis(); - System.gc(); - memf += r.totalMemory() - r.freeMemory(); - if (al != null) + String fName = f.getName(); { - System.out.println("Alignment contains " + al.getHeight() - + " sequences and " + al.getWidth() + " columns."); - try + Runtime r = Runtime.getRuntime(); + System.gc(); + long memf = -r.totalMemory() + r.freeMemory(); + long t1 = -System.currentTimeMillis(); + Alignment al = afa.readFile(args[i], FILE, + new IdentifyFile().Identify(args[i], FILE)); + t1 += System.currentTimeMillis(); + System.gc(); + memf += r.totalMemory() - r.freeMemory(); + if (al != null) { - System.out.println(new AppletFormatAdapter().formatSequences( - "FASTA", al, true)); - } catch (Exception e) + System.out.println("Alignment contains " + al.getHeight() + + " sequences and " + al.getWidth() + " columns."); + try + { + System.out.println(new AppletFormatAdapter() + .formatSequences("FASTA", al, true)); + } catch (Exception e) + { + System.err + .println("Couln't format the alignment for output as a FASTA file."); + e.printStackTrace(System.err); + } + } + else { - System.err - .println("Couln't format the alignment for output as a FASTA file."); - e.printStackTrace(System.err); + System.out.println("Couldn't read alignment"); } + System.out.println("Read took " + (t1 / 1000.0) + " seconds."); + System.out + .println("Difference between free memory now and before is " + + (memf / (1024.0 * 1024.0) * 1.0) + " MB"); } - else - { - System.out.println("Couldn't read alignment"); - } - System.out.println("Read took " + (t1 / 1000.0) + " seconds."); - System.out - .println("Difference between free memory now and before is " - + (memf / (1024.0 * 1024.0) * 1.0) + " MB"); - } catch (Exception e) { System.err.println("Exception when dealing with " + i + "'th argument: " + args[i] + "\n" + e); } + } else { @@ -715,4 +741,5 @@ public class AppletFormatAdapter } return null; } + }