Unraveling proteins at the single molecule level using nanopores