序列處理

R 中的 Bioconductor 入門

James Chapman

Curriculum Manager, DataCamp

單一 vs. 多個集合

 

  • XString:儲存「單一」序列
    • BString:任意字串
    • DNAString:DNA
    • RNAString:RNA
    • AAString:胺基酸

 

  • XStringSet:儲存「多個」序列
    • BStringSet
    • DNAStringSet
    • RNAStringSet
    • AAStringSet
R 中的 Bioconductor 入門

建立 StringSet 並彙整

# 以集合讀入序列
zikaVirus <- readDNAStringSet("data/zika.fa")

length(zikaVirus) # 集合只含一條序列 width(zikaVirus) # 長度為 10794 個鹼基
1
10794
# 彙整(展開)序列
zikaVirus_seq <- unlist(zikaVirus)


length(zikaVirus_seq)
width(zikaVirus_seq)
10794

Error in (function (classes, fdef, mtable) : unable to find an inherited method for function 'width' for signature '"DNAString"'
R 中的 Bioconductor 入門

從單一序列到集合

# 從單一序列建立新集合
zikaSet <- DNAStringSet(zikaVirus_seq, start = c(1, 101, 201), end = c(100, 200, 300))
zikaSet
DNAStringSet object of length 3:
    width seq
[1]   100 AGTTGTTGATCTGTGTGAGTCAGACTGCGACAGTTCGAGTCTGAAG...AACAACAGTATCAACAGGTTTAATTTGGATTTGGAAACGAGAGTTT
[2]   100 CTGGTCATGAAAAACCCCAAAGAAGAAATCCGGAGGATCCGGATTG...CTAAAACGCGGAGTAGCCCGTGTAAACCCCTTGGGAGGTTTGAAGA
[3]   100 GGTTGCCAGCCGGACTTCTGCTGGGTCATGGACCCATCAGAATGGT...TACTAGCCTTTTTGAGATTTACAGCAATCAAGCCATCACTGGGCCT
length(zikaSet) 
width(zikaSet)
3
100 100 100
R 中的 Bioconductor 入門

互補序列

ATGATCTCGTAA

a_seq <- DNAString("ATGATCTCGTAA")
a_seq
12-letter DNAString object
seq: ATGATCTCGTAA
complement(a_seq)
12-letter DNAString object
seq: TACTAGAGCATT
R 中的 Bioconductor 入門

反轉序列(rev)

zikaShortSet
DNAStringSet instance of length 2
width seq                          names      
[1]    18 AGTTGTTGATCTGTGTGA        seq1
[2]    18 CTGGTCATGAAAAACCCC        seq2
rev(zikaShortSet)
 A DNAStringSet instance of length 2
width seq                          names      
[1]    18 CTGGTCATGAAAAACCCC        seq2       
[2]    18 AGTTGTTGATCTGTGTGA        seq1
R 中的 Bioconductor 入門

反向序列(reverse)

zikaShortSet
 A DNAStringSet instance of length 2
width seq                          names      
[1]    18 AGTTGTTGATCTGTGTGA        seq1
[2]    18 CTGGTCATGAAAAACCCC        seq2
reverse(zikaShortSet)
 A DNAStringSet instance of length 2
width seq                          names    
[1]    18 AGTGTGTCTAGTTGTTGA        seq1
[2]    18 CCCCAAAAAGTACTGGTC        seq2
R 中的 Bioconductor 入門

反向互補(reverse complement)

# 原始 rna_seq 序列
8-letter RNAString object
seq: AGUUGUUG
reverseComplement(rna_seq)
8-letter RNAString object
seq: CAACAACU
# 合併兩個函式使用
reverse(complement(rna_seq))
8-letter RNAString object
seq: CAACAACU
R 中的 Bioconductor 入門

unlist length width complement rev reverse everseComplement

R 中的 Bioconductor 入門

一起來練習序列處理吧!

R 中的 Bioconductor 入門

Preparing Video For Download...