GithubHelp home page GithubHelp logo

Comments (2)

rbouckaert avatar rbouckaert commented on June 8, 2024

@MordorianGuy you are right that data or alignment makes more sense -- however, for reasons of backward compatibility, it is not easy to change this. All BEAST v2.7.x compatible XML should still run on BEAST v2.7.y for y>x. There are a few more inconsistencies in Input names (e.g. start as capital in IsLabeledNewick in TreeParser, and these should be the same names: BeautiSubTemplate.suppressInputs BeautiConfig.suppressPlugins)

It can be achieved by adding an extra Input and deprecating the old one, or creating a new type of input that is known by more than one name (taxa and data for example), or perhaps some other mechanism for redirecting the Input values to the original Input. Not sure what the optimal solution is to remain both backward compatible and allow introduction of input name changes.

from beast2.

MordorianGuy avatar MordorianGuy commented on June 8, 2024

@MordorianGuy you are right that data or alignment makes more sense -- however, for reasons of backward compatibility, it is not easy to change this. All BEAST v2.7.x compatible XML should still run on BEAST v2.7.y for y>x. There are a few more inconsistencies in Input names (e.g. start as capital in IsLabeledNewick in TreeParser, and these should be the same names: BeautiSubTemplate.suppressInputs BeautiConfig.suppressPlugins)

It can be achieved by adding an extra Input and deprecating the old one, or creating a new type of input that is known by more than one name (taxa and data for example), or perhaps some other mechanism for redirecting the Input values to the original Input. Not sure what the optimal solution is to remain both backward compatible and allow introduction of input name changes.

Thank you for your answer!

Yes, you are right: the backward compatibility is hard. I have thought more about something like regex switches between versions applying to parsed XML based on the version attribute of the beast tag. If we definitely know what we changed between specific versions, we may apply these changes consequently to adjust an old XML to new standards. At least if we talk about simple renaming.

from beast2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.