bug fix: load *xxxx should use lower case for retrieving mmCIF files from PDBe.
bug fix: struts do not connect directly to rockets or trace
bug fix: write OBJ does not create rockets or vectors
new feature: BCIF, mmCIF, and MMTF file readers auto-detect carbohydrate residues
-- uses _chem_comp.type containing "saccharide"
-- for example:
load *3kle
select carbohydrate
print {selected}.group.pivot.keys.join(",")
GLC,Z9N
new feature: getProperty("cifInfo", fname+ ";keys=tag1,tag2,tag3...")
-- retrieve CIF file structure for only specific tags
-- now exits parsing once all loop data for the given tags are found
-- avoids memory overflow in very large mmcif files
-- must be complete tags (partial tags can also be found, but won't close reading)
-- for example:
var cifinfo = getProperty("cifInfo", fname+ ";keys=_chem_comp.id,_chem_comp.type,_chem_comp.name" ).models[1];
new feature: array.find("xxxx", "index")
-- carries out a string search within an array of strings
-- returns an array of indexes (1-based) of elements found with this string
-- for example:
load *3kle
cifinfo = getProperty("cifInfo", fname+ ";keys=_chem_comp.id,_chem_comp.type,_chem_comp.name" ).models[1];
ccids = cifinfo._chem_comp_id; // NAG
cctypes = cifinfo._chem_comp_type; // saccharide
ccnames = cifinfo._chem_comp_name; // N-Acetyl...
list = cctypes.find("saccharide", "index");
for (var j in list) {
print ccids[j] + " " + ccnames[j]
}
GLC alpha-D-glucopyranose
Z9N alpha-D-fructofuranose
new feature array.find(regex,"i|m|v", "index")
-- carries out a REGEX pattern search
-- using "i" (case-insenstive) or "m" (match) or "v" (not-present) or some combination of these
-- adding "index" returns the index of element
-- for example:
$ a = ["Alpha", "Beta", "gamma"]
$ print a.find("A").join(",")
Alpha
$ print a.find("A","i").join(",")
Alpha,Beta,gamma
$ print a.find("A","i", "index").join(",")
1,2,3