- if (format.equals("FASTA"))
- {
- afile = new FastaFile(inFile, type);
- }
- else if (format.equals("MSF"))
- {
- afile = new MSFfile(inFile, type);
- }
- else if (format.equals("PileUp"))
- {
- afile = new PileUpfile(inFile, type);
- }
- else if (format.equals("CLUSTAL"))
- {
- afile = new ClustalFile(inFile, type);
- }
- else if (format.equals("BLC"))
- {
- afile = new BLCFile(inFile, type);
- }
- else if (format.equals("PIR"))
- {
- afile = new PIRFile(inFile, type);
- }
- else if (format.equals("PFAM"))
- {
- afile = new PfamFile(inFile, type);
- }
- else if (format.equals("JnetFile"))
- {
- afile = new JPredFile(inFile, type);
- ( (JPredFile) afile).removeNonSequences();
- }
- else if (format.equals("PDB"))
- {
- afile = new MCview.PDBfile(inFile, type);
- }
- else if (format.equals("STH"))
- {
- afile = new StockholmFile(inFile, type);
- }
-
- Alignment al = new Alignment(afile.getSeqsAsArray());
-
- afile.addAnnotations(al);
-
- return al;
- }
- catch (Exception e)
+ if (fileFormat == FileFormat.PDB || fileFormat == FileFormat.MMCif)
+ {
+ // TODO obtain config value from preference settings.
+ // Set value to 'true' to test PDB processing with Jmol: JAL-1213
+ boolean isParseWithJMOL = StructureImportSettings
+ .getDefaultPDBFileParser().equalsIgnoreCase(
+ StructureImportSettings.StructureParser.JMOL_PARSER
+ .toString());
+ if (isParseWithJMOL)
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ alignFile = new JmolParser(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct, inFile,
+ sourceType);
+ }
+ else
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ StructureImportSettings.setShowSeqFeatures(true);
+ alignFile = new MCview.PDBfile(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct, inFile,
+ sourceType);
+ }
+ ((StructureFile) alignFile)
+ .setDbRefType(fileFormat == FileFormat.PDB ? Type.PDB
+ : Type.MMCIF);
+ }
+ else
+ {
+ alignFile = fileFormat.getAlignmentFile(inFile, sourceType);
+ }
+ // new FastaFile(inFile, sourceType);
+ // new MSFfile(inFile, sourceType);
+ // new PileUpfile(inFile, sourceType);
+ // new ClustalFile(inFile, sourceType);
+ // new BLCFile(inFile, sourceType);
+ // new PIRFile(inFile, sourceType);
+ // new PfamFile(inFile, sourceType);
+ // alignFile = new JPredFile(inFile, sourceType);
+ // ((JPredFile) alignFile).removeNonSequences();
+ // new StockholmFile(inFile, sourceType);
+ // new SimpleBlastFile(inFile, sourceType);
+ // new PhylipFile(inFile, sourceType);
+ // new JSONFile(inFile, sourceType);
+ // new HtmlFile(inFile, sourceType);
+ // new RnamlFile(inFile, sourceType);
+ // alignFile = new FeaturesFile(true, inFile, sourceType);
+ return buildAlignmentFromFile();
+ } catch (Exception e)