2014-10-10 8 views
0

여기에서 R을 사용하여 생물 정보학 : DNAstringsSets 목록 (아래 참조)에 writeXstringset() 함수는 인수로 DNAstringset 객체를 인수로 사용하여 FASTA 파일로 저장합니다. 누구나 DNAstringsets 목록을 단일 DNAStringset 객체로 축소하여 인수로 사용할 수 있다는 것을 알고 있습니까?DNAStringsets 목록을 하나의 DNAStingset으로 축소하여 writeXStringSet()을 적용한 후 fasta 파일로 변환합니다.

$NM_008866 
    A DNAStringSet instance of length 13 
    width seq              names    
[1] 693 ATGTGCGGCAACAACATGTCCGCTCCGA...GATAAGCTCCTACCTCCAATTGATTGA NM_008866 
[2] 72 ATGGATGGGCAGAAGCCTTTGCAGGTAT...AATACATCTGTCCACATGCCCCTGTGA NM_008866 
[3] 114 ATGGGCAGAAGCCTTTGCAGGTATCAAA...GAATATGGCTATGCCTTCTTGGTTTGA NM_008866 
[4] 213 ATGGCATTCCTTCTAACAGGATTATTTT...AGTGCCATGGAGATTGTGACCCTTTAG NM_008866 
[5] 63 ATGTCAAGCACTTCATTGATAAGCTCCT...TTGATTGACATCACTAAGAGGCCTTGA NM_008866 
... ... ... 
[9] 219 ATGGCCCTTCTATTGGGAGACCAGGCTT...CAGAGGCAGGCGGATCTCTGTCAATAG NM_008866 
[10] 144 ATGTTATGCTTAAAACCAAATACTGTTC...CAGTCTCCTGTACAAATATTAAAATAA NM_008866 
[11] 78 ATGTTGCAAAAATTATGGTTATTTCTGA...CCAACCAACCAAGAAGCACCTTTATAA NM_008866 
[12] 75 ATGGTTATTTCTGAACGGTTGCTTTTCT...AGAAGCACCTTTATAAACAGGTGCTAA NM_008866 
[13] 90 ATGTCTGGATTTAAAACAATTTCAAACA...AATTTACTTCAGTTATTCTATCTGTAA 

$NM_001159750 
    A DNAStringSet instance of length 9 
    width seq               names    
[1] 903 ATGGAGGACGAGGTGGTTCGCATTGCCA...ATGTGGAAATCGGTGGAAGTTCTGTTGA NM_001159750 
[2] 105 ATGGACCATCAACTGATAAAGACCCTGA...AGAGAAGAAAGTTCCAGCAGCAATGTAA NM_001159750 
[3] 75 ATGAGACAAATGCTCGAGATACATATGT...CCAAGCACTTCTGATTCTGTGCGATTAA NM_001159750 
[4] 75 ATGATTATGTTGCAATTGGAGCTGATGA...ATTGAGGAAGCTATATATCAAGAAATAA NM_001159750 
[5] 129 ATGAATGTGGAAATCGGTGGAAGTTCTG...GCCAGGCAACTCGTTTCCTTGCAAGTGA NM_001159750 
[6] 63 ATGTGGAAATCGGTGGAAGTTCTGTTGA...AGAATTGGCAAAGTATCTGGACCATTAA NM_001159750 
[7] 102 ATGTGTCCCACTTGTTTTGCTAGTAATA...TATAGTAAAGGCCACTTTTATAAATTAA NM_001159750 
[8] 102 ATGGAAAACAATATGTCCATGTTAAAAG...CGGGAGGCAGAGGCAGGCGGATTTCTGA NM_001159750 
[9] 75 ATGGATAATTTCTGTCACTTTAAAAATA...TAGTTTAAAAGTAATAAGGTTAAAATAG NM_001159750 

$NM_011541 
    A DNAStringSet instance of length 9 
    width seq               names    
[1] 906 ATGGAGGACGAGGTGGTTCGCATTGCCA...ATGTGGAAATCGGTGGAAGTTCTGTTGA NM_011541 
[2] 108 ATGGACCATCAACTGATAAAGACCCTGA...GAAGAAAGTAGTTCCAGCAGCAATGTAA NM_011541 
[3] 75 ATGAGACAAATGCTCGAGATACATATGT...CCAAGCACTTCTGATTCTGTGCGATTAA NM_011541 
[4] 75 ATGATTATGTTGCAATTGGAGCTGATGA...ATTGAGGAAGCTATATATCAAGAAATAA NM_011541 
[5] 129 ATGAATGTGGAAATCGGTGGAAGTTCTG...GCCAGGCAACTCGTTTCCTTGCAAGTGA NM_011541 
[6] 63 ATGTGGAAATCGGTGGAAGTTCTGTTGA...AGAATTGGCAAAGTATCTGGACCATTAA NM_011541 
[7] 102 ATGTGTCCCACTTGTTTTGCTAGTAATA...TATAGTAAAGGCCACTTTTATAAATTAA NM_011541 
[8] 102 ATGGAAAACAATATGTCCATGTTAAAAG...CGGGAGGCAGAGGCAGGCGGATTTCTGA NM_011541 
[9] 75 ATGGATAATTTCTGTCACTTTAAAAATA...TAGTTTAAAAGTAATAAGGTTAAAATAG NM_011541 
+0

'do.call (C, dna_list)'모든 DNAStringSets 귀하의 답변 – cdeterman

+0

감사을 연결한다! 나는 이미 시도했다! 그래도 난 출력으로 대형 목록을 받고 계속. – NEWSCIENT

+1

'names (dna_list) <- NULL'을 설정하고 다시 시도하십시오. – cdeterman

답변

0

아주 작은 재현 가능한 예입니다. 흥미롭게도 목록의 각 요소에 이름이 있으면 (즉 동일한 목록 만 반환하는 경우) 작동하지 않습니다. names(dna_list) <- NULL인지 확인하십시오. 나는 이것에 대한 구체적인 이유를 확신하지 못하고 있으며, 아마도 다른 누군가가 알고 있고 논평하는 것을 배려 할 것이다.

require(Biostrings) 
x0 <- DNAStringSet(c("CTCCCAGTAT", "TTCCCGA", "TACCTAGAG")) 
x1 <- DNAStringSet(c("AGGTCGT", "GTCAGTGGTCCCC", "CATTTTAGG")) 
x2 <- DNAStringSet(c("TGCTAGCTA", "AGTCTTGC", "AGCTTTCGAG")) 
dna_list <- list(x0, x1, x2) 
> dna_list 
[[1]] 
    A DNAStringSet instance of length 3 
    width seq 
[1] 10 CTCCCAGTAT 
[2]  7 TTCCCGA 
[3]  9 TACCTAGAG 

[[2]] 
    A DNAStringSet instance of length 3 
    width seq 
[1]  7 AGGTCGT 
[2] 13 GTCAGTGGTCCCC 
[3]  9 CATTTTAGG 

[[3]] 
    A DNAStringSet instance of length 3 
    width seq 
[1]  9 TGCTAGCTA 
[2]  8 AGTCTTGC 
[3] 10 AGCTTTCGAG 

do.call(c, dna_list) 
> do.call(c, dna_list) 
    A DNAStringSet instance of length 9 
    width seq 
[1] 10 CTCCCAGTAT 
[2]  7 TTCCCGA 
[3]  9 TACCTAGAG 
[4]  7 AGGTCGT 
[5] 13 GTCAGTGGTCCCC 
[6]  9 CATTTTAGG 
[7]  9 TGCTAGCTA 
[8]  8 AGTCTTGC 
[9] 10 AGCTTTCGAG 
+0

예, 알 수 있습니다. 그러나 저에게 Largelist를 제공하고 하나의 DNAStringSet.i를 제공하지 않습니다. 문제가 내 성적 증명서의 이름인지는 모르겠습니다. DNAstringSet의 목록이 나른다! 당신은 노동 조합() 방법에 대해 무엇을합니까? – NEWSCIENT

+0

@stbac,'names (dna_list) <- NULL'을 (를) 설정하려고 했습니까? 필자가 알고있는'union' 메쏘드는 객체가 아닌 벡터에 사용되지만 좀 더 지식이있는 사람이 이것을 수정할 수 있습니다. – cdeterman

+0

names() <- NULL이 작동했습니다! – NEWSCIENT