2020-11-18

아미노산의 pKa. AMBER Molecular dynamics에서 pKa.


0.     아미노산의 pKa

 

Amino acid는 단량체로 존재할 때 alpha carboxy groupalpha amino group, 그리고 side chain을 가지고 있다. Tyrosine을 예로 들어보면, pH7일 때에 amino groupprotonated state가 되어 양전하를 띤다. 하지만 carboxy group은 음전하를 띠고 있어서 전체 전하는 0이 된다.

여기에서 주변 pH2.2보다 낮아지게 되면 주변의 수소 이온이 많아져서 carboxy group이 수소화(protonated)되며, pH9.1보다 높아지면 amino group의 수소가 떨어(deprotonated)진다. 여기에서 tyrosine같은 경우엔 side chainhydroxyl group이 있어서 한 번 더 수소를 내놓을 수 있게 되는데, 이로 인해서 net charge-2까지 가능하다.

 

 

1.     아미노산별 pKa

 

(출처 leah4sci.com)

 

아미노산 중에서 side chainpKa 값을 가지고 있는 것은 총 6 종류이다.

Cysteine, tyrosine, aspartic acid, glutamic acid, lysine, arginine, histidine.

이들을 구조별로 다시 보면 아래의 사진과 같다.

 

 

 

2.     AMBER molecular dynamics (MD)에서 residue의 표현

Tautomeric이나 protonation statesPDB 파일에 렌더링되지 않는다. 잔기에 대해 엄밀히 정의된 상태가 요구되는 경우엔 PDB 파일 내에서 해당 residue의 이름에 반영되어 있어야 한다. 만약 수동으로 PDB 파일 내의 residue name을 바꾸고자 한다면 모든 원자에 대해 변경을 실행해야 한다.

AMBERLEaP으로 생성된 PDB 파일의 경우에는 특별한 residue name을 사용하는 경우가 있다. 대표적으로 HIE, HIP, CYX 등이 있는데, 이 명칭들은 AMBER에서 사용하는 res name일 뿐, 다른 소프트웨어에서는 에러를 초래할 수 있으므로 주의해야 한다. AMBER에서 사용하던 res name을 타 소프트웨어에서도 사용할 수 있도록 만들고 싶다면 ambpdb 프로그램에서 “-bres” 옵션을 줘서 사용하면 된다.

 

Residue name에는 몇몇 독특한 규칙을 가진 녀석들이 있다. 이는 해당 잔기들이 가지고 있는 side chain 때문이다. 아래에서는 해당 아미노산들이 어떤 특징을 가지고 있고, 특징별로 어떻게 명명되는지를 살펴본다.

 

l  Histidine

히스티딘은 델타(δ), 입실론(ε), protonated의 세 가지 폼(form)으로 존재할 수 있다. 이는 이전 포스팅으로 설명을 대체한다. 최신 버전의 LEaP에서는 ε-히스티딘 형태가 기본값으로 설정되어 있다. 따라서 PDB 파일에 “HIS”라고 적힌 residue는 자동으로 LEaP에서 “HIE”(ε-히스티딘)이라는 이름으로 변경된다. PDB 파일에서 “HID”라는 이름으로 명시가 되어있을 경우에는 LEaP에서 똑같이 “HID”를 사용하고, 만약 PDB 파일이 이미 protonated form을 갖고 있다면 “HIP”가 된다.

 

정리하자면 다음과 같다:

HIE: 기본값, ε-히스티딘

HID: δ-히스티딘

HIP: Protonated form

 

l  Cysteine

시스테인은 free form, disulfide bridge의 일부분으로서 시스테인과 free form으로서, 이렇게 두 상태로만 존재할 수 있다. 단백질에서 시스테인의 역할은 매우 중요한데, 이는 시스테인의 잔기가 -SH여서 또다른 시스테인과 -S-S- (이황화) 결합을 할 수 있다는 특징 때문이다.

PDB에서 “CYS”로 이름 지어진 residues들은 자동으로 free form의 시스테인으로 변환된다. 여기에서 중요한 점이 있는데, 만약 이 시스테인이 S-S bridge를 이루고 있는 시스테인이라면, PDB 파일에서 반드시 “CYX”라고 명명해주어야 한다. 이 과정은 AMBER에서 자동적으로 이루어지지 않기 때문에 사용자가 “CYX”라고 적어주어야 해당 residue에 수소가 첨가되는 불상사를 막을 수 있다.

 

l  Asp, Glu, Lys

간혹 전하를 띤 상태로 존재하는 “ASP” (aspartate), “GLU” (glutamate), “LYS” (lysine)가 그것들의 uncharged form으로 사용되는 경우들이 발생하는데, 이는 “ASH”, “GLH”, “LYN”으로 바꿔서 사용하면 된다. 위의 사진은 ASPGLUASH GLH로 바뀌는 이유를 보여준다. 둘 다 protonated 되어야 uncharged되는 반면에, LYS deprotonated 되어야만 전하가 사라진다. 그래서 LYSLYH가 아니라 LYN (no? nothing? none?)이 된다. 아르기닌(arginine)AMBER에서 딱히 다루지 않는데, 이는 argininepKa12에 육박하기 때문에 거의 항상 protonated 되어있을 것으로 예측되기 때문이다.

 

l  ACE, NHE, NME

Amino acid는 아니지만, N-말단과 C-말단에서 뚜껑 역할을 하는 residueneutralized 형태로 사용되는 것은 적절하지 않기에 특별히 이 부분에서 사용하는 res name이 명명되어 있다. ACE N-말단에서, NHENMEC-말단에서 사용된다. 자세한 내용은 Amber manuals를 참조하면 된다.

 

 

 

 

2020-11-17

팟플레이어로 피치 조절한 MR 만들기


0.     필요성

MR 만드는 과정은 까다롭다. 그리고 여자 노래를 남자가 부르려면, 또한 남자 노래를 여자가 부르려면 피치가 맞지 않아서 힘들다. 이 모든 과정이 하나의 프로그램 안에서 가능하다.

 

 

1.     피치 조절 단축키

l  기본 피치: Shift + K

l  피치 낮게: Shift + H

l  피치 높게: Shift + J

 

 

2.     목소리 제거 (MR 제거의 반대)

l  단축키 Shift + V

l  혹은 F5를 눌러서 환경설정 진입

l  소리 언어/싱크/기타에서 목소리 제거 체크

 

 

2020-11-06

Conduct 뜻

 

0.     사전적인 의미

Conduct의 사전적인 의미는 다음과 같다.

<동사형>

l  (특정한 활동을) 하다

l  지휘하다

l  (어떤 장소를 이리저리) 안내하다

l  행동하다, 처신하다

l  (열이나 전기를) 전도하다

<명사형>

l  행동

l  경영, 수행, 처리

출처: 네이버 사전

 

 

1.     어원

어째서 이런 뜻을 가지게 됐을까?

15세기 초에 라틴어 conductus라는 단어에서 유래했는데, 이는 to guide, accompany and show the way (어떤 길을 안내하고 동행하고 보여주는 것)’이라는 뜻을 가지고 있다. 이는 conducere의 과거분사 형태인데, 이 또한 to lead or bring together; contribute, serve (리드하거나 함께 같이 가는 것, 기여해주거나 봉사해주는 것)’의 의미를 가지고 있다.

이 단어는 con-ducere가 합쳐진 단어이다. con-with, together라는 뜻을 가지고 있고, ducereProto-Indo-European (PIE) 시대의 어원인 deuk-에서 유래해서 to lead라는 의미이다.

15세기 중반부터 ‘with, together (함께하다)’라는 의미와 ‘to lead (이끌다)’라는 의미가 합쳐져서 지휘하다, 안내하다등의 의미가 탄생했다. ‘to lead(이끌다), command(명령하다), direct(가리키다), manage(관리하다)’ 등의 의미로 통하기 시작한 것은 15세기 중반부터. 이 개념이 확장되어 특히 음악 공연 등에서의 ‘act as leader of(지도자로서)’의 의미를 가지게 된 것은 1630년대부터이다.

1710년대에 드디어 behave in an certain way(특정한 방식으로 행동하는 경향)’의 의미를 띤 사용법이 등장한다. 물리학에서 ‘to carry(운반하다), convey(컨베이어 벨트의 그것), transmit(전달하다)’의 의미로 통하기 시작한 것이 1740년대부터이다.

이공계열이라면 아마 맨 마지막 의미인 전도하다의 형태로 많이 들었을 듯 하다., 여기에서 전도체로서의 conductor가 파생됐다. 지휘자도 conductor, 검표원도 ticket inspector 혹은 conductor, 피뢰침도 lightning conductor, 반도체의 semiconductor 등이 다 여기에서 파생됐다.

 

 

2.     응용 및 예제문장

l  to conduct an experiment/an inquiry/a survey
실험, 조사를 하다

l  a concert by the Philharmonic Orchestra, conducted by Sir Colin Davis
콜린 데이비스 경이 지휘하는 필하모닉 오케스트라 연주회

l  a conducted tour of Athens
가이드와 함께 하는 아테네 여행

l  He conducted himself far better than expected.
그는 예상보다 훨씬 더 잘 처신했다.

l  Copper conducts electricity well.
구리는 전기를 잘 전도한다.

l  The sport has a strict code of conduct.
스포츠에는 엄격한 행동 수칙이 있다.

l  There was growing criticism of the government’s conduct of the war
정부의 전쟁 수행에 대한 비판이 커지고 있었다.

출처: 네이버 사전

 

l  The Poisson–Boltzmann equation can be applied in a variety of fields mainly as a modeling tool to make approximations for applications such as charged biomolecular interactions, dynamics of electrons in semiconductors or plasma, etc.
Poisson-Bolzmann
방정식은 주로 하전된 생체분자의 상호작용, 반도체, 또는 플라즈마의 전자 역학 등과 같은 응용 분야에 대한 근사법을 만드는 모델링 도구로 다양한 분야에 적용될 수 있다.

출처: 위키피디아

 

 

3.     +α

너리(위키+딕셔너리)에서는 해당 단어에서 파생한 단어 및 표현 어구들도 함께 소개해준다. 구글링을 할 때 derived terms of conduct처럼 검색하면 해당 단어와 연관된 단어들을 더욱 쉽게 검색할 수 있다.

 

 


2020-11-02

gdrive 이 앱에서 Google 로그인이 일시적으로 사용 중지되었습니다 해결법

 리눅스에서 구글 드라이브를 Terminal로 사용하는 방법

부제: gdrive 이 앱에서 Google 로그인이 일시적으로 사용 중지되었습니다

 

0.     Linux에서 Google Drive를 사용하고 싶다.

윈도우는 좋은 프로그램들을 잔뜩 지원해주는데리눅스는 알아서 하라는걸까윈도우에서는  를 다운받을 수 있고, G Suite 사용자는  이브  을 사용할 수 있다.

근데    이다수많은 눅스  OS 들과 라즈베리파이 사용자들의 속이 까맣게 타 들어가는 소리가 들렸다그래서 참다 못한 리눅스 사용자들이

 


1.     그래서 알아서 만들어서 쓴다

클론 작업이 편리하게 이루어지려면 역시 GUI보단 CLI가 좋다그래픽 인터페이스가 없으면 하나하나 검색해서 사용해야 한다는 불편함이 늘 함께하지만그 약간의(?) 불편함을 극복하면 완전히 새로운 세상이 펼쳐진다텍스트 기반의 인터페이스는 자동화가 간편하고부재하는 기능을 손쉽게 추가·변형·응용할 수 있다.

내가 만들기 전에 이미 만들어진 소프트웨어가 있는지 검색해 보는 것은 우주의 진리그렇게 검색해본 여러 소프트웨어가 있다.

l  Gdrive (오늘의 주인공)

l  overGrive(오버ㅈㄹ이브)(유료)

l  InSync (유료)

l  drive

l  Rclone

l  GNOME (버전 3.18 이상)

l  drive-cli (Python 패키지)

이 중에서 Gdrive를 사용해볼 것이다.

 

 

2.     설치 방법

생각보다 까다로운 과정이 포함되어 있으니귀찮은걸 싫어한다면 빠른 포기를 권한다큰 흐름을 설명하자면 다음과 같은 과정을 거친다.

 

l  컴파일 된 바이너리 파일 다운로드
(
혹은 직접 컴파일)

l  Google Cloud Platform에서 새 프로젝트 만들기

n  OAuth 2.0 클라이언트 ID 생성

n  클라이언트 ID와 Secret 확보

n  Google Drive API 사용 설정

l  Gdrive 바이너리 파일 수정

l  Gdrive OAuth 인증 후 사용

이 과정을 따라올 수 있는 자만이 다음 단계로 넘어갈 수 있다리눅스 사용자들이라면 이러한 과정에 이미 단련이 될 대로 되었다고 생각하기 때문에마음 놓고 서술하였다.

 

 

3.     컴파일 된 바이너리 파일 다운로드

안타깝게도 Gdrive는 현재 유지보수가 되고 있지 않다하지만 깃허브는 커밋을 거꾸로 거슬로 올라갈 수 있다는 점… 으로  너리  이 2.1.0 버전에 수록되어 있다앞의 링크를 클릭해서 자신의 환경에 맞는 바이너리 파일을 다운받는다.

참고로 라즈베리파이와 Linux arm 64-bit가 서로 다르므로 이 점에 유의하면 좋다.

 

다운받은 파일을 /bin 폴더에 두어도 괜찮고/home/**USERNAME**/gdrive 처럼 유저 홈 디렉토리에 따로 폴더를 만들어 보관해도 좋다다만 /bin 폴더에 두면 PATH를 따로 설정해주지 않아도 바로 커맨드를 입력할 수 있다는 장점이 있지만sudo가 불가능하다면 권한이 필요하지 않은 폴더에 두어도 아무 문제 없다.

 

 

4.     Google Cloud Platform에서 새 프로젝트 만들기

이걸 왜 만들어야 하느냐면… 현재 유지보수 되지 않고 있는 Gdrive를 내가 직접 만든 클라이언트를 통해 구동시켜야 하기 때문이다쉽게 비유하자면넥슨이 망해서 메이플을 못 하니까 프리메이플 서버를 돌려야 할 판이다여기에서 등장하는 OAuth 2.0의 개념이 궁금하다면   을 참조하면 된다이외에도 구글에 ‘OAuth 2.0 이란?’이라고 검색하면 많은 자료들을 만날 수 있다.

새 프로젝트를 만들고 사용자 인증 정보 획득 및 클라이언트 ID와 Secret 코드 확보의 과정은 마찬가지로  에서 매우 친절하게 설명해주고 있으나여기에서도 (아주 조금이지만 더 최신화 된 사진으로설명할 것이다.

 

l   우드 에 접속한다.

구글 계정으로 로그인을 하고새 프로젝트를 생성하면서 프로젝트 이름을 적어준다프로젝트가 생성되면 오른쪽 위에 종 모양의 아이콘에서 프로젝트가 생성되었다고 알림이 뜬다그러면 프로젝트 이름을 클릭해서 해당 프로젝트로 이동해준다.

 

l  ‘API 및 서비스 – 사용자 인증 정보에 들어간다.


l  사용자 인증 정보 만들기 – OAuth 클라이언트 ID를 누른다.

시행착오를 겪으며 이미 만들어둔 클라이언트가 보인다처음 만드는 사람이라면 위의 사진과는 다르게아무런 인증 정보가 보이지 않을 것이다.

중간에 OAuth 동의 화면이 뜰 수 있는데대충 적고 넘어가도 된다.

 

l  클라이언트 생성


이 과정이 중요하다여기에서 클라이언트 ID는 몰라도 클라이언트 보안 비밀번호는 누구에게도 노출하지 말아야 한다이 값을 메모장에 저장해 둔다아래에서 쓰인다.

 

l  사용자 인증 정보 탭 위에 라이브러리 탭으로 들어간다.



위의 사진은 이미 API 사용 설정을 눌렀을 때 볼 수 있는 화면이다. ‘관리를 누르면 할당량(quota) 및 요청량을 확인할 수 있다.

 

l  앱 설정은 이 정도로 마무리

Google Drive API 설정은 여기에서 끝이다위의 과정은 구글 클라우드 플랫폼에 클라이언트를 생성해서 해당 클라이언트가 resource owner(사용자)의 Google Drive에 접근할 수 있게 권한 설정을 한 것이라고 이해하면 편하다(엄밀한 설명은 아니지만 넘어가도록 한다).

 

 

5.     Gdrive 바이너리 파일 수정

위의 번잡스러운 짓을 한 데에는 이유가 있다이 바이너리 파일을 실행($ ./gdrive about)시키면 oauth 인증을 위한 링크가 뜨고해당 링크로 들어가면 아래와 같은 메시지를 볼 수 있기 때문이다.

이 앱에서 Google 로그인이 일시적으로 사용 중지되었습니다

이 앱은 아직 Google 로그인을 사용하도록 Google의 인증을 받지 않았습니다.

 

이제 프리메이플을 돌릴 시간이다.

 

l  Gdrive 바이너리 파일이 존재하는 디렉토리에서 다음과 같은 명령어를 실행한다.

sed -i "s|367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com|**자신의 클라이언트 아이디**|g" gdrive

sed -i "s|1qsNodXNaWq1mQuBjUjmvhoO|**클라이언트 시크릿**|g" gdrive

위의 명령어는 gdrive 바이너리 파일에서 개발자가 적어둔 클라이언트 ID를 당신의 아이디로 치환하는 명령어이다.

아래의 명령어는 gdrive 바이너리 파일에서 개발자가 적어둔 클라이언트 시크릿을 당신의 시크릿으로 치환하는 명령어이다.

위에서 메모해둔 정보를 입력하여 치환하면 된다.

 

바이너리 파일에서 hex 데이터를 이런 방식으로 치환할 생각을 어떻게 했을까… 이 방법을 가르쳐준   에게 깊은 감사를 표한다.

개발자의 클라이언트에 관한 정보는 허브   에서 확인했으며댓글이   도 가르쳐주었다.

 

그 이후에 해당 바이너리를 실행하며 about 아규먼트를 넣어주어 사용하면 된다사용법에 관해서는 를 참조하기 바란다.

 

 

6.     여담

    의 댓글에 한국인도 있다.. 한국인도 일본인도 모두 영어로 의사소통하는 이 기묘한 분위기는 역시 적응이 안 된다.