Sequencing을 하기 위해서는 Sequencing하고 싶은 유전자 서열에 사전작업을 해주어야한다 (Sequencing library preparation).
Library preparation은 DNA크기를 적당하게 잘라줌과 동시에 DNA조각에 Adapter라는 염기서열을 달아준다. Adapter는 다시 read primer와 Index, P5 or P7 염기서열로 구성되어있다.
Read primer : 샘플 DNA를 증폭하는데 사용하는 primer.
P5, P7 sequence : Sequencer(illumina)의 flow cell surface와 결합해 고밀도의 DNA sequencing과 클러스터링을 하는데 사용.
Index sequence : 흔히 barcode라고 하며, DNA샘플 조각을 구별하기 위해 사용.
파일이름은 편의상 샘플에 대한 정보를 담고 있는 것이 좋음
박사님이 주신 script를 이용하기 위해선 파일명의 끝은
.1.fq.gz // .2.fq.gz 로 하는게 좋음.
ex) ERR3453483_1.fq.gz, ERR3453483_2.fq.gz 파일명 변환
$ mv ERR3453483_1.fq.gz mESC_ATACseq_day0_1.1.fq.gz
$ mv ERR3453483_2.fq.gz mESC_ATACseq_day0_1.2.fq.gz
$ more atactk_trim_ATAC_cutadapt.pl
@files = <*.1.fq.gz>;
foreach $file (@files)
{
$file=~s/.1.fq.gz//;
print "`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o ".$file."_trimmed_1.fq.gz -p ".$file."_trimmed_2
.fq.gz ".$file.".1.fq.gz ".$file.".2.fq.gz | gzip -c > ".$file."_trimmed.cutadapt.log.gz`;\n\n";
}
*.1.fq.gz : .1.fq.gz 확장자에 대한 모든 파일 선택
$file=~s/.1.fq.gz//; : 파일명에서 .1.fq.gz의 앞부분을 $file에 할당(?)
Cutadapt 옵션
-q 10 : 퀄리티 스코어가 10이상인 read만 유지
-m 15 : 최소 길이가 15인 read만 추출
-e 0.10: 허용 오류율이 10%로 설정
-a CTGTCTCTTATA: 5` adapter trimming
-A CTGTCTCTTATA: pair-end adapter trimming
$ perl atactk_trim_ATAC_cutadapt.pl > atactk_trim_ATAC_cutadapt_auto.pl
$ more atactk_trim_ATAC_cutadapt_auto.pl
`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o mESC_ATACseq_day0_1_atac2_trimmed_1.fq.gz -p mESC_ATACseq_day0_1_atac2_trimmed_2.fq.gz mESC
_ATACseq_day0_1_atac2.1.fq.gz mESC_ATACseq_day0_1_atac2.2.fq.gz | gzip -c > mESC_ATACseq_day0_1_atac2_trimmed.cutadapt.log.gz`;
`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o mESC_ATACseq_day0_2_atac2_trimmed_1.fq.gz -p mESC_ATACseq_day0_2_atac2_trimmed_2.fq.gz mESC
_ATACseq_day0_2_atac2.1.fq.gz mESC_ATACseq_day0_2_atac2.2.fq.gz | gzip -c > mESC_ATACseq_day0_2_atac2_trimmed.cutadapt.log.gz`;
`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o mESC_ATACseq_day12_1_atac2_trimmed_1.fq.gz -p mESC_ATACseq_day12_1_atac2_trimmed_2.fq.gz mE
SC_ATACseq_day12_1_atac2.1.fq.gz mESC_ATACseq_day12_1_atac2.2.fq.gz | gzip -c > mESC_ATACseq_day12_1_atac2_trimmed.cutadapt.log.gz`;
`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o mESC_ATACseq_day4_1_atac2_trimmed_1.fq.gz -p mESC_ATACseq_day4_1_atac2_trimmed_2.fq.gz mESC
_ATACseq_day4_1_atac2.1.fq.gz mESC_ATACseq_day4_1_atac2.2.fq.gz | gzip -c > mESC_ATACseq_day4_1_atac2_trimmed.cutadapt.log.gz`;
`cutadapt -q 10 -m 15 -e 0.10 -a CTGTCTCTTATA -A CTGTCTCTTATA -o mESC_ATACseq_day8_1_atac2_trimmed_1.fq.gz -p mESC_ATACseq_day8_1_atac2_trimmed_2.fq.gz mESC
_ATACseq_day8_1_atac2.1.fq.gz mESC_ATACseq_day8_1_atac2.2.fq.gz | gzip -c > mESC_ATACseq_day8_1_atac2_trimmed.cutadapt.log.gz`;
$ ./atactk_trim_ATAC_cutadapt_auto.sh
more atactk_trim_ATAC_cutadapt_auto.sh
#!/bin/bash
module load cutadapt/1.14-foss-2016b-Python-2.7.12
perl atactk_trim_ATAC_cutadapt_auto.pl
#!/bin/bash : bash shell 스크립트로, 해당 스크립트로 시작하는 파일은 ./파일명 으로 실행시킬 수 있음.