У меня есть пара файлов fasta, которые я хочу разбить на более мелкие куски, чтобы распараллелить обработку.
Первый фаст reads.fasta
содержит последовательности ДНК
>/kingdoms/rce/workspace1/Nanopore/20180223-run9/RawData/BC-BD-chr10/i0013771_20180416_FAH66366_MN19358_sequencing_run_1042_63976_read_126980_ch_412_strand.fast5_template_deepnano {'mapped_end': 24599, 'num_matches': 22704, 'mapped_strand': '+', 'clipped_bases_end': 18, 'num_insertions': 715, 'mapped_start': 226, 'mapped_chrom': 'chr10', 'num_mismatches': 795, 'clipped_bases_start': 154, 'num_deletions': 874}
CXXACCCGGAGXXXCAGCXAAAAGCXAXACXXACXACCXXTAXXXTATGXXXACXXXXXAXAGACXGTCXXXXCAXCCXACXCCTXCGCACTTGXCXCXCGCXACXGCCGXGCAACAAACACXAAAXCAAAACAGXAAAAXACXACAXCAAAACGCATAXXCCCXAGAAAAAAAXXXTCXXACAATAXACXAXACXACACAAXACABAAXCAGXGACXXXCGXAACAACAAXXXCCTXCACXCXCCAACTXCXCXGCXCGAAXCCCXACATAAXAATATAXCAAAXCXACCGXCXGGAACAXCAXCGCXAXCCAGCXCXTTGXGAACCGCXACCAXCAGCABGXACAGXGGXACCCXCGTGXCAXCXGCAGCGAGAACTXCAACGXXXGCCAAAXCAAGCCAATGXGGXAACAACCACACC
>/kingdoms/rce/workspace1/Nanopore/20180223-run9/RawData/BC-BD-chr10/i0013771_20180416_FAH66366_MN19358_sequencing_run_1042_63976_read_55042_ch_362_strand.fast5_template_deepnano {'mapped_end': 202484, 'num_matches': 12382, 'mapped_strand': '-', 'clipped_bases_end': 33, 'num_insertions': 442, 'mapped_start': 189194, 'mapped_chrom': 'chr10', 'num_mismatches': 461, 'clipped_bases_start': 20, 'num_deletions': 447}
XGAXXXTAATGXTAAAXCGAXAGXACCAAGXCXXTTGTTGTAXACXAGAXCCAXXCCXAATATAXCTGTAXCGAGXACAXCGXCTAXXAATGXXCCTGXAAXXXXCAGXXCAAAAXXACXXXXCAAXTBGXXTAXGAAXXCAXCCAAXCXCTGXXCAXXGCXXGCCGCAAXXACGCAGXCAXCAACAXAGACXGCAAXCAXXAGAXXXXBAXCCXCGGXXXGGTAXAAXCCCGGAGTAXAAGAGXXATCXXXCAGXCCAAXXCCAXXCAAGTATTGTCXXAGAXGAXCAXXCCAXTCXXXAGGACXCTGXXXXAGACCATAXAACGCCXTAXXXAGCXXGACXACACAXCXCCXAXCAXGCGGATGXGGGATGTATAXXBCTTCTXCCAAXXXAGCATAXAGGAAXGCAXGAXXGA
...
Второй пункт reads.fasta_values
содержит последовательность значений, разделенных пробелом, которые соответствуют последовательности ДНК reads.fasta
(в том же порядке)
>/kingdoms/rce/workspace1/Nanopore/20180223-run9/RawData/BC-BD-chr10/i0013771_20180416_FAH66366_MN19358_sequencing_run_1042_63976_read_126980_ch_412_strand.fast5_template_deepnano
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.03 0.03 0.03 0.03 0.03 0.03
>/kingdoms/rce/workspace1/Nanopore/20180223-run9/RawData/BC-BD-chr10/i0013771_20180416_FAH66366_MN19358_sequencing_run_1042_63976_read_55042_ch_362_strand.fast5_template_deepnano
0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09 0.09
...
Я хочу получить несколько пар файлов меньшего размера.
В настоящее время я пытался соединить их, а затем разделить, но это разбивает только первый файл пары.
Channel
.fromFilePairs("reads{.fasta,.fasta_values}", flat:true)
.splitFasta(by: 1, file:true)
.println()
Выход:
[reads, reads.1.fasta, reads.fasta_values]
[reads, reads.2.fasta, reads.fasta_values]
[reads, reads.3.fasta, reads.fasta_values]
Пока я хочу что-то вроде этого
[reads, reads.1.fasta, reads.1.fasta_values]
[reads, reads.2.fasta, reads.2.fasta_values]
[reads, reads.3.fasta, reads.3.fasta_values]
Я думаю, что нечто подобное можно сделать с fastq
файлами для парного чтения, но я не смог выяснить, как это сделать с fasta
файлами.
Любая помощь приветствуется,
Спасибо.