Überschneidung von Regionen

9

Ich versuche, eine Möglichkeit zu finden, Zeilen mit sich überschneidenden Bereichen, die mit "start" - und "stop" -Spalten gekennzeichnet sind, zu reduzieren und die ausgeblendeten Werte in neuen Spalten aufzuzeichnen. Zum Beispiel habe ich diesen Datenrahmen:

%Vor%

Und ich versuche, die überlappenden Bereiche zu finden und den größten Bereich aufzuzeichnen, der von den kollabierten überlappenden Zeilen in "start" und "stop" und den Namen der minimierten Zeilen abgedeckt wird, so würde ich folgendes bekommen:

%Vor%

Ich denke, ich könnte die Pakete IRanges so verwenden:

%Vor%

Aber dann habe ich Probleme, die kollabierten Spalten zu bekommen: Ich habe es mit findOvarlaps versucht, aber dieses

%Vor%

Aber ich denke nicht, dass das richtig ist.

Jede Hilfe wäre sehr geschätzt.

    
user971102 06.06.2013, 08:33
quelle

2 Antworten

10

IRanges ist ein guter Kandidat für einen solchen Job. Keine Notwendigkeit, Chrom-Variable zu verwenden.

%Vor%

Die neue Variable group2 ist der Bereichsindikator. Jetzt mit data.table kann ich meine Daten nicht in die gewünschte Ausgabe umwandeln:

%Vor%

PS: Der Name der minimierten Variablen ist keine Zeichenfolge, sondern eine Liste des Faktors. Dies ist effizienter und einfacher zu erreichen als ein kollabiertes Zeichen, das beispielsweise paste verwendet.

BEARBEITEN nach der OP-Klärung, erstelle ich die Gruppenvariable nach chrom. Ich meine, der Iranges-Code wird jetzt für jede Chromgruppe aufgerufen. Ich ändere leicht Ihre Daten, um eine Gruppe von Intervallen das gleiche Chromosom zu erstellen.

%Vor%     
agstudy 06.06.2013 09:19
quelle
5

Nachdem Sie die Daten sortiert haben, können Sie leicht testen, ob ein Intervall das vorherige überlappt. und weisen Sie jedem Satz überlappender Intervalle ein Label zu. Sobald Sie diese Bezeichnungen haben, können Sie ddply verwenden, um die Daten zu aggregieren.

%Vor%

Aber das ignoriert die chrom -Spalte: um das zu erklären, können Sie für jedes Chromosom das gleiche machen, separat.

%Vor%     
Vincent Zoonekynd 06.06.2013 09:11
quelle

Tags und Links