将 FASTQ 文件读入 Spark 数据帧
Read FASTQ file into a Spark dataframe
我正在尝试将 FASTQ 文件读入 Spark 数据帧。我遇到了一些困难,因为 FASTQ 是一种多行格式。
示例:
@seq1
AGTCAGTCGAC
+
?@@FFBFFDDH
@seq2
CCAGCGTCTCG
+
?88ADA?BDF8
有没有办法在 Spark 数据帧中获取这些数据,例如
+-------------+-------------+------------+
| identifier | sequence | quality |
+-------------+-------------+------------+
|seq1 |AGTCAGTCGAC |?@@FFBFFDDH |
|seq2 |CCAGCGTCTCG |?88ADA?BDF8 |
+-------------+-------------+------------+
感谢您的宝贵时间
我会滑
import org.apache.spark.mllib.rdd.RDDFunctions._
spark.createDataset(sc.textFile(path).sliding(4, 4).map {
case Array(id, seq, _, qual) => (id, seq, qual)
}).toDF("identifier", "sequence", "quality")
// +----------+-----------+-----------+
// |identifier| sequence| quality|
// +----------+-----------+-----------+
// | @seq1|AGTCAGTCGAC|?@@FFBFFDDH|
// | @seq2|CCAGCGTCTCG|?88ADA?BDF8|
// +----------+-----------+-----------+
我正在尝试将 FASTQ 文件读入 Spark 数据帧。我遇到了一些困难,因为 FASTQ 是一种多行格式。
示例:
@seq1
AGTCAGTCGAC
+
?@@FFBFFDDH
@seq2
CCAGCGTCTCG
+
?88ADA?BDF8
有没有办法在 Spark 数据帧中获取这些数据,例如
+-------------+-------------+------------+
| identifier | sequence | quality |
+-------------+-------------+------------+
|seq1 |AGTCAGTCGAC |?@@FFBFFDDH |
|seq2 |CCAGCGTCTCG |?88ADA?BDF8 |
+-------------+-------------+------------+
感谢您的宝贵时间
我会滑
import org.apache.spark.mllib.rdd.RDDFunctions._
spark.createDataset(sc.textFile(path).sliding(4, 4).map {
case Array(id, seq, _, qual) => (id, seq, qual)
}).toDF("identifier", "sequence", "quality")
// +----------+-----------+-----------+
// |identifier| sequence| quality|
// +----------+-----------+-----------+
// | @seq1|AGTCAGTCGAC|?@@FFBFFDDH|
// | @seq2|CCAGCGTCTCG|?88ADA?BDF8|
// +----------+-----------+-----------+