Comments (7)
The thing I'd do is to have the types that depend on each other in a single file (together with the accessors), and put the rest of the stuff (prettyprinting etc.) to another directory so that the file isn't huge.
I've got this on the list of things to make nicer; aReaction
seems just wrong. 😁
from cobrexa.jl.
I don't mind ... the idea was to keep maintenance low (not have to maintain the list of file names), but if it introduces other inconveniences, I am fine with changing.
The only question I have is why does the order matter so much when including the files?
from cobrexa.jl.
@exaexa's solution would solve my issue, but I still prefer the super obvious: file-name == everything-to-do-with-that-struct "convention" I have currently. Otherwise a person new to the repo might have to go hunting for where a function is defined (I think?). However, this can quickly become murky because some functions use more than one struct, so it is debatable where they should go... At the moment each CobraTools originating file in the folder "types" only contains the really basic functions one would need for that type.
@laurentheirendt so in my case the order matters because I use Reaction
in CobraModel
but the file containing the definition of Reaction
is alphabetically after the file containing the definition for CobraModel
. This causes Julia to error when loading the package. I'm not sure if the way I am doing it is wrong though (from a style pov)?
from cobrexa.jl.
the main technical problem is that "you need to have all types in when you start to use them", which is partially solved by including types/
first, but doesn't really help with types that depend on other types. perhaps separate abstract_types/
type_parts/
and model_types/
?
from cobrexa.jl.
No longer a huge issue due to changing CobraModel
to StandardModel
in #53.
from cobrexa.jl.
so will we keep the automatic file loading mechanism?
from cobrexa.jl.
Yes, I think so, maybe being creative isn't such a bad thing :)
from cobrexa.jl.
Related Issues (20)
- Add support for ME models HOT 4
- Drop OSQP and use Clarabel instead for QPs HOT 4
- tINIT algorithm HOT 7
- Parse common attributes from notes HOT 3
- Collect package download information HOT 5
- .mat model not loading HOT 6
- Conversion from MATModel produces opaque errors if fields are missing HOT 3
- Incorrect gene reaction rule parsing HOT 7
- JSON model format incompatible with escher HOT 8
- Mapping through delimited IDs into inner models HOT 2
- `removeReaction!` etc. doesn't update all fields in a `CoreModel` HOT 1
- Pretty print model semantics HOT 2
- Check that function return types inferred in documentation make sense HOT 2
- `check_duplicate_reaction` does not consider reaction directionality HOT 2
- Implement Tables.jl interface for `ModelWithResult` HOT 1
- Document forwarding the `--project` exeflag with ClusterManagers HOT 1
- Warning when reaction is added with metabolites not yet in model HOT 2
- inconsistent parsing of subsystems HOT 9
- JUMP time limit HOT 5
- Genes not parsed if they have an "@" symbol HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cobrexa.jl.