def write(self, source, **kw): if self.chrfile is None: self.chrfile = tempfile.NamedTemporaryFile(dir='./',delete=False) for c,v in self.chrmeta.iteritems(): self.chrfile.write("%s %i\n"%(c,v['length'])) self.chrfile.close() self.chrfile = os.path.abspath(self.chrfile.name) self.open() kw['mode'] = 'append' try: with track(self.bedgraph,format='bedgraph',chrmeta=self.chrmeta) as f: f.write(source,**kw) except: os.remove(self.chrfile) os.remove(self.bedgraph) raise
def write(self, source, **kw): if self.chrfile is None: self.chrfile = tempfile.NamedTemporaryFile(dir='./', delete=False) for c, v in self.chrmeta.iteritems(): self.chrfile.write("%s %i\n" % (c, v['length'])) self.chrfile.close() self.chrfile = os.path.abspath(self.chrfile.name) self.open() kw['mode'] = 'append' try: with track(self.bedgraph, format='bedgraph', chrmeta=self.chrmeta) as f: f.write(source, **kw) except: os.remove(self.chrfile) os.remove(self.bedgraph) raise
def read(self, selection=None, fields=None, **kw): """ :param selection: list of dict of the type `[{'chr':'chr1','start':(12,24)},{'chr':'chr3','end':(25,45)},...]`, where tuples represent ranges. :param fields: (list of str) list of field names. """ self.open() if not(fields): fields = self.fields fields = [f for f in self.fields if f in fields] reg = self._make_selection(selection) options = [] if reg[0]: options += ["-chrom="+reg[0]] if reg[1]: options += ["-start="+reg[1]] if reg[2]: options += ["-end="+reg[2]] self._run_tool('bigWigToBedGraph', options+[self.path, self.bedgraph]) t = track(self.bedgraph,format='bedGraph',chrmeta=self.chrmeta,info=self.info) return t.read(selection=selection,fields=fields,**kw)
def read(self, selection=None, fields=None, **kw): """ :param selection: list of dict of the type `[{'chr':'chr1','start':(12,24)},{'chr':'chr3','end':(25,45)},...]`, where tuples represent ranges. :param fields: (list of str) list of field names. """ self.open() if not (fields): fields = self.fields fields = [f for f in self.fields if f in fields] reg = self._make_selection(selection) options = [] if reg[0]: options += ["-chrom=" + reg[0]] if reg[1]: options += ["-start=" + reg[1]] if reg[2]: options += ["-end=" + reg[2]] self._run_tool('bigWigToBedGraph', options + [self.path, self.bedgraph]) t = track(self.bedgraph, format='bedGraph', chrmeta=self.chrmeta, info=self.info) return t.read(selection=selection, fields=fields, **kw)