我有一对fasta文件,我希望将它们分成较小的块以并行处理。
第一个法塔public void visit(VariableDeclarator variableDeclarator, Void arg) {
super.visit(variableDeclarator, arg);
variableDeclarator.getInitializer().ifPresent(expression -> {
expression.ifStringLiteralExpr(stringLiteralExpr -> {/* do something */})
}
包含DNA序列
reads.fasta
第二个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
的DNA序列相对应(顺序相同)
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
文件的方法。
感谢您的帮助,
谢谢。
答案 0 :(得分:0)
好吧,我找到了,只需要elem
中的参数splitFasta
Channel
.fromFilePairs("reads{.fasta,.fasta_values}", flat:true)
.splitFasta(by: 1, file:true, elem:[1,2])
.println()