Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 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
Пример #4
0
 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