matsengrp / linearham

A Bayesian Phylo-HMM for B cell receptor sequence analysis
http://matsengrp.github.io/linearham
6 stars 4 forks source link

Do we really want to use scons? #69

Closed psathyrella closed 4 years ago

psathyrella commented 4 years ago

I'm still orienting myself with how linearham works so I could be way off base, but I don't see how this is really something that scons is designed for. It seems like the vast majority of users will run linearham once on each sample, and won't ever do some complicated rerun of parts of a build, which is I think what scons is for. I'm sure we will fix the not-running problem that chaim is having, and i'm sure I'm doing something wrong in my command line to cause scons to tell me there's nothing to do when it hasn't done anything, but it just seems like most users' experience of linearham is going to be a lot of scons messages clogging up std out, and a lot of trying to figure out why scons isn't doing anything.

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
git rev-parse --verify HEAD >> _output/git.log && git describe --dirty >> _output/git.log
scons: done building targets.

i of course realize it may not be feasible to switch off of scons soon or even ever, but still.

eharkins commented 4 years ago

Happy to entertain this discussion since I have no commitment to scons necessarily but for now I'd rather focus on helping you run linearham. How did you run it?

matsen commented 4 years ago

There's an advantage to using SCons in that RevBayes is a bottleneck, so if people want to run linearham with several different options that will speed things up.

But it's a good point that there are alternatives, and we should make sure that there's a clean interface that makes it clear when things didn't go right.

psathyrella commented 4 years ago

Ok great that seems fair. I think most of my concerns will be addressed by cleaning up the options and docs so it's at least a little bit harder to do things that confused scons.