@@ -902,8 +902,6 @@ public static void updateSymmetryTransformation(SymmetryAxes axes,
902902
903903 List <List <Integer >> block = msa .getBlocks ().get (0 ).getAlignRes ();
904904 int length = block .get (0 ).size ();
905- Atom [] atoms = StructureTools .cloneAtomArray (msa .getEnsemble ()
906- .getAtomArrays ().get (0 ));
907905
908906 if (axes != null ) {
909907 for (int level = 0 ; level < axes .getNumLevels (); level ++) {
@@ -913,7 +911,7 @@ public static void updateSymmetryTransformation(SymmetryAxes axes,
913911 List <Atom > list2 = new ArrayList <Atom >();
914912
915913 for (int firstRepeat : axes .getFirstRepeats (level )) {
916-
914+
917915 Matrix4d transform = axes .getRepeatTransform (firstRepeat );
918916
919917 List <List <Integer >> relation = axes .getRepeatRelation (
@@ -927,10 +925,12 @@ public static void updateSymmetryTransformation(SymmetryAxes axes,
927925 Integer pos1 = block .get (p1 ).get (k );
928926 Integer pos2 = block .get (p2 ).get (k );
929927 if (pos1 != null && pos2 != null ) {
930- Calc .transform (atoms [pos1 ], transform );
931- Calc .transform (atoms [pos2 ], transform );
932- list1 .add (atoms [pos1 ]);
933- list2 .add (atoms [pos2 ]);
928+ Atom a = (Atom ) msa .getAtomArrays ().get (p1 )[pos1 ].clone ();
929+ Atom b = (Atom ) msa .getAtomArrays ().get (p2 )[pos2 ].clone ();
930+ Calc .transform (a , transform );
931+ Calc .transform (b , transform );
932+ list1 .add (a );
933+ list2 .add (b );
934934 }
935935 }
936936 }
0 commit comments