import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.Hashtable;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
private List<SelectionListener> sel_listeners = new ArrayList<SelectionListener>();
- private List<String> phyre2ModelTemplates = new ArrayList<String>();
+ private Map<String, String> phyre2ModelTemplates = new Hashtable<String, String>();
/**
* @return true if will try to use external services for processing secondary
setProgressBar(null);
setProgressBar(MessageManager
.getString("status.obtaining_mapping_with_phyre2_template_alignment"));
+ String fastaFile = getPhyre2FastaFileFor(pdbFile);
StructureMapping phyre2ModelMapping = new Phyre2Client(pdb)
- .getStructureMapping(seq, pdbFile, " ");
-
+ .getStructureMapping(seq, pdbFile, fastaFile, " ");
seqToStrucMapping.add(phyre2ModelMapping);
+ maxChain.makeExactMapping(maxAlignseq, seq);
+ maxChain.transferRESNUMFeatures(seq, null);
+ jalview.datamodel.Mapping sqmpping = maxAlignseq
+ .getMappingFromS1(false);
+ maxChain.transferResidueAnnotation(phyre2ModelMapping, sqmpping);
ds.addPDBId(maxChain.sequence.getAllPDBEntries().get(0));
}
else
return pdb;
}
- public void registerPhyre2Template(String phyre2Template)
+ public void registerPhyre2Template(String phyre2Template,
+ String fastaMappingFile)
{
- phyre2ModelTemplates.add(phyre2Template);
+ phyre2ModelTemplates.put(phyre2Template, fastaMappingFile);
}
/**
{
return false;
}
- return (phyre2ModelTemplates.contains(structureFile));
+ return phyre2ModelTemplates.get(structureFile) != null
+ && !phyre2ModelTemplates.get(structureFile).isEmpty();
+ }
+
+ public String getPhyre2FastaFileFor(String structureFile)
+ {
+ return phyre2ModelTemplates.get(structureFile);
}