Skip to content

Instantly share code, notes, and snippets.

View dgcamblor's full-sized avatar
📖

Daniel González Camblor dgcamblor

📖
View GitHub Profile
@dgcamblor
dgcamblor / list_samples.sh
Last active July 3, 2024 11:06
List all samples in a raw data directory (single line, multiple line list or count them)
#!/bin/bash
list_samples() {
local dir="$1"
local mode="${2:-line}"
local samples=$(ls -1 "$dir" | awk -F'_' '{print $1}' | sort -uV)
case "$mode" in
line)
echo "$samples" | paste -sd ' ' -
@dgcamblor
dgcamblor / downsample_fastq.sh
Created May 27, 2024 13:28
This function automates FASTQ downsampling with seqtk, which can be easily parallelized with GNU parallel
#!/bin/bash
downsample_fastq() {
local input_fastq=$1 #$ FASTQ in .gz compression (ID_1.fastq.gz)
local downsample_factor=$2
local base_name=$(basename "$input_fastq" .fastq.gz)
local prefix="${base_name%%_*}"
local suffix="${base_name#*_}"
local output_fastq="${prefix}s_${suffix}.fastq.gz" # Add an "s" to the ID