본문 바로가기

Tools43

docker Docker install & configuration $ sudo yum -y install docker docker-registry $ sudo systemctl enable docker.service $ sudo systemctl start docker.service $ sudo systemctl status docker.service $ sudo docker search shapeit4 $ sudo docker pull lifebitai/shapeit4 $ sudo docker images $ sudo docker run -i -t docker.io/lifebitai/shapeit4 /bin/bash $ sudo docker ps -a $ sudo docker start container-ID $.. 2021. 1. 18.
VisiData VisiData Lightning Demo at PyCascades 2018 https://youtu.be/N1CBDTgGtOU $ pip3 install visidata openpyxl $ vd data.csv python >= 3.6 Data 파일을 column으로 나누어 보기 쉽게 해주는 툴이다. 불러들인 데이터에서 plot도 가능하다. 엑셀파일(xlsx)도 읽기가 가능하다. 그러기 위해서는 openpyxl을 설치해야 한다. Usage: - Data type: # (int), % (float), $ (currency), or @ (date) - Select column: ! - Sort: [ ] (ascending/descending by current column) - Graph: . - Hide.. 2020. 11. 20.
Find connection Pedigree 또는 multi-position network가 있을 때, 연관성을 tree로 보기 위한 프로그램이다. 이 프로그램은 연관성있는 2개에 대한 것으로 만들었다. Python anytree library를 사용했다. anytree의 단점은 multi-parent가 되지 않고, 처음 설정된 parent를 따르게 된다. [ Anytree ] - Homepage : https://anytree.readthedocs.io/en/latest/ - Manual, PDF : https://readthedocs.org/projects/anytree/downloads/pdf/latest/ [ Graphviz ] - Homepage : https://graphviz.org/ - Manual : https://.. 2020. 11. 4.
Jobs for you tmux-cssh 와 같이 여러 서버에 명령을 내릴 때, 서버에 접속하지 않고 명령을 보내서 실행이 되도록 Fabric 라이브러리를 사용하여 만들었다. 프로그램을 설치하거나, 공통 스토리지의 마운트, 작업을 실행할 때 유용하게 사용할 수 있다. Connection에서 host="root@192.168.0.xx" 로 넣어주면 root로도 명령을 내릴 수 있다. 사용방법은 간단하다. 실행 파일 뒤쪽에 명령어를 넣어주면 하나의 명령어로 인식하기 때문에 띄어쓰기도 가능다. Pipeline ( | )으로 이어지는 명령어는 " " 안에 넣어준다. $ j4u.py your command $ j4u.py "cat read.txt | wc -l" $ cat j4y.py #! /usr/bin/env python3 from.. 2020. 10. 22.
tmux-cssh Tmux 에서 여러 서버를 한번에 켜고 확인해야 할 경우가 있다. Tmux-cssh는 여러 창을 한번에 켤 수 있는 프로그램이 있다. 직접 진행상황을 확인하면서 작업을 진행할 때 유용하다. $ wget https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh $ sudo ln -s PATH/tmux-cssh PATH/tss $ tmux-cssh -h Usage: /usr/local/bin/tss [options] host [host ...] Spawns multiple synchronized SSH sessions inside a tmux session. Options: -h Show help -c Use the current tmux se.. 2020. 10. 22.
TabView Table 형태의 파일을 less 로 읽다보면 column이 맞지 않아서 보기가 불편하다. 그 대안으로 column과 less pipeline 연결하여 함수로 사용하고 있다. function cv() { column -ts $'\t' $1 |less;} 이렇게 쓰게되면 용량이 작은 파일은 괜찮지만, 큰 파일은 열리는데 시간이 걸린다. 위 기능보다 시간은 좀 더 걸리지만, 편의기능이 추가된 프로그램이 있다. Tabview (https://github.com/TabViewer/tabview)이며 header가 고정되는 역할도 가지고 있다. Python 3.4+ 에서 작동하며, $ pip3 install tabview 를 통해 인스톨한다. 실행은 $ tabview filename 으로 shell 에서 바로 사.. 2020. 10. 8.
Monitoring jobs 일정한 시간 간격을 두고, 작업이 끝났는지 확인이 필요했다. 그래야 이전 작업의 결과를 이용한 다음 작업을 자동으로 진행시킬 수 있기 때문이다. Python에서 threading이 있지만 처음에 한번이 무조건 실행이 되기 때문에, 목적에 맞지 않고 불편했다. 이것은 제쳐두고, 기본적인 기능들만 가지고 원하는 대로 코드를 만들 수 있었다. #! /usr/bin/env python3 import subprocess import sys import time import datetime def watcher(sleep,task=''): time.sleep(sleep) cmd='squeue|wc -l && squeue --state="RUNNING"|wc -l' lines=subprocess.check_outpu.. 2020. 9. 23.
checkVCF VCF 파일을 거의 다루다보니 BCFtools를 사용하게 되는데 stats 에서 잡아주지 못하는 것들이 있다. 예를 들어, VCF 파일에는 multi-allele가 있거나, indel 이 있어도 표시가 되지 않는다. VCF 파일의 정보를 좀 더 정확히 알려주는 툴이 있다. checkVCF.py - Github : https://github.com/zhanxw/checkVCF - Download : http://qbrc.swmed.edu/zhanxw/software/checkVCF/checkVCF-20140116.tar.gz Python2 를 기본으로 사용하고 다음과 같은 정보를 준다. checkVCF.py -- check validity of VCF file for meta-analysis version.. 2020. 9. 15.
Windows Terminal https://www.microsoft.com/ko-kr/p/windows-terminal/9n0dx20hk701?rtc=1&activetab=pivot:overviewtabhttps://www.youtube.com/watch?v=8gw0rXPMMPE Windows 에서 탭으로 구분된 cmd작업을 위한 툴이다.기존에는 MobaXterm을 사용하고 있는데, 실행하고 클릭하여 접속하고 탭을 빼서 전체화면으로 전환하는 과정이 귀찮았다. Windows termianl 툴을 이용하면 세팅을 통해 이런 귀찮은 과정을 생략할 수 있다.  설정 Ctrl+,json형식의 설정파일에서 profiles - list 부분에 원하는 접속을 추가해 준 다음, "defaultProfile" 에 입력해 준다.GUID 는 https:.. 2020. 8. 17.
Slurm - Workload manager Slurm은 cluster server에서 job을 manage해주는 프로그램이다. https://slurm.schedmd.com/sbatch.html Package를 통해 설치하거나, 파일을 다운받아 설치하는 두 가지의 방법이 있다. Package 설치가 편리하다. 하지만 최신버전은 package가 없기 때문에, 홈페이지에서 설치파일을 다운받아 설치한다. Slurm 은 node간에 통신을 통해 job management가 이루어지 때문에, 각 compute node에서 방화벽을 해제하여야 한다. 또한 보안 통신을 위해 munge가 필요하고, master node에는 DB를 위해 mysql (mariadb) 설정이 필요하다. Slurm 20.02 부터는 compute node에 slurm.conf를 작성.. 2020. 8. 15.
GATK Variant calling을 위해서 GATK를 사용해 보았다. 공식 : https://gatk.broadinstitute.org/hc/en-us 다운로드 : https://github.com/broadinstitute/gatk/releases $ wget https://github.com/broadinstitute/gatk/releases/download/4.1.8.1/gatk-4.1.8.1.zip $ unzip gatk-4.1.8.1.zip $ cd gatk-4.1.8.1 $ ./gatk 압축을 풀고 나서 설치과정 없이 바로 사용 가능하다. 준비과정으로 reference fasta file의 dictionary만드는 과정이 필요하다. $ samtools faidx hg37.fa # generate i.. 2020. 8. 7.
LDpop Coalescent theory에 관한 글에서 coalescent probability는 lineage, n에 비해 population, N이 충분히 크다면 2-lineage로 근사하여 계산한다. 즉, 한 세대에 1쌍의 coalescence가 일어난다고 생각할 수 있다. 따라서 2-locus linkage로 부터 mutation이나 recombination rate를 구할 수 있다. LDpop은 recombination rate를 구하기 위해 two-locus의 likelihood를 계산하여 lookup table을 만들어주는 프로그램이다. 다른 프로그램과 다른 점은 population size가 변해도 정교하게 계산 가능하다는 것이다. - Repository : https://github.com/pop.. 2020. 7. 12.
Shapeit4 Phasing을 위한 tool이 많이 있지만, shapeit4에 대해서 정리해 본다. 공식 홈페이지(https://odelaneau.github.io/shapeit4/)가 있으며, source code는 github(https://github.com/odelaneau/shapeit4)에 있다. Shapeit4의 설치를 위해서는 몇 가지 library가 필요하다. - HTSlib: A great C library for reading/writing high-throuhput sequencing data. - BOOST: A free peer-reviewd portable C++ source libraries. SHAPEIT4 uses two specific BOOST libraries: iostreams .. 2020. 7. 9.