我正在研究DNA序列的大比对。目的是将序列分组到簇中以重新排列簇。我使用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
[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
[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
。我找不到错误。