환경설정(Environment_setup)
1. 파이썬 설치¶
파이썬은 아주 인기있는 프로그래밍 언어로, 웹 사이트는 물론 게임, 과학용 소프트웨어, 그래픽 소프트웨어 등 다양한 것을 만들 수 있습니다. 파이썬은 1980년대 후반에 귀도 반 로썸 프로그래밍 언어를 기계 뿐만 아니라 인간도 읽을 수 있도록 만들고자 탄생한 언어입니다. 파이썬이 다른 프로그래밍 언어보다 훨씬 간단하게 보이고, 배우기도 쉬운 이유도 그 때문이죠. 이를 바탕으로 과거 15년 동안 numpy,scipy,matplotlib,jupyter 같이 널리 사용되는 라이브러리가 개발되어있습니다. 파이썬은 사용중인 OS의 종류에 따라서 설치방법이 다릅니다.
Windows¶
- 사용 중인 컴퓨터 윈도우 운영체제가 32비트인지 64비트인지 확인하세요.
- 공식 웹사이트에서 다운로드 할 수 있습니다.
- 64 비트 버전의 Windows인 경우 Windows x86-64 executable installer를 다운로드하세요.
- 32 비트 버전은 Windows x86 executable installer을 다운로드하세요.
- 설치 프로그램을 다운로드 한 후에 실행(더블 클릭)하고 지시 사항을 따르세요.
OSX¶
웹 사이트로 가서 파이썬 설치 파일을 다운 받으세요.
Linux¶
이미 파이썬이 설치되었을 겁니다. 설치된 버전을 확인하려면 콘솔을 열고 다음 명령을 입력하세요.
$ python3 --version
하지만 위의 방법보다는 저는 Anaconda를 사용하는것을 추천합니다.
2. Anaconda 설치¶
파이썬 기반의 데이터 분석에 특화된 각종 OpenSource 라이브러리를 모아놓은 개발 플랫폼입니다. 무엇보다도 Panda, Numpy, Numba, Scipy, IPython, GPGPU, 과학, 수학, 데이터 분석등과 관련된 수많은 라이브러리 한번에 그리고 의존성(dependency)문제 없이 설치 할 수 있습니다. 또한 conda라는 관리 라이브러리 매니저가 있어서 편리 합니다.Anaconda 홈페이지
Anaconda¶
공식 홈페이지에서 OS에 맞는 파일을 다운받아 "Next"만 누르면 해결되므로 별도의 설명은 서술하지 않습니다.
Miniconda¶
Anaconda에서 라이브러리 관리 메니저인 conda만을 설치 하고 싶다면 miniconda를 다운받아 설치 하면 됩니다.
개인적으로 Miniconda를 추천합니다.
3. Conda 명령어 사용법¶
conda는 라이브러리 관리를 위해 제공되는 애플리케이션입니다. 파이썬 생태계의 라이브러리는 서로에 대해 아무 많이 의존적이기 때문에 각각의 버전이 너무 많은 문제가 발생하기도 합니다. 하지만 conda를 사용하면 이 모든 고민을 신경쓰지 않을 수 있습니다. 다시 말해, conda는 파이썬 라이브러리의 교통정리를 해줍니다.
conda 외에도 virtualenv을 사용하는 방법이 있습니다.
주요기능¶
conda는 자동으로 의존성을 해결해 줍니다. 자주 사용하는 conda 명령어는 기억해 두세요.
numpy를 기준으로 설명하겠습니다.
기능 | 명령어 |
---|---|
라이브러리 설치 | conda install numpy |
동시에 여러 라이브러리를 설치 | conda install numpy scipy pandas |
특정 버전 설치 | conda install numpy=1.10 |
라이브러리 제거 | conda remove numpy |
라이브러리 업데이트 | conda update numpy |
모든 라이브러리 업데이트 | conda update –all |
설치된 목록 출력 | conda list |
설치하려는 라이브러리 검색 | conda search numpy |
찾는 라이브러리가 없다면 pip를 사용해보세요
가상환경 만들기¶
파이썬 라이브러리들의 의존성 문제를 피하기 위해 새로운 프로젝트를 시작할때면 가상환경을 만들어 작업하는것이 좋습니다. 여기서는 virtualenv 대신에 conda를 사용해서 간단히 만들어 보겠습니다.
- 새로운 가상환경 이름은 ENV_NAME
- 사용할 Python 버전은 3이상으로 하겠습니다.
- 터미널에 다음과 같이 입력하면 새로운 가상환경이 만들어 집니다.
conda create -n ENV_NAME python=3
- 가상환경을 사용하기 위해서는 activate 시켜줘야 합니다. 활성화되면 터미널에 (ENV_NAME)이 표시됩니다.
source activate ENV_NAME
- 필요한 라이브러리들을 설치합니다.
conda install numpy pandas
가상환경 확인 및 제거¶
가상환경의 목록을 확인하려면 아래와 같이 입력하세요.
conda env list
가상환경을 삭제하려면 아래와 같이 입력하세요.
conda env remove -n ENV_NAME
Conda 제거하기¶
Windows¶
제어판에 들어가서 Python (Anaconda) 혹은 “Python (Miniconda)를 제거합니다.
Linux, OSX¶
디렉토리만 삭제하면 됩니다.
rm -rf ~/miniconda
rm -rf ~/anaconda
4. 코드 에디터¶
코드 에디터는 종류가 많고 다양해 자신의 취향에 따라 선택할 수 있습니다. 간단하지만 강력한 기능을 갖춘 에디터 프로그램을 아래에 추천합니다.
Gedit¶
Gedit는 모든 운영체제에서 사용 가능한 무료 오픈소스에요.
Sublime Text 3¶
Sublime Text는 가장 널리 알려진 프로그램으로 상용프로그램이지만, 무료로 사용할 수 있고 속도가 빨라요. 물론 모든 운영체제에서 쓸 수 있어요.
Atom¶
Atom은 GitHub에서 만든 무료로 제공되는 오픈소스이며, 설치나 사용이 쉬워요. 모든 운영체제에서 쓸 수 있어요.
VScode¶
Microsoft에서 만든 무료 에디터에요. 설치와 사용이 쉽고 안정적입니다.
왜 코드 에디터를 설치해야 하나요?¶
워드나 노트패드가 있는데도, 굳이 코드 에디터 소프트웨어를 설치해야 하는 이유가 궁금할 거에요.
첫 번째로 코드는 일반 텍스트여야 하는데, 워드나 텍스트에딧(Textedit)과 같은 프로그램에서는 일반 텍스트가 아닌 RTF(Rich Text Format)와 같은 사용자 서식을 쓴 리치 텍스트(폰트와 서식이 있는 텍스트)가 생성되기 때문입니다.
두 번째는 코드 에디터 프로그램은 개발에 유용한 여러 기능을 제공하기 때문입니다. 대표적인 예로, 코드를 해석해 문법을 하이라이팅해주는 기능이라든가 큰따옴표("")를 자동으로 닫아주는 기능이지요. 앞으로 코드 에디터가 어떻게 작동하는지 알아볼 거에요. 곧 여러분은 내가 사용하는 코드 에디터를 제일 좋아하게 될 거랍니다.
5. 추천 라이브러리¶
Biopython¶
생물정보 데이터 분석을 하다 보면 공통적으로 사용되는 기능들이 많습니다. 예를 들어
- NCBI에서 많은 수의 nucleotide 서열을 ID만 가지고 GenBank 형식 또는 FASTA 형식으로 다운 받는다든지,
- 다운로드 받은 서열들을 protein 서열로 translation한 후 multiple alignment를 수행하고자 할 경우 NCBI에서 서열을 다운로드하기
- GenBank 혹은 FASTA 포맷의 서열을 형식에 맞게 id, description, 서열 부분을 구분하여 따로따로 읽어들이는 기능, 읽어들인 서열을 translation 하는 기능 그리고 multiple alignment를 수행이 있겠습니다.
이렇게 Python으로 생물정보 데이터를 분석하고자 할 때 많이 사용되는 코드를 모아둔 라이브러리가 Biopython 입니다.1
설치하기¶
다른 라이브러리와 마찬가지로 pip install
혹은 conda install
로 설치합니다.
conda install biopython
사용하기¶
from Bio.Seq import Seq
#create a sequence object
my_seq = Seq('CATGTAGACTAG')
#print out some details about it
print 'seq %s is %i bases long' % (my_seq, len(my_seq))
print 'reverse complement is %s' % my_seq.reverse_complement()
print 'protein translation is %s' % my_seq.translate()
Pandas¶
데이터로 표를 만들고 편집하는것을 아주 편리하게 해주는 필수 라이브러리입니다.
pandas 는 BSD 라이센스를 따르는 오픈 소스입니다. pandas는 빠르고 쉽게 데이터를 분석하는 도구로 파이썬으로 쓰여졌습니다.
설치하기¶
conda install pandas
사용하기¶
import pandas as pd
Matplotlib¶
Matplotlib은 파이썬의 시각화 라이브러리입니다. 출판용 품질의 그림부터 상호작용 가능한 시각화까지 다양한 도구를 제공합니다.
설치하기¶
conda install matplotlib
사용하기¶
import matplotlib.pyplot as plt