# $q$-series and modular forms

Is there a way/database such that given a modular form

$$f(q) = \sum_{n}a_nq^n$$

with $q=\exp(2\pi i \tau)$, $\tau = \{ z \in \mathbb{C} | \Im(z)>0 \}$ the upper half plane, to find if it can be written in terms of some standard modular forms like the Dedekind eta function or the Jacobi-theta functions or the Eisenstein series?

Or, is there some way/algorithm/database etc such that if I feed it with a $q$ expansion it can give me which combination of "standard" modular forms give the same expansion ?

We study the problem of determining levels $N$ for which the graded ring of holomorphic modular forms for $\,\Gamma_0(N)\,$ is generated by (holomorphic, respectively weakly holomorphic) eta-quotients of level $N$.
As for finding eta expressions from a finite $q$-series, I don't know of any algorithms, but it may be possible in some cases. For example, suppose we are given enough terms of the $q$-series expansion of a rational function of $\, \eta(\tau), \dots, \eta(d\tau), \dots, \eta(N\tau) \,$ where $\, d|N \,$ and given the degree of the rational function. Then it is possible to recover the rational function by solving linear equations using a general algorithm that finds possible algebraic dependencies among finite $q$-series.