How to test for germination differences with 20 replicates of 3 seeds per treatment group? I need to test for differences in germination success between treatment groups, however, instead of all seeds being independently sown, I have 20 growth tubes with 3 seeds in each per treatment group (i.e, not one in each growth tube, or all in one plate per se). EACH SEED per treatment (60) was scored for germination success.
As such, how does one go about treating/analysing the data.  Is it suitable to put the growth tube as a random effect?
Additionally, the question is complicated by the fact that my 3 treatments (water regime) are replicated in 2 soil types, and 4 species.
TLDR: 4 species in 2 soils with 3 treatments; 20 growth tubes per treatment; 3 seeds per growth tube;  how to test for differences in germination success?

If germination/emergence is a yes/no determination at some fixed time (without caring about time to emergence), then this could be a mixed-effect binomial (e.g., logistic) regression treating growth_tube as a random effect, as you suggest. The question, with only 3 seeds per tube, is whether the results will differ much from what you would get by ignoring growth_tube.
A mixed-effects model in R, with one data row per seed and germinationSuccess a 1/0 binary outcome, could be:
glmer(germinationSuccess ~ species*soil*treatment + (1|growth_tube), family = binomial)

Or you could take advantage of the "two-column matrix" outcome format for a binomial regression. Then you would have one data row for each growth_tube, containing columns for the corresponding species, soil and treatment values, and 2 outcome columns for the numbers of successful and unsuccessful germinations in that tube. The corresponding model would then be:
glmer(c(success_number,failure_number) ~ species*soil*treatment + (1|growth_tube), family = binomial)

The random intercept either of these models generates for each growth_tube represents a log-odds difference from the overall estimated log-odds at the reference levels of species, soil, and treatment. There are important issues to consider when doing inference on mixed models. Make sure you study those issues starting, for example, with the UCLA analysis examples and links from there. Those issues are also discussed in many Cross-Validated threads.
There's a chance that these mixed-effect models will end up with a random-effect variance indistinguishable from 0. In that case, proceed with standard glm() models without growth_tube as a random effect. Either way you proceed, check the validity of the binomial model.
If you want to evaluate time to germination, then you need to use some form of survival analysis. The specific form depends on details of your experimental design and your understanding of the subject matter.
If there's only a small number of time points at which germination was checked, this would be "discrete-time" survival analysis, a set of logistic regressions for each time period. In the two-column outcome setup above, you would have one row per growth_tube and time_period, include time_period as a predictor variable, and define the success_number and failure_number as the numbers during that time_period based on the numbers that hadn't yet germinated at the start of that time_period. Use your knowledge of the subject matter to decide which interactions of time_period with the other predictors should be included in the model. That analysis is compatible with a mixed-effect model; the glmer manual page in R shows an example with the cbpp sample data set.
With a larger number of time periods so that time is more continuous, a Cox proportional hazards (PH) survival model is often a good way to start. It assumes that the relative hazard of germination between any two combinations of covariate values is constant over time, even if the baseline hazard changes over time. Random effects can be specified in a standard coxph() survival model with a "frailty" term; you can alternatively take correlations within each growth_tube into account with a "cluster" term. There's also a coxme package specifically designed for mixed modeling in Cox PH survival analysis.
