Closed carandraug closed 6 years ago
Hi, sorry for the late response. Originally this was made to allow different kinds of piping (like piping align
output directly to assemble
action, or something like this). Unfortunately, piping to assemble
action is impossible as assemble
action reads original vdjca file twice (one for core clonotypes assembly and one for low quality mapping), but still, it is practically possible for example to pipe align
action output to exportAlignments
.
Like this (this doesn't work, but can easily be implemented):
mixcr align input_R1.fastq input_R2.fastq | mixcr exportAlignments - -
For me it seems like it can be handy in some cases. It would be great to hear your thoughts on this matter.
I didn't realize that there were plans to make it work with pipes. Indeed, such usage would be very nice and would suit my case perfectly. I would be able to do:
%-clones.txt: %-R1.fastq %-R2.fastq
mixcr align $^ | mixcr assemble | mixcr exportClones > $@
instead of:
%-clones.txt: %-R1.fastq %-R2.fastq
mixcr align $^ $*.vdjca > /dev/null
mixcr assemble $*.vdjca $*.clns > /dev/null
mixcr exportClones $*.clns $@ > /dev/null
$(RM) $*.vdjca $*.clns
On the other hand, I can see how that would be more work for you and I am unsure of how many people would appreciate being able to use pipes.
Whatever way you go, it would be nice to also have options to control that output, either a --progress
option (since --verbose
is already taken) or a --quiet
option.
Something like this two options:
--progress
option--quiet
option to silence progress information
While running, mixcr prints some of the messages about progress to STDERR instead of STDOUT. I can submit a patch to fix this, but this seems to be done on purpose although I can't understand why.