1부. Rosalind.info 챌린지
1장. 테트라뉴클레오타이드 빈도: 빈도수 계산
__시작하기
____new.py를 사용해 새 프로그램 만들기
____argparse 사용하기
____코드의 오류를 찾기 위한 개발 툴
____명명된 튜플 소개
____명명된 튜플에 타입 추가하기
____NamedTuple로 인수 표현하기
____커맨드 라인 또는 파일에서 입력값 읽기
____프로그램 테스트하기
____출력 테스트하기 위해 프로그램 실행하기
__솔루션
____솔루션 1: 문자열의 문자 반복과 계산
____뉴클레오타이드 계산하기
____솔루션 작성 및 검증
__추가적인 솔루션
____솔루션 2: count( 함수 생성과 단위 테스트 추가하기
____솔루션 3: str.count( 사용하기
____솔루션 4: 딕셔너리를 사용해 모든 문자 계산하기
____솔루션 5: 원하는 염기만 계산하기
____솔루션 6: collections.defaultdict( 사용하기
____솔루션 7: collections.Counter( 사용하기
__더 나아가기
__요점 정리
2장. DNA를 mRNA로 변환: 문자열 변경, 파일 읽기와 쓰기
__시작하기
____프로그램의 매개 변수 정의
____선택적 매개 변수 정의
____하나 이상의 필수 위치 매개 변수 정의하기
____nargs를 사용해 인수의 수 정의하기
____argparse.FileType(을 사용해 파일 인수의 유효성 검사하기
____Args 클래스 정의하기
____의사 코드를 사용한 프로그램 개요
____입력 파일 반복
____출력 파일 이름 생성하기
____출력 파일 열기
____출력 염기 서열 쓰기
____상태 보고서 출력하기
____테스트 모음 사용하기
__솔루션
____솔루션 1: str.replace( 사용하기
____솔루션 2: re.sub( 사용하기
__벤치마킹하기
__더 나아가기
__요점 정리
3장. DNA 역상보
이 책에서 다루는 내용
- 매개 변수를 문서화하고 검증할 커맨드 라인 파이썬 프로그램 생성
- 리팩토링 프로그램을 확인하고 올바른지 확인하기 위한 테스트 작성
- 바이오파이썬과 같은 파이썬 데이터 구조와 모듈을 사용한 생물정보학 아이디어 해결
- makefile을 사용해서 재현 가능한 바로 가기와 워크플로 제작
- FASTA, FASTQ와 같은 필수 생물정보학 파일 형식 구문 분석
- 정규식을 사용해서 문자 패턴 찾기
- 파이썬에서 filter(, map(, reduce(와 같은 고차 함수 사용
이 책의 대상 독자
프로그래밍 기술에 관심이 있고, 문서를 생성하고, 매개 변수를 검증하고, 우아하게 실패하고, 안정적으로 작동하는 프로그램을 작성하는 방법을 배우고 싶다면 이 책을 읽어야 한다. 테스트는 코드를 이해하고 코드의 정확성을 확인하는 데 중요한 기술이다. 이 책에서는 저자가 작성한 테스트 사용 방법과 프로그램에 대한 테스트 작성 방법을 소개할 것이다. 내용을 최대한 활용하기 위해서는 파이썬에 대한 확실한 이해가 있어야 한다. 『21개의 작고 재미난 파이썬 프로젝트』(제이펍, 2021에서 가르친 기술을 바탕으로 문자열, 리스트, 튜플, 딕셔너리, 집합, 명명된 튜플과 같은 파이썬 데이터 구조를 사용하는 방법을 보여줄 것이다. 파이썬 전문가가 될 필요는 없지만, 타입, 정규 표현식, 고차 함수에 대한 아이디어, 테스트와 스타일, 구문, 정확성 체크를 위한 pylint, flake8, yapf, pytest 도구 사용 방법과 같은 몇 가지 고급 개념을 이해하도록 확실히 밀어줄 것이다. 한 가지 주목할 만한 차이점은 이 책의 모든 코드에서 일관되게 타입 주석을 사용하고, mypy 개발 툴을 사용해서 올바른 타입 사용을 보장한다는 것이다.
이 책의 구성
이 책은 크게 두 부분으로 나뉜다. 1부는 Rosalind.info 웹사이트에서 발견된 프로그래밍 문제 중 14개를 다룬다(http://rosalind.info/about. 2부