I will be traveling Johannesburg to Dubai to Seattle. There is a stopover at San Francisco. Do I nave to collect my luggage and recheck it in or will it go through automatically as I M flying Emirates right through
Yes. You will go through US immigration and customs in San Francisco. At the baggage claim, you must collect your checked bags and take them through customs. As you exit customs, follow the sign for connecting flights; since you have purchased a single ticket, an airport employee will collect your bags from you there and they'll be taken to your next flight.
You'll then proceed to the appropriate terminal where you'll go through security and head to the gate for your flight to Seattle. I suspect your flight to Seattle is operated by Alaska Airlines, which mostly operates out of Terminal 2 at SFO (confirm the location of your flight when you arrive, as they've been moving some flights around due to the Virgin America merger). You can use the free AirTrain to reach Terminal 2 (or walk if you're so inclined). The staff at the connecting flight area can provide directions if you're unsure where to go.