SpringSaLaD: auto-generated _tot observables land in the wrong structure, and there is no way to move one
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 72/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Java
- Stelle
- 140
- Fork
- 35
- Merge medio
- 22h 6m
- PR unite (30g)
- 14
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di virtualcell/vcell
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
virtualcell/vcell#2193 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
virtualcell/vcell#2138 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
virtualcell/vcell#2137 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
virtualcell/vcell#2135 ·
I maintainer di solito rispondono entro 1 giorno
-
Accessibility Requirement Java-based User Interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
virtualcell/vcell#2134 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di virtualcell/vcell
Issue simili
-
account bug exercise lecture programming user interface
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ls1intum/Artemis#14512 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
swiftlang/swift-java#955 ·
I maintainer di solito rispondono entro 1 giorno
-
Good First Issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
hiero-ledger/hiero-sdk-java#3044 ·
I maintainer di solito rispondono entro 1 giorno
-
A second build without clean fails in resources-optimizer-maven-plugin because minified files are minified againForse già presa @papegaaij l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
hermes-queue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
chrisalunlloyd2-sudo/mindpalace#337 ·
I maintainer di solito rispondono entro 1 giorno