ValidateFastq
#
Find similar titles
- (rev. 5)
- hspark
Structured data
- Category
- Software
Table of Contents
개요 #
ValidateFastq는 사용자의 fastq 파일이 유효한 fastq 형식의 파일인지를 검증해주는 커맨드라인 기반 프로그램이다. fastq 파일 형식뿐만 아니라 paired end reads이면 각 파일의 reads 수와 각 reads의 header를 비교해 준다. NGS 서열 분석 전 fastq 파일 형식을 검증하는 데 활용하면 유용하다.
설치 #
ValidateFastq는 jar 형식으로 제공되어 별도의 설치과정은 필요하지 않지만, 사용하기 위해서는 java가 (java8 이상) 설치되어야 한다. 최신 버전의 ValidateFastq 는 여기 에서 다운로드 받을 수 있으며 2022년06월 기준 v0.1.1 가 최신 버전이다.
사용 방법 #
사용할 수 있는 전체 옵션을 확인하고자 할 때는 커맨드라인에 아래와 같이 입력한다.
java -jar <path/to/ValidateFastq.jar> --help
ValidateFastq 주요 분석 옵션은 아래와 같다.
옵션 | 옵션 설명 |
---|---|
--fastq1, -i | 검증할 fastq 파일 경로 (필수) |
--fastq2, -j | 검증할 fastq 파일 경로 (paired end reads를 검증하고자 하는 경우) |
커맨드라인은 아래와 같다. fastq 형식뿐만 아니라 gz 형식으로 압축된 fastq 파일도 사용할 수 있다.
java -jar <path/to/ValidateFastq.jar> -i <path/to/fastq>
유효한 fastq 파일인 경우 #
파일 검증 결과는 화면에 출력되며 fastq 파일이 유효한 형식인 경우는 아래와 같은 로그가 출력된다.
INFO [2022-06-28 09:46:00,470] [ValidateFastq$] - Start
INFO [2022-06-28 09:46:01,129] [ValidateFastq$$anonfun$main$1] - 100000 reads processed
INFO [2022-06-28 09:46:01,467] [ValidateFastq$$anonfun$main$1] - 200000 reads processed
INFO [2022-06-28 09:46:01,471] [ValidateFastq$] - Possible quality encodings found: Illumina 1.8+
INFO [2022-06-28 09:46:01,471] [ValidateFastq$] - Done processing 200000 fastq records, no errors found
INFO [2022-06-28 09:46:01,472] [ValidateFastq$] - Done
유효하지 않은 fastq 파일인 경우 #
아래는 첫 번째 서열이 서열 길이와 각 서열의 quality를 표기해주는 라인의 글자 수가 같지 않은 오류가 있는 경우이다.
@SRR610039_DNA_Methylation_serum_LIF_E14.1 HWI-ST731_122:5:1101:1240:1955 length=100
TTTCCACCTTTTTCAATTTTCCTAACCATATTTCACGTCCTAAAATATATATTTCTCATTTTCCGTAATTTTCAATTTTCACGCCATATTCCAAATCCTT
+SRR610039_DNA_Methylation_serum_LIF_E14.1 HWI-ST731_122:5:1101:1240:1955 length=100
FFHHHHHJJFFHHHHHJJFFHHHHHJJJJJJJJJJIJJJJJJJJJJJJIHJJJJJJJIJJIJJIIJJJIIIJJJJJJJJJIJJJJIIIJJJJIHFHHFFFFECDEEEECDDD
상단의 유효하지 않은 서열이 포함된 fastq 파일의 검증을 수행했을 때 출력되는 로그이다.
INFO [2022-06-28 09:47:32,162] [ValidateFastq$] - Start
Exception in thread "main" htsjdk.samtools.SAMException: Sequence and quality line must be the same length at line 1 in fastq test_set/example_errror.fastq
at htsjdk.samtools.fastq.FastqReader.readNextRecord(FastqReader.java:130)
at htsjdk.samtools.fastq.FastqReader.<init>(FastqReader.java:94)
at htsjdk.samtools.fastq.FastqReader.<init>(FastqReader.java:77)
at htsjdk.samtools.fastq.FastqReader.<init>(FastqReader.java:68)
at nl.biopet.tools.validatefastq.ValidateFastq$$anonfun$1.apply(ValidateFastq.scala:41)
at nl.biopet.tools.validatefastq.ValidateFastq$$anonfun$1.apply(ValidateFastq.scala:41)
at scala.Option.map(Option.scala:146)
at nl.biopet.tools.validatefastq.ValidateFastq$.main(ValidateFastq.scala:41)
at nl.biopet.tools.validatefastq.ValidateFastq.main(ValidateFastq.scala)