用于生成化学空间交互视图的python包。

faerun的Python项目详细描述


费伦(巨蟒)

faerun(python)基于用于交互式大数据呈现的3d webgl引擎和项目。它有助于创建化学数据(或化学空间)的交互式(2d和3d)html绘图。分子结构使用smilesdrawer呈现。

相关出版物:https://academic.oup.com/bioinformatics/article/34/8/1433/4657075" rel="nofollow">https://academic.oup.com/bioinformatics/article/34/8/1433/4657075

faerun python

安装

可以使用pip安装faerun。

pip install faerun

为了在脚本中使用它,必须从包中导入类faerun

fromfaerunimportFaerun

安装就到此为止。

开始

创建绘图文档

为了打印,必须创建打印文档。为此,请创建类的实例faerun

fromfaerunimportFaerunf=Faerun(title='faerun-example',clear_color='#222222',coords=False,view='free')

在这里,我们设置绘图文档的标题。这将用作html文档的标题。画布的透明颜色(即绘图的背景色)设置为'2222222'(即深灰色的十六进制代码)。 通过设置coords=false来禁用坐标轴的绘制,并且由于我们要绘制三维数据,参数view被设置为'free'以使用户能够平移和旋转绘图。

准备绘图数据

下一步是准备要绘制的数据。在本教程中,我们将使用numpy

importnumpyasnpx=np.linspace(0,12.0,326)y=np.sin(np.pi*x)z=np.cos(np.pi*x)c=np.random.randint(0,6,len(x))

然后,这些数据可以包装在dict中。此外,faerun还支持pandas包中的dataframe。 在本例中,相同的值用于颜色c和标签labels

data={'x':x,'y':y,'z':z,'c':c,'labels':c}

添加散射层

给定faerun实例和数据,可以使用add\u scatter方法创建散点图。

f.add_scatter('helix',data,shader='sphere',colormap='Dark2',point_scale=5.0,categorical=True,has_legend=True,legend_labels=[(0,'Zero'),(1,'One')])

数据被添加为名为helix的散射层。选定的着色器将数据点渲染为 大小为5.0的球体(具有漫反射和镜面照明),颜色来自matplotlibcolormap'dark2'。 由于c是分类的,所以参数categorical设置为true,否则matplotlib将弄乱值。

最后,has_legend=true将散点层添加到图例中,并且图例标签元组的列表,将值与标签关联。

保存为HTML

可以将faerun文档打印为带有附带javascript数据文件的html文档。

f.plot('helix')

这会将绘图保存为helix.htmlhelix.js。这些文件可以在本地打开,也可以托管在任何Web服务器上。

image

保存到faerun数据文件

faerun文档还可以导出为faerun数据文件,然后可以使用web模块托管该文件。

importpicklewithopen('helix.faerun','wb+')ashandle:pickle.dump(f.create_python_data(),handle,protocol=pickle.HIGHEST_PROTOCOL)

完整示例

importpickleimportnumpyasnpfromfaerunimportFaerundefmain():f=Faerun(title='faerun-example',clear_color='#222222',coords=False,view='free')x=np.linspace(0,12.0,326)y=np.sin(np.pi*x)z=np.cos(np.pi*x)c=np.random.randint(0,2,len(x))data={'x':x,'y':y,'z':z,'c':c,'labels':c}f.add_scatter('helix',data,shader='sphere',colormap='Dark2',point_scale=5.0,categorical=True,has_legend=True,legend_labels=[(0,'Zero'),(1,'One')])f.plot('helix')withopen('helix.faerun','wb+')ashandle:pickle.dump(f.create_python_data(),handle,protocol=pickle.HIGHEST_PROTOCOL)if__name__=='__main__':main()

主持

简介

虽然可以很容易地创建小图并将其存储在单个html和javasc中然后将脚本文件完全加载到浏览器内存中,由于浏览器的限制,这对于较大的数据集是不可能的。 为了解决这个问题,faerun包含了一个小型http服务器(基于cherrypy)来向浏览器提供数据。

创建faerun数据文件

如"入门"中所示,faerun可以使用pickle将数据保存为.faerun数据文件。

pip install faerun
0

启动Faerun Web服务器

pip install faerun
1

格式化标签

可以通过定义自定义的标签格式化程序来格式化标签。如果未向主机函数提供标签格式化程序,则使用默认值:

pip install faerun
2

此默认值拆分'上的标签值,以存储不同的标签并启用对显示的标签的不同值的搜索。有关详细信息,请参阅"搜索"。定义自定义标签格式化程序是直接的。例如,让我们在每个标签前面加一个字符串,然后添加它们的索引和层名称:

pip install faerun
3

每当从服务器请求标签时,就会调用此函数。除了参数label之外,参数indexname还可用于进一步自定义显示的标签,并表示数据点及其所属数据层的整数索引(例如,用add\u scatter定义的名称)。

image

添加超链接

faerun允许将数据链接到任意url,双击数据点即可访问该url。为此,必须提供链接格式设置工具。这与自定义标签类似。

pip install faerun
4

搜索

faerun可视化的宿主版本也允许搜索。默认情况下,搜索会在标签中搜索完全匹配的项(此时无法进行子字符串或正则表达式搜索)。

image

但是,可以自定义搜索。如"格式化标签"中所述,可以通过使用'分隔标签值来添加其他标签值。

pip install faerun
5

上面的示例添加了一个附加标签值,默认情况下,搜索将使用第二个标签值。

image

如果有其他标签值,可以使用search_index参数设置搜索索引。

添加信息/文档

由于可视化已准备好部署到可公开访问的web服务器上,因此可能需要添加文档。host方法支持接受(标记格式)字符串的参数info。此信息显示在生成的网页上。

pip install faerun
6

屏幕截图按钮旁边会显示一个"信息"按钮,单击该按钮将打开一个包含信息的窗口。

完整示例

pip install faerun
7

示例

此外,tmap的文档提供了大量使用faerun的示例。参见此处的

文档

费伦

pip install faerun
8

创建一个faerun对象,该对象是一个空的打印曲面,其中 可以添加散点图等图层。

faerun的构造函数。

  • 关键字参数

    • 标题str,可选)–绘图标题

    • 清除颜色str,可选)–绘图的背景色

    • 坐标bool,可选)–显示绘图中的坐标轴

    • 坐标轴的颜色str,可选)–坐标轴的颜色

    • 坐标框bool,可选)–在坐标轴周围显示一个框

    • 坐标勾号bool,可选)–在坐标轴上显示勾号

    • 坐标网格bool,可选)–扩展勾号以创建网格

    • 坐标刻度计数int,可选)–每个轴显示的刻度数

    • 坐标刻度长度float,可选)–坐标刻度的长度

    • 坐标轴偏移量浮点,可选)–添加到坐标轴的偏移量

    • x轴标题str,可选)–x轴标题

    • Y轴标题str,可选)–Y轴标题

    • 显示图例bool,可选)–是否显示图例

    • 图例标题str,可选)–图例标题

    • 图例的方向str,可选)–图例的方向('vertical'或'horizontal')

    • 图例数字格式str,可选)–应用于图例中显示的数字的格式字符串

    • 视图str,可选)–视图(前、后、上、下、左、右、自由)

    • 缩放浮点,可选)–缩放坐标的大小(标准化)

    • alpha_混合bool,可选)–是否激活alpha混合(smoothcircle着色器需要)

    • 样式dict[str,dict[str,any]],可选)–应用于HTML元素的CSS样式

pip install faerun
9

faerun的构造函数。

  • 关键字参数

    • 标题str,可选)–绘图标题

    • 清除颜色str,可选)–绘图的背景色

    • 坐标bool,可选)–显示绘图中的坐标轴

    • 坐标轴的颜色str,可选)–坐标轴的颜色

    • 坐标框bool,可选)–在坐标轴周围显示一个框

    • 坐标勾号bool,可选)–在坐标轴上显示勾号

    • 坐标网格bool,可选)–扩展勾号以创建网格

    • 坐标刻度计数int,可选)–每个轴显示的刻度数

    • 坐标刻度长度float,可选)–t的长度他协调滴答声

    • 坐标轴偏移量浮点,可选)–添加到坐标轴的偏移量

    • x轴标题str,可选)–x轴标题

    • Y轴标题str,可选)–Y轴标题

    • 显示图例bool,可选)–是否显示图例

    • 图例标题str,可选)–图例标题

    • 图例的方向str,可选)–图例的方向('vertical'或'horizontal')

    • 图例数字格式str,可选)–应用于图例中显示的数字的格式字符串

    • 视图str,可选)–视图(前、后、上、下、左、右、自由)

    • 缩放浮点,可选)–缩放坐标的大小(标准化)

    • alpha_混合bool,可选)–是否激活alpha混合(smoothcircle着色器需要)

    • 样式dict[str,dict[str,any]],可选)–应用于HTML元素的CSS样式

fromfaerunimportFaerun
0

在绘图中添加分散层。

  • 参数

    • 名称str)–层的名称

    • 数据dictdataframe)–包含数据的python dict或pandas数据框

  • 关键字参数

    • 映射dict,可选)–包含输入dict中的数据或pandas中的列名的键dataframe

    • colormapstrcolormap,可选)–colormap的名称(也可以是matplotlib colormap对象)

    • 着色器str,可选)–用于数据点可视化的着色器的名称

    • 点刻度浮点,可选)–数据点的相对大小

    • 最大点大小int,可选)–放大时数据点的最大大小

    • 雾强度浮动,可选)–距离雾的强度

    • 饱和度限制浮动,可选)–避免"灰色汤"的最小饱和度

    • 分类bool,可选)–此散射层是否分类

    • 交互式bool,可选)–此散射层是否交互式

    • 具有图例bool,可选)–是否绘制图例

    • 图例标题str,可选)–图例的标题

    • 图例标签dict,可选)–将值映射到图例标签的dict

    • 最小图例标签联合[str,float],选项)–用于范围内(非分类)图例中最小值的标签

    • max_legend_labelunion[str,float],option)–用于范围内(非分类)图例中最大值的标签

fromfaerunimportFaerun
1

在绘图中添加一个树层。

  • 参数

    • 名称str)–层的名称

    • 数据dictdataframe)–一个python DIC包含数据的t或pandas数据框

  • 关键字参数

    • 映射dict,可选)–包含输入dict或数据帧中数据的键

    • 颜色str,可选)–树的默认颜色

    • colormapstrcolormap,可选)–colormap的名称(也可以是matplotlib colormap对象)

    • 雾强度浮动,可选)–距离雾的强度

    • 点辅助对象str,可选)–要与此树层关联的散射层的名称(坐标源)

fromfaerunimportFaerun
2

返回定义包含数据的javascript对象的javascript字符串。

  • 返回

    定义包含数据的对象的javascript代码

  • 返回类型

    str

fromfaerunimportFaerun
3

返回包含数据的python dict

  • 返回

    此faerun实例中定义的数据

  • 返回类型

    dict

fromfaerunimportFaerun
4

从指定的输入映射创建n-bin离散颜色映射。

  • 参数

    n_colorsint)–要生成的离散颜色数

  • 关键字参数

    基本CMAPstr)–作为离散映射基础的颜色映射

  • 返回

    离散颜色映射

  • 返回类型

    彩色地图

fromfaerunimportFaerun
5

从该绘图仪实例中获取最小和最大坐标

  • 返回

    最小和最大坐标

  • 返回类型

    元组

fromfaerunimportFaerun
6

检查代码是否在ipython笔记本中运行。

  • 返回

    代码是否在ipython笔记本中运行

  • 返回类型

    bool

fromfaerunimportFaerun
7

将数据打印到HTML/JS文件。

  • 关键字参数

    • 文件名str,可选)–HTML/JS文件的名称

    • 路径str,可选)–写入HTML/JS文件的路径

    • 模板str,可选)–要使用的模板的名称

Web

fromfaerunimportFaerun
8

启动承载faerun可视化的cherrypy服务器。

  • 参数

    路径str)–指向Fearun数据文件的路径

  • 关键字参数

    • 标签类型str)–标签的类型

    • 主题str)–前端使用的主题

    • 标题str)–HTML文档的标题

    • 标签格式化程序可调用[[str,int,str],str])–用于格式化标签的函数

    • 链接格式化程序可调用的[[str,int,str],str])–用于格式化链接的函数

    • 信息str)–包含标记内容的字符串,在可视化中显示为信息

    • 图例bool)–是否显示le< > > >

    • 图例标题str)–图例的标题

    • 视图str)–视图类型('front'、'back'、'top'、'bottom'、'right'、'left'或'free')

    • 搜索索引int)–用于搜索的标签值中的索引

待办事项

  • []添加绘制形状和颜色的功能
  • [X]使输出模板化

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在构造函数外部添加鼠标侦听器   java如何使用比较器对列表进行排序以正确排序空值?   javajavax。由于javax,邮件“535.7.3身份验证失败”。邮件升级(v1.3.1至v1.5.2)   java将arraylist流到固定的二维数组中并打印?   RecyclerView适配器上的java上下文   java如何为此Twitter API为KafkaProducer建立连接   java Spring安全性重写WebSecurity配置适配器的配置(AuthenticationManagerBuilder)是否会影响全局应用程序?   线程“awteventque0”NullPointerException中的java异常   if条件中的null值和null指针异常java   java树集<Object>允许相同类型的多个对象   java定义类;我认不出   字符串java replaceAll()   JAVAutil。scanner(Java)读取文件时如何跳过空格?   java在swing中关闭flash屏幕   java在Wildfly 16中的应用程序中加载pk12文件   有没有工具可以自动生成屏幕抓取的Java代码   创建意图时,java方法getParcelableExtra()返回null   将数据从java传递到jsp   java Android Studio |永久保存布局