She was taken from her mother too early, which has probably caused some of the problems. Dogs should be kept with their mom for a minimum of 8 weeks; some breeds need to be with mom for at least 10-12 weeks. By taking a pup from the mother too young, you can easily get a dog with behavior issues.
I would strongly urge you to find a behaviorist or a professional trainer to get the best advice on basic obedience training... No, not a trainer from Petsmart or Petco, but a real professional.
No real and reputable breeder or shelter will separate a mom and up at 4 weeks.