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

ToDo #4

Open
20 of 23 tasks
nevrome opened this issue Jul 7, 2021 · 2 comments
Open
20 of 23 tasks

ToDo #4

nevrome opened this issue Jul 7, 2021 · 2 comments

Comments

@nevrome
Copy link
Owner

nevrome commented Jul 7, 2021

  • Check if an input date is in the range of the calCurve to reject it with a meaningful error message
  • Add an option to allow for calibration of dates even outside of the range of the calibration curve
  • Provide an HDR output that is better machine-readable (-q is fine for humans, but --hdrFile should get a more formal structure)
  • Maybe: Calculate median ages as a possible output option (started to work on simpler summary output (start-median-end) #11)
  • Add median age and simplified ranges to the cli plot axis
  • Allow for user-provided calCurves
  • Store calcurves in a more clever way (like this?)
  • Sum calibration
  • Normal distribution vs. Student's t-distribution (both could be provided with a switch)
  • Resolution option to allow for faster calibration on a lower output resolution. One setting might be to skip calCurve interpolation completely
  • Generally better error handling for the CLI
  • Document the library
  • Understand the Bchron algorithm and copy it, if it gives a performance advantage
  • Maybe the matrix multiplication does not have to be performed explicitly, but can be done "one the fly" when the calCurve matrix is constructed. That's less didactically valuable, but could be faster
  • Discuss potential changes for performance gains with more experienced Haskell developers
  • A conda release might make the software more attractive for the bioinf crowd
  • Maybe further performance improvements are possible with even better array processing libraries like accelerate or repa
  • Add unit tests
  • Reimplement calcurve interpolation to make it clearer, simpler and faster
  • A simple command line bar chart of the calibrated distribution would be a nice gimmick
  • Submit to hackage
  • Reexport the important functions in a dedicated, user-facing module
  • Settle on a type and function interface for the calibration that is clear, easy, short, versatile and extensible

Reminder: If full strictness becomes an issue at some point, then there is an easy way out

@zypeh
Copy link

zypeh commented Sep 6, 2021

suggestion: you may try using Z-Data for the vector manipulation. It also include parser utility too, just not sure if the parsing phrase is the bottleneck.

@nevrome
Copy link
Owner Author

nevrome commented Sep 6, 2021

Thanks for the suggestion @zypeh - there are a couple of good vector and matrix libraries I could try, but I fear I don't have the time to experiment extensively. Z-Data looks pretty well maintained, though.

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

2 participants