def __getitem__(self, key):
        if key not in self._dict:
            fn = self.fn_dict[key]
            obj = self._cls(fn, db=self.dbfn)
            obj.data = obj.data.ix[self.index]
            if self.extra is not None:
                obj.data = pandas.merge(obj.data, self.extra, left_index=True,
                                        right_index=True)
            if self.modifier:
                obj = self.modifier(obj)

            self._dict[key] = obj

        return self._dict[key]
dataset/ETHPy150Open daler/metaseq/metaseq/results_table.py/LazyDict.__getitem__/original