INNER CODE UNIT · Rust

resolve_r_fields

abdenlab/oxbow · r-oxbow/src/rust/src/lib.rs:25

fn resolve_r_fields(fields: Option<Vec<String>>) -> Select<String> {
    match fields {
        None => Select::Omit,
        Some(v) if v.len() == 1 && v[0] == "*" => Select::All,
        Some(v) => Select::Some(v),
    }
}

/// Return Arrow IPC format from a FASTQ file.
#[extendr]
fn read_fastq_impl(path: &str, fields: Option<Vec<String>>) -> Vec<u8> {
    let compressed = path.ends_with(".gz");
    let reader = std::fs::File::open(path)
        .map(|f| BufReader::with_capacity(BUFFER_SIZE_BYTES, f))
        .unwrap();
    let scanner = FastqScanner::new(resolve_r_fields(fields)).unwrap();

    let ipc = if compressed {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…