SpringSaLaD: auto-generated _tot observables land in the wrong structure, and there is no way to move one
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start at Model.createObservable in vcell-core/src/main/java/bit/vcell/model/Model.java:1524-1550 (actual path vcell-core/src/main/java/bit/vcell/... per payload: vcell-core/src/main/java/bit/vcell/model/Model.java) and see how the getStructure(0) fallback interacts with a molecule's anchor restriction. Then inspect ObservableTableModel:195 for the Structure column and addObservable's empty SpeciesPattern seed. Done looks like: creating an anchored molecule yields an observable in a valid structure with no Problems-tab warning, verified by the three-compartment SpringSaLaD reproduction.
索引モデルが issue の本文から書いたものです。
説明
Found while writing a SpringSaLaD tutorial script. In a three-compartment SpringSaLaD
model, every observable VCell creates for you lands in Extracellular, and for an
anchored molecule that is a standing warning with no remedy but deletion.
What happens
Creating a molecule creates an observable counting it. Model.createObservable
(vcell-core/src/main/java/cbit/vcell/model/Model.java:1524-1550) falls back to
getStructure(0) when no structure is given, and in a SpringSaLaD model structure 0 is
Extracellular.
For a molecule anchored to the membrane, that is immediately wrong, and the Problems tab
says so:
Molecule RK cannot be present in the structure due to anchoring.
The Structure column is not editable — ObservableTableModel:195 returns false for it
unconditionally — so the observable cannot be moved to where it belongs.
And the replacement route leaves its own complaint
The obvious workaround is to delete it and create a new one through
New > In Membrane Membrane, which does ask for a compartment. That produces an observable
in the right structure with the right pattern, and a different warning:
Molecule of Species Pattern is empty.
addObservable(o) seeds the new observable with o.addSpeciesPattern(new SpeciesPattern()),
and setting the BioNetGen definition afterwards does not consume that empty pattern. There
is no table-reachable way to remove it.
So neither path reaches a clean model, and the only way to have no warnings is to have no
observable for the anchored molecule at all.
Reproduction
- Three structures named
Extracellular/Membrane/Intracellular. - A molecule
RK(B~State0~State1,Anchor~Anchor,K~Off~On), anchored toMembranevia
Object Properties > "Only these:" > Membrane. - A seed species for it, created
In Membrane Membrane. - Look at Observables, and at the Problems tab.
Suggested fixes
- The auto path could use the molecule's anchor. When a molecule is restricted to one
structure, that structure is the only sensible home for an observable counting it. - Failing that, make the Structure column editable, restricted to the structures the
molecule is allowed in. - Separately, the empty seed species pattern should be consumed when a definition is set,
or not created until there is something to put in it.
Note
Nothing is actually lost for a SpringSaLaD run: LangevinLngvWriter does not read
observables at all, and SpringSaLaD results come from the solver's own molecule, state,
bond, site and cluster counters. The cost is a model that cannot be made warning-free,
which matters most to a new user who does not yet know which warnings to ignore.
- 主要言語
- Java
- スター
- 140
- フォーク
- 35
- 平均マージ
- 17時間 39分
- マージ済み PR(30日)
- 19
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
virtualcell/vcell のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
virtualcell/vcell#2193 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Accessibility Requirement Java-based User Interface
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
virtualcell/vcell#2138 ·
メンテナーはふだん 1 日以内に返信
-
Accessibility Requirement Java-based
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
virtualcell/vcell#2137 ·
メンテナーはふだん 1 日以内に返信
-
Accessibility Requirement User Interface
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
virtualcell/vcell#2135 ·
メンテナーはふだん 1 日以内に返信
-
Accessibility Requirement Java-based User Interface
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
virtualcell/vcell#2134 ·
メンテナーはふだん 1 日以内に返信
virtualcell/vcell の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ahmedmmordi/store-app#8 ·
-
jhipster heroku fails on heroku git:remote when reusing an existing app outside a git repositoryオープンarea: triage theme: undefined
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
jhipster/generator-jhipster#36018 ·
メンテナーはふだん 1 日以内に返信
-
component/zeebe kind/feature scope/broker
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信