.getStructureSelectionManager(Desktop.instance);
SequenceI seq = af.alignPanel.getAlignment().getSequenceAt(0);
ssm.computeMapping(false, new SequenceI[] { seq }, null,
- openFile, DataSourceType.FILE, null);
+ openFile, DataSourceType.FILE, null, null, null);
}
}
else
{
Console.info("***** Attaching paeFile '" + paePath + "' to "
+ "structfile=" + subVals.get("structfile"));
- EBIAlfaFold.addAlphaFoldPAEToStructure(
- af.getCurrentView().getAlignment(), paeFile,
- subVals.getIndex(), subVals.get("structfile"), false);
+ EBIAlfaFold.addAlphaFoldPAE(af.getCurrentView().getAlignment(),
+ paeFile, subVals.getIndex(), subVals.get("structfile"),
+ true, false);
}
else if (subVals.has("structid"))
{
Console.info("***** Attaching paeFile '" + paePath + "' to "
+ "structid=" + subVals.get("structid"));
- EBIAlfaFold.addAlphaFoldPAEToStructure(
- af.getCurrentView().getAlignment(), paeFile,
- subVals.getIndex(), subVals.get("structid"), true);
+ EBIAlfaFold.addAlphaFoldPAE(af.getCurrentView().getAlignment(),
+ paeFile, subVals.getIndex(), subVals.get("structid"),
+ true, true);
}
else
{
Console.debug("***** Attaching paeFile '" + paePath
+ "' to sequence index " + subVals.getIndex());
- EBIAlfaFold.addAlphaFoldPAEToSequence(
- af.getCurrentView().getAlignment(), paeFile,
- subVals.getIndex(), null);
+ EBIAlfaFold.addAlphaFoldPAE(af.getCurrentView().getAlignment(),
+ paeFile, subVals.getIndex(), null, false, false);
// required to readjust the height and position of the pAE
// annotation
}
*/
package jalview.datamodel;
-import jalview.util.CaseInsensitiveString;
-
import java.util.Collections;
import java.util.Enumeration;
import java.util.Hashtable;
+import jalview.io.StructureFile;
+import jalview.util.CaseInsensitiveString;
+
public class PDBEntry
{
private String id;
+ private StructureFile sf = null;
+
public enum Type
{
// TODO is FILE needed; if not is this enum needed, or can we
{
return _hasProperty(PROVIDER);
}
+
+ public StructureFile getStructureFile()
+ {
+ return sf;
+ }
+
+ public void setStructureFile(StructureFile f)
+ {
+ sf = f;
+ }
+
+ public boolean hasStructureFile()
+ {
+ return sf != null && sf.inFile != null && sf.inFile.exists();
+ }
}
*/
package jalview.ext.jmol;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
{
Viewer viewer = null;
- private boolean alphaFoldModel;
-
public JmolParser(boolean immediate, Object inFile,
DataSourceType sourceType) throws IOException
{
{
setId(pdbId);
setPDBIdAvailable(true);
- alphaFoldModel = alphaFold.search(pdbId) && isMMCIF;
-
+ Console.debug("##### DATASOURCETYPE=" + getDataSourceType());
+ setAlphafoldModel(alphaFold.search(pdbId) && isMMCIF
+ && getDataSourceType() == DataSourceType.URL);
}
List<Atom> significantAtoms = convertSignificantAtoms(ms);
for (Atom tmpatom : significantAtoms)
else
{
AnnotationRowBuilder builder = null;
- String tempFString = null;
- if (isAlphafoldModel() || StructureImportSettings.TFType.PLDDT
- .equals(getTemperatureFactorType()))
+ if (isAlphafoldModel()
+ || getTemperatureFactorType() == StructureImportSettings.TFType.PLDDT)
{
builder = new AlphaFoldAnnotationRowBuilder();
}
createAnnotation(chainseq, chain, ms.at);
}
}
- if (isAlphafoldModel())
+ // if Alphafold, fetch the PAE matrix if doesn't already have one
+ if (isAlphafoldModel() && !hasPAEMatrix())
{
- // TODO - work out how to handle different ways that pAE is provided
- //
try
{
Console.info("retrieving pAE for " + pdbId);
- Alignment al = new Alignment(prot.toArray(new SequenceI[0]));
- EBIAlfaFold.retrieve_AlphaFold_pAE(pdbId, al, null);
- if (al.getAlignmentAnnotation() != null)
- {
- for (AlignmentAnnotation alann : al.getAlignmentAnnotation())
- {
- annotations.add(alann);
- }
- }
- ;
+ File paeFile = EBIAlfaFold.fetchAlphaFoldPAE(pdbId, null);
+ this.setPAEMatrix(paeFile.getAbsolutePath());
} catch (Throwable t)
{
Console.error("Couldn't get the pAE for " + pdbId, t);
}
}
+ // add a PAEMatrix if set (either by above or otherwise)
+ Console.debug("##### hasPAEMatrix()=" + hasPAEMatrix());
+ Console.debug("##### isAlphafoldModel()=" + isAlphafoldModel());
+ Console.debug("##### getPAEMatrix()=" + getPAEMatrix());
+ if (hasPAEMatrix())
+ {
+ Alignment al = new Alignment(prot.toArray(new SequenceI[0]));
+ if (isAlphafoldModel())
+ {
+ EBIAlfaFold.addAlphaFoldPAE(al, new File(this.getPAEMatrix()), 0,
+ null, false, false);
+ }
+ else
+ {
+ EBIAlfaFold.addPAEToStructure(null, this.getInFile(),
+ new File(this.getPAEMatrix()));
+ }
+
+ Console.debug("##### al.getAlignmentAnnotation()="
+ + al.getAlignmentAnnotation());
+ if (al.getAlignmentAnnotation() != null)
+ {
+ for (AlignmentAnnotation alann : al.getAlignmentAnnotation())
+ {
+ Console.debug("##### Adding to alann" + alann.annotationId + "("
+ + alann.getCalcId() + ")");
+ annotations.add(alann);
+ }
+ }
+ }
} catch (OutOfMemoryError er)
{
System.out.println(
}
}
- public void setAlphafoldModel(boolean afm)
- {
- alphaFoldModel = afm;
- }
-
- private boolean isAlphafoldModel()
- {
- return alphaFoldModel;
- }
-
private List<Atom> convertSignificantAtoms(ModelSet ms)
{
List<Atom> significantAtoms = new ArrayList<Atom>();
import jalview.datamodel.SequenceI;
import jalview.io.DataSourceType;
import jalview.io.StructureFile;
+import jalview.structure.StructureImportSettings.TFType;
import jalview.structure.StructureSelectionManager;
import jalview.util.MessageManager;
-import javax.swing.JOptionPane;
-
/**
* GUI related routines for associating PDB files with sequences
*
SequenceI sequence, boolean prompt,
StructureSelectionManagerProvider ssmp)
{
+ return associatePdbWithSeq(choice, file, sequence, prompt, ssmp,
+ TFType.DEFAULT, null);
+ }
+
+ public PDBEntry associatePdbWithSeq(String choice, DataSourceType file,
+ SequenceI sequence, boolean prompt,
+ StructureSelectionManagerProvider ssmp, TFType tft,
+ String paeFilename)
+ {
PDBEntry entry = new PDBEntry();
- StructureFile pdbfile = null;
- pdbfile = StructureSelectionManager.getStructureSelectionManager(ssmp)
+ StructureFile pdbfile = StructureSelectionManager
+ .getStructureSelectionManager(ssmp)
.setMapping(false, new SequenceI[]
- { sequence }, null, choice, file);
+ { sequence }, null, choice, file, tft, paeFilename);
if (pdbfile == null)
{
// stacktrace already thrown so just return
sequence.getDatasetSequence().addPDBId(entry);
StructureSelectionManager.getStructureSelectionManager(ssmp)
.registerPDBEntry(entry);
+ entry.setStructureFile(pdbfile);
}
return entry;
}
stopProgressBar("", startTime);
}
- StructureFile pdb = binding.getSsm().setMapping(
- binding.getSequence()[pos], binding.getChains()[pos],
- pe.getFile(), protocol, getProgressIndicator());
+ StructureFile pdb = null;
+ if (pe.hasStructureFile())
+ {
+ pdb = pe.getStructureFile();
+ Console.debug("##### (Re)Using StructureFile " + pdb.getId());
+ }
+ else
+ {
+ pdb = binding.getSsm().setMapping(binding.getSequence()[pos],
+ binding.getChains()[pos], pe.getFile(), protocol,
+ getProgressIndicator());
+ }
binding.stashFoundChains(pdb, pe.getFile());
} catch (Exception ex)
{
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import javax.swing.SwingUtilities;
import javax.swing.table.AbstractTableModel;
-import org.json.simple.parser.ParseException;
+import com.stevesoft.pat.Regex;
import jalview.api.structures.JalviewStructureDisplayI;
import jalview.bin.Cache;
import jalview.bin.Console;
import jalview.bin.Jalview;
-import jalview.datamodel.AlignmentI;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.ext.jmol.JmolParser;
import jalview.fts.api.FTSData;
import jalview.fts.api.FTSDataColumnI;
import jalview.fts.api.FTSRestClientI;
import jalview.io.DataSourceType;
import jalview.io.JalviewFileChooser;
import jalview.io.JalviewFileView;
-import jalview.io.StructureFile;
import jalview.jbgui.FilterOption;
import jalview.jbgui.GStructureChooser;
import jalview.structure.StructureImportSettings.TFType;
import jalview.util.StringUtils;
import jalview.ws.DBRefFetcher;
import jalview.ws.DBRefFetcher.FetchFinishedListenerI;
-import jalview.ws.dbsources.EBIAlfaFold;
import jalview.ws.seqfetcher.DbSourceProxy;
import jalview.ws.sifts.SiftsSettings;
boolean guessTFType = localPdbPaeMatrixFileName == null;
localPdbPaeMatrixFileName = guessPAEFilename();
guessTFType |= localPdbPaeMatrixFileName != null;
+ Regex alphaFold = JmolParser.getNewAlphafoldValidator();
if (guessTFType
- && new File(selectedPdbFileName).getName().startsWith("AF-")
+ && alphaFold.search(new File(selectedPdbFileName).getName())
&& !tempFacAsChanged)
{
// localPdbPaeMatrixFileName was null and now isn't and filename could
}
else if (currentView == VIEWS_FROM_FILE)
{
-
- // TEMPFAC NOT WORKING
TFType tft = (TFType) StructureChooser.this.combo_tempFacAs
.getSelectedItem();
- if (tft != null && tft != TFType.DEFAULT)
- {
- ssm.setAddTempFacAnnot(true);
- }
-
+ String paeFilename = StructureChooser.this.localPdbPaeMatrixFileName;
AssociateSeqOptions assSeqOpt = (AssociateSeqOptions) fileChooserAssSeqPanel
.getCmb_assSeq().getSelectedItem();
-
SequenceI userSelectedSeq = assSeqOpt.getSequence();
if (userSelectedSeq != null)
- {
selectedSequence = userSelectedSeq;
- }
+ String pdbFilename = selectedPdbFileName;
+
PDBEntry fileEntry = new AssociatePdbFileWithSeq()
- .associatePdbWithSeq(selectedPdbFileName,
- DataSourceType.FILE, selectedSequence, true,
- Desktop.instance);
+ .associatePdbWithSeq(pdbFilename, DataSourceType.FILE,
+ selectedSequence, true, Desktop.instance, tft,
+ paeFilename);
- List<SequenceI> seqList = new ArrayList<>();
- seqList.add(selectedSequence);
+ /*
SequenceI[] seqArray = new SequenceI[] { selectedSequence };
+
StructureFile sf = ssm.computeMapping(true, seqArray, null,
- selectedPdbFileName, DataSourceType.FILE, null);
- // EBIAlfaFold.addAlphaFoldPAEToStructure(pdbAlignment, pae, index,
- // structIdOrFile, isStructId);
+ selectedPdbFileName, DataSourceType.FILE, null, tft,
+ paeFilename);
StructureMapping[] sm = ssm.getMapping(fileEntry.getFile());
// DO SOMETHING WITH
- String paeFilename = StructureChooser.this.localPdbPaeMatrixFileName;
File paeFile = paeFilename == null ? null : new File(paeFilename);
if (paeFilename != null && paeFile.exists())
{
try
{
EBIAlfaFold.importPaeJSONAsContactMatrixToSequence(al,
- paeFile, -1, selectedSequence.getName());
+ paeFile, selectedSequence);
} catch (IOException | ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
-
+ */
sViewer = launchStructureViewer(ssm, new PDBEntry[] { fileEntry },
ap, new SequenceI[]
{ selectedSequence });
for (SequenceI seq : sequences)
{
PDBEntry pdbe = pdbEntriesToView[p++];
+ Console.debug(
+ "##### pdbe=" + pdbe == null ? null : pdbe.toString());
+ Console.debug("##### pdbe.getFile()=" + pdbe == null ? null
+ : pdbe.getFile());
if (pdbe != null && pdbe.getFile() != null)
{
StructureMapping[] smm = ssm.getMapping(pdbe.getFile());
setProgressBar(MessageManager.formatMessage(
"status.fetching_3d_structures_for",
pdbEntriesToView[0].getId()), progressId);
+ // Can we pass a pre-computeMappinged pdbFile?
theViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel);
}
setProgressBar(null, progressId);
private StructureImportSettings.TFType temperatureFactorType = TFType.DEFAULT;
+ private String paeMatrix = null;
+
+ private boolean alphaFoldModel;
+
+ public void setPAEMatrix(String paeFilename)
+ {
+ paeMatrix = paeFilename;
+ }
+
+ public String getPAEMatrix()
+ {
+ return paeMatrix;
+ }
+
+ public boolean hasPAEMatrix()
+ {
+ return paeMatrix != null;
+ }
+
public void setTemperatureFactorType(StructureImportSettings.TFType t)
{
this.temperatureFactorType = t;
return temperatureFactorType;
}
+ public void setAlphafoldModel(boolean afm)
+ {
+ alphaFoldModel = afm;
+ }
+
+ public boolean isAlphafoldModel()
+ {
+ return alphaFoldModel;
+ }
+
public StructureFile(Object inFile, DataSourceType sourceType)
throws IOException
{
import jalview.io.AppletFormatAdapter;
import jalview.io.DataSourceType;
import jalview.io.StructureFile;
+import jalview.structure.StructureImportSettings.TFType;
import jalview.util.MappingUtils;
import jalview.util.MessageManager;
import jalview.util.Platform;
IProgressIndicator progress)
{
return computeMapping(true, sequence, targetChains, pdbFile, protocol,
- progress);
+ progress, null, null);
}
/**
*/
synchronized public StructureFile setMapping(boolean forStructureView,
SequenceI[] sequenceArray, String[] targetChainIds,
- String pdbFile, DataSourceType sourceType)
+ String pdbFile, DataSourceType sourceType, TFType tft,
+ String paeFilename)
{
return computeMapping(forStructureView, sequenceArray, targetChainIds,
- pdbFile, sourceType, null);
+ pdbFile, sourceType, null, tft, paeFilename);
}
/**
synchronized public StructureFile computeMapping(boolean forStructureView,
SequenceI[] sequenceArray, String[] targetChainIds,
String pdbFile, DataSourceType sourceType,
- IProgressIndicator progress)
+ IProgressIndicator progress, TFType tft, String paeFilename)
{
long progressSessionId = System.currentTimeMillis() * 3;
// FIXME if sourceType is not null, we've lost data here
sourceType = AppletFormatAdapter.checkProtocol(pdbFile);
pdb = new JmolParser(false, pdbFile, sourceType);
+ if (paeFilename != null)
+ {
+ pdb.setPAEMatrix(paeFilename);
+ }
+ pdb.setTemperatureFactorType(tft);
pdb.addSettings(parseSecStr && processSecondaryStructure,
parseSecStr && addTempFacAnnot,
parseSecStr && secStructServices);
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
}
/**
- * get an alphafold pAE for the given id, and add it to sequence 0 in
- * pdbAlignment (assuming it came from structurefile parser).
+ * get an alphafold pAE for the given id and return the File object of the
+ * downloaded (temp) file
*
* @param id
* @param pdbAlignment
* @throws IOException
* @throws Exception
*/
- public static void retrieve_AlphaFold_pAE(String id,
- AlignmentI pdbAlignment, String retrievalUrl) throws IOException
+ public static File fetchAlphaFoldPAE(String id, String retrievalUrl)
+ throws IOException
{
// import PAE as contact matrix - assume this will work if there was a
// model
.replace(".cif", ".json");
}
- File pae = null;
+ // check the cache
+ File pae = paeDownloadCache.get(paeURL);
+ if (pae != null && pae.exists() && (new Date().getTime()
+ - pae.lastModified()) < PAE_CACHE_STALE_TIME)
+ {
+ Console.debug(
+ "Using existing file in PAE cache for '" + paeURL + "'");
+ return pae;
+ }
+
try
{
pae = File.createTempFile(id == null ? "af_pae" : id, "pae_json");
}
Console.debug("Downloading pae from " + paeURL + " to " + pae.toString()
+ "");
- UrlDownloadClient.download(paeURL, pae);
- addAlphaFoldPAEToSequence(pdbAlignment, pae, 0, null);
- }
-
- public static void addAlphaFoldPAEToSequence(AlignmentI pdbAlignment,
- File pae, int index, String seqId)
- {
- addAlphaFoldPAE(pdbAlignment, pae, index, seqId, false, false);
+ try
+ {
+ UrlDownloadClient.download(paeURL, pae);
+ } catch (IOException e)
+ {
+ throw e;
+ }
+ // cache and it if successful
+ paeDownloadCache.put(paeURL, pae);
+ return pae;
}
- public static void addAlphaFoldPAEToStructure(AlignmentI pdbAlignment,
- File pae, int index, String structIdOrFile, boolean isStructId)
+ /**
+ * get an alphafold pAE for the given id, and add it to sequence 0 in
+ * pdbAlignment (assuming it came from structurefile parser).
+ *
+ * @param id
+ * @param pdbAlignment
+ * @param retrievalUrl
+ * - URL of .mmcif from EBI-AlphaFold - will be used to generate the
+ * pAE URL automatically
+ * @throws IOException
+ * @throws Exception
+ */
+ public static void retrieve_AlphaFold_pAE(String id,
+ AlignmentI pdbAlignment, String retrievalUrl) throws IOException
{
- addAlphaFoldPAE(pdbAlignment, pae, index, structIdOrFile, true,
- isStructId);
+ File pae = fetchAlphaFoldPAE(id, retrievalUrl);
+ addAlphaFoldPAE(pdbAlignment, pae, 0, null, false, false);
}
public static void addAlphaFoldPAE(AlignmentI pdbAlignment, File pae,
.getStructureSelectionManager(Desktop.instance);
if (ssm != null)
{
- String structFile = isStructId ? ssm.findFileForPDBId(id) : id;
-
- StructureMapping[] smArray = ssm.getMapping(structFile);
-
- try
- {
- if (!importPaeJSONAsContactMatrixToStructure(smArray, paeInput))
- {
- Console.warn("Could not import contact matrix from '"
- + pae.getAbsolutePath() + "' to structure.");
- }
- } catch (IOException e1)
- {
- Console.error("Error when importing pAE file '"
- + pae.getAbsolutePath() + "'", e1);
- } catch (ParseException e2)
- {
- Console.error("Error when parsing pAE file '"
- + pae.getAbsolutePath() + "'", e2);
- }
+ String structFilename = isStructId ? ssm.findFileForPDBId(id) : id;
+ addPAEToStructure(ssm, structFilename, pae);
}
}
}
+ public static void addPAEToStructure(StructureSelectionManager ssm,
+ String structFilename, File pae)
+ {
+ FileInputStream paeInput = null;
+ try
+ {
+ paeInput = new FileInputStream(pae);
+ } catch (FileNotFoundException e)
+ {
+ Console.error(
+ "Could not find pAE file '" + pae.getAbsolutePath() + "'", e);
+ return;
+ }
+ if (ssm == null)
+ {
+ ssm = StructureSelectionManager
+ .getStructureSelectionManager(Desktop.instance);
+ }
+ if (ssm != null)
+ {
+ StructureMapping[] smArray = ssm.getMapping(structFilename);
+
+ try
+ {
+ if (!importPaeJSONAsContactMatrixToStructure(smArray, paeInput))
+ {
+ Console.warn("Could not import contact matrix from '"
+ + pae.getAbsolutePath() + "' to structure.");
+ }
+ } catch (IOException e1)
+ {
+ Console.error("Error when importing pAE file '"
+ + pae.getAbsolutePath() + "'", e1);
+ } catch (ParseException e2)
+ {
+ Console.error("Error when parsing pAE file '"
+ + pae.getAbsolutePath() + "'", e2);
+ }
+ }
+ }
+
/**
* parses the given pAE matrix and adds it to sequence 0 in the given
* alignment
sequence = sequences[0]; // just use the first sequence with this seqId
}
}
+ if (sequence == null)
+ {
+ return false;
+ }
+ return importPaeJSONAsContactMatrixToSequence(pdbAlignment, pae_input,
+ sequence);
+ }
+
+ public static boolean importPaeJSONAsContactMatrixToSequence(
+ AlignmentI pdbAlignment, File pae_input, SequenceI sequence)
+ throws IOException, ParseException
+ {
+ return importPaeJSONAsContactMatrixToSequence(pdbAlignment,
+ new FileInputStream(pae_input), sequence);
+ }
+ public static boolean importPaeJSONAsContactMatrixToSequence(
+ AlignmentI pdbAlignment, InputStream pae_input,
+ SequenceI sequence) throws IOException, ParseException
+ {
JSONObject paeDict = parseJSONtoPAEContactMatrix(pae_input);
if (paeDict == null)
{
}
public static boolean importPaeJSONAsContactMatrixToStructure(
- StructureMapping sm, File paeFile)
- throws FileNotFoundException, IOException, ParseException
- {
- return importPaeJSONAsContactMatrixToStructure(sm,
- new FileInputStream(paeFile));
- }
-
- public static boolean importPaeJSONAsContactMatrixToStructure(
StructureMapping sm, InputStream paeInput)
throws IOException, ParseException
{
return new PDBFeatureSettings();
}
+ // days * 86400000
+ private static final long PAE_CACHE_STALE_TIME = 1 * 86400000;
+
+ private static Map<String, File> paeDownloadCache = new HashMap<>();
+
}
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.Annotation;
import jalview.datamodel.Sequence;
import jalview.io.FileLoader;
import jalview.io.StructureFile;
-import org.testng.Assert;
-import org.testng.AssertJUnit;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
public class Mapping
{
StructureFile pmap = ssm.setMapping(true, new SequenceI[] { uprot },
new String[]
{ "A" }, "test/jalview/ext/jmol/1QCF.pdb",
- DataSourceType.FILE);
+ DataSourceType.FILE, null, null);
assertTrue(pmap != null);
SequenceI protseq = pmap.getSeqsAsArray()[0];
AlignmentAnnotation pstra = protseq
// source
StructureFile pde = ssm.setMapping(true, new SequenceI[] { sq },
new String[]
- { "A" }, inFile = "examples/1gaq.txt", DataSourceType.FILE);
+ { "A" }, inFile = "examples/1gaq.txt", DataSourceType.FILE,
+ null, null);
assertTrue("PDB File couldn't be found", pde != null);
StructureMapping[] mp = ssm.getMapping(inFile);
assertTrue("No mappings made.", mp != null && mp.length > 0);
StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager();
StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq },
new String[]
- { null }, "examples/3W5V.pdb", DataSourceType.FILE);
+ { null }, "examples/3W5V.pdb", DataSourceType.FILE, null, null);
if (pmap == null)
{
AssertJUnit.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE");
ssm.setAddTempFacAnnot(true);
StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq },
new String[]
- { null }, "test/jalview/ext/jmol/1QCF.pdb",
- DataSourceType.FILE);
+ { null }, "test/jalview/ext/jmol/1QCF.pdb", DataSourceType.FILE,
+ null, null);
assertTrue(pmap != null);
assertEquals("Original and copied sequence of different lengths.",
refseq.getLength(), newseq.getLength());
sm.setAddTempFacAnnot(true);
StructureFile pmap = sm.setMapping(true, new SequenceI[] { seq },
new String[]
- { null }, "examples/1gaq.txt", DataSourceType.FILE);
+ { null }, "examples/1gaq.txt", DataSourceType.FILE, null, null);
assertTrue(pmap != null);
assertEquals(3, pmap.getSeqs().size());
sm.setAddTempFacAnnot(true);
StructureFile pmap = sm.setMapping(true, new SequenceI[] { seq },
new String[]
- { null }, P4IM2_MISSING, DataSourceType.FILE);
+ { null }, P4IM2_MISSING, DataSourceType.FILE, null, null);
assertTrue(pmap != null);
assertEquals(1, pmap.getSeqs().size());