def Tm_feature(data, pam_audit=True):
    sequence = data['30mer'].values
    featarray = np.ones((sequence.shape[0],4))
    for i, seq in enumerate(sequence):
        if pam_audit and seq[25:27]!="GG":
            raise Exception("expected GG but found %s" % seq[25:27])
        rna = False
        featarray[i,0] = Tm.Tm_staluc(seq, rna=rna)        #30mer Tm
        featarray[i,1] = Tm.Tm_staluc(seq[19:24], rna=rna) #5nts immediately proximal of the NGG PAM
        featarray[i,2] = Tm.Tm_staluc(seq[11:19], rna=rna)   #8-mer
        featarray[i,3] = Tm.Tm_staluc(seq[6:11], rna=rna)      #5-mer


    feat = pandas.DataFrame(featarray, index=data.index, columns=["Tm global_%s" % rna, "5mer_end_%s" %rna, "8mer_middle_%s" %rna, "5mer_start_%s" %rna])

    return feat
Grants the given user the ability to perform any administrative action.
dataset/ETHPy150Open MicrosoftResearch/Azimuth/azimuth/features/featurization.py/Tm_feature--crossover with--dataset/ETHPy150Open AppScale/appscale-tools/lib/user_app_client.py/UserAppClient.set_admin_role