[Biojava-l] Superimposing structure pieces

Andreas Prlic andreas at sdsc.edu
Mon Nov 1 03:08:00 UTC 2010


Hi Daniel,

couple of thoughts when I see this:

- in case you have not seen this yet, take a look at docu on structure
alignment: http://biojava.org/wiki/BioJava:CookBook:PDB:align
- the direction of your rotations is wrong,the SVDSuperimposer gives
you the operations to be applied on the second atom set.
- there is some utility methods in StructureTools, that might come in
handy. e.g.
           Atom[] ca1 = StructureTools.getAtomCAArray(structure1);
           Atom[] ca2 = StructureTools.getAtomCAArray(structure2);

- any particular reason why you are working with SEQRES records? for
the superposition it might be sufficient to work with the ATOM records
only, which can give you a quicker parsing of the files, since you can
turn off the alignment of ATOM and SEQRES. Having said that, there can
be situations when you actually might want it, e.g. see
SmithWaterman3Daligner, which does a sequence based structure
alignment...

hope that helps,

Andreas


On Sun, Oct 31, 2010 at 7:56 PM, Daniel Asarnow <dasarnow at gmail.com> wrote:
> I've been trying to pull out pieces of protein chains and superimpose
> them...my current code (as generic-ified code snips below) works, but
> I wonder if it couldn't be faster.
> Has anyone worked on similar methods?  Any other advice?
>
> Best regards everyone,
> da
>
> Getting residue CA's as Atom[]:
>
> for (int i; i < length; i++) {
>    someAtoms[i] = someChain.getSeqResGroup(start + i).getAtom("CA");
> }
>
> Superimposing/aligning:
>
> SVDSuperimposer svds = new SVDSuperimposer(someAtoms1, someAtoms2);
> Matrix rot = svds.getRotation();
> Atom trans = svds.getTranslation();
> for (int i = 0; i < length; i++) {
>    Calc.rotate(someAtoms1[i], rot);
>    Calc.shift(someAtoms1[i], trans);
> }
> SVDSuperimposer.getRmsd(someAtoms1, someAtoms2);
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biojava-l
>




More information about the Biojava-l mailing list