Отпечатки пальцев с использованием модуля Python под названием Pybel

Я хочу получить отпечатки пальцев, используя улыбки соединений. Я сделал, но проблема в том, что я хочу получить более высокий бит и формат списка, чтобы я мог рассчитать длину списков. В этом случае я просто получаю занятия. Любое решение в Python с использованием Pybel? Я сделал это, но когда я пишу len(fps[0]) Я получаю ошибку

import pybel
smiles = ['CCCC', 'CCCN']
mols = [pybel.readstring("smi", x) for x in smiles]
fps = [x.calcfp() for x in mols]
print fps[0]

1 ответ

Вы можете использовать функцию fp для объекта отпечатка пальца. По умолчанию вычисляется отпечаток FP2, его длина составляет 32. Есть код, который выдает длину и бит-0

import pybel
smiles = ['CCCC', 'CCCN']
mols = [pybel.readstring("smi", x) for x in smiles]
fps = [x.calcfp() for x in mols]
print len(fps[0].fp)
print fps[0].fp[0]

Результат:

32 
0
Другие вопросы по тегам