@@ -245,4 +245,71 @@ public void testFetchBehavior() throws IOException, ParseException {
245245
246246 }
247247
248+ @ Test
249+ public void testSeqRes () throws StructureException , IOException {
250+ String name ;
251+ StructureIdentifier id ;
252+ Structure full , reduced ;
253+ Chain chain ;
254+ List <Group > seqres ;
255+
256+ // normal structure
257+ name = "1hh0" ;
258+ id = new SubstructureIdentifier (name );
259+
260+ full = id .loadStructure (cache );
261+ assertEquals ("Wrong number of models in full " +name ,1 ,full .nrModels ());
262+ assertEquals ("Wrong number of chains in full " +name ,1 ,full .getChains ().size ());
263+ chain = full .getChain (0 );
264+ seqres = chain .getSeqResGroups ();
265+ assertEquals ("Wrong seqres length in full " +name ,46 ,seqres .size ());
266+
267+ reduced = id .reduce (full );
268+ assertEquals ("Wrong number of models in reduced " +name ,1 ,reduced .nrModels ());
269+ assertEquals ("Wrong number of chains in reduced " +name ,1 ,reduced .getChains ().size ());
270+ chain = reduced .getChain (0 );
271+ seqres = chain .getSeqResGroups ();
272+ assertEquals ("Wrong seqres length in reduced " +name ,46 ,seqres .size ());
273+
274+ // single chain
275+ name = "1hh0.A" ;
276+ id = new SubstructureIdentifier (name );
277+
278+ full = id .loadStructure (cache );
279+ assertEquals ("Wrong number of models in full " +name ,1 ,full .nrModels ());
280+ assertEquals ("Wrong number of chains in full " +name ,1 ,full .getChains ().size ());
281+ chain = full .getChain (0 );
282+ seqres = chain .getSeqResGroups ();
283+ assertEquals ("Wrong seqres length in full " +name ,46 ,seqres .size ());
284+
285+ reduced = id .reduce (full );
286+ assertEquals ("Wrong number of models in reduced " +name ,1 ,reduced .nrModels ());
287+ assertEquals ("Wrong number of chains in reduced " +name ,1 ,reduced .getChains ().size ());
288+ chain = reduced .getChain (0 );
289+ seqres = chain .getSeqResGroups ();
290+ assertEquals ("Wrong seqres length in reduced " +name ,46 ,seqres .size ());
291+
292+ // subrange
293+ name = "1hh0.A:10-20" ;
294+ id = new SubstructureIdentifier (name );
295+
296+ full = id .loadStructure (cache );
297+ assertEquals ("Wrong number of models in full " +name ,1 ,full .nrModels ());
298+ assertEquals ("Wrong number of chains in full " +name ,1 ,full .getChains ().size ());
299+ chain = full .getChain (0 );
300+ seqres = chain .getSeqResGroups ();
301+ assertEquals ("Wrong seqres length in full " +name ,46 ,seqres .size ());
302+ assertEquals ("Wrong SeqNum at first group in full" ,1 ,(int )chain .getAtomGroup (0 ).getResidueNumber ().getSeqNum ());
303+
304+ reduced = id .reduce (full );
305+ assertEquals ("Wrong number of models in reduced " +name ,1 ,reduced .nrModels ());
306+ assertEquals ("Wrong number of chains in reduced " +name ,1 ,reduced .getChains ().size ());
307+ chain = reduced .getChain (0 );
308+ seqres = chain .getSeqResGroups ();
309+ assertEquals ("Wrong seqres length in reduced " +name ,46 ,seqres .size ());
310+
311+ assertEquals ("Wrong SeqNum at first group in reduced" ,10 ,(int )chain .getAtomGroup (0 ).getResidueNumber ().getSeqNum ());
312+
313+ }
314+
248315}
0 commit comments