サンプルID | DNA抽出キット | 保存バッファ | リード数 |
---|---|---|---|
SRR6325813 | QMINI | Native | 282517 |
SRR6325815 | QMINI | LysisBuffer | 266259 |
SRR6325816 | QMINI | RNA-later | 359984 |
SRR6325817 | QMINI | PBS | 325660 |
SRR6325828 | MOBIO | RNA-later | 206939 |
SRR6325829 | MOBIO | PBS | 261767 |
SRR6325830 | MOBIO | Native | 238627 |
SRR6325831 | MOBIO | LysisBuffer | 225548 |
SRR6325859 | GENIAL | LysisBuffer | 290383 |
SRR6325860 | GENIAL | Native | 253908 |
SRR6325861 | GENIAL | PBS | 120789 |
SRR6325862 | GENIAL | RNA-later | 258792 |
if (!requireNamespace("BiocManager", quietly=T))
install.packages("BiocManager")
BiocManager::install("dada2", update=F)
library(dada2)
list.files
関数path
オプションlist.files
関数は、指定したディレクトリ内にあるファイル情報を得るためのものです。1つ目のコマンドは、オプションを全てデフォルトで実行する場合です。2つ目は、表示させたい場所を指定するためのpath
オプションのデフォルト”.”を明示しただけです。両者は同じ結果になります。
list.files()
## [1] "JSLAB23.html" "JSLAB23.Rmd" "SRR6325813_1.fastq"
## [4] "SRR6325813_2.fastq" "SRR6325815_1.fastq" "SRR6325815_2.fastq"
## [7] "SRR6325816_1.fastq" "SRR6325816_2.fastq" "SRR6325817_1.fastq"
## [10] "SRR6325817_2.fastq" "SRR6325828_1.fastq" "SRR6325828_2.fastq"
## [13] "SRR6325829_1.fastq" "SRR6325829_2.fastq" "SRR6325830_1.fastq"
## [16] "SRR6325830_2.fastq" "SRR6325831_1.fastq" "SRR6325831_2.fastq"
## [19] "SRR6325859_1.fastq" "SRR6325859_2.fastq" "SRR6325860_1.fastq"
## [22] "SRR6325860_2.fastq" "SRR6325861_1.fastq" "SRR6325861_2.fastq"
## [25] "SRR6325862_1.fastq" "SRR6325862_2.fastq"
list.files(path = ".")
## [1] "JSLAB23.html" "JSLAB23.Rmd" "SRR6325813_1.fastq"
## [4] "SRR6325813_2.fastq" "SRR6325815_1.fastq" "SRR6325815_2.fastq"
## [7] "SRR6325816_1.fastq" "SRR6325816_2.fastq" "SRR6325817_1.fastq"
## [10] "SRR6325817_2.fastq" "SRR6325828_1.fastq" "SRR6325828_2.fastq"
## [13] "SRR6325829_1.fastq" "SRR6325829_2.fastq" "SRR6325830_1.fastq"
## [16] "SRR6325830_2.fastq" "SRR6325831_1.fastq" "SRR6325831_2.fastq"
## [19] "SRR6325859_1.fastq" "SRR6325859_2.fastq" "SRR6325860_1.fastq"
## [22] "SRR6325860_2.fastq" "SRR6325861_1.fastq" "SRR6325861_2.fastq"
## [25] "SRR6325862_1.fastq" "SRR6325862_2.fastq"
pattern
オプション(相対パス)pattern
オプションをつけることで、任意の文字列を含むファイルのみに限定することができます。以下は"_1.fastq"
という文字を指定して、Forward側に限定するやり方です。1つ目のコマンドは、path
オプションを明示せずデフォルトで実行した結果です。2つ目のコマンドは、path
オプションのデフォルト”.”を明示しただけです。両者は同じ結果になります。
list.files(pattern = "_1.fastq")
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
list.files(pattern = "_1.fastq", path = ".")
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
pattern
オプション(絶対パス)現在のディレクトリの場所を表示するgetwd
関数実行結果(つまり絶対パス情報)をbasho
というオブジェクトに格納し、それをlist.files
関数のpath
オプションに与えています。
basho <- getwd()
basho
## [1] "C:/Users/kadota/Desktop/dataset"
list.files(pattern = "_1.fastq", path = basho)
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
full.names
オプションfull.names
オプションをTRUEにすると、path
オプションで指定したパス情報を含めたファイル名になります。1つ目のコマンドが相対パス、2つ目のコマンドが絶対パスになります。
list.files(pattern = "_1.fastq", path = ".", full.names = TRUE)
## [1] "./SRR6325813_1.fastq" "./SRR6325815_1.fastq" "./SRR6325816_1.fastq"
## [4] "./SRR6325817_1.fastq" "./SRR6325828_1.fastq" "./SRR6325829_1.fastq"
## [7] "./SRR6325830_1.fastq" "./SRR6325831_1.fastq" "./SRR6325859_1.fastq"
## [10] "./SRR6325860_1.fastq" "./SRR6325861_1.fastq" "./SRR6325862_1.fastq"
list.files(pattern = "_1.fastq", path = basho, full.names = TRUE)
## [1] "C:/Users/kadota/Desktop/dataset/SRR6325813_1.fastq"
## [2] "C:/Users/kadota/Desktop/dataset/SRR6325815_1.fastq"
## [3] "C:/Users/kadota/Desktop/dataset/SRR6325816_1.fastq"
## [4] "C:/Users/kadota/Desktop/dataset/SRR6325817_1.fastq"
## [5] "C:/Users/kadota/Desktop/dataset/SRR6325828_1.fastq"
## [6] "C:/Users/kadota/Desktop/dataset/SRR6325829_1.fastq"
## [7] "C:/Users/kadota/Desktop/dataset/SRR6325830_1.fastq"
## [8] "C:/Users/kadota/Desktop/dataset/SRR6325831_1.fastq"
## [9] "C:/Users/kadota/Desktop/dataset/SRR6325859_1.fastq"
## [10] "C:/Users/kadota/Desktop/dataset/SRR6325860_1.fastq"
## [11] "C:/Users/kadota/Desktop/dataset/SRR6325861_1.fastq"
## [12] "C:/Users/kadota/Desktop/dataset/SRR6325862_1.fastq"
basename
関数(相対パスの場合)basename
関数は、パス情報を含むファイル名の文字列ベクトルを入力として、パス情報を含まないファイル名の文字列ベクトルを得る際に用いられます。
fnFs <- list.files(pattern = "_1.fastq", path = ".", full.names = TRUE)
fnFs
## [1] "./SRR6325813_1.fastq" "./SRR6325815_1.fastq" "./SRR6325816_1.fastq"
## [4] "./SRR6325817_1.fastq" "./SRR6325828_1.fastq" "./SRR6325829_1.fastq"
## [7] "./SRR6325830_1.fastq" "./SRR6325831_1.fastq" "./SRR6325859_1.fastq"
## [10] "./SRR6325860_1.fastq" "./SRR6325861_1.fastq" "./SRR6325862_1.fastq"
basename(fnFs)
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
basename
関数(絶対パスの場合)basename
関数は、パス情報を含むファイル名の文字列ベクトルを入力として、パス情報を含まないファイル名の文字列ベクトルを得る際に用いられます。
basho <- getwd()
fnFs <- list.files(pattern = "_1.fastq", path = basho, full.names = TRUE)
fnFs
## [1] "C:/Users/kadota/Desktop/dataset/SRR6325813_1.fastq"
## [2] "C:/Users/kadota/Desktop/dataset/SRR6325815_1.fastq"
## [3] "C:/Users/kadota/Desktop/dataset/SRR6325816_1.fastq"
## [4] "C:/Users/kadota/Desktop/dataset/SRR6325817_1.fastq"
## [5] "C:/Users/kadota/Desktop/dataset/SRR6325828_1.fastq"
## [6] "C:/Users/kadota/Desktop/dataset/SRR6325829_1.fastq"
## [7] "C:/Users/kadota/Desktop/dataset/SRR6325830_1.fastq"
## [8] "C:/Users/kadota/Desktop/dataset/SRR6325831_1.fastq"
## [9] "C:/Users/kadota/Desktop/dataset/SRR6325859_1.fastq"
## [10] "C:/Users/kadota/Desktop/dataset/SRR6325860_1.fastq"
## [11] "C:/Users/kadota/Desktop/dataset/SRR6325861_1.fastq"
## [12] "C:/Users/kadota/Desktop/dataset/SRR6325862_1.fastq"
basename(fnFs)
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
strsplit
関数strsplit
関数は、文字列ベクトルを入力として、任意の区切り文字で文字列を分割した結果をリスト形式で返します。
basename(fnFs)
## [1] "SRR6325813_1.fastq" "SRR6325815_1.fastq" "SRR6325816_1.fastq"
## [4] "SRR6325817_1.fastq" "SRR6325828_1.fastq" "SRR6325829_1.fastq"
## [7] "SRR6325830_1.fastq" "SRR6325831_1.fastq" "SRR6325859_1.fastq"
## [10] "SRR6325860_1.fastq" "SRR6325861_1.fastq" "SRR6325862_1.fastq"
strsplit(x = basename(fnFs), split = "_")
## [[1]]
## [1] "SRR6325813" "1.fastq"
##
## [[2]]
## [1] "SRR6325815" "1.fastq"
##
## [[3]]
## [1] "SRR6325816" "1.fastq"
##
## [[4]]
## [1] "SRR6325817" "1.fastq"
##
## [[5]]
## [1] "SRR6325828" "1.fastq"
##
## [[6]]
## [1] "SRR6325829" "1.fastq"
##
## [[7]]
## [1] "SRR6325830" "1.fastq"
##
## [[8]]
## [1] "SRR6325831" "1.fastq"
##
## [[9]]
## [1] "SRR6325859" "1.fastq"
##
## [[10]]
## [1] "SRR6325860" "1.fastq"
##
## [[11]]
## [1] "SRR6325861" "1.fastq"
##
## [[12]]
## [1] "SRR6325862" "1.fastq"
sapply
関数sapply
関数は、リスト形式のオブジェクトに対して逐次的な処理を行いたい場合に用いられます。ここでは、さきほどのstrsplit
実行結果をhoge
というオブジェクトに一旦格納したのち、それをsapply
関数の入力として用いています。出力結果は、表2のサンプルIDに相当します。
hoge <- strsplit(x = basename(fnFs), split = "_")
sapply(X = hoge, FUN = `[`, 1)
## [1] "SRR6325813" "SRR6325815" "SRR6325816" "SRR6325817" "SRR6325828"
## [6] "SRR6325829" "SRR6325830" "SRR6325831" "SRR6325859" "SRR6325860"
## [11] "SRR6325861" "SRR6325862"
paste0
関数paste0
関数は、文字列同士の連結を行いたいときに用います。ここでは、さきほどのsapply
実行結果をsampleID
というオブジェクトに一旦格納したのち、それをpaste0
関数の入力として用いています。文字列ベクトルであるsampleID
の各要素の右側に”_F_filt.fastq”という文字列を連結させています。ここまでが、なんらかの処理実行結果を出力させるための任意のファイル名を生成する基本形です。
sampleID <- sapply(X = hoge, FUN = `[`, 1)
paste0(sampleID, "_F_filt.fastq")
## [1] "SRR6325813_F_filt.fastq" "SRR6325815_F_filt.fastq"
## [3] "SRR6325816_F_filt.fastq" "SRR6325817_F_filt.fastq"
## [5] "SRR6325828_F_filt.fastq" "SRR6325829_F_filt.fastq"
## [7] "SRR6325830_F_filt.fastq" "SRR6325831_F_filt.fastq"
## [9] "SRR6325859_F_filt.fastq" "SRR6325860_F_filt.fastq"
## [11] "SRR6325861_F_filt.fastq" "SRR6325862_F_filt.fastq"
paste
関数paste
関数は、文字列同士の連結を行いたいときに用います。paste0
関数と基本的に同じですが、paste
関数のほうが間に挟む文字(区切り文字)を指定できる点が異なります。paste
関数のデフォルトは、区切り文字を指定するsep
オプションの値がスペース(" "
)です。従って、paste0
関数は、paste
関数をsep = ""
オプションをつけて実行することと同義です。
sampleID <- sapply(X = hoge, FUN = `[`, 1)
paste(sampleID, "_F_filt.fastq")
## [1] "SRR6325813 _F_filt.fastq" "SRR6325815 _F_filt.fastq"
## [3] "SRR6325816 _F_filt.fastq" "SRR6325817 _F_filt.fastq"
## [5] "SRR6325828 _F_filt.fastq" "SRR6325829 _F_filt.fastq"
## [7] "SRR6325830 _F_filt.fastq" "SRR6325831 _F_filt.fastq"
## [9] "SRR6325859 _F_filt.fastq" "SRR6325860 _F_filt.fastq"
## [11] "SRR6325861 _F_filt.fastq" "SRR6325862 _F_filt.fastq"
paste(sampleID, "_F_filt.fastq", sep = "")
## [1] "SRR6325813_F_filt.fastq" "SRR6325815_F_filt.fastq"
## [3] "SRR6325816_F_filt.fastq" "SRR6325817_F_filt.fastq"
## [5] "SRR6325828_F_filt.fastq" "SRR6325829_F_filt.fastq"
## [7] "SRR6325830_F_filt.fastq" "SRR6325831_F_filt.fastq"
## [9] "SRR6325859_F_filt.fastq" "SRR6325860_F_filt.fastq"
## [11] "SRR6325861_F_filt.fastq" "SRR6325862_F_filt.fastq"
file.path
関数file.path
関数は、ファイルのパス情報をうまく生成したいときに用います。ここでは、現在のディレクトリ直下に”processed”というディレクトリを作成し、その中に先ほどのpaste0
実行結果に相当する処理後のファイル名を連結させたものを作成します。
basho <- getwd()
fnFs <- list.files(pattern = "_1.fastq", path = basho, full.names = TRUE)
hoge <- strsplit(x = basename(fnFs), split = "_")
sampleID <- sapply(X = hoge, FUN = `[`, 1)
filtFs <- file.path(basho, "processed", paste0(sampleID, "_F_filt.fastq"))
filtFs
## [1] "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_F_filt.fastq"
## [2] "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_F_filt.fastq"
## [3] "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_F_filt.fastq"
## [4] "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_F_filt.fastq"
## [5] "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_F_filt.fastq"
## [6] "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_F_filt.fastq"
## [7] "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_F_filt.fastq"
## [8] "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_F_filt.fastq"
## [9] "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_F_filt.fastq"
## [10] "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_F_filt.fastq"
## [11] "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_F_filt.fastq"
## [12] "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_F_filt.fastq"
一見するとfile.path
関数の有用性がわかりにくいヒトは、以下で示すようなfile.path
の部分をpaste0
に置き換えた結果と比較すると納得できると思います。つまり、file.path
のほうがスラッシュ(/)をうまく挿入してくれます。
paste0(basho, "processed", paste0(sampleID, "_F_filt.fastq"))
## [1] "C:/Users/kadota/Desktop/datasetprocessedSRR6325813_F_filt.fastq"
## [2] "C:/Users/kadota/Desktop/datasetprocessedSRR6325815_F_filt.fastq"
## [3] "C:/Users/kadota/Desktop/datasetprocessedSRR6325816_F_filt.fastq"
## [4] "C:/Users/kadota/Desktop/datasetprocessedSRR6325817_F_filt.fastq"
## [5] "C:/Users/kadota/Desktop/datasetprocessedSRR6325828_F_filt.fastq"
## [6] "C:/Users/kadota/Desktop/datasetprocessedSRR6325829_F_filt.fastq"
## [7] "C:/Users/kadota/Desktop/datasetprocessedSRR6325830_F_filt.fastq"
## [8] "C:/Users/kadota/Desktop/datasetprocessedSRR6325831_F_filt.fastq"
## [9] "C:/Users/kadota/Desktop/datasetprocessedSRR6325859_F_filt.fastq"
## [10] "C:/Users/kadota/Desktop/datasetprocessedSRR6325860_F_filt.fastq"
## [11] "C:/Users/kadota/Desktop/datasetprocessedSRR6325861_F_filt.fastq"
## [12] "C:/Users/kadota/Desktop/datasetprocessedSRR6325862_F_filt.fastq"
file.path
関数の代わりに、sep = "/"
オプションをつけてpaste
関数を実行しても構いません。
paste(basho, "processed", paste0(sampleID, "_F_filt.fastq"), sep = "/")
## [1] "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_F_filt.fastq"
## [2] "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_F_filt.fastq"
## [3] "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_F_filt.fastq"
## [4] "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_F_filt.fastq"
## [5] "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_F_filt.fastq"
## [6] "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_F_filt.fastq"
## [7] "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_F_filt.fastq"
## [8] "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_F_filt.fastq"
## [9] "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_F_filt.fastq"
## [10] "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_F_filt.fastq"
## [11] "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_F_filt.fastq"
## [12] "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_F_filt.fastq"
names
関数これは少しわかりにくい概念ですが、names
関数はベクトルの各要素に名前をつけたいときに用います。実際取り扱うのはForward側とReverse側の両方ですが、通常これらはペアとして取り扱います。それゆえ、対応する要素の中身の文字列(つまりファイル名)で異なっていたとしても、要素につけられた名前を一致させておくことでペアとして認識させることができるメリットがあります。ここでは、要素につける名前としてサンプルID(オブジェクト名としてはsampleID)を割り当てています。
filtFs
## [1] "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_F_filt.fastq"
## [2] "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_F_filt.fastq"
## [3] "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_F_filt.fastq"
## [4] "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_F_filt.fastq"
## [5] "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_F_filt.fastq"
## [6] "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_F_filt.fastq"
## [7] "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_F_filt.fastq"
## [8] "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_F_filt.fastq"
## [9] "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_F_filt.fastq"
## [10] "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_F_filt.fastq"
## [11] "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_F_filt.fastq"
## [12] "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_F_filt.fastq"
names(filtFs) <- sampleID
filtFs
## SRR6325813
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_F_filt.fastq"
## SRR6325815
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_F_filt.fastq"
## SRR6325816
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_F_filt.fastq"
## SRR6325817
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_F_filt.fastq"
## SRR6325828
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_F_filt.fastq"
## SRR6325829
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_F_filt.fastq"
## SRR6325830
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_F_filt.fastq"
## SRR6325831
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_F_filt.fastq"
## SRR6325859
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_F_filt.fastq"
## SRR6325860
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_F_filt.fastq"
## SRR6325861
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_F_filt.fastq"
## SRR6325862
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_F_filt.fastq"
ここまではForward側のファイルのみでしたので、Reverse側も含めて全体をまとめて実行するスクリプトを示します。スクリプトに本当は不要な部分も含まれますが、Forward側とReverse側ともに同じように記載することを優先させています。filtFs
とfiltRs
が前処理後のファイルの絶対パス情報になります。
basho <- getwd()
# Forward側
fnFs <- list.files(pattern = "_1.fastq", path = basho, full.names = TRUE)
hoge <- strsplit(x = basename(fnFs), split = "_")
sampleID <- sapply(X = hoge, FUN = `[`, 1)
filtFs <- file.path(basho, "processed", paste0(sampleID, "_F_filt.fastq"))
names(filtFs) <- sampleID
filtFs
## SRR6325813
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_F_filt.fastq"
## SRR6325815
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_F_filt.fastq"
## SRR6325816
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_F_filt.fastq"
## SRR6325817
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_F_filt.fastq"
## SRR6325828
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_F_filt.fastq"
## SRR6325829
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_F_filt.fastq"
## SRR6325830
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_F_filt.fastq"
## SRR6325831
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_F_filt.fastq"
## SRR6325859
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_F_filt.fastq"
## SRR6325860
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_F_filt.fastq"
## SRR6325861
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_F_filt.fastq"
## SRR6325862
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_F_filt.fastq"
# Reverse側
fnRs <- list.files(pattern = "_2.fastq", path = basho, full.names = TRUE)
hoge <- strsplit(x = basename(fnRs), split = "_")
sampleID <- sapply(X = hoge, FUN = `[`, 1)
filtRs <- file.path(basho, "processed", paste0(sampleID, "_R_filt.fastq"))
names(filtRs) <- sampleID
filtRs
## SRR6325813
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325813_R_filt.fastq"
## SRR6325815
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325815_R_filt.fastq"
## SRR6325816
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325816_R_filt.fastq"
## SRR6325817
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325817_R_filt.fastq"
## SRR6325828
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325828_R_filt.fastq"
## SRR6325829
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325829_R_filt.fastq"
## SRR6325830
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325830_R_filt.fastq"
## SRR6325831
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325831_R_filt.fastq"
## SRR6325859
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325859_R_filt.fastq"
## SRR6325860
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325860_R_filt.fastq"
## SRR6325861
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325861_R_filt.fastq"
## SRR6325862
## "C:/Users/kadota/Desktop/dataset/processed/SRR6325862_R_filt.fastq"
basho <- "."
# Forward側
fnFs <- list.files(pattern = "_1.fastq", path = basho, full.names = TRUE)
hoge <- strsplit(x = basename(fnFs), split = "_")
sampleID <- sapply(X = hoge, FUN = `[`, 1)
filtFs <- file.path(basho, "processed", paste0(sampleID, "_F_filt.fastq"))
names(filtFs) <- sampleID
filtFs
## SRR6325813 SRR6325815
## "./processed/SRR6325813_F_filt.fastq" "./processed/SRR6325815_F_filt.fastq"
## SRR6325816 SRR6325817
## "./processed/SRR6325816_F_filt.fastq" "./processed/SRR6325817_F_filt.fastq"
## SRR6325828 SRR6325829
## "./processed/SRR6325828_F_filt.fastq" "./processed/SRR6325829_F_filt.fastq"
## SRR6325830 SRR6325831
## "./processed/SRR6325830_F_filt.fastq" "./processed/SRR6325831_F_filt.fastq"
## SRR6325859 SRR6325860
## "./processed/SRR6325859_F_filt.fastq" "./processed/SRR6325860_F_filt.fastq"
## SRR6325861 SRR6325862
## "./processed/SRR6325861_F_filt.fastq" "./processed/SRR6325862_F_filt.fastq"
# Reverse側
fnRs <- list.files(pattern = "_2.fastq", path = basho, full.names = TRUE)
hoge <- strsplit(x = basename(fnRs), split = "_")
sampleID <- sapply(X = hoge, FUN = `[`, 1)
filtRs <- file.path(basho, "processed", paste0(sampleID, "_R_filt.fastq"))
names(filtRs) <- sampleID
filtRs
## SRR6325813 SRR6325815
## "./processed/SRR6325813_R_filt.fastq" "./processed/SRR6325815_R_filt.fastq"
## SRR6325816 SRR6325817
## "./processed/SRR6325816_R_filt.fastq" "./processed/SRR6325817_R_filt.fastq"
## SRR6325828 SRR6325829
## "./processed/SRR6325828_R_filt.fastq" "./processed/SRR6325829_R_filt.fastq"
## SRR6325830 SRR6325831
## "./processed/SRR6325830_R_filt.fastq" "./processed/SRR6325831_R_filt.fastq"
## SRR6325859 SRR6325860
## "./processed/SRR6325859_R_filt.fastq" "./processed/SRR6325860_R_filt.fastq"
## SRR6325861 SRR6325862
## "./processed/SRR6325861_R_filt.fastq" "./processed/SRR6325862_R_filt.fastq"