Example #1
0
    def batch_write(self, batch):
        fbatch = flatten_batch(batch, nested_sep="/")

        # since 'score' is not defined in GenomicRanges, use "."
        if os.path.join(self.ranges_key, "score") not in fbatch:
            fbatch[os.path.join(self.ranges_key, "score")] = "."

        bed_cols = ["chr", "start", "end", "id", "score", "strand"]
        cols = [os.path.join(self.ranges_key, x) for x in bed_cols] + \
            sorted([x for x in fbatch if x.startswith("preds/")])
        df = pd.DataFrame(fbatch)[cols]
        df.rename(
            columns={os.path.join(self.ranges_key, bc): bc
                     for bc in bed_cols},
            inplace=True)
        df.rename(columns={"id": "name"}, inplace=True)
        if self.first_pass and self.header:
            df.to_csv(self.file_path, sep="\t", index=False)
            self.first_pass = False
        else:
            df.to_csv(self.file_path,
                      sep="\t",
                      index=False,
                      header=None,
                      mode="a")
Example #2
0
 def batch_write(self, batch):
     df = pd.DataFrame(flatten_batch(batch, nested_sep=self.nested_sep))
     df.sort_index(axis=1, inplace=True)
     if self.first_pass:
         df.to_csv(self.file_path, sep="\t", index=False)
         self.first_pass = False
     else:
         df.to_csv(self.file_path,
                   sep="\t",
                   index=False,
                   header=None,
                   mode="a")
Example #3
0
    def batch_write(self, batch):
        """Write a batch of data

        # Arguments
            batch: batch of data. Either a single `np.array` or a list/dict thereof.
        """
        df = pd.DataFrame(flatten_batch(batch, nested_sep=self.nested_sep))
        df.sort_index(axis=1, inplace=True)
        if self.first_pass:
            df.to_csv(self.file_path, sep="\t", index=False)
            self.first_pass = False
        else:
            df.to_csv(self.file_path,
                      sep="\t",
                      index=False,
                      header=None,
                      mode="a")
Example #4
0
    def batch_write(self, batch):
        """Write a batch of data

        # Arguments
            batch: batch of data. Either a single `np.array` or a list/dict thereof.
        """
        df = pd.DataFrame(flatten_batch(batch, nested_sep=self.nested_sep))
        df.sort_index(axis=1, inplace=True)
        if self.first_pass:
            self.fp.write(self.file_path,
                          df,
                          append=not self.first_pass,
                          write_index=False,
                          **self.kwargs)
            self.first_pass = False
        else:
            self.fp.write(self.file_path,
                          df,
                          append=not self.first_pass,
                          write_index=False,
                          **self.kwargs)