Added methods that take SCOP Ids rather than SCOPDomains.
1. Added support for chain Ids of more than 1 character. This deprecates
the method ResidueRange.getChain() in favor of the new
ResidueRange.getChainId(). 2. Changed interface of parseMultiple(String,
AtomPositionMap) so that if the range is the whole chain, it returns a
ResidueRange with null start and end rather than a null ResidueRange. 3.
Fixed issue where A_1-100_ was considered a valid range (underscores
were being allowed). 4. Added a new method parseMultiple(List<String>).
5. Added a new method looksLikeRange(String).
Made AtomPositionMap work with chain Ids of more than 1 character.
Don't allow a period (.) as a range specifier. Really we should reserve
periods as chain specifiers, and allow either _ or : as range
specifiers.
Added a match(String) method, and added some argument checks.
Made AtomPositionMap constructor take a GroupMatcher, which is a new
callback inner interface.
Made getStructureForScopDomain correctly handle ligands in multi-chain
domains. Also introduced a test for AtomCache.
Added an argument strictLigandHandling to getStructureForDomains, and
made this normally false.