pdepe expects the boundary conditions to be written in a standardized form:
Notice that only p can depend on the variable being integrated u, and the boundary conditions are written in terms of the flux term f rather than the partial derivative du/dx (the flux term generally includes this partial derivative). The flux term f is defined when you write the main pdefun function for the equations.
Once you write the left and right boundary conditions in this form, the coefficients p, q are coded into a function. The function uses the signature
function [pL,qL,pR,qR] = bcfun(xL,uL,xR,uR,t)
Notice that there is affordance for p,q on the left (pL and qL) as well as the right (pR and qR) boundaries. Similarly, there are separate input variables for x and u on the left and right. The location of the left and right boundaries is inferred from the specified meshes for x and t being solved on.
The process is described here: