Algorithm for finding the modular form corresponding to an elliptic curve over $mathbb{Q}$

For an elliptic curve over $mathbb{Q}$ given by a Weierstrass equation, is there an algorithm for finding the weight 2 cusp form as a $q$-expansion that corresponds to it by the modularity theorem?