반응형

MPC 설치하기

 

 

 

GMP, MPFR과 마찬가지로 GNU에서 제공하는 C library이다.

 

반드시 GMP, MPFR 설치 후 진행해야 한다.

 

2017/09/19 - [linux] - GMP 설치하기

 

2017/09/19 - [linux] - MPFR 설치하기

 

 

홈페이지는 - http://www.multiprecision.org/ 이다.

 

다운로드는 다운로드 탭으로 들어가면 된다. http://www.multiprecision.org/index.php?prog=mpc&page=download

 

1.0.3 버전으로 진행하였다.

 

wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
tar zxf mpc-1.0.3.tar.gz
cd mpc-1.0.3
./configure --prefix=/PATH/TO/INSTALL/MPC --with-mpfr=/PATH/TO/INSTALL/MPFR --with-gmp=/PATH/TO/INSTALL/GMP
make && make install

 

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

samba 설정하기  (0) 2018.02.02
awk 응용하기!  (0) 2017.10.18
MPFR 설치하기  (0) 2017.09.19
GMP 설치하기  (1) 2017.09.19
GCC 설치하기  (1) 2017.09.18
반응형

MPFR 설치하기

 

 

 

GMP와 비슷하게 GNU에서 제공하는 C library이다. GCC 설치에 필요하다.

 

반드시 GMP를 설치한 후에 진행해야 한다!!!

 

2017/09/19 - [linux] - GMP 설치하기

 

 

홈페이지 - http://www.mpfr.org/

 

최신버전은 http://www.mpfr.org/mpfr-current/ 에서 다운로드 받을 수 있으며

 

현재 최신버전인 3.1.6 버전으로 진행하겠다.

 

wget http://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2
tar -xvf mpfr-3.1.6.tar.bz2
cd mpfr-3.1.6
./configure --prefix=/PATH/TO/INSTALL/MPFR --with-gmp=/PATH/TO/INSTALL/GMP
make && make install

 

gmp가 설치되어 있는 폴더를 넣어주어야 제대로 configure가 진행된다.

 

 

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

awk 응용하기!  (0) 2017.10.18
MPC 설치하기  (0) 2017.09.19
GMP 설치하기  (1) 2017.09.19
GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
반응형

GMP 설치하기

 

 

 

GNU에서 제공하는 library로서 GCC 설치를 위해 필요하며 설치 방법을 소개하고자 한다.

 

최신 버전은 받기 위해서 홈페이지 - https://gmplib.org/ 에 접속한다. 

 

다운로드에 보면 여러 압축 방식으로 제공하고 있다.

 

tar.bz2 압축 파일을 받아서 진행하고자 한다.

 

wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2
tar -xvf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
./configure --prefix=/PATH/TO/INSTALL/GMP
make && make check && make install

 

정상적으로 설치되었다면 /PATH/TO/INSTALL/GMP/lib 폴더 안에 libgmp 파일을 확인할 수 있다.

 

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

MPC 설치하기  (0) 2017.09.19
MPFR 설치하기  (0) 2017.09.19
GCC 설치하기  (1) 2017.09.18
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
반응형

GCC 설치하기

 

 

 

GCC 홈페이지 - https://gcc.gnu.org/

 

GCC는 GNU C Compiler의 약자로서 일반적인 프로그램 설치를 위해 많이 쓰인다.

 

9/19/2017 기준으로 최신 버전은 7.2이다. 최근 1~2년 사이에 major update가 많이 진행되었는지 숫자가 높아졌다.

 

 

설치 방법은 어렵지 않지만 depedency가 있다.

 

gcc를 설치하기 위해서는 gmp 4.2+, mpfr 2.3.1+, mpc 0.8.0+ 가 필요하다. 

 

 

root권한이 있다면 libgmp-dev, libmpc-dev, libmpfr-dev를 시스템에 설치하면 되지만 local로 설치할 때는 각각 설치한 후 PATH를 잡아주는 번거로운 작업을 거쳐야 한다. 

 

Ubuntu

sudo apt-get install libgmp-dev libmpfr-devl libmpc-dev

 

Red Hat and Fedora

sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

 

Manual install

 

gmp, mpfr, mpc은 아래의 포스팅에서 설치방법을 확인할 수 있다. gmp, mpfr, mpc 순서대로 설치해야 한다.

 

2017/09/19 - [linux] - GMP 설치하기

 

2017/09/19 - [linux] - MPFR 설치하기

 

2017/09/19 - [linux] - MPC 설치하기

 

 

이제 gcc를 설치하기 위해 가까운 미러 사이트인 일본 (http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/)에 들어가서 원하는 버전을 다운 받자. 

 

현재 최신버전인 7.2 버전으로 진행하였다.

 

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.gz

tar -zxf gcc-7.2.0.tar.gz

cd gcc-7.2.0

./configure --prefix=/PATH/TO/INSTALL/GCC--with-gmp=/PATH/TO/INSTALL/GMP --with-mpfr=/PATH/TO/INSTALL/MPFR --with-mpc=/PATH/TO/INSTALL/MPC 

make && make install

위의 명령어에서 gmp, mpfr, mpc를 Manual하게 설치하지 않았다면 configure할 때 PATH는 따로 잡아주지 않아도 된다.

 

 

 

make 할 때 에러가 떠서 아래처럼 fix했다.

 

1.

error: 'GATHER_STATISTICS' was not declared in this scope

 

라는 에러가 뜨면서 설치가 중단됐는데 아래와 같이 변수를 unset해주니 해결됐다.

 

unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE

출처 : https://stackoverflow.com/questions/29981492/gcc-4-9-2-installation-failed-on-linux

 

 

2.

 

libmpc.so.3가 잡히지 않아서 LD_LIBRARY_PATH로 library 경로를 따로 잡아주었다.

export LD_LIBRARY_PATH=/PATH/TO/INSTALL/GMP/lib:/PATH/TO/INSTALL/MPFR/lib:/PATH/TO/INSTALL/MPC/lib:$LD_LIBRARY_PATH 

 

3.

configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib. 

64bit only compiler로 하고싶지 않아서 --enable-multilib 옵션을 추가하였다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

MPFR 설치하기  (0) 2017.09.19
GMP 설치하기  (1) 2017.09.19
cURL 로컬 설치하기  (0) 2017.08.24
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
반응형

ArgParse 모듈 사용하기




if Pkg.installed("ArgParse") == nothing

        println("Pakage 'ArgParse' will be installed...")

        Pkg.add("ArgParse")

end


using ArgParse


ArgParse 모듈은 스크립트의 옵션을 조절하게 해 준다.


프로그램을 만들 때 ArgParse를 사용하면 argument 관리하기가 훨씬 쉽다. 위의 내용을 스크립트 상단에 추가하면 ArgParse가 없으면 설치하고 불러온다.


공식 설명은 http://carlobaldassi.github.io/ArgParse.jl/stable/ 에 있다.


using ArgParse function parse_commandline() s = ArgParseSettings() @add_arg_table s begin "--opt1" help = "an option with an argument" "--opt2", "-o" help = "another option with an argument" arg_type = Int default = 0 "--flag1" help = "an option without argument, i.e. a flag" action = :store_true "arg1" help = "a positional argument" required = true end return parse_args(s) end function main() parsed_args = parse_commandline() println("Parsed args:") for (arg,val) in parsed_args println(" $arg => $val") end end main()



세 가지 조건의 argument를 만들 수 있는데


1. 옵션

2. flag

action = :store_true 

가 들어가며 true or false값으로만 저장된다.

3. 필수

required = true 

이며 반드시 값이 들어가야 한다.


arg1에 넣어준 값은 parsed_args["arg1"] 으로 불러올 수 있다.



반응형
반응형

StatsBase 모듈 사용하기




Julia에서 수치를 다 구한 뒤에 그에 대한 stats을 구할 때 사용할 수 있다.


Array에다가 값을 다 넣은 뒤에 summarystats 함수를 사용하면 편하다.


but Array type에 따라서 자꾸 에러가 나서 정리해 보고자 한다.


Summarystats 함수는 real-valued array를 받아서 mean, minimum, 25 percentile, median, 75 percentile and maximum을 구해준다.


help?> summarystats()

  summarystats(a)


  Compute summary statistics for a real-valued array a. Returns a SummaryStats object containing the mean,

  minimum, 25th percentile, median, 75th percentile, and maxmimum.



julia> summarystats(a)

Summary Stats:

Mean:           2.800000

Minimum:        1.000000

1st Quartile:   2.000000

Median:         3.000000

3rd Quartile:   4.000000

Maximum:        4.000000



먼저 summarystats()를 사용하기 위해서는 StatsBase 모듈을 불러와야한다.


using StatsBase


만약 StatsBase가 설치되어 있지 않다면


Pkg.add("StatsBase")


로 설치할 수 있다.


설치된 모듈은 $HOME/.julia/lib/version/ 안에 있다.



사용법은


summarystats는 real array를 받기 때문에 julia에서는 array선언할 때 아래와 같이 선언해 줘야 한다.


testarray = Array{Real}(0)


Array(Real,0) 으로 선언할 수도 있지만 이렇게 선언하고 코드를 돌리면 


WARNING: Array{T}(::Type{T}, m::Int) is deprecated, use Array{T}(m) instead.


위와 같은 선언은 deprecated되었다고 말한다.


Array를 선언한 후에 값을 넣을 때는 append!를 하면 된다.


append!(testarray,"value")


append!가 끝나면 아래와 같이 마무리 해주면 된다.


result = summarystats(testarray)



println(result)


Summary Stats:

Mean:           290.114559

Minimum:        2.000000

1st Quartile:   89.000000

Median:         128.000000

3rd Quartile:   180.500000

Maximum:        95925.000000


결과가 제대로 나오는 것을 확인할 수 있다!

반응형
반응형

cURL 로컬 설치하기




Julia에서 Pkg.add를 하려고 했는데 아래와 같은 에러메세지가 나타났다.


julia> Pkg.add("StatsBase")

INFO: Installing Plots v0.12.2

INFO: Building Plots

INFO: Cannot find deps/plotly-latest.min.js... downloading latest version.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0

curl: (35) SSL connect error

==================================================[ ERROR: Plots ]==================================================


LoadError: failed process: Process(`curl -L -f -o /home/kyoungwoo/.julia/v0.6/Plots/deps/plotly-latest.min.js https://cdn.plot.ly/plotly-latest.min.js`, ProcessExited(35)) [35]

while loading /home/kyoungwoo/.julia/v0.6/Plots/deps/build.jl, in expression starting on line 7


====================================================================================================================


==================================================[ BUILD ERRORS ]==================================================


WARNING: Plots had build errors.


 - packages with build errors remain installed in /home/kyoungwoo/.julia/v0.6

 - build the package(s) and all dependencies with `Pkg.build("Plots")`

 - build a single package by running its `deps/build.jl` script


====================================================================================================================

INFO: Package database updated

INFO: METADATA is out-of-date — you may not have the latest version of StatsBase

INFO: Use `Pkg.update()` to get the latest versions of your packages


curl이 제대로 자동하지 않는 것 같아 shell 화면에서 명령어만 따로 실행해 보았다..


Thu Aug 24 15:21:26 [kyoungwoo@biglab-master gtf_to_fasta]$ curl -L -f -o /home/kyoungwoo/.julia/v0.6/Plots/deps/plotly-latest.min.js https://cdn.plot.ly/plotly-latest.min.js

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (35) SSL connect error


SSL connect error 35가 나오는 것을 확인하였다.


구글링해서 문제 해결방법을 찾아보니 curl의 버전이 낮아서 최신버전을 설치하라고 해서



local로 cURL을 설치하는 법을 찾아보았다.



들어가서 다운로드 후 configure 파일을 생성하기 위해서는 ./buildconf 를 실행해 줘야 한다.


buildconf 후에 configure 파일이 만들어지면 


./configure --prefix=/PATH/TO/INSTALL/CURL

make && make install


export PATH = /PATH/TO/INSTALL/CURL/bin:$PATH

export PATH = /PATH/TO/INSTALL/CURL/lib:$PATH


끝!


Julia 명령도 정상적으로 잘 실행되는 것을 확인했다.


반응형

'Computer Science > linux' 카테고리의 다른 글

GMP 설치하기  (1) 2017.09.19
GCC 설치하기  (1) 2017.09.18
Repeatmasker 설치  (0) 2017.05.05
GBrowse2 설치하기  (0) 2017.04.25
Perl 설치 및 실행하기  (0) 2017.04.25
반응형

Genome으로부터 sequence 가져오기.




gtf, gff, bed format 등으로부터 sequence를 가져와야 할 때가 자주 생긴다.


julia에서 주의해야할 점은 start index가 0이 아니라 1이라는 것이다.


Plus strand일 경우 그냥 가져오면 되지만


Minus strand 일 때는 reverse complimentary한 sequence를 가져와야 한다.


comp = ['G' => 'C', 'T' => 'A', 'A' => 'T', 'C' => 'G', 'g' => 'c', 't' => 'a', 'a' => 't', 'c' => 'g']


if strand == '+'

sequence = reference[chromosome][startpos:endpos]

elseif strand == '-'

sequence = reverse(map(x -> comp[x] , reference[chromosome][startpos:endpos])

end


comp라는 dictionary를 만들어서 각각 대응되는 염기를 넣는다.


strand가 + 일 경우 genome sequence를 넣어둔 reference라는 dictionary에서 chromosome을 넣고 start와 end coordinate를 넣어주는 것으로 sequence를 가져오면 되지만, - 일 경우 +와 동일한 방법으로 가져온 sequence를 complimantary하게 바꾼 뒤 reverse함수를 사용해서 뒤집는다.




반응형
반응형

Julia 설치 및 실행하기




Julia. 아직 배우는 중이라 어떤 부분에서 장점이 있는지 파악하는 중이다.


Python과 C의 장점만을 가져와서 만드려고 했고 계산과학쪽에서 다루기 위하여 만들어졌다.


적어도 Python 보다는 배우기가 어렵다. but, 파이썬이 지나치게 쉬운거지 Julia가 어려워서는 아니다.



설치를 위해 홈페이지 https://julialang.org/ 에서 최신버전 linux binary 파일을 다운로드 한다. 아직 개발 -ing 중이기 때문에 버전이 1 이상으로 올라가지 않았으며 약 6개월 주기로 버전이 업데이트 되는듯 하다.


wget https://julialang-s3.julialang.org/bin/linux/x64/0.6/julia-0.6.0-linux-x86_64.tar.gz


압축을 풀고 나면 bin 폴더 안에 julia 실행 파일이 있다.



julia는 module을 설치할 때 Pkg.add("MODULE") 으로 설치할 수 있으며 $HOME/.julia/ver/MODULE 로 설치된다.


Julia에서의 장점은 module을 각자 개별 설치가 가능하다는 것이다. python 같은 경우 내 local 안에 python을 설치한 것이 아니라면 내가 module을 설치할 수 없다. but, julia는 그냥 설치하면 된다. 


내가 만든 프로그램을 남이 설치할 때 편하다. module이 있는지 체크하고 없다면 그냥 Pkg.add(MODULE) 되도록 코드를 짜면 된다.



나중에 따로 정리하겠지만 plotting 하는 모듈들을 테스트 해보고 있다. Python을 쓸 때는 rpy를 써야 했고 개인적으로 안익숙해져서 R과 Python을 번갈아 사용하면서 plotting을 하는 귀찮음이 있었는데 julia는 쉽게 할 수 있을 것으로 보인다.

반응형
반응형

Python 설치 및 실행하기




Python은 프로그래밍 언어의 일종으로 배우기 쉽기 때문에 입문용으로 많이 사용된다.


Data science 분야에서 전반적으로 사용하고 있다. 


다운로드 경로 https://www.python.org/downloads/ 에서 원하는 버전을 다운로드 받는다.


tar -zxf Python-*.tgz

cd Python-3.5.1

./configure --prefix=/PATH/TO/INSTALL/PYTHON

make && make install



Python 2.X 버전은 python 모듈을 쉽게 설치할 수 있는 easy_install이나 pip를 기본적으로 제공하고 있지 않다.


setuptools를 다운로드 받아서 설치해 줘야 한다.



setuptools를 다운 받았으면 설치한 python을 사용하여 아래와 같이 입력 한다.


python setup.py install


그러면 python/bin 폴더에 easy_install이 생긴다.


pip를 설치하기 위해서는 다시 한 번 아래처럼 입력 한다.


easy_install pip


bin 폴더에 pip도 생겼다.



pip를 사용하여 모듈을 설치할 때 pip install <MODULE> 를 입력하면 된다.


반응형

'Computer Science > python' 카테고리의 다른 글

Primer 서열 분석을 위한 python 코드  (0) 2021.08.17
String Format으로 길이 고정하기  (0) 2020.06.24
python multi-level argparse  (0) 2019.07.12
python 파일 입출력  (0) 2019.07.12
cannot mkdir R_TempDir 에러  (0) 2016.09.07

+ Recent posts