대부분 언어에 기본적인 문법은 비슷하다. 하지만 간혹 기본 문법에서 사소한 차이를 보이기도 한다. 파이선과 다른 대부분의 언어(C++, Java, R) 에서의 If 문을 비교해 보면 아래와 같다 Python, 파이선 if 조건1:statementelif 조건 2:statementelse:statement C++ , Java (자바), R if ( 조건 1) {Statement} else if (조건 2){statement} else {statement}
파이선(Python)을 사용하기 위해서는 먼저 파이선을 설치해야 한다. https://www.python.org 여기 공식 페이지에서 다운로드하고 설치하면 된다. 다운로드를 받으려고 하면 3.x 버전과 2.7.x버전 두가지가 나온다. 3.x 버전은 새로운 문법이 도입되었다. 따라서 두개의 버전이 호환되지 않는다. 많은 바이오 인포매틱스 관련 코드가 이미 2.7.x버전으로 쓰여졌기 때문에 다른 사람들이 쓴 코드를 이용하려면 2.7.x를 쓰는 것이 좋다. 파이선 코드를 작성하고 실행하는 방법은 여러가지가 있지만 가장 프로(?)답게 사용하는 방법을 커맨드 라인을 이용하는 것이다. 커맨드 라인을 사용하는 방법 새로운 언어로 코딩을 처음 시작할 때 가장 먼저 하는 것이 "hello world"이다. 이는 hell..
파이선을 설치하고 실행하는데 성공했다면 이제 본격적으로 파이선을 이용한 코딩을 배워보자. 파이선에는 기본으로 들어있는 괜찮은 함수가 많다. open(파일이름, 모드)파일을 열어주는 함수이다. 파일은 텍스트 파일을 말한다. 파일이름에는 열고싶은 파일 이름을, 모드는 읽기 'r' 또는 쓰기 'w'를 선택한다. 예를들어 아래와 같이 사용한다.open( 'file_name.txt', 'r') 파일을 열었다면 for 문을 사용해 한줄씩 읽어들일 수 있다. for line in open('file_name.txt','r'):print line 이렇게 하면 파일 내용을 한줄씩 line이라는 변수로 읽어서 출력해 준다. strip()위의 예시를 실행해 보면 파일안에 내용을 출력할 때 빈 줄이 하나씩 더 들어가는 것을 ..
바이오인포매틱스 연구를 하다보면 많은 경우 파일이 gz파일로 압축되어 있다. gzip은 단일 파일을 압축하는 좋은 방법이지만 열어보려면 압축을 풀어야 하는 번거로움이 있다. 그런데 파이썬에서 gz 파일의 압축을 풀지 않고 바로 읽을 수 있는 방법이 있다! gzip이라는 라이브러리를 이용하면 된다. import gzipgb_file = gzip.open(sys.argv[1],'rb') 이렇게 하면 첫번째 argument 로 받은 파일을 압축 해제 없이 바로 열어볼 수 있다. 예외처리: 만약 읽은 파일이 압축 파일이 아니라면? 압축된 파일과 그렇지 않은 파일을 모두 핸들하기 위해 아래와 같이 사용할 수 있다. if sys.argv[1][-2:] == 'gz':gb_file = gzip.open(sys.arg..
파이썬(python)을 이용해 파일을 복사하거나 옮기려면 파이썬에서 시스템 커맨드라인을 실행하게 하면 된다. 먼저, import os 를 불러주고, import osos.system("cp old_file.txt new_file.txt") 이런 식으로 커맨드를 따옴표안에 넣어 실행한다. 커맨드를 변수형태로 부를수도 있다. 예를들어 list.txt 안에 sample01sample02sample03 위와같이 있다고 하자, 그리고 폴더안에 sample01.R1.fastq.gzsample01.R2.fastq.gzsample02.R1.fastq.gzsample02.R2.fastq.gzsample03.R1.fastq.gzsample03.R2.fastq.gz 위와 같은 파일이 있다고 하자. 이 파일들을 new 라는 ..
텍스트 중에 특정 문자가 포함되어 있는지, 어디에 있는지 찾아야 할 때가 있다. 그때는 아래와 같은 방법을 상용한다. 1. 특정 문자열이 포함되어 있는지 확인할때string = 'test test test'if 'test in string:print string 2. 특정 문자열이 포함된 위치를 확인할 때string = "this is test string"print string.find("test") 3. 특정 문자열이 여러번 포함된 경우import rest = [m.start() for min re.finditer('test', 'test test test test')] print st
NCBI의 많은 정보가 Genbank 형식으로 저장되어 있다. 하지만 여기에서 내가 원하는 유전자의 단백질이나 DNA의 서열을 얻는 것은 초보자에게 어려울 수 있다. 아래의 파이선 코드를 이용하여 genbank파일에서 단백질과 DNA서열을 얻는 방법을 소개한다. 1. 먼저 NCBI에서 genbank파일을 얻는다. 이 링크 페이지를 예로들어보자. 링크를 눌러 NCBI에 들어가면 Clostridium thermocellum 의 full-genome 정보가 Genbank 형식으로 보여진다. 먼저 이 정보를 다운받기 위해 오른쪽 위에 Send를 누르고, Complete Record, File 을 선택한 후에 Format 부분에서 Genbank(full)을 선택해 준다. 만약 Full버전이 아닌 그냥 Genban..