import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
+import jalview.datamodel.PDBEntry.Type;
+import jalview.ext.jmol.JmolParser;
+import jalview.structure.StructureImportSettings;
import jalview.util.MessageManager;
import java.io.File;
public static final String[] READABLE_FORMATS = new String[] { "BLC",
"CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH", "PDB",
"JnetFile", "RNAML", PhylipFile.FILE_DESC, JSONFile.FILE_DESC,
- IdentifyFile.FeaturesFile, "HTML" };
+ IdentifyFile.FeaturesFile, "HTML", "mmCIF" };
/**
* List of readable format file extensions by application in order
public static final String[] READABLE_EXTENSIONS = new String[] {
"fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa",
"sto,stk", "xml,rnaml", PhylipFile.FILE_EXT, JSONFile.FILE_EXT,
- ".gff2,gff3", "jar,jvp", HtmlFile.FILE_EXT };
+ ".gff2,gff3", "jar,jvp", HtmlFile.FILE_EXT, "cif" };
/**
* List of readable formats by application in order corresponding to
public static final String[] READABLE_FNAMES = new String[] { "Fasta",
"Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Stockholm", "RNAML",
PhylipFile.FILE_DESC, JSONFile.FILE_DESC, IdentifyFile.FeaturesFile,
- "Jalview", HtmlFile.FILE_DESC };
+ "Jalview", HtmlFile.FILE_DESC, "mmCIF" };
/**
* List of valid format strings for use by callers of the formatSequences
}
else if (format.equals("PDB"))
{
- alignFile = new MCview.PDBfile(annotFromStructure,
- localSecondaryStruct, serviceSecondaryStruct, inFile, type);
- // Uncomment to test Jmol data based PDB processing: JAL-1213
- // afile = new jalview.ext.jmol.PDBFileWithJmol(inFile, type);
+ // 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 jalview.ext.jmol.JmolParser(inFile, type);
+ }
+ else
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ StructureImportSettings.setShowSeqFeatures(true);
+ alignFile = new MCview.PDBfile(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct, inFile,
+ type);
+ }
+ ((StructureFile) alignFile).setDbRefType(format);
+ }
+ else if (format.equalsIgnoreCase("mmCIF"))
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ alignFile = new jalview.ext.jmol.JmolParser(inFile, type);
+ ((StructureFile) alignFile).setDbRefType(format);
}
else if (format.equals("STH"))
{
}
else if (format.equals("PDB"))
{
- alignFile = new MCview.PDBfile(annotFromStructure,
- localSecondaryStruct, serviceSecondaryStruct, source);
+ // TODO obtain config value from preference settings
+ boolean isParseWithJMOL = false;
+ if (isParseWithJMOL)
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ alignFile = new JmolParser(source);
+ }
+ else
+ {
+ StructureImportSettings.setShowSeqFeatures(true);
+ alignFile = new MCview.PDBfile(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct, source);
+ }
+ ((StructureFile) alignFile).setDbRefType(Type.PDB);
+ }
+ else if (format.equalsIgnoreCase("mmCIF"))
+ {
+ StructureImportSettings.addSettings(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct);
+ alignFile = new JmolParser(source);
+ ((StructureFile) alignFile).setDbRefType(Type.MMCIF);
}
else if (format.equals("STH"))
{
}
else if (format.equals(IdentifyFile.FeaturesFile))
{
- // enforce 'parseImmediately' here:
- alignFile = new FeaturesFile(true, inFile, type);
+ alignFile = new FeaturesFile(inFile, type);
}
else if (format.equals(JSONFile.FILE_DESC))
{