是的,Arbor模拟允许进行脉冲记录的排名检查。下面是一个简单的示例代码,可以使用Python API来完成此操作:
import arbor
# 创建所需的cell和morphology
tree = arbor.segment_tree()
tree.append(arbor.mnpos, (0,0,0,6), (0,0,0,6)) # 添加初始段
cell = arbor.label_dict({'soma': arbor.region(arbor.mnpos, 0)})
cell.set_properties(Vm = -40)
# 建立并添加细胞类型单元
cat = arbor.cable_cell(tree, cell)
cat.set_properties(Vm = -40)
# 添加脉冲记录器和排名检查器
cat.place('stim', arbor.iclamp(0, 100, 100))
rec = arbor.spike_recorder()
cat.place(rec)
rank = arbor.ranking_comparator()
cat.place(rank)
# 组装并运行模拟
mml = arbor.morphology(tree)
ctx = arbor.context()
gid = 0
cat.attach(ctx, mml)
cat.initialize(ctx)
# 运行模拟
for i in range(10):
cat.advance(ctx, 0.01*i)
# 获取结果并输出脉冲和排名
spikes = rec.data()
print("Spike times:", spikes)
ranks = rank.data()
print("Rankings of spike times:", ranks)
该代码创建了一个初始段为6的单个细胞类型单元,并在其上放置了一个刺激输入器、一个脉冲记录器和一个排名检查器。然后该模拟运行了10个时间步长(步长为0.01)。最后,我们通过rec.data()
和rank.data()
获取脉冲和排名数据并输出。
注意,本代码示例使用了Python API,但也可使用其他API来实现此功能。