Bioinformatics (FASTA/FASTQ)

Sequence files (.fasta, .fa, .fna, .fastq, .fq) are read and written with microseq. FASTA files produce a data frame with Header and Sequence columns; FASTQ adds a Quality column.

FASTA

Reading

rush run -n 'head(df)' sequences.fasta
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #|   - rush
#> 
#> rush::init(
#>   dpi = 300L
#> )
#> 
#> dfs <- list()
#> dfs[["sequences"]] <- rush::read("sequences.fasta")
#> df <- dfs[[1]]
#> result <- head(df)
#> 
#> rush::write(result)

Writing

rush run -n -O fasta -o output.fasta 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #|   - rush
#> 
#> rush::init(
#>   output = "output.fasta",
#>   output_format = "fasta",
#>   dpi = 300L
#> )
#> 
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#> 
#> rush::write(result)

FASTQ

Reading

rush run -n 'head(df)' reads.fastq
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #|   - rush
#> 
#> rush::init(
#>   dpi = 300L
#> )
#> 
#> dfs <- list()
#> dfs[["reads"]] <- rush::read("reads.fastq")
#> df <- dfs[[1]]
#> result <- head(df)
#> 
#> rush::write(result)

Writing

rush run -n -O fastq -o output.fastq 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #|   - rush
#> 
#> rush::init(
#>   output = "output.fastq",
#>   output_format = "fastq",
#>   dpi = 300L
#> )
#> 
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#> 
#> rush::write(result)

Example workflows

rush run 'nrow(df)' sequences.fasta
rush run 'df |> dplyr::filter(nchar(Sequence) > 100)' reads.fastq
rush convert -o filtered.fasta data.csv