+ return setMapping(forStructureView, sequenceArray, targetChainIds,
+ pdbFile, sourceType, tft, paeFilename, true);
+ }
+
+ synchronized public StructureFile setMapping(boolean forStructureView,
+ SequenceI[] sequenceArray, String[] targetChainIds,
+ String pdbFile, DataSourceType sourceType, TFType tft,
+ String paeFilename, boolean doXferSettings)
+ {
+ return computeMapping(forStructureView, sequenceArray, targetChainIds,
+ pdbFile, sourceType, null, tft, paeFilename, doXferSettings);
+ }
+
+ /**
+ * create sequence structure mappings between each sequence and the given
+ * pdbFile (retrieved via the given protocol). Either constructs a mapping
+ * using NW alignment or derives one from any available SIFTS mapping data.
+ *
+ * @param forStructureView
+ * when true, record the mapping for use in mouseOvers
+ *
+ * @param sequenceArray
+ * - one or more sequences to be mapped to pdbFile
+ * @param targetChainIds
+ * - optional chain specification for mapping each sequence to pdb
+ * (may be nill, individual elements may be nill) - JBPNote: JAL-2693
+ * - this should be List<List<String>>, empty lists indicate no
+ * predefined mappings
+ * @param pdbFile
+ * - structure data resource
+ * @param sourceType
+ * - how to resolve data from resource
+ * @param IProgressIndicator
+ * reference to UI component that maintains a progress bar for the
+ * mapping operation
+ * @param tft - specify how to interpret the temperature factor column in the atom data
+ * @param paeFilename - when not null, specifies a filename containing a matrix formatted in JSON using one of the known PAE formats
+ * @param doXferSettings - when true, transfer annotation to mapped sequences in sequenceArray
+ * @return null or the structure data parsed as a pdb file
+ */
+ synchronized public StructureFile computeMapping(boolean forStructureView,
+ SequenceI[] sequenceArray, String[] targetChainIds,
+ String pdbFile, DataSourceType sourceType,
+ IProgressIndicator progress, TFType tft, String paeFilename,
+ boolean doXferSettings)
+ {
+ long progressSessionId = System.currentTimeMillis() * 3;
+
+ /**
+ * do we extract and transfer annotation from 3D data ?