- StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { upSeq});
- assertTrue(scquery instanceof ThreeDBStructureChooserQuerySource);
- String query = scquery.buildQuery(upSeq);
- assertEquals("P38398", query);
-
- // query shouldn't change regardless of additional entries
- // because 3DBeacons requires canonical entries.
- upSeq.getAllPDBEntries().clear();
- query = scquery.buildQuery(upSeq);
- assertEquals("P38398", query);
- upSeq.setDBRefs(null);
- query = scquery.buildQuery(upSeq);
- /*
- * legacy projects/datasets will not have canonical flags set for uniprot dbrefs
- * graceful behaviour would be to
- * - pick one ? not possible
- * - iterate through all until a 200 is obtained ?
- * ---> ideal but could be costly
- * ---> better to do a direct retrieval from uniprot to work out which is the canonical identifier..
- * ----> need a test to check that accessions can be promoted to canonical!
- */
- assertEquals(null, query);
-
- // TODO:
-//
-// DBRefEntry uniprotDBRef = new DBRefEntry();
-// uniprotDBRef.setAccessionId("P12345");
-// uniprotDBRef.setSource(DBRefSource.UNIPROT);
-// upSeq.addDBRef(uniprotDBRef);
-//
-// DBRefEntry pdbDBRef = new DBRefEntry();
-// pdbDBRef.setAccessionId("1XYZ");
-// pdbDBRef.setSource(DBRefSource.PDB);
-// upSeq.addDBRef(pdbDBRef);
-//
-// for (int x = 1; x < 5; x++)
-// {
-// DBRefEntry dbRef = new DBRefEntry();
-// dbRef.setAccessionId("XYZ_" + x);
-// seq.addDBRef(dbRef);
-// }
-// System.out.println("");
-// System.out.println(seq.getDBRefs());
-// System.out.println(query);
-// query = scquery.buildQuery(seq);
-// assertEquals(
-// "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz",
-// query);
- }
-