2017-05-16 3 views
0

Ich führe gerade eine Mehrfachsequenz-Ausrichtung mit dem "msa" -Paket von Bioconductor durch. Ich verwende dies, um die Consensus-Sequenz (msaConsensusSequence) und den Conservation Score (msaConservationScore) zu berechnen. Dies gibt mir Ausgaben, die Werte sind ...R: Convert-Ausgabe in einen Datenrahmen umwandeln

z.B.

ConsensusSequence: (. Kleinbuchstaben = 20% + Erhaltung, Groß = 80% + erhaltungs = < 20% Konservierung)

i.llE etc (str = chr) 

ConservationScore:

221 -296 579 71 423 etc (str = named num) 

Ich möchte diese in eine Tabelle konvertieren, in der die erste Zeile Spalten enthält, in denen jeweils ein anderer Buchstabe in der Consensus-Sequenz steht und die zweite Zeile der entsprechende Konservierungswert ist.

z.B.

i  .  l  l E 
221 -296 579 71 423 

Konnten Leute bitte beraten auf dem besten Weg, darüber zu gehen?

Dank Natalie

+0

Haben Sie versucht, 'msaConservationScore' zu ​​verwenden? Sie können angeben, welche Erhaltungsmatrix verwendet werden soll, und es gibt genau die Ausgabe zurück, die Sie angefordert haben. –

+0

Die Ausgabe, die ich mit dem msaConservationScore erhalte, gibt mir, was ich will, aber nicht so, wie ich es verwenden kann. Wenn ich versuche, es in einen Datenrahmen zu konvertieren, gibt es mir nur die Zahlen, nicht die Konsens-Ausrichtung. Ich benötige wirklich einen data.frame mit row1: consensus, row2: conservation score. Wissen Sie, wie ich meine Daten in dieses Format bringen kann? Vielen Dank – NatalieStephenson

Antwort

0

Für das, was Sie in den Kommentaren gesagt haben, können Sie einen Datenrahmen wie diese:

data(BLOSUM62) 
alignment <- msa(mySequences) 
conservation <- msaConservationScore(alignment, BLOSUM62) 

# Now create the data fram 
df <- data.frame(consensus = names(conservation), conservation = conservation) 
head(df) 

    consensus conservation 
1   T   141 
2   E   160 
3   E   165 
4   E   325 
5   ?   179 
6   ?   71 
7   T   216 
8   W   891 
9   ?   38 
10  T   405 
11  L   204 

Wenn Sie es vorziehen, es transponieren können Sie:

df <- t(df) 
colnames(df) <- 1:ncol(df) 
Verwandte Themen