Ordenar pilas por tamaño en un gráfico de barras apiladas ggplot2

Así que tengo una carga de datos que he muestreado como un ejemplo a continuación:

Sequence  Abundance   Length
CAGTG    3       25
CGCTG    82      23
GGGAC    4       25
CTATC    16      23
CTTGA    14      25
CAAGG    9       24
GTAAT    5       24
ACGAA    32      22
TCGGA    10      22
TAGGC    30      21
TGCCG    25      21
TCCGG    2       21
CGCCT    22      24
TTGGC    4       22
ATTCC    4       23

Solo estoy mostrando las primeras 4 palabras de cada secuencia aquí, pero en realidad son de "Longitud" de largo. Estoy mirando la abundancia de secuencias para cada clase de tamaño que tengo aquí. Además, quiero visualizar la proporción de abundancia que representa una secuencia particular dentro de su clase de tamaño. Actualmente, puedo hacer un gráfico de barras apiladas como este:

ggplot(tab, aes(x=Length, y=Abundance, fill=Sequence)) 
  + geom_bar(stat='identity') 
  + opts(legend.position="none")

Esto está bien para un pequeño conjunto de datos como este, pero tengo alrededor de 1,7 millones de filas en mi conjunto de datos real. Se ve muy colorido y puedo ver que las secuencias particulares tienen una abundancia mayoritaria en una clase de tamaño único, pero es muy desordenado.

Me gustaría poder ordenar las barras apiladas de colores para cada tamaño por la abundancia de esa secuencia. es decir, las barras con la mayor abundancia dentro de su pila están en la parte inferior de cada pila y las barras con la menor abundancia están en la parte superior. Debería verse mucho más presentable de esa manera.

¿Alguna idea sobre cómo hacer esto en ggplot2? Sé que hay un parámetro de "orden" en aes () pero no puedo determinar qué debería hacer con los datos en el formato que tengo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta