如何从python中编写和读取java bitset?

时间:2017-03-23 19:19:09

标签: java python bitset jpype

我正在使用化学开发套件来计算指纹'用于化学结构。我想将它们保存在一个sql数据库中,但我要注意确定存储然后读取数据的最佳方法。我目前正在使用python,因为代码的其他部分在jython中不起作用。

我使用jpype来连接包。

import os
from jpype import *

_jvm=os.environ["JPYPE_JVM"]
_cp=os.environ['CLASSPATH']
startJVM(_jvm, "-Djava.class.path="+_cp)
cdk=JPackage("org").openscience.cdk

完成所有工作的样本部分如下:

sp = cdk.smiles.SmilesParser(cdk.DefaultChemObjectBuilder.getInstance())
mol=sp.parseSmiles('CCCCC')    
ECFP=cdk.fingerprint.CircularFingerprinter
fingerp=ECFP(ECFP.CLASS_ECFP6)
fp1 = fingerp.getBitFingerprint(mol).asBitSet()
fp1.toString()

此输出

out: u'{61, 152, 222, 777, 825, 947, 993}'

请注意,fp1是一个BitSet。

编辑:我再次将输出字符串读入bitset。

我尝试了什么

fps=fp1.toString()    
bit=java.util.BitSet.valueOf({fps})

返回

RuntimeError: No matching overloads found. at src/native/common/jp_method.cpp:121

0 个答案:

没有答案