728x90
반응형
1. 개요
fastq파일에서 가끔 fasta파일로 변형해야 실행되는 프로그램들이 있다.
이것은 이를 위해 만든 스크립트이다.
실행환경은 리눅스이다.
2. 스크립트
'''
이 스크립트는 fastq파일을 fasta파일로 변환하는 스크립트임.
sed로 작동하는 것이기 때문에 리눅스 환경이면 어디서든 사용이 가능함.
실행법
python /path/to/fastq2fasta.py \
--input /path/to/input.fastq \
--output /path/to/output.fasta
'''
# 파라미터 셋팅
params={
# 이것은 특별히 할게 없음.
}
# 라이브러리 셋팅
import sys, os
import subprocess as sbp
import argparse
parser = argparse.ArgumentParser(description='fastq-2-fasta conversion script')
# 입력받을 인자값 등록
# Default값이 없는 경우
parser.add_argument('--input', required=True, help='/path/to/input.fastq')
# Default값이 있는 경우
parser.add_argument('--output', required=True, help='/path/to/output.fa')
# 함수 정의
def fastq2fasta(in_path,out_path):
'''
이 함수는 fastq파일을 fasta 형식으로 변형해주는 것임
이를 위해 awk를 사용함.
in_path : fastq 파일 경로
out_path : fasta 파일 저장경로
'''
cmd=f"sed -n '1~4s/^@/>/p;2~4p' {in_path} > {out_path}"
sbp.call(cmd,shell=1)
if __name__=='__main__':
args=parser.parse_args()
params['in']=args.input
params['out']=args.output
fastq2fasta(in_path=params['in'],out_path=params['out'])
728x90
반응형