序列处理

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 对象,长度 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 入门

反转序列

zikaShortSet
DNAStringSet 实例,长度为 2
width seq                          names      
[1]    18 AGTTGTTGATCTGTGTGA        seq1
[2]    18 CTGGTCATGAAAAACCCC        seq2
rev(zikaShortSet)
 A DNAStringSet 实例,长度为 2
width seq                          names      
[1]    18 CTGGTCATGAAAAACCCC        seq2       
[2]    18 AGTTGTTGATCTGTGTGA        seq1
R 中的 Bioconductor 入门

逐字符反转

zikaShortSet
 A DNAStringSet 实例,长度为 2
width seq                          names      
[1]    18 AGTTGTTGATCTGTGTGA        seq1
[2]    18 CTGGTCATGAAAAACCCC        seq2
reverse(zikaShortSet)
 A DNAStringSet 实例,长度为 2
width seq                          names    
[1]    18 AGTGTGTCTAGTTGTTGA        seq1
[2]    18 CCCCAAAAAGTACTGGTC        seq2
R 中的 Bioconductor 入门

反向互补

# 原始 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...