def init(self, reverse_read_strand=None, reads_are_stranded=None, pairs_are_opp_strand=None, reads_are_paired=None, frag_len_dist=None): assert self.is_indexed() #"ChIPSeq.GM12878.CTCF.BSID-ENCBS195XMM.REPID-1_1.EXPID-ENCSR000DRZ.bam" #data = os.path.basename(self.filename).split('.') #self.biosample = data[1] #self.factor = data[2] #self.bsid = data[3].split("-")[1] #self.experiment_id = data[5].split("-")[1] #self.repid = data[4].split("-")[1] #self.id = "%s.%s.%s" % (self.factor, self.bsid, self.repid) reads_are_stranded = True if frag_len_dist == None: frag_len_dist = build_normal_density(fl_min=100, fl_max=200, mean=150, sd=25) self.frag_len_dist = frag_len_dist self.frag_len = int(frag_len_dist.mean_fragment_length()) read_pair_params = determine_read_pair_params(self) # set whether the reads are paired or not if reads_are_paired in ('auto', None): if 'paired' in read_pair_params: reads_are_paired = True assert 'unpaired' in read_pair_params else: reads_are_paired = False if pairs_are_opp_strand in ('auto', None): if reads_are_paired or ('same_strand' in read_pair_params): pairs_are_opp_strand = False else: pairs_are_opp_strand = True reverse_read_strand = None Reads.init(self, reads_are_paired, pairs_are_opp_strand, reads_are_stranded, reverse_read_strand) # we save these for fast reloads self._init_kwargs = { 'reverse_read_strand': reverse_read_strand, 'reads_are_stranded': reads_are_stranded, 'pairs_are_opp_strand': pairs_are_opp_strand, 'reads_are_paired': reads_are_paired } return self
def init(self, reverse_read_strand=None, reads_are_stranded=None, pairs_are_opp_strand=None, reads_are_paired=None, frag_len_dist=None): assert self.is_indexed() "ChIPSeq.GM12878.CTCF.BSID-ENCBS195XMM.REPID-1_1.EXPID-ENCSR000DRZ.bam" data = os.path.basename(self.filename).split('.') self.biosample = data[1] self.factor = data[2] self.bsid = data[3].split("-")[1] self.experiment_id = data[5].split("-")[1] self.repid = data[4].split("-")[1] self.id = "%s.%s.%s" % (self.factor, self.bsid, self.repid) reads_are_stranded = True if frag_len_dist == None: frag_len_dist = build_normal_density( fl_min=100, fl_max=200, mean=150, sd=25) self.frag_len_dist = frag_len_dist self.frag_len = int(frag_len_dist.mean_fragment_length()) read_pair_params = determine_read_pair_params(self) # set whether the reads are paired or not if reads_are_paired in ('auto', None): if 'paired' in read_pair_params: reads_are_paired = True assert 'unpaired' in read_pair_params else: reads_are_paired = False if pairs_are_opp_strand in ('auto', None): if reads_are_paired or ('same_strand' in read_pair_params): pairs_are_opp_strand = False else: pairs_are_opp_strand = True reverse_read_strand = None Reads.init(self, reads_are_paired, pairs_are_opp_strand, reads_are_stranded, reverse_read_strand ) # we save these for fast reloads self._init_kwargs = { 'reverse_read_strand': reverse_read_strand, 'reads_are_stranded': reads_are_stranded, 'pairs_are_opp_strand': pairs_are_opp_strand, 'reads_are_paired': reads_are_paired } return self
def build_normal_fl_dist(fl_mean, fl_sd): fl_min = max(0, fl_mean - (fl_sd * NUM_NORM_SDS)) fl_max = fl_mean + (fl_sd * NUM_NORM_SDS) fl_dist = frag_len.build_normal_density(fl_min, fl_max, fl_mean, fl_sd) return fl_dist
def build_normal_fl_dist( fl_mean, fl_sd ): fl_min = max( 0, fl_mean - (fl_sd * NUM_NORM_SDS) ) fl_max = fl_mean + (fl_sd * NUM_NORM_SDS) fl_dist = frag_len.build_normal_density( fl_min, fl_max, fl_mean, fl_sd ) return fl_dist