Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How would you model this system? #46

Open
bradduthie opened this issue Nov 19, 2022 · 7 comments
Open

How would you model this system? #46

bradduthie opened this issue Nov 19, 2022 · 7 comments
Assignees

Comments

@bradduthie
Copy link
Owner

Hi All, From some constructive feedback by @MattTinsleyStirling -- I am considering adding a supporting information (SI) document (and package vignette) that provides suggestions for how to model a type of system or situation using the resevol package. That is, if someone said, "How would I model pesticide resistance to GM crops in an annual system?" (or something slightly more specific), the SI would make a suggestion for how to do it. What would be massively helpful here would be if you could:

  1. Comment on whether or not you think that this is important for the initial submission to Methods in Ecology and Evolution, or if this would be something to add later to the package.
  2. Suggest some systems to model. E.g., can you reply to this asking "How would I model X", where X is a specific system or scenario that you think might be useful to model.

I do like the idea of having a document that illustrates how these abstract options in the software could usefully be applied to modelling specific systems. It might minimise the risk that readers miss an opportunity to model their system because it's not clear enough how a particular set of options could be applied.

@bradduthie
Copy link
Owner Author

Note that the possible options for modelling have now increased given Issue #47 because we can now have crops grow (or shrink, I guess) on the landscape between crop rotations. As I type this, I kind of want to now add pesticide deterioration (which would basically be the same code, but for pesticides), but I should probably stop at some point.

@luc-bussiere
Copy link
Collaborator

luc-bussiere commented Dec 1, 2022

Hi @bradduthie and @MattTinsleyStirling: Happy to be ignored if you think this is trivial/annoying/impractical: one thought I had after our discussion today about possibly spelling out how to model "simple cases" of genetics of resistance in order to compare with classic models, in response to Brad's comment that there is no dominance. Could we add parameter "k" to a particular locus in order to apply dominance? I get this would be complex if there are many loci, but if just one, maybe it could work? This is the relevant section of the Lynch and Walsh 1998 book that explains how k works:
Screenshot 2022-12-01 at 21 00 59

@luc-bussiere
Copy link
Collaborator

As I kept reading the chapter (which we coincidentally are discussing tomorrow, I stumbled on another relevant passage explaining why dominance is less important for genes of small effect. We could cite this as justification for not implementing a k across many genes, perhaps?

@bradduthie
Copy link
Owner Author

Agreed @luc-bussiere -- regarding the addition of k, it could be added as an option, but this would get tricky sticking it in the software just for one or a small number of loci. I would be tempted (maybe not a bad idea) to have a vector k that is of the same length as the genome to specify dominance across the entire genome. This could get tricky though, but it might be nice to have the option, especially for people wanting to make more simple models.

@bradduthie
Copy link
Owner Author

Ah! You know what a problem is though @luc-bussiere and @MattTinsleyStirling -- dominance is an inherent property of specific alleles (B1 and B2 in the case above), not loci position (which is arbitrary, both in the real world and in the resevol code). Whenever we have a new allele arise through mutation, we would therefore need to figure out its dominance in relation to all of the other alleles. Greta Bocedi experimented with this at one point in IBMs, so I think it is possible, but it might be way more than we can actually do on a reasonable time scale. We would essentially need to have every new allele spawn a complementary k (maybe somewhere else in the genome), I think?

@luc-bussiere
Copy link
Collaborator

Good point @bradduthie -- my suggestion would only work in the very narrow case where there are only 2 alleles, and no new evolution. I agree implementing this kind of complexity for more alleles is beyond the scope of your short term plans. If someone were super-keen to recreate a simple model, could they for example specify a two locus system, one of which specified the dominance k for the other locus, having only two alleles, for example? Again feel free to ignore if this complexity is getting too difficult. Just thinking about your extra document on how to set up different kinds of models...

@rosemckeon
Copy link
Collaborator

Hi everyone. to chip in, I think some vignettes demonstrating case use studies would be awesome and very helpful to encourage use of the package. However nice to have that would be, I don't think it's required for a first release.

One approach to take for these could be to decide on the features of the model which we want to showcase then design the scenario around that. For instance, to show off the real world mapping we could take a real field layout and contrast simulations with a proposed new field layout to compare resistance evolution between those two scarios.

Another approach could be to look at popular systems we can imagine our model being useful to. Maybe those two ideas can be combined.

Would it be crazy to add a line on the README that invites people to email/start an issue if they have a system they're not sure how to get started modeling? That might generate some feedback and ideas for helpful vignettes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants