Are there any latex packages that allow for drawing the ball and stick models of different molecules (or packages that are meant for a different purpose but can be used to draw ball and stick models). Ball and stick models such as this ones:

I'm currently using avogadro -> exporting as svg -> inkscape svg -> pdf+latex -> insert into document. I would preferably like a tikz package.
New Question
I have found that Avogadro can export the coordinates of the atoms. I would like to know how to make the joins cylinders and add shading on the cylinders. I would also like to change the view angle and is there a more natural 3d rather than a tikz 3d view? Here is the TiKz code for the molecule I am trying to draw (not the one above)
\begin{tikzpicture}[scale=1]
\node (C1) at (-3.19898, 0.68575, -0.09137) {};
\node (N1) at (-2.00788, -0.15303, -0.05472) {};
\node (H1) at (-3.17155, 1.39571, -0.92422) {};
\node (H2) at (-3.31563, 1.23754, 0.84706) {};
\node (H3) at (-4.08519, 0.05549, -0.21396) {};
\node (C2) at (-0.78815, 0.67831, 0.01256) {};
\node (H4) at (-1.95362, -0.69266, -0.92177) {};
\node (C3) at ( 0.47237, -0.18670, 0.21998) {};
\node (H5) at (-0.86520, 1.39211, 0.84227) {};
\node (H6) at (-0.69535, 1.26040, -0.91400) {};
\node (C4) at ( 1.73163, 0.67172, 0.09304) {};
\node (N2) at ( 0.51467, -1.32801, -0.73516) {};
\node (H7) at ( 0.46502, -0.59296, 1.23918) {};
\node (H8) at ( 1.39360, -1.82407, -0.57104) {};
\node (H9) at (-0.23067, -1.96899, -0.46111) {};
\node (O1) at ( 1.80456, 1.88884, 0.13111) {};
\node (O2) at ( 2.86188, -0.07112, 0.00360) {};
\node (H10) at ( 3.57354, 0.59879, -0.06651) {};
\shade [ball color=white] (H1) circle (0.15);
\shade [ball color=white] (H2) circle (0.15);
\shade [ball color=white] (H3) circle (0.15);
\shade [ball color=white] (H4) circle (0.15);
\shade [ball color=white] (H5) circle (0.15);
\shade [ball color=white] (H6) circle (0.15);
\shade [ball color=white] (H7) circle (0.15);
\shade [ball color=white] (H8) circle (0.15);
\shade [ball color=white] (H9) circle (0.15);
\shade [ball color=white] (H10) circle (0.15);
\shade [ball color=black!75] (C1) circle (0.25);
\shade [ball color=black!75] (C2) circle (0.25);
\shade [ball color=black!75] (C3) circle (0.25);
\shade [ball color=black!75] (C4) circle (0.25);
\shade [ball color=blue!75] (N1) circle (0.25);
\shade [ball color=blue!75] (N2) circle (0.25);
\shade [ball color=red!75] (O1) circle (0.25);
\shade [ball color=red!75] (O2) circle (0.25);
\draw (H1) -- (C1) -- (N1) -- (C2) -- (C3) -- (C4) -- (O1);
\draw (H2) -- (C1);
\draw (H3) -- (C1);
\draw (N1) -- (H4);
\draw (C2) -- (H5);
\draw (C2) -- (H6);
\draw (C3) -- (H7);
\draw (C3) -- (N2) -- (H8);
\draw (N2) -- (H9);
\draw (C4) -- (O2) -- (H10);
\end{tikzpicture}
The code above does not do cylinders as bonds but rather just lines by the \draw function. How do I make cylinders shading and change the 3d view angles?
A_3\simeq SU(4), but that's just guesswork. – Oct 04 '18 at 15:27left color=blue!30, right color=blue!60, middle color=blue!20,and add an appropriate shading angle. The problem is more the rotation of the thing, and what is more, the ordering in which you draw things. I really think you'll be much better off with asymptote, which does all these things for you. – Oct 17 '18 at 12:35