Разобрать DNAstringsSets в нормальные строки - PullRequest
0 голосов
/ 16 января 2019

Это происходит из библиотеки R с именем "VariantAnnotation" и ее зависимостью "Biostrings"

У меня есть DNAstringsSetList, и я хочу преобразовать его в обычный список или вектор строк.

library(VariantAnnotation)

fl <- system.file("extdata", "chr22.vcf.gz", package="VariantAnnotation")

vcf <- readVcf(fl, "hg19")

tempo <- rowRanges(vcf)$ALT  # Here is the DNAstringsSetList I mean.

print(tempo)

A DNAStringSet instance of length 10376
    width seq
[1]     1 G
[2]     1 T
[3]     1 A
[4]     1 T
[5]     1 T
...   ... ...
[10372]     1 G
[10373]     1 G
[10374]     1 G
[10375]     1 A
[10376]     1 C

tempo[[1]]
A DNAStringSet instance of length 1
width seq
[1]     1 G

Но я не хочу этот формат. Я просто хочу строки баз, чтобы вставить их в виде столбца в новом кадре данных. Я хочу это:

G
T
A
T
T

Я выполнил это с помощью этого метода пакета:

as.character(tempo@unlistData)

Однако он возвращает на 10 строк больше, чем имеет темп! Голова и хвост этого результата и темпа одинаковы, поэтому где-то посередине есть 10 дополнительных рядов, которые не должны были быть сформированы (не NA)

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Вы можете позвонить as.character на DNAString или DNAStringSet.

as.character(tempo[1 : 5])
# [1] "G" "T" "A" "T" "T"
0 голосов
/ 16 января 2019

Простой цикл решает проблему, используя функцию toString той же библиотеки:

ALT <-0
for (i in 1:nrow(vcf)){ ALT[i] <- toString(tempo[[i]]) }

Однако я понятия не имею, почему tempo @ unlistData извлекает слишком много строк. Это не заслуживает доверия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...