我正在使用C#,我有两个list<AACoordinate>,其中这些列表中的每个元素用x,y和z表示空间中的3D点.
class AACoordinate
{
public int ResiNumber { get; set; }
public double x { get; set; }
public double y { get; set; }
public double z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每个列表可以包含2000个或更多点,我的目的是将list1的每个点与list2的所有点进行比较,如果距离小于特定的数字,我会记录它.目前我使用foreach将list1的每个元素与list2的所有元素进行比较.由于点数的原因,这很慢.你有什么建议让它快速吗?
我的循环是:
foreach (var resiSet in Program.atomList1)
{
foreach (var res in Program.atomList2)
{
var dis = EuclideanDistance(resiSet, res);
if (dis < 5)
temp1.Add(resiSet.ResiNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我是R的新手,我遇到了问题.我试图在表中读取一组数据,我想执行线性建模.以下是我读取数据和变量名称的方法:
>data =read.table(datafilename,header=TRUE)
>names(data)
[1] "price" "model" "size" "year" "color"
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用变量的不同组合(价格是目标)创建几个线性模型,例如:
> attach(data)
> model1 = lm(price~model+size)
> model2 = lm(price~model+year)
> model3 = lm(price~model+color)
> model4 = lm(price~model+size)
> model4 = lm(price~size+year+color)
#... and so on for all different combination...
Run Code Online (Sandbox Code Playgroud)
我的主要目的是比较不同的模型.是否有更聪明的方法来生成这些模型而不是对变量进行硬编码,尤其是在某些情况下我的变量数量将增加到13左右.
我保存了一个残基编号列表, centerResidueList = [100, 140, 170, 53]我正在尝试从这组残基中获取所有相邻的残基。
目前我正在使用下面的脚本,我是否处理了整个 PDB 文件并生成了一个距离为 10.0 的原子对列表,然后遍历列表并检查列表中的残基编号是否all_neighbors对应于centerResidueList.
from Bio.PDB import *
centerResidueList = [100, 140, 170, 53]
neighbours_resi_number = []
structure = PDBParser().get_structure('X', "1xxx.pdb")
atom_list = Selection.unfold_entities(structure, 'A')
ns = NeighborSearch(atom_list)
all_neighbors = ns.search_all(10.0, "R")
for residuepair in all_neighbors:
resi_number = residuepair[0].id[1]
if resi_number in centerResidueList:
resi_number_partner = residuepair[1].id[1]
neighbours_resi_number.append(resi_number_partner)
Run Code Online (Sandbox Code Playgroud)
首先,我如何只创建atom_listusing CA 原子?
其次,residuepair[0].id[1]生成残差数的方法是否正确(它有效,但有没有办法得到它)?
最后,有没有更好的解决方案来实现这一目标?
我有一个镶木地板文件,它有一个包含几列的简单文件架构。我使用下面的代码将其读入python
from fastparquet import ParquetFile
pf = ParquetFile('inout_files.parquet')
Run Code Online (Sandbox Code Playgroud)
这运行良好,但是当我使用下面的代码将其转换为 pandas 时,出现以下错误:
df = pf.to_pandas()
Run Code Online (Sandbox Code Playgroud)
错误是:
Run Code Online (Sandbox Code Playgroud)NotImplementedError: Encoding 4
为了找到错误的来源,我分别df=pf.to_pandas(columns=col_to_retrieve)添加了列,并注意到错误是从具有字符串列表(例如(“a”、“b”、“c”))作为每个单元格值的列之一引发的列。
您知道如何将它转换为 Pandas 吗?知道有类型为 set(string) 的列吗?
python ×2
algorithm ×1
automation ×1
biopython ×1
c# ×1
coordinates ×1
fastparquet ×1
list ×1
lm ×1
pandas ×1
r ×1
variables ×1