-
Notifications
You must be signed in to change notification settings - Fork 113
Open
Description
Hi,
it is possible to read fastq file from standard input using zcat test.fastq.gz | fastqc stdin. However I'm not able to read bam/ sam file from standard input this way (useful e.g. if there are multialignments) samtools view -F 256 -h test.bam | fastqc stdin produces a following error:
null
Failed to process stdin
uk.ac.babraham.FastQC.Sequence.SequenceFormatException: Midline '@SQ SN:ENST00000000001 LN:1000' didn't start with '+' at 3
at uk.ac.babraham.FastQC.Sequence.FastQFile.readNext(FastQFile.java:179)
at uk.ac.babraham.FastQC.Sequence.FastQFile.<init>(FastQFile.java:93)
at uk.ac.babraham.FastQC.Sequence.SequenceFactory.getSequenceFile(SequenceFactory.java:106)
at uk.ac.babraham.FastQC.Sequence.SequenceFactory.getSequenceFile(SequenceFactory.java:62)
at uk.ac.babraham.FastQC.Analysis.OfflineRunner.processFile(OfflineRunner.java:163)
at uk.ac.babraham.FastQC.Analysis.OfflineRunner.<init>(OfflineRunner.java:125)
at uk.ac.babraham.FastQC.FastQCApplication.main(FastQCApplication.java:316)
Apparently automatic file format detection does not work with standard input and it tries to parse it as a fastq file. But forcing the correct format (samtools view -F 256 -h test.bam | fastqc -f sam stdin) will just produce a different error.:
Failed to process stdin
java.io.FileNotFoundException: stdin (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
at uk.ac.babraham.FastQC.Sequence.BAMFile.<init>(BAMFile.java:62)
at uk.ac.babraham.FastQC.Sequence.SequenceFactory.getSequenceFile(SequenceFactory.java:81)
at uk.ac.babraham.FastQC.Sequence.SequenceFactory.getSequenceFile(SequenceFactory.java:62)
at uk.ac.babraham.FastQC.Analysis.OfflineRunner.processFile(OfflineRunner.java:163)
at uk.ac.babraham.FastQC.Analysis.OfflineRunner.<init>(OfflineRunner.java:125)
at uk.ac.babraham.FastQC.FastQCApplication.main(FastQCApplication.java:316)
So it looks like specifying the format turns off the special handling of the 'stdin' keyword.
$ fastqc -v
FastQC v0.12.1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels