Пример #1
0
    def __call__(self, track, slice = None ):
        statement = '''
        SELECT distinct i.peakval, i.interval_id, m.motif IS NOT NULL
        FROM %(track)s_intervals AS i
            LEFT JOIN %(track)s_nubiscan AS m ON m.id = i.interval_id AND m.motif = '%(slice)s'
            ORDER BY i.peakval DESC''' % locals() 

        data = self.get( statement )
        
        result = Stats.getSensitivityRecall( [(int(x[0]), x[2] > 0) for x in data ] )
        return odict( zip( ("peakval", "proportion with motif", "recall" ), zip( *result ) ) )
Пример #2
0
    def __call__(self, track, slice = None ):

        
        # obtain evalue distribution
        data = self.get( '''
        SELECT i.peakval, m.nmatches
        FROM %(track)s_intervals AS i,
             %(track)s_mast AS m
        WHERE m.id = i.interval_id \
           AND m.motif = '%(slice)s' ORDER BY i.peakval DESC''' % locals() )

        result = Stats.getSensitivityRecall( [ (int(x[0]), x[1] > 0) for x in data ] )
        
        return odict( zip( ("peakval", "proportion with motif", "recall" ), zip( *result ) ) )