X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAppletFormatAdapter.java;h=637db81b2cf01f4c1512bd841dd29766e2607a7d;hb=1a8f953dd71a9e319e910261927f269d69b4692c;hp=42e881c56248524a536f473d70a9a61e64a47da4;hpb=1eb7d27d73beabe1a1b74fd088c1c3254a8066be;p=jalview.git diff --git a/src/jalview/io/AppletFormatAdapter.java b/src/jalview/io/AppletFormatAdapter.java index 42e881c..637db81 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.5) - * 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,7 +38,7 @@ 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 @@ -52,7 +52,7 @@ public class AppletFormatAdapter * 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" }; /** * List of writable formats by the application. Order must correspond with the @@ -66,8 +66,8 @@ public class AppletFormatAdapter * corresponding to READABLE_FNAMES */ public static final String[] READABLE_EXTENSIONS = new String[] - { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar", - "sto" }; // , + { "fa,faa,fasta,fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar", + "sto,stk","xml,rnaml" }; // , // ".blast" // }; @@ -78,7 +78,7 @@ public class AppletFormatAdapter */ public static final String[] READABLE_FNAMES = new String[] { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview", - "Stockholm" };// , + "Stockholm","RNAML" };// , // "SimpleBLAST" // }; @@ -119,6 +119,21 @@ public class AppletFormatAdapter String inFile; /** + * 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 * * @param format @@ -212,7 +227,7 @@ public class AppletFormatAdapter } else if (format.equals("PDB")) { - afile = new MCview.PDBfile(inFile, type); + afile = new MCview.PDBfile(inFile, type); } else if (format.equals("STH")) { @@ -222,7 +237,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); @@ -277,7 +296,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 @@ -329,6 +348,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); @@ -436,12 +459,17 @@ public class AppletFormatAdapter { afile = new AMSAFile(alignment); } + else if (format.equalsIgnoreCase("RNAML")) + { + afile = new RnamlFile(); + } + else { throw new Exception( "Implementation error: Unknown file format string"); } - + afile.setNewlineString(newline); afile.addJVSuffix(jvsuffix); afile.setSeqs(alignment.getSequencesArray()); @@ -463,6 +491,18 @@ public class AppletFormatAdapter return null; } + public static String checkProtocol(String file) + { + String protocol = FILE; + String ft = file.toLowerCase().trim(); + if (ft.indexOf("http:") == 0 || ft.indexOf("https:") == 0 + || ft.indexOf("file:") == 0) + { + protocol = URL; + } + return protocol; + } + public static void main(String[] args) { int i = 0; @@ -597,11 +637,14 @@ public class AppletFormatAdapter if (!fp.isValid()) { fp = null; - } else { - if (debug) + } + else { - System.out.println("Successful."); - }} + if (debug) + { + System.out.println("Successful."); + } + } } catch (Exception e) { if (debug) @@ -690,4 +733,4 @@ public class AppletFormatAdapter } return null; } -} \ No newline at end of file +}