I ran into a problem tonight: calling fids_to_locations and fids_to_feature_data returns two different locations for the same feature when that feature is on the minus-strand.
>/ echo "kb|g.9865.peg.0" | fids_to_feature_data
kb|g.9865.peg.0 kb|g.9865.peg.0 Acetobacter aceti kb|g.9865.c.0_7246-2895 2895 putative transposase
>/ echo "kb|g.9865.peg.0" | fids_to_locations
kb|g.9865.peg.0 kb|g.9865.c.0_4352-2895
also:
>/ echo "kb|g.1965.peg.1959" | fids_to_feature_data
kb|g.1965.peg.1959 kb|g.1965.peg.1959 Accumulibacter phosphatis clade IIA str. UW-1 kb|g.1965.c.1_7071-765 765 Orotidine 5'-phosphate decarboxylase (EC 4.1.1.23)
>/ echo "kb|g.1965.peg.1959" | fids_to_locations
kb|g.1965.peg.1959 kb|g.1965.c.1_6307-765
It looks like fids_to_locations is returning the right answer - I looked up these two features in their sources (MicrobesOnline and SEED, respectively) and found them to match. It also seems like, for features on the minus-strand, fids_to_feature_data is adding the length of the feature to its correct starting position.
- Bill