在药学的Ai研发过程中,经常要制作清洗文件和处理各种文件格式。利用openBabel这样功能能够大大减轻转换过程的麻烦。然而偶然也需要应对一下场景下处理xyz文件抽取相关的坐标体系去计算小分子之间的作用力。用于制药方面探索发现。

我们知道通过Rust写起来会繁琐一些,python在书写方面处理文件相对容易一些。相对2者,Rust性能就摆在那里,这是python无法比拟的。不过在大多数科研领域,python的优势还是很明显不用过于在乎语法门槛。

python处理这些文件经常有2个常见任务,一是处理同种的文件提取关键信息,二是批量处理对应的关键信息。这一些对于不是编程领域的科研人员会有一些头脑之处。

下面简单一点读取一个体系的xyz文件,处理返回这个体系的xyz三维坐标。(这里没有涉及到面向对象去封装。仅仅只是一个小小案例)

# 12
#
# C       19.51600       14.54700       13.49400
# C       19.29600       15.68700       14.23800
# H       18.77340       15.62000       15.18530
# C       19.72400       16.87500       13.79700
# H       19.56810       17.76250       14.39960
# C       20.35800       16.97500       12.58800
# H       20.69480       17.94310       12.23520
# C       20.56200       15.90100       11.84900
# H       21.04700       15.99740       10.88430
# C       20.16600       14.66300       12.29000
# H       20.36530       13.78170       11.69110
# H       19.18030       13.57230       13.85480def read_one_xyz(filename):xyz = []with open(filename, 'r') as f:content = f.read()contact = content.split('\n')for line in contact:if line == '' or line.isdigit():continueelse:atom = line.split()xyzitem = {'symbol': atom[0], 'position': {"x": atom[1], "y": atom[2], "z": atom[3]}}xyz.append(xyzitem)return xyzif __name__ == '__main__':xyz = read_one_xyz('1obx_b2.xyz')for f in xyz:print(f)

读取之后,看看这个文件数据。看如下图,看起来非常简单将数据
提取出来。

好了,这个就是对一个文件的读取。利用Avogadro工具观察我们读取的文件。刚好我们提取是一个苯环结构构象。有2给化学键。一个碳和一个氢。
这个就是我们研究的苯环对象信息。

好了,利用python的便利之处,就可以方便为我们计算带来方便之门。

python学习笔记:读取xyz文件相关推荐

  1. Python学习笔记D9(文件)

    Python学习笔记D9(文件) 文件 1.打开文件 open(file, mode='r') 接收两个参数:文件名(file)和模式(mode),用于打开一个文件,并返回文件对象,如果该文件无法被打 ...

  2. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习. ## python文件读写 `1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ...

  3. 深度之眼 - Python学习笔记——第八章 文件、异常和模块

    第八章 文件.异常和模块 实际应用中,我们绝大多数的数据都是通过文件的交互完成的 8.1 文件的读写 8.1.1 文件的打开 文件的打开通用格式 with open("文件路径", ...

  4. python学习笔记之操作文件,模块使用

    文件操作: 基础操作: 创建/打开文件: #语法 file=open(filename,mode='r',buffering=-1,encoding=None,errors=None,newline= ...

  5. Python学习笔记九:文件I/O

    打印到屏幕: 1 #!/usr/bin/python 2 3 print "Python is really a great language,", "isn't it? ...

  6. Python学习笔记之头部文件

    首先是设置Python的运行模式 即我们常见的开头那一行#!/usr/bin/python3或者#!/usr/bin/python 主要是用来指定运行方式 与我们在终端中输入:python3 xxx. ...

  7. 【Python学习笔记】- 04 文件操作

    对文件的操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 准备一个待读取的文件 <斗破苍穹>是一本连载于起点中文网的古装玄幻小说,作者是起点白金作家天蚕土 ...

  8. Python学习笔记三(文件操作、函数)

    一.文件处理 1.文件打开模式 打开文本的模式,默认添加t,需根据写入或读取编码情况添加encoding参数. r   只读模式,默认模式,文件必须存在,不能存在则报异常. w  只写模式,若文件不存 ...

  9. python敏感词过滤代码简单代码,Python学习笔记系列——读写文件以及敏感词过滤器的实现...

    一.读文件 #打开文件,传入文件名和标识符,r代表读 f= open('\\Users\ZC\Desktop\zc.txt','r') #调用read方法一次性读取文件的全部内容,存入内存,用str对 ...

  10. java txt 写入pdf_java学习笔记 读取pdf文件并写成txt文件输出

    1.用到的jar有:pdfbox-1.8.4.jar ,fontbox-1.8.4.jar ,pdfbox-app-1.8.4.jar , preflight-1.8.4.jar,preflight- ...

最新文章

  1. 公开课 | 人脸识别的最新进展以及工业级大规模人脸识别实践探讨
  2. wpf计算字符大小占像素_[读书笔记]《计算机科学速成课》——23 屏幕与2D图像显示...
  3. C# WebService发布与调用方法(转)
  4. 一致性算法(paxos,raft,ZAB)——paxos算法(大概)
  5. termux pythonlxml安装_将安卓手机打造成你的python全栈开发利器
  6. pom.xml增加依赖
  7. java中定义类头的修饰符,JAVA中定义类头时能使用的修饰符是什么
  8. 学习总结——Selenium元素定位
  9. cgo的效率 golang_golang CGO FAQ TIPS : cgo 从 C 传递 slice 到 go
  10. Realme首款5G手机真我X50官宣:支持SA/NSA双模5G
  11. devexpress实现模仿Win8桌面metro风格
  12. 区块链专家洪蜀宁:实现全民普惠的专业化产品设计 | 11月24日【区块链技术与实践】论坛...
  13. Redis技术架构演进
  14. 2019unity游戏开发需要学什么?
  15. OS学习笔记-17(清华大学慕课)进程的同步和互斥
  16. 非易失内存技术NVDIMM
  17. 万用表测量二极管方法
  18. 删除 Mac OS X 中“打开方式”里重复或无用的程序列表
  19. TL-WR886N密码JS加密
  20. php判断小程序分享群,微信小程序区分分享到群和好友

热门文章

  1. thinkpad t440p不亮机故障修复
  2. 黑白激光打印机打印时出现黑道,怎么办?
  3. 在word2021中用mathtype插入公式时, 公式的前面出现黑点,如何去掉该格式?
  4. 三星s8怎么分屏操作_老用户感动哭了!三星S8获安卓10更新
  5. (年代久远的)常用表情符号
  6. C++定义全局变量的方法
  7. 我的世界给钻石最多的服务器,《我的世界》世界最强的原版生存服务器,100%纯机器化!天秀...
  8. 两个ESP8266通过云端实现远程数据交互
  9. 总结12个python代码
  10. idea打不开项目,窗口不显示问题