SciML / Catalyst.jl

Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software.
https://docs.sciml.ai/Catalyst/stable/
Other
454 stars 73 forks source link

renaming discussion #196

Closed isaacsas closed 4 years ago

isaacsas commented 4 years ago

Per slack, let's come up with a new name for the new version.

korsbo commented 4 years ago

BioReactor.jl BioReactions.jl BioModels.jl (too broad?) SysBio.jl (too narrow?)

isaacsas commented 4 years ago

I'm a bit torn, because this works for any reaction system, not just bio ones, but at the same time the focus is on bio modeling and that is the community we most of us participate in.

korsbo commented 4 years ago

I'm a bit torn, because this works for any reaction system, not just bio ones, but at the same time the focus is on bio modeling and that is the community we most of us participate in.

True.

isaacsas commented 4 years ago

ChemicalDynamics? BiochemicalModels? BioModels seems reasonable too.

and of course, future extensions may be bio-focused as well...

korsbo commented 4 years ago

CRN.jl (a bit bland, but still)

ChrisRackauckas commented 4 years ago

Computomics.jl inJuliaico.jl ChainReaction.jl Enzyme.jl (catalyzes your reactions in silico to make them faster!)

what's the name of that auto-catalytic switch like behavior system?

korsbo commented 4 years ago

Something that sticks in peoples minds when they hear about it or read it on a poster.

-omics could be misleading (although the name is cool)

korsbo commented 4 years ago

Reactor.jl

korsbo commented 4 years ago

Chemulator.jl

TorkelE commented 4 years ago

For borrowing names of people, I guess the guidelines would be to find some non-controversial, somewhat underappreciated/unknown, and now dead person, doing something relating to systems biology or chemical reaction systems. I am not sure I can come up with one on-the-spot.

Something on catalyzers could be good, as they are both related to (bio)chemical reactions, and are something that makes a process go faster.

But I agree with Nick that having a name that sticks in the mind might be most important.

ChrisRackauckas commented 4 years ago

Catalyzer.jl, or just Catalyst.jl

korsbo commented 4 years ago

Catalyst.jl seems appropriate

ViralBShah commented 4 years ago

Parachuting in here. Who will be the end users of this package? Maybe if there is one clear discipline, then perhaps just name it that thing.

ViralBShah commented 4 years ago

My understanding is that if systems biology folks and Quantitative Systems Pharma folks are the users of this package, then good names are SysBio.jl, QSP.jl or Enzyme.jl which is cute and related. Maybe a word play on enzyme?

TorkelE commented 4 years ago

EnSim/EnZim?

ViralBShah commented 4 years ago

EnSim is kinda cool because it has the sim in the name but won't work because of https://www.ensimsol.com/home

ViralBShah commented 4 years ago

There's also Enzyme.com that is in a related space, so perhaps that is not going to work either - and that might rule out EnZim.

ChrisRackauckas commented 4 years ago

Autocatalyst, Autocatalyzer

ChrisRackauckas commented 4 years ago

Google finds nothing for Autocatalyzer

ViralBShah commented 4 years ago

I feel like SystemsBio.jl would be better.

isaacsas commented 4 years ago

ReactionSystems, ReactionNetworks, ReactionDynamics, BioSystemDynamics, Rxnetdynamics, BioRxDynamics. Unfortunately it seems like many of the names I come up with are already used...

isaacsas commented 4 years ago

In creating the name we might want to think about scope. Do we plan to ever go beyond chemical dynamics, say to support eletrophysiology or mechanical modeling at cellular scales too? If so we should keep that in mind when making the name.

At the same time, perhaps it makes more sense to separate DSL packages for each of these types of models, and add the ability to compose them through MT systems. In that case we could stick to the more limited scope of reactions and/or reaction-diffusion here.

ViralBShah commented 4 years ago

Google finds nothing for Autocatalyzer

What does the auto signify?

At the same time, perhaps it makes more sense to separate DSL packages for each of these types of models, and add the ability to compose them through MT systems. In that case we could stick to the more limited scope of reactions and/or reaction-diffusion here.

You can always pick a limited scope name for now - and that gets adoption in the community it is targeted at. Later on if more DSLs are added as separate packages and scope grows, you can always gather the packages and pick a new name for the collection.

ViralBShah commented 4 years ago

Catalyst.jl as in "a catalyst for these computations" is growing on me though.

ChrisRackauckas commented 4 years ago

What does the auto signify?

It catalyzes itself.

Catalyst.jl as in "a catalyst for these computations" is growing on me though.

That was the idea.

In creating the name we might want to think about scope. Do we plan to ever go beyond chemical dynamics, say to support eletrophysiology or mechanical modeling at cellular scales too? If so we should keep that in mind when making the name.

I think this DSL makes sense for things that can be written as reactions. I think if it gets pushed too far, then the DSL starts to lose its nicety for the domain. The underlying structures in ModelingToolkit are a bit more flexible of course, and that's how it's always going to be: the DSL should hit its target audience right on the nose, but then if someone wants to go ham in flexibility (us), there's always a layer under the high level language that can be accessed. That said, maybe there could be a nice way to throw in a few ODE equations along with the arrows and all of that.

korsbo commented 4 years ago

I like Catalyst.jl. It's short, memorable and relevant for the purpose of the software. It should be a familiar term for anyone interested in using the software and it serves as word-play since the software catalyses modelling.

Unsurprisingly, it seems that many projects and companies are named something like "Catalyst", is that an issue?

ViralBShah commented 4 years ago

As long as they are not in a closely field as us, it should be fine. It is also a fairly generic word with a .jl suffix, so it might just be ok.

isaacsas commented 4 years ago

I could go either way with Catalyst. It is a good name in general, hence why it’s used in other places as @korsbo mentions, and I like the idea that it catalyzes one’s computations. My concern is that the name itself doesn’t really make clear to me what the package is about.

TorkelE commented 4 years ago

I'm with @isaacsas Catalyst is a good name, although maybe not as descriptive as some other. But I am not sure we can find something fitting bot? I'm for giving it a bit more of a think, with Catalyst being a good alternative.

As for potential further expansion, if we start going into mechanics or electrophysiology maybe we can let Catalyst remain as the base DSL for simple models, and maybe make up another name for the entire set of bio-modelling tools?

ViralBShah commented 4 years ago

I like Catalyst precisely because it does not make it clear what it is about. That allows room for interpretation and expansion. It is the exact opposite of a name like SysBio.jl.

korsbo commented 4 years ago

What impact does name specificity have? If it's about recognition when people scroll through juliaobserver and only looks at titles then it could matter. But I imagine that this will not be the primary way in which people hear about this package. If people primarily find out about the package through blogs, videos, word-of-mouth, then would it matter that the name is a bit broad?

ChrisRackauckas commented 4 years ago

If nothing overthrows it in a week, then let's go with Catalyst.jl. So keep throwing ideas out there, but it sounds like it's "good enough" to put a timer on this.

If people primarily find out about the package through blogs, videos, word-of-mouth, then would it matter that the name is a bit broad?

Indeed, I think the alternative PR matters lot more than the name. Making things searchable, good docs, good website, presentations, etc.

isaacsas commented 4 years ago

Is the plan to rename this package at that time, or to create a new repo and add a depreciation warning here? We should have the MT PR integrated and tested before we make the move.

ChrisRackauckas commented 4 years ago

We can rename packages and it'll work just fine, so I think with the MTK change we can do a breaking release with and rename the repo, and using DiffEqBiological will work but it just won't update anymore, and you'd have to using ... to then get the newer one.

ChrisRackauckas commented 4 years ago

FWIW we did this with DiffEqDiffTools -> FiniteDiff

isaacsas commented 4 years ago

Since we settled on Catalyst I’m going to close this.