@@ -160,5 +160,63 @@ public void test2N3J() throws IOException, StructureException {
160160 }
161161
162162 }
163+
164+ @ Test
165+ public void test1A2C () throws IOException , StructureException {
166+
167+ // a structure with insertion codes
168+
169+ AtomCache cache = new AtomCache ();
170+
171+ StructureIO .setAtomCache (cache );
172+
173+ cache .setUseMmCif (true );
174+
175+ FileParsingParameters params = new FileParsingParameters ();
176+ params .setAlignSeqRes (true );
177+ cache .setFileParsingParams (params );
178+
179+ Structure originalStruct = StructureIO .getStructure ("1A2C" );
180+
181+ File outputFile = File .createTempFile ("biojava_testing_" , ".cif" );
182+
183+
184+ FileWriter fw = new FileWriter (outputFile );
185+ fw .write (originalStruct .toMMCIF ());
186+ fw .close ();
187+
188+
189+ MMcifParser parser = new SimpleMMcifParser ();
190+
191+ SimpleMMcifConsumer consumer = new SimpleMMcifConsumer ();
192+
193+ FileParsingParameters fileParsingParams = new FileParsingParameters ();
194+ fileParsingParams .setAlignSeqRes (true );
195+
196+ consumer .setFileParsingParameters (fileParsingParams );
197+
198+ parser .addMMcifConsumer (consumer );
199+
200+ //parser.parse(new BufferedReader(new FileReader(new File("/home/duarte_j/test.cif"))));
201+ parser .parse (new BufferedReader (new FileReader (outputFile )));
202+
203+ Structure readStruct = consumer .getStructure ();
204+
205+ assertNotNull (readStruct );
206+
207+ assertEquals (originalStruct .getChains ().size (), readStruct .getChains ().size ());
208+
209+ for (int i =0 ;i <originalStruct .getChains ().size ();i ++) {
210+ assertEquals (originalStruct .getChains ().get (i ).getAtomGroups ().size (),
211+ readStruct .getChains ().get (i ).getAtomGroups ().size ());
212+
213+ Chain origChain = originalStruct .getChains ().get (i );
214+ Chain readChain = readStruct .getChains ().get (i );
215+
216+ assertEquals (origChain .getAtomGroups ().size (), readChain .getAtomGroups ().size ());
217+ //assertEquals(origChain.getSeqResGroups().size(), readChain.getSeqResGroups().size());
218+ }
219+
220+ }
163221
164222}
0 commit comments