Пример #1
0
def loadMEME_ID(subset):
    care = PlantCARE('./databases/plantcare.db')
    place = Place('./databases/place.db')
    jaspar = JasparDB('./databases/jaspar.db')
    meme_ids = []
    print subset
    if 'plantcare' in subset.keys() and subset['plantcare'] != None:
        meme_ids.extend(care.getMotifSeq(subset['plantcare']))
    if 'place' in subset.keys() and subset['place'] != None:
        tmp_seq = place.getMotifSeq(subset['place'])
        #for those contain U would change by iupac2meme to T
        #causing KeyError
        tmp_seq = [seq.replace("U", "T") for seq in tmp_seq]
        meme_ids.extend(tmp_seq)
    if 'jaspar' in subset.keys() and subset['jaspar'] != None:
        meme_ids.extend(jaspar.getBASE_ID(subset['jaspar']))
    if 'denovo' in subset.keys() and subset['denovo'] != None:
        meme_ids.extend(united.getMEME_ID(subset['denovo']))
    return list(set(meme_ids))
Пример #2
0
(options, args) = parser.parse_args()

if not options.dbname:
    parser.print_help()
    sys.exit(1)

jaspar_path = './databases/jaspar.db'
plantcare_path = './databases/plantcare.db'
place_path = './databases/place.db'

meme_slv = shelve.open(options.dbname + ".slv")
united = UnitiedDB(options.dbname + ".db")
#initialize databases
if options.jaspar:
    if not os.path.exists(jaspar_path):
        jaspar = JasparDB(jaspar_path)
        jaspar.importTables('./databases/jaspar/')
    else:
        jaspar = JasparDB(jaspar_path)
    meme_motifs = jaspar2meme('./databases/jaspar_pfm/')
    meme_slv.update(split_meme(meme_motifs))
    united.importDB('Jaspar', jaspar_path)

if options.plantcare:
    if not os.path.exists(plantcare_path):
        plantcare = PlantCARE(plantcare_path)
        plantcare.importMotifs('./databases/plantcare.txt')
    else:
        plantcare = PlantCARE(plantcare_path)
    meme_motifs = iupac2meme(plantcare.getMotifSeq())
    meme_slv.update(split_meme(meme_motifs))