python 化学结构_PyOrganic
PyOrganic
介紹
一個使用類來描述有機化合物結構的Python庫。
架構
Compound:描述化合物
Atom(抽象類) -> Carbon, Hydrogen:描述原子
Bond(抽象類) -> SingleBond, DoubleBond, TripleBond:描述鍵
示例
from PyOrganic import * # 導入 PyOrganic
Methane = Compound() # 定義化合物甲烷
C1 = Carbon(Methane) # 定義5個原子
H1 = Hydrogen(Methane)
H2 = Hydrogen(Methane)
H3 = Hydrogen(Methane)
H4 = Hydrogen(Methane)
SingleBond(C1, H1) # 連接原子
SingleBond(C1, H2)
SingleBond(C1, H3)
SingleBond(C1, H4)
Methane.entry_atom = C1 # 設置根原子
print(Methane.chemical_formula) # 輸出化學式 -> CH?
文檔
class Compound
化合物
方法
def __init__(self)
構造化合物
屬性
entry_atom: Atom
訪問該化合物的入口點
只讀屬性
atoms: list[Atom]
該化合物所擁有的原子
chemical_formula: str
化學式
name: str
系統命名法下的名稱(待補)
class Atom
原子
方法
def __init__(self, name: str, symbol: str, max_bonds: int, compound: Compound)
構造原子
name : 原子名稱
symbol : 元素符號
max_bonds : 最大能連接的鍵數
compound : 從屬的化合物
def set_bond(self, bond: Bond)
在該原子上單方面連接新的鍵
bond : 新連接的鍵
def spread(self, atoms: Iterable[Atoms])
遞歸尋找化合物中所有原子
atoms : 由所有原子組成的列表
只讀屬性
bonds: list[Bond]
獲得原子上所連的鍵的集合
compound: Compound
該原子所屬化合物
max_bonds: int
最大可連的鍵的數量
name: str
原子名稱
next_atoms: list[Atom]
與該原子相連的原子
rest_bonds_value: int
剩余可連的鍵的數量
symbol: str
元素符號
class Carbon(Atom)
碳原子
方法
__init__(self, compound: Compound) => Atom.__init__('碳', 'C', 4, compound)
構造碳原子
compound : 從屬的化合物
class Hydrogen(Atom)
氫原子
方法
__init__(self, compound: Compound) => Atom.__init__('氫', 'H', 1, compound)
構造氫原子
compound : 從屬的化合物
class Bond
鍵
方法
def __init__(self, left_atom: Atom, right_atom: Atom, value: int, name: str):
構造鍵
left_atom : 鍵左側的原子
right_atom : 鍵右側的原子
value : 鍵值(共用電子對數),單鍵為1,雙鍵為2,叁鍵為3
name : 鍵名
只讀屬性
left_atom: Atom
鍵左邊連的原子
right_atom: Atom
鍵右邊連的原子
value: int
鍵值(共用電子對數),單鍵為1,雙鍵為2,叁鍵為3
name: str
鍵名
class SingleBond(Bond)
方法
def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 1, '單鍵')
構造單鍵
left_atom : 鍵左側的原子
right_atom : 鍵右側的原子
class DoubleBond(Bond)
方法
def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 2, '雙鍵')
構造雙鍵
left_atom : 鍵左側的原子
right_atom : 鍵右側的原子
class TripleBond(Bond)
方法
def __init__(left_atom: Atom, right_atom: Atom) => Bond.__init__(leftatom, rightatom, 3, '叁鍵')
構造叁鍵
left_atom : 鍵左側的原子
right_atom : 鍵右側的原子
class NotTheSameCompoundError(Exception)
當不同化合物的原子試圖成鍵時拋出
class NotEnoughBondsError(Exception)
當剩余可連的鍵不足的原子試圖成鍵時拋出
貢獻者
ZZH
NKID00
總結
以上是生活随笔為你收集整理的python 化学结构_PyOrganic的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 计算股票高低点_[转载]股市中
- 下一篇: php软件安装及调试_PHP调试利器XD