Gamma function(감마함수)를 통하여 gamma(n+1)=n!(팩토리얼, factorial) 증명

 

 

 

1. 감마함수 정의

    $ \Gamma \left ( n \right ) = \int_{0}^{\infty }e^{-x}\cdot x^{n-1 }\: dx $

2. gamma(n+1) = n! 증명

  2-1) gamma(n+1) 재정의

    $ \Gamma \left ( n+1 \right ) = \int_{0}^{\infty }e^{-x}\cdot x^{n }\: dx $

  2-2) gamma(n+1) 부분적분

    부분적분법

    $ \int u(x)v'(x) \; dx = u(x)v(x) + \int u'(x)v(x)\: dx $

    부분적분

    $ \int_{0}^{\infty }x^{n}e^{-x}\: dx = [-x^{n}e^{-x}]_{0}^{\infty} - \int_{0}^{\infty }nx^{n-1}(-1)e^{-x}\: dx $

    $ \int_{0}^{\infty }x^{n}e^{-x}\: dx = \lim_{x\rightarrow \infty}(-x^{n}e^{-x})-(0e^{0}) + n \int_{0}^{\infty }x^{n-1}e^{-x}\: dx $

    $ \int_{0}^{\infty }x^{n}e^{-x}\: dx = n \int_{0}^{\infty }x^{n-1}e^{-x}\: dx $

    $ \Gamma (n+1) = n \Gamma (n) $

  2-3) gamma(1) 계산

    $ \Gamma (1) = \int_{0}^{\infty}e^{-x} \cdot x^{1-1} \: dx $

    $ \qquad \, = [-e^{-x}]_{0}^{\infty} $

    $ \qquad \, = \lim_{x\rightarrow \infty} (-e^{-x}) - (-e^{0}) $

    $ \qquad \, = 0 - (-1) $

    $ \qquad \, = 1 $

  2-4) 순환 반복하므로 gamma(n+1)은 n!

 

    $ \Gamma (n+1) = n \Gamma (n) $

    $ \Gamma (n) = (n-1) \Gamma (n-1) = n \times (n-1) \times \Gamma (n-1) $

    $ \vdots $

    $ \Gamma (2) = 1 \cdot \Gamma (1) $

    $ \Gamma (1) = 1 $

    $ \Gamma (n+1) = n \times (n-1) \times ... \times 2 \times 1 $

    $ \therefore \Gamma (n+1) = n! = \int_{0}^{\infty}e^{-x}\cdot x^{n} \: dx $

[시계열분석|MachineLearning|Time Series|Prophet] fbprophet 설치하기

Anaconda

가장 간단한 방법
conda install -c conda-forge fbprophet

Naive python

1. pip install cython

2. pip install "pystan<2.18"

3. pip install fbprophet

로지컬 씽킹(Logical thinking)

 

1970년대 후반에 만들어진 개념으로 어떤 문제를 빠짐없이 쪼개보는 것을 말한다.

 

이렇게 질문을 쪼개면 개개인의 관찰이 힘을 얻게되고 결과적으로

 0) 문제의 해결을 위해 시도한 모든 것들의 완전한 실패가 없어진다.

 1) 질문의 퀄리티 향상 => 개개인의 관찰이 힘을 얻음 => 집단지성의 근간

 2) 가설 설정 가능

 3) 작업계획(누가 언제까지 무엇을) 설정 가능

 4) 결과가 설득적이 된다.

 

그리고 이를 위해서는 말이 최대한 쉬워야 한다.

 

보통 구조화->가설 설정->확신도 평가->검증->정리의 흐름을 가진다.

 

로지컬 씽킹은 가설을 설정한 뒤 그 가설을 검증하는 과정이지만 이와 반대로 분석적 사고는 가설을 설정하지 않은 채 모든 경우의 수를 하나하나 다 확인하는 방법이다.

'Study > Etc' 카테고리의 다른 글

에어컨에서 최저온도가 16'C에서 18'C인 이유  (0) 2019.08.21

인터넷에 찾아보면 '동영상'으로 나와있는 것들이 많은데, 전부 핵심을 바로 짚기 보다는 영상을 다 봐야 이해할 수 있는 것이라서 요약해드리자면,

 

1) 냉매안정성
2) 기계 내부 안정성 (기계 내부 결빙)
3) 기타요소: 적정온도 소요(외부온도의 4~5'C 정도의 냉방), 전력소비 및 사람요소(체온 유지 등)

정도로 요약할 수 있습니다.

'Study > Etc' 카테고리의 다른 글

로지컬 씽킹(Logical thinking)  (0) 2019.09.02

CLI? GUI? 그게 뭐죠? 먹는건가요...?

 

사실상 컴퓨터 일반 카테고리에 '컴퓨터 일반'에 대한 내용보다 각종 팁과 짜잘한 스니펫들이 돌아다니니, 어떻게보면 정말 '컴퓨터 일반'에 대한 내용은 이것이 처음이 아닌가 싶습니다...

 

컴퓨터를 조금만 공부하다보면 어느순간 쉽게 나와버리는 CLI와 GUI라는 용어. 하지만 그냥 슥슥 넘어가서 나중에 찾아볼 생각도 못하고 뭐지? 라고 하셨다면... 사실 정말 별거 없습니다.

 

CLI는 Command Line Interface의 약자로, 보통 컴퓨터 잘하는 사람 하면 떠오르는 까만화면에 흰 글씨 쓰는 Interface를 생각하시면 됩니다.

명령을 전부 Command Line이라 불리는 그 줄에 입력하여 사용하니, 나름 어느정도 명령어를 알고 있어야 하죠.

 

반대로 GUI는 Graphic User Interface의 약자입니다. 윈도우즈와 같이 화면에 보이는 직관적인 이미지들과 그래픽들로 명령들을 실행하는 것이죠.

어떻게 보자면 GUI환경에서 이루어지는 모든 상호작용이 내부적으로는 CLI 명령어화 되어 작동한다고 생각하셔도 괜찮을 것 같습니다.

 

현실세계에서의 CLI vs GUI하면, 대표적으로 Unix, Linux로 대표되던 CLI환경과, 이것에 반발을 하고 GUI환경을 만든 마이크로 소프트의 윈도우즈가 있겠네요. 물론 현재는 Unix, Linux 모두 Xwindow라는 것으로 GUI 환경을 제공합니다.

'Study > Computer' 카테고리의 다른 글

[Git/Github] Git? 깃?  (0) 2019.07.08
파일 인코딩 확인법(How to find out file encoding)  (2) 2019.06.26

[Git/Github] Git? 깃? 옷깃?

 

프로그래밍을 쪼끔이라도 하게되면 요새는 무조건 알게되는 Git 이란 녀석.

근데 일반적으로 코딩을 하다보면 저 존재 없이도 잘만 코딩하는데, 왜 꼭 어디선가 나타나서 더 배울것을 던져주는 것만 같은 기분이 들게 하는가.

사실 그냥 나홀로 코딩할때는 로컬에만 잘 분류해서 저장해주면 끝 아닌가?

 

그런게 아니니까 깃이 나왔겠죠?

 

오늘은 Git이라는 녀석이 무엇이고 왜 써야 하는지 그리고 기본적으로 어떤 흐름으로 작동하는지 알아보도록 하겠습니다.

 

Git이란?

Git(깃)이란 나무위키 曰 "깃은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다."라고 합니다.

분명 한글을 읽고 있기는 한데, 도대체 이해가 어려운 것 같습니다.

특히 '분산 버전 관리 시스템'이 압박이죠.

이걸 한마디로 정리해보자면, 내 코드의 변경사항을 기록해주고, 다른 사람들의 변경사항도 기록해주는데, 백업도 해주는 것입니다. 말그대로 열심히 기록해주는 시스템입니다. 말 그대로 게임에서의 세이브/로드 기능+'실행취소'와 같은 백업기능이죠.

 

막간으로 Git이랑 Github는 무엇이 다를까요?
git은 버전관리 툴이지만, github는 클라우드 서비스입니다.
git으로 버전관리를 한 것을 누구나 볼 수 있게, 혹은 쉽게 접근이 가능하게 하여 이 버전관리를 활용할 수 있게 해주는 것이지요.

 

그러면 깃을 왜 사용해야 하나?

왜 사용해야 하냐면! 그것은! 팀이나 조별과제시에 발표자료 혹은 교수님 제출자료의 제목을 한번 생각해보시면 한방에 이해가 됩니다.

발표자료_초안.ppt
발표자료_초안(수정).ppt
발표자료_초안(수정)(2차수정).ppt
.
.
.
발표자료_초안(수정)(2차수정)_최종본.ppt
발표자료_최종본_진짜 최종수정.ppt
발표자료_최종본_final.ppt
발표자료_교수님 첨부용.ppt
[1조]발표자료 ppt의 제목 변천에 관하여.ppt

네. 비단 제목 뿐만이 아니라, 중간에 누락되고, 나중에 오프라인으로 만나서 조장이 최종본을 열면 '어? 이거 제가 수정했는데 못보셨어요?'가 반드시 나오죠.

몬가.. 몬가 멋있고 엘레강스하며 팬시한 관리 방법이 있어야 할 것 같은 의무감 같은 것이 생기지 않습니까?

 

왜 저렇게 파일 길이가 계속 늘어나면서 뭔가가 덕지덕지 붙는걸까요?

바로 여러명이서 동시에 작업하기 때문입니다.

여러명이서 작업하며 내 파일도 내 컴퓨터에 백업으로 저장하면서 이메일로 주고받고 한명이 합치면 다음 사람에게 합친걸 넘겨주고... 그러면서 당연히 누락도 생기고 파일명도 다른 파일들과 구분하기 위해 저렇게 길어지는 것이죠.

그렇다면

만약에 팀 안에서 알아서 기록해주고 알아서 백업을 챙겨주는 사람이 있다면 팀원간에 이메일로 왔다갔다 하며 누락시키거나 파일명이 저렇게 길어질 필요가 있을까요?

한명이 전담해서(서기) 모든 자료를 받고, 취합하고, 수정사항이 있으면 그것만 보내면 알아서 백업 이후에 새 파일로 만들어서 누구나 볼 수 있게 해준다면?

그 한사람이 바로 깃(Git)입니다.

단순한 파일 하나만 왔다갔다 하는 것도 이런데, 그 수많은 라인의 코드파일들이 이리저리 왔다갔다한다면...?

꼭 써야 합니다 여러분.

 

깃은 그럼 어떻게 쓰는거야?

단순합니다.

0) [git config]

    git config --global user.email "---@--.--"
    git config --global user.name "---"

1) [git init]
    처음에 깃한테 어떤 폴더를 보라고 시킵니다. '야 여기 좀 보고 앞으로 이 폴더에서 일어나는거 싹다 기록해놔.'
    서기를 정하고 서기한테 '이제 우리가 너한테 모든 파일을 다 보낼거야'라고 합니다.

2) 열심히 그 폴더 안에서 지지고 볶습니다. 새 폴더도 만들고 코딩한 파일도 만들고 하면서요.
    서기한테 보내기 전 내 컴퓨터에서 열심히 작업을 하는 것과 같습니다.

3) [git status]
    그리고 깃한테 한번 쓱 물어봅니다. '잘 기록했니?' (물론 굳이 안물어봐도 됩니다. 알아서 잘 하니까요? 그치만... 궁금하잖아요?) 그러면 컴퓨터인 깃은 싹다 기록을 해놨다고 얘기를 하죠.
    서기도 마찬가지 일 겁니다.

4) [git add]
    그렇다면 그 변경사항 중 변경이 저장되길 원하는 것만 선택합니다. 이 순간부터 단순히 컴퓨터에 저장된 것이 아닌 내부적으로 '스테이지'라고 불리는 곳에 따로 입력해둡니다.
    서기의 컴퓨터에게 보내기위해 메일에 따로 업로드를 합니다.

5) [git commit [파일명] -m "뭐라뭐라"]
    그리고 현재 서기한테 던져준 파일들을 한 뭉텅이로 만들고 이 뭉텡이가 뭔지 설명을 적어줍니다. 서기 컴퓨터에 저장할 내용입니다. 여기까지 하면 서기가 서기 컴퓨터에 파일을 영구히 저장했습니다. 이것을 '레포'라고 부릅니다.

6) 깃헙이라는 클라우드 서비스에 프로젝트 저장소를 만듭니다. 가령 서기가 단톡방 혹은 옵톡을 파는 것과 같습니다.

7) [git remote add]
    컴퓨터에게 깃헙 주소를 알려줍니다. 사람들에게 옵톡 주소를 알려주는 것과 같습니다. 딱 한번만 알려주면, 다른 사람들이 방에 주소 없이 들어올 수 있듯 깃헙에도 한번만 해주면 따로 이 과정없이 바로 올릴 수 있습니다.

8) [git push]
    그리고 마지막으로 깃헙에 올리면 끝납니다.
    서기도 단톡방에 파일을 올려서 모든 팀원들이 볼 수 있게 하였습니다.

동물 얼굴 판독 머신 만들기! (tensor flow running pets for Windows)

 

저번 포스팅에서 Object-detection을 위한 준비를 모두 마쳤습니다.

이번에는 그 환경에서 구글 텐서플로에서도 튜토리얼처럼 보여주는 동물 얼굴을 판독하는 것을 해보겠습니다.

영문으로 제공되는 >>링크<<입니다. 물론 기본적으로 윈도우즈 용은 아닙니다.

 

단계별로 따라오시면 어려움 없이 직접 내 컴퓨터에서 동물사진의 얼굴을 인식하는 것을 보실 수 있습니다.

1. Oxford-IIIT Pets Dataset을 다운로드 받아줍니다. images와 annotations 둘 다 필요합니다.

>>images.tar.gz<<

>>annotations.tar.gz<<

불러오는 중입니다...

2. 저번에 git clone했던 models폴더 내의 research 안에서 data라는 폴더를 새로 만들어줍시다.

3. 다운로드 받은 images.tar.gz과 annotations.tar.gz파일을 압축을 풀어주고, 각각 생성된 images폴더와 annotations폴더를 그대로 data라는 폴더 안에 넣어 줍시다.

4. 구글 측에서는 항상 데이터의 인풋을 tfrecord의 형태로 입력하기를 권장합니다. 구글에서 배포한 이 예시에서도 tfrecord를 사용하게 되는데요. 물론 튜토리얼 과정이기 때문에 구글측에서 이미 Oxford-IIIT Pets Dataset을 TFrecord로 만드는 파일 역시 object-dection폴더 안에 들어있습니다. 참고로 [username]은 각 컴퓨터에 맞는 사용자 이름으로 바꾸어 주셔야 합니다!

python "C:\Users\[username]\models\research\object_detection\dataset_tools\create_pet_tf_record.py" --label_map_path="C:\Users\[username]\models\research\object_detection\data\pet_label_map.pbtxt" --data_dir="C:\Users\[username]\models\research\data" --output_dir="C:\Users\[username]\models\research\data"

를 실행해주시면 자동으로 output_dir에 tfrecord를 만들것입니다.

구글 문서에서 tfrecord를 만들 때 WARNING이라고 몇개 뜨는 게 있는데, 별로 신경쓰지 않아도 된다고 나와있습니다.

5. 저대로 실행시키면 우리가 만든 data폴더에 train.pet_faces_train.record-00000-of-00010로 시작하는 파일이 10개 생성되고, pet_faces_val.record-00000-of-00010로 시작하는 파일이 10개 생성됩니다.

6. 인풋데이터는 이제 완성되었습니다. 이제 학습을 시키면 되는데, 완전히 처음부터 학습시키기에는 우리가 기본적으로 가지고 있는 컴퓨터의 컴퓨팅 파워가 너무너무너무 작습니다. 그러니 누군가가 먼저 엄청난 컴퓨팅 파워로 학습시켜놓은 것을 가져다가 마지막에 끝단만 살짝 바꾸어서 사용해보도록 하겠습니다. 이것을 transfer learning 혹은 fine tunning이라고 합니다. 먼저 이미지넷에서 상받은 Resnet으로 MS-COCO데이터셋에 대해서 Faster-RCNN 기술로 학습시켜놓은 훈련된(pretrained) 데이터를 받아오겠습니다. >>링크<<

불러오는 중입니다...

7. 다운받은 faster_rcnn_resnet101_coco_11_06_2017.tar.gz를 압축을 풀면 model.ckpt로 시작하는 파일이 3종류가 있습니다.(~.data-00000-of-00001, ~.index, ~.meta) 전부 복사한 뒤 우리의 data폴더 내에서 다시 model이라는 폴더를 만들어 준 뒤에 거기에 붙여넣어 줍니다.

8. 이제 pipeline이라는 config파일만 만들어주면 바로 tfrecord의 데이터를 pretrain된 모델을 가지고 새로 학습을 시작합니다.

    8-1) 먼저 jupyter와 같이 문서를 수정할 수 있는 에디터를 켜주세요. 메모장도 괜찮습니다.

    8-2) object_detection폴더 안의 samples폴더 안의 configs 폴더로 들어갑니다.

    8-3) .config라 쓰여있는 파일이 많은데, 여기에서 faster_rcnn_resnet101_pets.config 파일을 열어주세요.

    8-4) fine_tune_checkpoint를 검색하셔서 그 오른쪽에 다운받은 model.ckpt위치를 적어줍니다. 저희가 진행한 상에서는 아래와 같이 적어주시면 됩니다.

    fine_tune_checkpoint: "C:/Users/[username]/models/research/data/model/model.ckpt"

    8-5) 그 아래 train_input_reader의 input_path에는 tfrecord의 경로를 입력해주면 됩니다. 저희는 data폴더 안에 전부 있으므로, 아래와 같이 입력해주시면 됩니다.

    input_path: "C:/Users/[username]/models/research/data/pet_faces_train.record-?????-of-00010"

    8-6) 그 아래 label_map_path에는 label_map이 적혀있는 pbtxt파일 위치를 적어주면 됩니다.

    label_map_path: "C:/Users/[username]/models/research/object_detection/data/pet_label_map.pbtxt"

    8-7) eval_input_reader에는 train_input_reader에서 적어주었던 주소값을 그대로 다시 써주면 됩니다. 다만 input_path에서 pet_faces_train.record-?????-of-00010을 pet_faces_val.record-?????-of-00010으로만 바꿔주시면 됩니다.

    (사실 PATH_TO_BE_CONFIGURED 부분만 바꿔주면 되지만, 헛갈림 방지를 위해 전부 작성하였습니다.)

9. 자 이제 학습을 시작합시다. 학습은 object_detection폴더 안에 있는 moel_main.py가 합니다. 그리고 결과 ckpt가 저장될 위치는 data폴더 안에 output폴더로 지정하겠습니다. 먼저 data폴더 안에 output폴더를 만들어주세요. 아래 구문을 실행하면 자동으로 학습이 시작됩니다. Warning 같은 글자가 계속 뜨지만 신경 안쓰셔도 됩니다.

python "C:\Users\[username]\models\research\object_detection\model_main.py" --model_dir="C:\Users\[username]\models\research\data\output" --pipeline_config_path="C:\Users\[username]\models\research\object_detection\samples\configs\faster_rcnn_resnet101_pets.config"

10. 만약 OOM에러(OOM when allocating tensor with shape[1,1024,38,57] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc)가 나신다면 그래픽카드 메모리 부족이 원인이므로 .config파일에서 제일 상단에 보이는 keep_aspect_ratio_resizer에서 크기를 줄이고 진행하시면 진행이 됩니다. 혹은 컴퓨터를 재부팅하여 리소스를 다시 확보하는 것도 괜찮은 방법입니다.

 

이제 학습이 시작됩니다.

이 학습이 잘 되었는지는 다음 포스팅에서 확인해보도록 하겠습니다.

아세트아미노펜(acetaminophen)(타이레놀)의 전구체인 프로파세타몰(propacetamol)(데노간)을 쓰는 이유

 

병원에서 가장 많이 나가는 약 중 하나인 데노간.

평상시에는 성분에 관심을 안주다가 오늘 아침에 그 성분이 눈에 들어왔다.

성분명이 프로파세타몰이라 아세트아미노펜의 다른 이름인 파라세타몰(paracetamol)과 비슷하여 그 계열 약이라고 생각했었는데, 사실 아세트아미노펜의 전구약물(prodrug)이었다.

이때 아세트아미노펜(acetaminophen)의 전구체인 프로파세타몰을 사용하는 이유가 갑자기 궁금해져 오늘 퇴근 이후에 굉장히 열중해서 찾게 되었다.

일단 프로파세타몰은 가수분해 과정을 거쳐 아세트아미노펜으로 변환되는데, 정맥 주사시 혈관 내에서 가수분해 과정이 일어난다고 되어 있다.

딱히 검색에서 왜 아세트아미노펜 대신 전구체를 굳이 쓰는가에 대한 답변이 없어서 한참 이것저것 비교해보고 알게되었다.

우선 전구약물을 사용하는 이유에 대해서는


약물 전구체를 사용하는 이유​

포스팅에서 자세하게 설명이 되어있다.

그리고 프로파세타몰을 사용하는 이유는 다름아닌 1번의 물리화학적 특성을 변형하기 위해서이다.

사실 처음에는 아세트아미노펜을 바로 iv하면 독성기전이 있기 때문인가하고 생각하였으나, 미국에 OFIRMEV라는 아세트아미노펜을 iv로 사용할 수 있는 약이 있는 시점에서 이 가설은 기각되었다.

추가+) 우리나라에도 아세트아미노펜 iv 제제인 프로파 인퓨전(Profa infusion)이 있다. 약가는 비싸서 16,500원


그래서 더 찾아보니 위키피디아 문서에 프로파세타몰은 아세트아미노펜의 water solubility를 증가시킨 것이라고 짧게 언급이 되어(링크​) 물에 대한 용해도의 문제가 있었을 것이라 생각하게 되었다.

 

 

 

약물 전구체(프로드러그, precursor, pro-drug)를 사용하는 이유

약물 전구체(프로드러그, precursor, pro-drug)를 사용하는 이유 약물 전구체란 그 자체로는 약리적 효과가 없으나 신체 내에서 대사 혹은 분해되어 약리작용을 나타내는 물질로 변화하는 약물을 나타낸다. 이런..

omnil.tistory.com

 

약물 전구체(프로드러그, precursor, pro-drug)를 사용하는 이유

약물 전구체(프로드러그, precursor, pro-drug)를 사용하는 이유 약물 전구체란 그 자체로는 약리적 효과가 없으나 신체 내에서 대사 혹은 분해되어 약리작용을 나타내는 물질로 변화하는 약물을 나타낸다. 이런..

omnil.tistory.com

 


아세트아미노펜에 대한 위키피디아 문서​에는 상온(20’C)에서 최대 14mg/mL의 용해도를 가진다고 나와있고 이것을 약전 기준인 1g을 녹이는데 필요한 용매의 양으로 나타내면 약 72.4mL 즉, 조금 잘 녹는다(sparingly soluble)라는, iv로 쓰기에는 조금 거시기한 결과가 나온다.

 

추가+) 물론 단일성분 iv제제로 나와있는 Ofirmev나 프로파 인퓨전의 경우 10mg/ml가 항상 기본이다. 이는 상온 포화용해도 안에 있다.

프로파세타몰 문서에서 직접적으로 수용해도에 대해 나와있었다면 문제는 순식간에 완벽한 팩트로 해결됐겠지만, 아쉽게도 그 내용에 대해서는 써있지않아 실제로 아세트아미노펜 단일로 iv제제가 있는데, 정말 수용해도가 문제일까라는 문제에 봉착하게 되었다.

그래서 조금 더 찾아본 결과 아세트아미노펜 iv제제인 OFIRMEV는 조성이 조금 독특함을 알 수 있었다.(링크​)
추가+) 프로파 인퓨전과 같은 국내 생산 아세트아미노펜 iv제제의 경우 조성이 나와있지 않지만 Ofirmev와 비슷할 것으로 추측된다.

또한 OFIRMEV의 FDA 승인일은 2010년 11월 3일이지만 프로파세타몰의 pubchem문서​의 최초 등록일이 2005년 8월 8일인 것을 보았을 때, 수용해도의 문제로 처음 그 물리화학적 특성을 개선한 전구약물인 프로파세타몰이 먼저 사용되었고 그 이후에 전구약물이 아닌 아세트아미노펜 자체로 사용할 수 있는 iv제제가 미국에서 승인이 된 것으로 보인다.

추가+) 우리나라에서는 2009년 3월에 '프로파 인퓨전'이 최초로 승인을 받았다.

결국 수용해도가 문제였다는 것을 알게되었고, 아세트아미노펜 단일로 쓸 수 있는 iv제제도 있는 것을 알게되었는데 왜 아직도 프로파세타몰을 꾸준히 사용할까에 대한 의문이 남아있다.

그 가설은 두가지로
1) 분명히 OFIRMEV와 같은 아세트아미노펜 iv제제는 그 조성이나 시기를 보았을 때 프로파세타몰에 비하여 비쌀 것
2) 이미 프로파세타몰에 대한 생산 공정이 확립되어 훨씬 싼 가격에 만들 수 있을 것
이 그 가설이었다.

사실 2번 가설의 경우 직접적으로 인터넷 검색으로 알아볼 수 있는 것에 한계가 있어 팩트로 검증은 어렵지만, 병원에서 그렇게 많이 사용하는 것을 보면 신빙성이 있다고 생각된다.

그리고 1번 가설의 경우 미국 약가를 직접비교할 수는 없었지만 대략적인 수준만 비교해보더라도, OFIRMEV는 아세트아미노펜 1g당(즉, 100mL당) $40(46,620원(19.06.30 기준)의 상당한 고가인데 반해 프로파세타몰의 대표주자인 데노간은 국내 수가 1,530원이라는 굉장히 저렴한 가격임을 알 수 있다.

추가+) 위에서도 말했지만, 국내 생산 프로파 인퓨전의 경우 약가 16,500원이며, 비급여이기 때문에 사용하는 병원마다 약가가 더 비쌀수도 있다.

추가+) 또한 데노간의 정식 생산처인 영진약품 홈페이지에서 결정적으로 수용해도가 문제라는 것을 알 수 있는데,

'사용 직전 용해액으로 용해시킨 후 1∼2분내 근육주사, 정맥주사하거나 정맥 내 점적주입한다.'
'정맥내 주입의 경우 5% 포도당 주사액 또는 생리식염 주사액 125 mL를 이용하여 15분내에 점적주입한다.'
'일단 재구성한 제품은 2시간 이내에 사용해야 한다.'

는 부분에서 프로파세타몰이 수용액 상에서 가수분해에 취약하다는 점을 알 수 있으며, 일단 그렇게 가수분해가 되고 나면 용해도 문제로 아세트아미노펜이 용출된다고 하면 가설이 성립한다. 그리고 바로 그 아래에 나와있는 문구는

정맥내 주입시 불용의 파라세타몰로 가수분해될 수 있으므로 이때 점적주입병의 생성물은 투여하지 말아야 한다.

해결되었다.

즉, 프로파세타몰이라는 아세트아미노펜의 전구체를 사용하는 이유는 수용해도 때문이다. 그리고 조금 더 나아가 보자면 약가의 문제가 있다.

요약: 프로파세타몰도 점적주입할 수 있지만, 가수분해되었을 시 불용의 아세트아미노펜으로 용출된다.(용해도 이슈)
프로파 인퓨전과 같은 점적주입 전용의 제제는 프로파세타몰 점적주입 시간과 같은 15분이지만, 상온에서 용출되는 것이 없다. 그러나 데노간과 같은 프로파세타몰에 비해 엄청 비싸다.

 

약물 전구체(프로드러그, precursor, pro-drug)를 사용하는 이유


약물 전구체란 그 자체로는 약리적 효과가 없으나 신체 내에서 대사 혹은 분해되어 약리작용을 나타내는 물질로 변화하는 약물을 나타낸다.

이런 약물 전구체를 사용하는 이유는
1) 약물의 물리적 특성 변형 혹은 약동학적 이유
2) 약물 자체에 독성이 나타나는 경우 독성을 masking
3) 특정한 조직 혹은 세포에서만 변화되어 특이적 약물 전달
등이다.

에스터(ester)나 인산(phosphate)을 가수분해(hydrolysis) 하는 형식이 많다.


GNU 시스템 하에서는 해당 폴더로 이동한 후에

file *

혹은

file --mime-encoding *

을 명령줄에 쳐주면 인코딩 방식이 나온다.

 

윈도우에서는 git bash를 깔면 gnu시스템을 이용할 수 있으므로 위와같이 해주면 되고, 완전 naive한 윈도우즈라면, 사실 파일을 윈도우 내장 메모장으로 열어서 재저장할때 인코딩 방식을 볼 수 있다.

'Study > Computer' 카테고리의 다른 글

CLI? GUI? 그게 뭐죠? 먹는건가요...?  (0) 2019.07.10
[Git/Github] Git? 깃?  (0) 2019.07.08

+ Recent posts