I'll mention a tool called pgn-extract. It can do lots of things with PGN files. I am primarily interested in using large PGNs of master games to extract opening lines and individual positions. Some features of pgn-extract I have found useful are stripping tags and converting moves to UCI notation (e.g. "g1f3" instead of "Nf3"), and dumping the FEN string of every position in the PGN.