반응형

공용으로 사용하는 서버에서 리눅스에 설치된 tool들의 환경변수 변경은 버전관리가 까다롭다.

 

Environment Modules을 설치하면 이런 부분을 상당히 쉽게 처리할 수 있다.

 

관리자(또는 유저가 직접 해도 상관없다)가 프로그램들의 경로를 미리 설정해놓고 그때 그때 필요한 버전을 로드하여 환경 변수를 변화시킨다.

 

https://modules.readthedocs.io/en/latest/index.html

 

Environment Modules — Modules documentation

© Copyright 1996-1999 John L. Furlani & Peter W. Osel, 1998-2017 R.K.Owen, 2002-2004 Mark Lakata, 2004-2017 Kent Mein, 2016-2020 Xavier Delaruelle Revision 0e43e359.

modules.readthedocs.io

다운로드는 https://github.com/cea-hpc/modules git hub에서 다운받아 진행한다.

 

cea-hpc/modules

Environment Modules: provides dynamic modification of a user's environment - cea-hpc/modules

github.com

압축을 풀고 아래처럼 설치한다.

$ ./configure --prefix=/usr/share/Modules \
              --modulefilesdir=/etc/modulefiles
$ make
$ make install

modulfilesdir은 path가 설정되어 있는 파일이 위치하는 폴더이다. 

 

/etc/modulefiles/gcc/9.2.0 파일을 만들고 아래처럼 내용을 채운다.

#%Module1.0######################################################################
##
## GCC modulefile
##
proc ModulesHelp { } {
    puts stderr "\tThe GCC Module\n"
    puts stderr "\tThis module adds GCC directory to your path."
}

module-whatis   "adds `.' to your PATH environment variable"

conflict gcc

module load mpfr mpc gmp
#prereq gmp

prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/bin
prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/include
prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/share
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/lib
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/lib64
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/libexec

 

홈페이지 메뉴얼을 참고하면 되지만 필요한 부분만 언급하자면

 

modulefiles폴더 하위폴더로 gcc가 모듈의 이름이며 9.2.0이 버전이다.

 

module load gcc 또는 module load gcc/9.2.0 으로 로드 할 수 있으며 버전을 명시하지 않을 경우 숫자가 가장 높은 버전을 자동으로 로드한다.

 

conflict는 해당 모듈이름과 동시에 로드 할 수 없는 것으로 동일 프로그램의 여러 버전이 로드되는 것을 방지할 수 있다.

module load는 gcc 모듈을 사용하기위해 dependency가 있는 다른 모듈을 로드하는 것이다.

prereq는 해당 모듈이 있지 않으면 에러가 난다. 

prepend-path는 PATH의 앞에 해당 경로를 추가하는 것이다. 

반응형

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

hostname 변경  (0) 2020.07.14
Google Cloud SDK linux 설치  (0) 2020.05.26
계정, 그룹 생성, 추가 및 삭제  (0) 2020.02.24
Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
crontab 사용하기  (0) 2020.02.21
반응형

useradd는 모든 설정을 지정해주어야하기때문에 adduser를 사용하기로 한다.

 

필요에따라 userid와 groupid를 넣어서 만들고 passwd userid를 입력하여 비밀번호도 지정한다.

 

adduser -u [id] -g [group] <userid>
passwd userid

 

userid와 groupid에 대한 정보는 아래 폴더에 존재한다.

/etc/passwd
user1:x:765:1000::/home/user1:/bin/bash 

/etc/group
user:x:999: 
guest:x:900:
test1:x:1000:user1,user2,user3
test2:x:1001:user2

passwd 파일 안에는 아이디, uid, groupid, home 폴더 위치 등이 존재한다. 

uid 또는 gid를 이 파일 내에서 수정해도 되지만 이럴 경우 이미 만들어진 폴더, 파일등에서도 gid 정보 등을 같이 수정해줘야하는 불편함이 있다.

처음 생성할 때 정하는것이 좋다.

 

group 파일 안에는 그룹 이름과 gid, 해당 그룹에 속하는 아이디 등이 존재한다.

user1, user2, user3 모두 test1 그룹에 속하며 user2는 test2 그룹에도 동시에 속한다.

 

 

 

 

 

반응형
반응형

zip으로 압축할 때 

경로내의 모든 하위 폴더도 압축하려면

zip -r newfile.zip /path/to/directory/

 

zip으로 압축 해제 할 때

 

원하는 파일들만 압축 해제

unzip a.zip b.zip c.zip

 

디렉토리 내의 모든 zip파일 해제

unzip '*.zip'

 

여러 파일을 압축 해제하는데 특정 폴더에 넣고 싶을 때

unzip '*.zip' -d /path/to/directory/

 

반응형
반응형

 

Linux에서 정해진 시간마다 작업을 하려면 crontab 명령어를 실행하면 된다.

 

주로 스크립트 백업에 사용하는 편이다.

 

명령어를 직접 입력해도 되고 shell 스크립트를 작성해서 해당 스크립트를 실행하도록 해도 된다.

 

(명령어 형식)
# crontab -l          ; 현재 예약된 작업 리스트를 보여줌
# crontab -e         ; 현재 예약된작업 리스트를 편집함
# crontab -r          : 현재 예약된 리스트를 지움


  분    시    날    달  요일   
0-59 0-23 1-31 1-12 0-7 명령어

 

아래 페이지를 참고하면 원하는 시간을 정확하게 구할 수 있을 것이다.


https://crontab.guru/

 

crontab.guru - the cron schedule expression editor

loading... Cron job failures can be disastrous! We created Cronitor because cron itself can't alert you if your jobs fail or never start. Cronitor is easy to integrate and provides you with instant alerts when things go wrong. Learn more about cron job mon

crontab.guru

 

 

crontab -e 를 치면 vi 가 실행되고 내용을 입력하고 저장,종료하면 된다.

 

 

반응형

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

계정, 그룹 생성, 추가 및 삭제  (0) 2020.02.24
Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
su 와 su- 의 차이  (1) 2019.09.19
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
반응형

HLA는 MHC의 한 부분이다. HLA는 세포 표면 단백질 항원으로 모든 유핵 세포 표면에 발현되어 있고 면역세포가 '정상적인 자가 세포'인지 아닌지 판단하는 지표로 사용한다.

 

염색체 6p21에 약 3Mbp 정도의 크기이며 polymorphic하다. 후술하겠지만 locus에 따라 수만 종류의 allele이 밝혀졌으며 여전히 밝혀지지 않은 allele들도 다수 존재하는 것으로 보인다.

 

HLA는 Class I(A, B, C), Class II(DP, DM, DO, DQ, DR) 그리고 Class III로 이루어져 있다.

 

Class I은 세포 내에서 외부로 펩타이드를 제시한다. 만약 세포가 바이러스 등 외부 요인에 의해 감염되었다면 그 조각을 세포막 외부에 제시하고 killer T-cell 등이 이를 인지하고 면역 체계를 발동시키도록 하는 역할이다. 

 

Class II는 세포 밖에서 항원을 제시하여 T-림프구가 이를 인지하도록 한다. T-림프구가 이를 인지하면 T-helper 세포를 자극시켜 이 항원에 대응하는 항체를 가지는 B세포의 합성을 유도한다. 

 

Class III는 complement system 또는 complement cascade라고하는 면역 체계를 활성화 시킨다.

 

 

HLA는 주로 장기 이식 거부 반응이나 자가면역 질환(1형 당뇨, 실리악 스프루 등)과 연관이 깊다.

 

HLA는 변이가 매우 잘 일어나기때문에 동일한 HLA allele을 가지는 사람이 있을 확률은 매우 낮다. 장기 기증을 신청하면 HLA genotype을 미리 조사했다가 같은 type의 수여자가 생겨나면 알려주는 식으로 진행되며 가족일 경우 확률이 높은 것은 당연하다. 

 

 

HLA nomenclature

 

HLA의 명명법은 위와 같다. Field 1은 2digit, Field 2는 4digit 등으로 말하기도 한다.

 

 

최신 업데이트의 HLA database는 IMGT-HLA database에서 얻을 수 있다.

https://www.ebi.ac.uk/ipd/imgt/hla/

 

IMGT/HLA < IPD < EMBL-EBI

Disclaimer Where discrepancies have arisen between reported sequences and those stored in the databases, the original authors have been contacted where possible, and necessary amendments to published sequences have been incorporated. Future sequencing may

www.ebi.ac.uk

 

 

 

출처 -

https://en.wikipedia.org/wiki/Human_leukocyte_antigen#Functions

 

Human leukocyte antigen - Wikipedia

HLA region of Chromosome 6 The human leukocyte antigen (HLA) system or complex is a gene complex encoding the major histocompatibility complex (MHC) proteins in humans. These cell-surface proteins are responsible for the regulation of the immune system in

en.wikipedia.org

http://hla.alleles.org/nomenclature/naming.html

 

HLA Nomenclature @ hla.alleles.org

Nomenclature for Factors of the HLA System Nomenclature of HLA Alleles Each HLA allele name has a unique number corresponding to up to four sets of digits separated by colons. The length of the allele designation is dependent on the sequence of the allele

hla.alleles.org

반응형

'bioinformatics' 카테고리의 다른 글

Phred quality score  (0) 2020.03.11
Sequencing QC  (0) 2020.03.11
SnpEff 빌드하기  (0) 2019.09.30
GC bias in the first few bases.  (0) 2019.07.04
DNA methylation  (0) 2019.06.18
반응형

에어팟 9개월 버즈 1개월 사용 후 실사용 리뷰.

 

에어팟은 아이폰7에 연결해서 썻으며 버즈는 갤노트 10+에 연결해서 썻기 때문에

 

기기차이에의한 보정은 없었다. 개인적으로 폰에 의한 차이는 별로 없을 것이라고 생각한다.

 

 

에어팟 (9 개월)

 

- 디자인 감성 ( 개인적으로 호감이 가는 디자인은 아니나 익숙해져버려서 못생겼다고 생각도 안든다.).

- 오픈형 이어폰 ( 커널형으로 바꿔주는 실리콘을 써드파티에서 따로 팔지만 크게 효과가 있지 않다 그래도 없는 것 보단 나았다.)

- 케이스를 꾸미기 좋다. 단 에어팟 내부에 생기는 철가루(?) 같은 것을 청소하기 많이 까다롭다. 스티커를 사서 붙이면 되나 이것도 소모품이라 유지비가 든다.

 

 

버즈 (1 개월)

 

- 디자인 역시나 보통. 특별히 이쁘게 느껴지는 부분 없다.

- 커널형 이어폰. 주변 소리 잘 차단되지만 주변 소리 듣기 기능을 켜면 이어폰 착용 중에도 대화에 불편함은 없다. 단 이미 소리가 나오고 있으면 잘 안들리기때문에 재생종료->주변소리듣기켜기  두 단계를 진행해야한다.

- 가격이 조금 더 저렴하다.

 

 

 

에어팟을 쓸 때 은근히 불편했던게 귀에서 빼서 자동 재생정지가 됐을 때 다시 착용하면 소리가 안나올 때가 간헐적으로 있다. 핸드폰에서 직접 다시 재생을 눌러야만 나왔다. 왜 그런지 모르겠으나 은근히 신경쓰였는데 버즈는 그런 부분은 없다.

 

어떤 기기를 쓰느냐에따라 기능에 제한이 있을 수도 있는데 그런 부분은 테스트 못하였다.

 

반응형

'etc.' 카테고리의 다른 글

간단 명료 삼성 고속 무선충전패드 EP-P1100BBKGKR 리뷰  (0) 2019.10.02
16진수 RGB코드 알아내는법  (0) 2018.08.31
Nature or Nurture?  (0) 2017.08.25
반응형

삼성 고속 무선충전패드 EP-P1100BBKGKR 2주 실사용 리뷰

 

장점

- 저렴함 쿠팡 기준 2만원 이하.

- 충전시 대충 올려놓기만 하면 되는 편리함

 

단점

- 구성품에 케이블이 포함되어있지 않음.

- 충전 속도가 유선에비해 1/2 수준. (걸리는 시간이 약 2배)

- 갤럭시 워치 액티브2는 충전 불가. (다른 갤럭시 워치는 확인 불가)

- 세워서 거치 불가.

 

사진은 사이즈 비교를 위해 텀블러와 비교샷. 대략 성인 남성 손바닥크기정도로 생각보다 작음.

 

 

충전시간이 오래걸리더라도 회사에서 놓고 쓰기엔 충분함. 매 번 케이블은 꽂아야하는게 은근히 불편한데 폰 안만지는 시간에는 그냥 올려놓기만해도 거의 완충상태 유지 가능함. 

 

액티브2 충전 불가능해서 상당히 아쉬움. 듀얼 충전기는 가격이 약 5배 수준이고 충전 슬롯은 하나여도 충분한거 같아서 안샀는데 지원 가능한 모델이 있었으면 조금 더 비쌌어도 그걸 샀을거 같음.

 

버즈는 아직 시도해보지 않았는데 아마도...되지 않을까 싶음. 배송 도착하면 충전 여부 업데이트 할 예정.

버즈 충전 잘 되는것을 확인.

 

 

 

반응형

'etc.' 카테고리의 다른 글

갤럭시 버즈 vs 에어팟 실사용 리뷰  (0) 2019.10.16
16진수 RGB코드 알아내는법  (0) 2018.08.31
Nature or Nurture?  (0) 2017.08.25
반응형

SnpEff는 기본적으로 지원하는 genome 데이터가 있지만 manual하게 빌드하여 SNP의 효과를 예상 할 수도 있다.

 

SnpEff 설치 후 설치 폴더 내에 생성되는 snpEff.config 파일을 수정해 주어야 한다.

 

/PATH/TO/INSTALL/SnpEff/snpEff.config 파일 내에 아래 내용을 추가한다.

 

# genome for test 
test.genome : testtest

test.genome의 test가 이 genome의 식별 코드이다. 뒤에 testtest는 어떠한 영향을 주는지는 잘 모르겠다. 다른 글을 참조했을때 보통은 종 이름을 쓰는 듯 하다.

 

 

이후에 /PATH/TO/INSTALL/SnpEff/ 폴더 내에 /data/test/ 폴더를 생성하고 빌드하고자 하는 genome 서열과 annotation 파일을 아래의 형식으로 옮긴다.

 

mkdir data/test/
cp original_genome.fasta data/test/sequences.fa
cp original_annotation.gtf data/test/genes.gtf

 

모든 준비가 완료되면 빌드를 시작한다.

 

java -jar snpEff.jar build test

 

반응형

'bioinformatics' 카테고리의 다른 글

Sequencing QC  (0) 2020.03.11
HLA genotyping  (0) 2020.02.21
GC bias in the first few bases.  (0) 2019.07.04
DNA methylation  (0) 2019.06.18
NGS 기술을 이용한 Methylation 분석  (0) 2019.06.17
반응형

su (substitution user)는 리눅스 내에서 user를 바꾸는 명령어다.

 

su [user] 를 사용함으로 해당 유저로 변경 가능하다.

 

su는 user를 바꾸기만하고 대부분의 환경 변수는 이전 user의 것을 따라간다.

 

su-는 유저를 바꾼 후 다시 shell에 접속한다. 즉 환경변수가 새로운 user의 것으로 바뀐다.

 

번외로 su 이후에 user아이디를 입력하지 않으면 root로 접속하겠다는 의미이다.

반응형

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

Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
crontab 사용하기  (0) 2020.02.21
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
반응형

데이터 백업을 위해 외부 HDD를 연결하는데 새 HDD라면 파티션부터 다시 잡아줘야 할 필요가 있다.

 

먼저 연결이 제대로 되었는지 확인해야 한다.

 

fdisk -l


가장 마지막에 연결한 장치가 밑에 나오게 되며 대략 아래와 같은 형태를 가진다.

Disk /dev/sdb: 36002.0 GB, 36002026487808 bytes, 70316457984 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 1048576 bytes
Disk label type: gpt

해당 장치가 맞는지 용량을 보고 확인하자.

 

장치가 맞다면 파티션을 나누고 포맷을 해야한다.

 

parted /dev/sdb 

장치 명은 위에서 확인한대로 진행

 

(parted)mklabel gpt
(parted)mkpart primary 0 100%

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
I

파티션을 여러개로 나눠서 따로 저장할 수 있지만 데이터 백업용 디스크는 그렇게 할 필요가 없다.

 

(parted)p

제대로 진행되었는지 확인

 

(parted)q

제대로 파티션이 나누어 졌다면 종료.

 

 

mkfs.ext4 -f /dev/sdb1

ext4 포맷으로 sdb장치의 1번 파티션을 포맷한다. 

 

 

 mount /dev/sdb1 /data

sdb장치의 1번 파티션을 /data 폴더에 마운트 시킨다.

 

 

반응형

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

crontab 사용하기  (0) 2020.02.21
su 와 su- 의 차이  (1) 2019.09.19
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
비밀번호 없이 ssh로 로그인하기  (0) 2019.08.26

+ Recent posts