The attack happened around 5am on Saturday at a property in Oakwood Park, in the Deans area of Livingston.
The suspect threatened the victim and other occupants at knifepoint after gaining access to the property around 5am. He then subjected to victim to a serious sexual assault, before leaving around 7am.
He is described as 6ft tall, in his 20s, with short dark hair, 'chunky' sideburns, and wearing a cream 'hoodie' top with the word 'Crosshatch' across the chest, and a large pouch at the front.
He also wore a blue baseball cap, and jogging bottoms.
Detective Inspector Alan Somerville, who is leading the investigation, said: "The attack has left the victim seriously traumatised, and she is being supported by family and specially-trained officers.
"We are devoting our full resources towards identifying and tracing the suspect, and a dedicated team of detectives is now working from Livingston Police Station, including officers from Operation Federal, the dedicated sexual crimes unit in West Lothian.
"We are also undertaking regular high-visibility patrols in the area where the attack took place, in order to provide reassurance to local residents.
"House-to-house inquiries over the weekend have established that the suspect had tested other properties in the street before gaining access to the victim's home through an unlocked door.
"With this in mind, we are advising people to keep their homes secured by locking doors and windows overnight, and to report any concerns they have to police.
"In addition, we are renewing our appeal for any information that can help us identify and trace the suspect.
"Anyone who was in the area of Oakwood Park early on Saturday morning, who noticed anyone acting suspiciously there, should contact police immediately.
"Similarly, anyone who thinks they have seen the suspect since the attack took place, or who recognises his description, should get in touch as a matter of urgency."
Anyone with any information should contact Lothian and Borders Police on 0131 311 3131, or Crimestoppers on 0800 555 111.