Я работаю над большим выравниванием последовательностей ДНК. Цель состоит в том, чтобы сгруппировать последовательности в кластер для перестройки кластера. Я использую Biostrings
и у меня есть выравнивание в DNAStringset
для выполнения DistanceMatrix
и IdClusters
.
С IdClusters
Я получаю cluster
и делю свое выравнивание соответственно:
alignment_list <- split(alignment, f = IdClusters$cluster)
Для каждого элемента списка я выполняю AdjustAlignmnet
Adjusted_list <- lapply(alignment_list , FUN=AdjustAlignment,processors = NULL)
результат:
> Adjusted_list
$1
A DNAStringSet instance of length 22
width seq name<br>
[1] 12005 TTTCTTAAAACATAAAAAGCCTTGAAAAATTTCTAAAATGTACT...TGGAGTCGGCGG ABC
[2] 12005 TTTCTTAAAACATAAAAAGCCTTGAAAAATTTCTAAAATGTACT...TGGAGTCGGCGG ABD
...
[25] 12005 TTTCTTAAAACATAAAAAGCCTTGAAAAATTTCTAAAATGTACT...TGGAGTCGGCGG ABG
...elements
$6
A DNAStringSet instance of length 1
width seq name<br>
[1] 12005 TTTCTTAAAACATAAAAAGCCTTG-----TTTCTAAAATGTACT...TGGAGTCGGCGG CDA
Я хотел бы удалить элемент $ 6
из списка, поскольку он имеет значение length 1
и мешает дальнейшим действиям.
Я проверял:
Adjusted_list1 <- lapply(Adjusted_list, function(x){x$
6 <- NULL; x})
и
Adjusted_list1 <- lapply(Adjusted_list, function(x) x[sapply(x, length) >= 1])
Но оба не удаляют элемент 6
списка. Я не могу найти ошибку.