Beispiel #1
0
def blat_getseqlen(par):

    sequence = par['sequence']

    blatport = par['blatport']

    gfcpath = par['gfcpath']

    pblength = par['pblength']

    file2bit = par['file2bit']

    dtm = par['dtm']

    minIdentity = par['minIdentity']

    st = 0

    # pblength = 48

    seqlen = len(sequence) - pblength

    print(seqlen, blatport, gfcpath, sequence[0:10])

    probelist = list()

    while st < seqlen:

            sp = st+pblength

            nowseq = sequence[st:sp]

            st += 5

            if not nowseq:

                continue

            if not prefilter.atcg_filter(nowseq, 7):

                if 0 < blat.blat_search_sequence(gfcpath, sequence=nowseq, blatport=blatport, minIdentity=minIdentity, file2bit=file2bit) < 2:

                    if not primer3_filter.primer3_filter(sequence=nowseq, dtm=dtm):

                        probelist.append(nowseq)

                        st += pblength

    return probelist
Beispiel #2
0
def probefilter(nowpbcounter):

    sequence, seqname, start = nowpbcounter['seq'].split('\t')

    dTm = nowpbcounter['dTm']

    rPrimer = nowpbcounter['rprimer']

    keep = False

    if prefilter.atcg_filter(sequence, 5):

        # print(self.sequence, " not pass atcg")
        pass

    elif dTm == -1:

        keep = True

    else:
        if rPrimer:

            if primer3_filter.primer3_filter_withRprimer(sequence, rPrimer, dtm=dTm):

                pass

            else:

                keep = True
        else:

            if primer3_filter.primer3_filter(sequence, dtm=dTm):

                pass

            else:

                keep = True

    return (nowpbcounter['seq'], keep)
Beispiel #3
0
def probefilter(nowpbcounter):

    sequence, seqname, start = nowpbcounter['seq'].split('\t')

    dTm = nowpbcounter['dTm']

    rPrimer = nowpbcounter['rprimer']

    keep = False

    if prefilter.atcg_filter(sequence, 5):

        # print(self.sequence, " not pass atcg")
        pass

    else:
        if rPrimer:

            if primer3_filter.primer3_filter_withRprimer(sequence, rPrimer, dtm=dTm):

                pass

            else:

                keep = True
        else:

            if primer3_filter.primer3_filter(sequence, dtm=dTm):

                pass

            else:

                keep = True

    return (nowpbcounter['seq'], keep)