Some lines to calculate the numbers of reads need according to read length, file weigth :
if(params.sequencer=~/NovaSeq.*/){if(params.n_samples>=params.large_sampling_threshold){params.nova_subset_seq=params.large_indexing_nova_subset_seq}params.bytes_subset_seq=params.nova_subset_seq.toBigInteger()*params.read_length*5params.subset_seq=params.nova_subset_seq}else{params.bytes_subset_seq=params.miseq_subset_seq.toBigInteger()*params.read_length*5params.subset_seq=params.miseq_subset_seq}System.out.println"Seuil de taille de fichier pour subset : "+params.bytes_subset_seq+" bytes."System.out.println"Nombre de reads pour subset : "+params.subset_seq+"."
New idea : do not try to split fastq according to their size, but run seqtk_sample process anyway. If fastq contains less than the read_number threshold, they will output as same.