Skip to content

ValidateFastq #
Find similar titles

Structured data

Category
Software

개요 #

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)


참조문헌 #

0.0.1_20210630_7_v33