본문 바로가기

Bioinformatics(생정보학)

scanpy/Seurat의 h5 파일 관련 오류 h5파일을 불러올 때 에러가 나는 경우가 있다. 이는 R의 Seurat package를 활용해도 마찬가지이다. 이런 것은 h5의 포맷이 여러가지인데 Operating system에서 사용되는 h5관련 프로그램이 오래되서이다. visium에 나오는 h5포맷은 버전이 최소 2나 3으로 생각되며 이러한 것들이 문제가 된다. 이 문제가 발생했을 때 내 h5프로그램 버전은 아래와 같다. h5cc -showconfig # HDF5 Version: 1.10.6 다소 오래된 것을 확인할 수 있다. 프로그램을 업데이트 하는법은 못찾았지만 업데이트 없이도 해결법은 간단하다. 아래의 명령어를 넣으면 된다. 그 다음에 source ~/.bashrc를 하면 된다. vim ~/.bashrc #bashrc 파일에 아래의 명령어를 .. 더보기
조건부 확률 (conditional probability) 조건부 확률은 서로 연관된 2가지 사건들의 확률을 말한다. 예를들어 '영하 1도 날씨에서 눈이 내릴 확률'과 같은 경우이다. 이렇게 조건이 있고 어떤 사건이 발생할 확률을 계산하는 것이 조건부 확률이다. 위의 영하 1도 날씨란 것과 눈이 내리는 것을 사건 A와 사건 B로 두면 아래의 수식으로 풀어 쓸 수 있다. 위의 수식은 '사건 B가 발생했을 때, 사건 A가 발생할 확률'이라는 의미를 갖고 있다. 수식을 통해 알겠지만 P(A|B)는 P(B|A)와 같을 수도 있고 다를 수도 있다. 즉 1. '영하 1도 날씨에서 눈이 내릴 확률' 2. '눈이 내렸을 때 영하 1도일 확률' 두 경우의 확률은 반드시 항상 같은 것은 아니다. 간단한 예로 조건부 확률을 계산해보자. 어떤 회사에서 구인을 했더니 A대학에서 250.. 더보기
베이지언 통계의 개념 이 글은 베이지언이 개념을 수학수식 없이 간단하게 소개하기 위한 글이다. 통계학은 불확실성에 대한 학문이다. 그리고, 이 불확실하다는 것을 정량화 한 것이 확률이다. 우리가 주사위를 굴렸을 때 숫자가 짝수일지 홀수일지 예측하는 것, 자동차 사고가 날지 예측하는 것, 내일 비가 올지 안올지 등을 예측할 때 모두 확률이 사용된다. 이런 문제들에 대해 3가지 통계접근법이 있다. 고전 (classical), 빈도 (frequentist) 그리고 베이지언 (bayesian)이다. 고전적인 방식 먼저 고전적인 방식은 사건들의 발생확률이 거의 동일하다고 (equally likely) 전제하는 것이다. 주사위가 조작되지 않았다면 1부터 6에 이르는 숫자들이 주사위 윗면에 나올 확률이 동일하다. 또는 동전과 같이 앞/뒤.. 더보기
Network centrality Network centrality는 네트워크 상에서 어떤 node가 가장 중심 (most central)에 있는지를 정량하기 위한 방법임. 중심의 의미는 문맥/목적에 따라 다양한 정의가 있을 수 있음. Centrality는 따라서 다양한 방법으로 측정됨 1. Degree centrality 단순히 하나의 node에 몇 개의 edge가 있는지를 세는 가장 단순한 방법 2. Betweenness centrality 서로 다른 node들 간에 최단거리 (shortest path)를 구했을 때 몇 개의 지름길들이 통과하는지를 잼. 예를들어 A와 B간의 최단거리를 잇는 edge를 구성했을 때 C1을 거친다고 해보자. 그런데 C2의 경우 A-B와 A-D 등의 최단거리 형성에 필요하다면 C2는 C1보다 더 중요한 길.. 더보기
클러스터링 (clustering) 평가 지표 Unsupervised-learning시에 사용되는 평가 지표 Silhouette width Dunn index (Silhouette index) https://en.wikipedia.org/wiki/Dunn_index Calinski-Harabasz Index (Variance Ratio Criterion) Davies-Bouldin Index https://en.wikipedia.org/wiki/Davies%E2%80%93Bouldin_index Cophenetic correlation coefficient https://en.wikipedia.org/wiki/Cophenetic_correlation 모델링이 안된 데이터 포인트들 간의 pairwise 관계를 dendrogram이 얼만큼 잘 보존 했는.. 더보기
테라젠바이오 채용공고 (2022년 1월) https://www.ibric.org/myboard/read.php?Board=job_recruit&selflevel=-1&id=646688&Ksearch=1&FindText=%ED%85%8C%EB%9D%BC%EC%A0%A0%EB%B0%94%EC%9D%B4%EC%98%A4 더보기
Accuracy, Precision, Recall (sensitivity), Specificity 뜻 정확도, 정밀도, 재현율, 특이도는 분류 문제에서 사용되는 지표임. 클래스 예측 클래스 정상 불량 실제 클래스 정상 TP (True Positive) FN (False Negative) 비정상 FP (False Positive) TN (True Negative) 정확도 : 전체 데이터에서 올바르게 맞춘 비율 정밀도 : 정상으로 예측된 것 중 실제 정상의 비율 재현율 (=민감도, sensitivity) : 실제 정상 샘플 중 올바르게 예측된 비율 특이도 : 실제 불량 샘플 중 올바르게 불량으로 예측된 비율 F1-score : 정밀도와 재현율의 조화 평균. 불량으로 예측했을 때 정확히 예측한 비율과 실제 불량 중 잘 예측한 비율을 말함. 클래스 간의 불균형이 심할 때 쓰임. 더보기
Finding shortest path in a (un)directed network. 파이썬의 networkx 라이브러리는 directional이나 undirectional에 대해 shortest path를 찾기 매우 용이하다. 알고리즘은 dijkstra이 default이다. directional의 경우 nx.DiGraph()로 만들어줘야한다. ''' tutorial B->A->D #1 A->C->D->E->B #2 ''' #------------------------------------ # un-directional network #------------------------------------ import networkx as nx undirection_net=nx.Graph() undirection_net.add_edge('b','a') #1 undirection_net.add_.. 더보기