Ok, thanks for the long explanation! I'll merge what you and Kristian said and come up with a better interface. As is, I call is like this: s = Struct.read("1abc.pdb") # by the way, I added a trick to avoid the mandatory name of the structure p = s.as_protein() Best J