问题标签 [chemistry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将组合的索引与值相关联
我正在开发一个程序,我需要组合原子之间的距离或 3D 空间中的各个点。这是一个例子:
文件“测试”包含以下信息:
我希望我的代码计算点之间距离的所有组合(我已经完成了!),然后,我需要计算一个原子与另一个原子之间的距离小于 2.2 的次数。
这用词令人困惑,所以我将向您展示我到目前为止所得到的。
我不确定列出这些清单是否对我有帮助。到目前为止,他们还没有。
输出是:
我需要从这个输出中得到的一件事是每个原子的距离小于 2.2 的次数,例如:
我还需要看看是什么两个原子使小于 2.2 的距离。我这样做是为了计算鲍林费用;这是你需要查看一个原子的地方,确定它有多少键(原子距离小于 2.2 埃),然后查看连接到该原子的原子,看看有多少原子连接到那些。这非常令人沮丧,但这一切都将取决于跟踪每个原子,而不仅仅是它们的组合。数组可能会非常有用。
arrays - 如何在 perl 上正确指定这些变量?
我运行了一个分子动力学模拟,它给了我 2,000 个轨迹文件。这些文件的文件名格式au25-c2-benzalacetone.001
最多为 2000。我编写了一个通用的 perl 程序,但它没有读取 2,000 个文件。如何修改我的代码,使其读取每个文件并分别提取我想要的每个文件的坐标?我需要 2,000 个coordinates_of_interest.dat
文件。这里的修补程序文件是au25-c2-benzalacetone
文件。这是我写的代码:
~
~
~
java - 解析表示化学反应的字符串并验证该反应是否可能
我必须编写一个程序,将用户的化学方程式作为输入,例如 12 CO2 + 6 H2O -> 2 C6H12O6 + 12 O2,并观察两个站点上的原子量是否相同。有什么方法可以轻松计算和解析吗?
例如:
12 CO2 + 6 H2O -> 2 C6H12O6 + 12 O2
12*2+6*2 -> 2*6+2*12+2*6+12*2
在这种情况下,应该有输出“假”。
这是我的代码,但实际上只是为了尝试一些东西:
c++ - 用元素混合物解析化学式
我想使用 boost::spirit 来从粗略公式中提取由几种元素组成的化合物的化学计量。在给定的化合物中,我的解析器应该能够区分三种化学元素模式:
- 由天然丰度的同位素混合物构成的天然元素
- 纯同位素
- 非自然丰度的同位素混合物
然后使用这些模式来解析以下化合物:
- "C" --> 由天然丰度的 C[12] 和 C[13] 制成的天然碳
- "CH4" --> 由天然碳和氢组成的甲烷
- "C2H{H[1](0.8)H[2](0.2)}6" --> 由天然 C 和由 80% 的氢和 20% 的氘组成的非天然 H 制成的乙烷
- "U[235]" --> 纯铀 235
显然,化学元素模式可以是任何顺序(例如 CH[1]4 和 H[1]4C ...)和频率。
我写了我的解析器,它非常接近完成这项工作,但我仍然面临一个问题。
这是我的代码:
基本上,每个单独的元素模式都可以使用它们各自的语义动作正确解析,从而生成构建化合物的同位素及其相应化学计量之间的映射图。解析以下化合物时问题开始:
CH{H[1](0.9)H[2](0.4)}
在这种情况下,语义动作build_isotopes_mixture
返回 false,因为 0.9+0.4 对于比率的总和是没有意义的。因此,我会期望并希望我的解析器无法处理这个化合物。但是,由于对_start
三种化学元素模式使用替代运算符的规则,解析器设法通过 1) 丢弃{H[1](0.9)H[2](0.4)}
部分 2) 保留前面的部分H
3) 使用_naturalElementToken
. 我的语法是否不够清晰,无法表达为解析器?如何以这样的方式使用替代运算符,当发现一个事件但在运行语义动作时给出了一个false
,解析器停止?
python - 计算从集合节点到所有其他节点的最短路径,其中一些节点被禁止进入路径
我想在 Python 中实现以下内容,但不知道从哪里开始。这种类型的最短路径问题是否有好的模块?
我试图在给定的 xyz 坐标集合中为 3D 化学结构(图表)定义从特定原子(节点)到所有其他原子(节点)的最短路径。原子(节点)之间的键是允许从一个节点到另一个节点的移动的边。
我试图根据从选定中心节点向外的连接性从分子(图)中过滤掉某些原子(节点)。
**对于考虑的路径,我想禁止某些原子(节点)被交叉。如果从 A 到 B 的最短路径是通过禁止节点,则该答案是不允许的。从 A 到 B 的最短路径不能包括禁止节点**
如果从所选中心原子 (A) 到另一个其他节点 (B) 的最短路径包括禁止节点,并且没有通过可用边(键)从 A 到 B 的其他可用路径,则应从节点 B 中删除要保存的最后一组 xyz 坐标(节点)。
对于结构(图)中的所有其他原子(节点),应该对 A 到 C、A 到 D、A 到 E 等重复此操作。
提前感谢您提供的任何帮助。
chemistry - InChI可以代替指纹用于化学结构搜索吗
我认为使用 InChI 的主层、电荷层和立体化学层(InChI String),我们仍然可以比较化学分子结构搜索(Similarity and Substructure search),但是为什么大多数应用程序都使用化学指纹进行相似性搜索或子-结构搜索。InChI 中缺少可通过化学指纹(如日光或任何其他指纹)获得的内容
chemistry - 如何确定化学反应的优先级?
如果一个容器中有多个化学反应,如何确定这些反应的顺序。
例如,一个烧杯中有三种化学物质,分别称为 A、B 和 C。化学物质 A 可以与 B 反应,A 也可以与 C 反应。是否有任何规则来决定化学反应的优先级?
function - R:定义函数的问题
几个小时以来,我一直在努力解决以下问题:我正在尝试获得一个适合我测量数据的函数。但是,我需要说明我选择特定功能的原因。在仔细阅读了一些关于方解石成核和生长的文献后,我们认为描述碳酸钙成核时间的函数必须具有以下形式:
时间(s) = (I^a) (pH^b) ((化学计量(r_aq))^c)*((omega-1)^d)
其中,I - 离子强度,omega = 饱和度,a、b、c、d 是几个参数。(例如d是晶体生长的类型)。
首先,我想通过假设恒定的 pH 值、饱和度和离子强度来检查 c 参数值(我有这方面的实验数据)。最终,我试图通过 nls 函数获取所有参数值,因此有人可以在几种地球化学条件下判断成核时间的范围。
但是,我对这个目标有两个问题:
1)该功能似乎无法正常工作。它给了我关于 递归默认参数引用/早期问题和参数丢失的错误,我无法修复(我认为它很容易修复)
2) nls 函数本身在初始参数估计时给我一个关于奇异梯度矩阵的错误。
我试图用谷歌搜索我的错误,但不幸的是我无法自己修复它们。有关功能部分的代码如下
从我的测量中绘制的数据:测量1
(不知道能不能打开)