본문 바로가기

BioPython

(25)

Coding/Python 코로나바이러스 MSA 나도 이걸 4번까지 하게 될 줄은 몰랐음…개요여러분들 다들 아시죠? 코로나19가 우리를 어떻게 변화시켰는지... 저는 자가격리도 해보고 걸려도 봤습니다. 자가격리때 다들 헐 어카냐 했는데… 저는 태생이 집순이라 1도 데미지 없었고요.. 격리소가 을지로 근처라 원격으로 명동성당 루기아 줘팼습니다. 창고는 언제나 열려있소# 쿼리 조건: SARS-CoV-2 (코로나19), Spike 단백질 위주로 털어보기# 2025년 최신 데이터 + 사람 숙주 조건query = "SARS-CoV-2 AND S[Gene Name] AND 2025[PDAT] AND Homo sapiens[Host]"# 1. ID 리스트 가져오기handle = Entrez.esearch(db="nucleotide", term=query, retm.. 2026. 2. 5. 19:10
Coding/Python 라이노바이러스 유전자로 MSA를 해보았다 얘는 스케일이 좀 다운됐음... 왜냐고요? 게놈이 7500bp거든요. 이걸 인플루엔자나 한타때처럼 2~300개 돌린다? 켜놓고 자고 일어나야됩니다. 아니 리눅스로 하셨어요? 걔로 하면 중간에 뻗음. 맥북으로 돌린건데도 이정돕니다.쟤는 또 뭐 하는 애임?여러분 감기랑 독감이랑 다릅니다. 단순히 증상이 다른게 아니라 원인 병원체가 달라요. 독감은 인플루엔자가 원인이고 감기는 라이노바이러스라는 놈이 원인이거든요? 다른 바이러스도 있다만. 그거 아십니까? 감기에는 약이 없음. 아니 저희 병원가면 약 주는데요? 그건 '증상을 완화시키는' 약이지 감기 바이러스를 조지는 약이 아닙니다. 아니 그럼 감기약이라고 하면 안되는거 아닌가요? 진정하십쇼. 감기 바이러스는 스포닝풀에서 저글링 뽑아내는것처럼 캐많아요. 그걸 일일.. 2026. 1. 27. 20:30
Coding/Python 식물 데이터도 분석이 되나요? 결론부터 말하자면 분석은 된다. 되는데 데이터 리소스를 NCBI로 하는 건 비추다. 왜냐고? 그 이유는 올리면서 말해드림..def plot_lht_family_tree(alignment_file): align = AlignIO.read(alignment_file, "fasta") calculator = DistanceCalculator('identity') constructor = DistanceTreeConstructor(calculator, 'nj') tree = constructor.build_tree(align) fig = plt.figure(figsize=(15, 8)) ax = fig.add_subplot(1, 1, 1) plt.title("Arab.. 2026. 1. 27. 09:00
Coding/Python 인플루엔자의 해마글루티닌 게놈을 받아서 MSA를 해보자 좋은 소식. 이거는 전편 후편 없다. 나쁜 소식. 트리가 한타떄에 비해 안이쁘다.# 모듈import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cm # 넌 뭐냐 from Bio import Entrez, SeqIO # 왼쪽: 일단 털어보자/오른쪽: 시퀀스 다루려면 필요합니다. 필수임. from Bio import AlignIO # 서열 분석해줄 친구from Bio import Phylo # 트리 그릴라면 필요해요 from Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructorimport io # 누구세요?import subprocess # 서브 프.. 2026. 1. 5. 20:30
한타바이러스의 시퀀스를 받아서 MSA를 해보자 (후편) Coding/Python 한타바이러스의 시퀀스를 받아서 MSA를 해보자 (후편) https://koreanraichu.tistory.com/824 한타바이러스의 시퀀스를 받아서 MSA를 해보자 (전편)https://koreanraichu.tistory.com/79 Biopython으로 MSA 해보기MSA: multiple sequence alignment 여기에 관한 이론적인 설명은 나중에 또 입 털어드림 ㅇㅇ 아 참고로 MSA 관련해서 다른건 다 결과가 제대로 나왔는데koreanraichu.tistory.com우리 여기서 MSA 돌릴 FASTA파일 저장했죠? 후편에서는 그걸로 분석을 돌릴건데… 아… 이거 트리땜에 개노가다했음… 그것도 트리 얘기하면서 얘기해드리겠음.# 바이러스 DNA가 세그먼트별로 섞여있습니다. (S, M, L)# 이거 분류 안하면 MSA 뻑나요. s_segment.. 2026. 1. 5. 14:59
Coding/Python 한타바이러스의 시퀀스를 받아서 MSA를 해보자 (전편) https://koreanraichu.tistory.com/79 Biopython으로 MSA 해보기MSA: multiple sequence alignment 여기에 관한 이론적인 설명은 나중에 또 입 털어드림 ㅇㅇ 아 참고로 MSA 관련해서 다른건 다 결과가 제대로 나왔는데 툴 관련해서 결과가 안나왔어요 이게 암만 찾아도koreanraichu.tistory.com여기서 MSA 해볼때 clustalW랑 muscle 안돼서 못했잖아요? 경로 입력해야되는데 리눅스 경로가 어디있는지 안나옴+which 몰라서. 근데 맥이나 리눅스에서는 which를 써서 설치 경로를 찾을 수 있습니다. 그러니까 해보자 이거임.배경뜬금없이 바이러스가 왜 나왔는가… 생물정보학 하면 보통은 유전자 시퀀싱 많이 하죠? 근데 뽑아서 시퀀싱.. 2026. 1. 2. 22:13
Coding/Python Biopython-dbSNP와 Clinvar 이놈들아 이것도 되면 좀 된다고 말좀 해줘... 참고로 이거 어떻게 알았냐면 면접보는 회사에서 발표주제 중 하나가 저 두놈이었는데 찾다보니 NCBI에서 만든거네? -> Entrez에 있네? -> 비켜봐 시켜볼 게 있어(주섬주섬 파이참을 켠다) 가 된 거임. dbSNP from Bio import Entrez Entrez.email = "blackholekun@gmail.com" # 내가 누구인지 말해주는 과정이 필요하다고... # 이메일은 자기꺼 그냥 쓰세요 handle = Entrez.esearch(db="snp", term="EGFR", retmax="40" ) record = Entrez.read(handle) print(record) 참고로 db에는 snp라고 써야지 dbsnp라고 쓰면 안된다. .. 2022. 8. 21. 02:09
Coding/Python Biopython-Q&A Q&A지만 자문자답이다. 어쨌든 질답은 맞음 Q1. MSA의 그 clustalW랑 MUSCLE은 어찌됐나요? A1. 그거 둘다 깔아야 됩니다. OS 박고 경로 박아서 돌리는 거 나오긴 했는데 트라이 해보려고 했더니 윈도 기준이네... 머슬은 경로 박아서 해봤는데 커맨드만 나와서 MSA는 터미널로 돌리고 있습니다. 리눅스는 clustalw와 MUSCLE 둘 다 일단 설치해두면 터미널에서 돌릴 수 있습니다. (py파일로 아웃풋 설정도 가능) Q2. 일부 건너뛴 챕터들이 있던데...? A2. 실습용 자료 구하기가 빡세거나(얘네도 다 안올려줌...) MSA처럼 할 수 없는 여건인 경우 건너뜁니다. 그래서 16 17(이건 하려고 했는데 wordcloud 하느라 시간 다 잡아먹음) 건너뛰고 케그 했지... Q3. .. 2022. 8. 21. 02:00
Biopython으로 KEGG 탐방하기 Coding/Python Biopython으로 KEGG 탐방하기 쿡북 분량 개짧음 진짜 이거보다 짧을수가 없음. KEGG? https://www.genome.jp/kegg/ KEGG: Kyoto Encyclopedia of Genes and Genomes www.genome.jp Kyoto Encyclopedia of Genes and Genomes의 준말. 그렇다, 이름에 교토가 들어간 걸 보면 아시겠지만 일제 DB다. 여기가 메인페이지 여기가 KEGG brite. 본인이 자주 가는 곳이다. 생각보다 쏠쏠한 정보가 많고 KEGG brite의 경우 golden standard dataset이라고 해서 야먀니시가 인공지능 학습시킬 때 쓴 데이터셋(GPCR, 효소, 핵 리셉터, 트랜스포터) 분류별로 약물 타겟을 알려준다. Parsing 파싱할거면 일단 파일이 당신 컴퓨터.. 2022. 8. 21. 01:54
Biopython-Entrez에서 논문 제목 긁어와서 Wordcloud 만들기 Coding/Python Biopython-Entrez에서 논문 제목 긁어와서 Wordcloud 만들기 Project wordcloud의 극초반 코드. from Bio import Entrez # 논문 긁어올 때 필요한거 from wordcloud import WordCloud from wordcloud import STOPWORDS import matplotlib.pyplot as plot # Wordcloud 그릴 때 필요한거 Entrez.email = "blackholekun@gmail.com" handle = Entrez.esearch(db="pubmed", term="Arabidopsis[title]", retmax="15") record = Entrez.read(handle) IdList=record['IdList'] # 일차적으로 Pubmed에서 논문을 찾을 수단인 PMID를 입수한다. # 날.. 2022. 8. 21. 01:43
Coding/Python Biopython-Clustering 입력 인자 이거 튜토리얼에서 그냥 이런게 있다 하고 넘어가서 적음... Distance matrix Data : 분석할 데이터니까 당연히 있어야 한다. Mask(Default: None) : 결손된 데이터를 0으로 표시하는가? (None이면 모든 데이터가 존재하는 것) Weight(Default: None) : 가중치. 거리를 계산할 때 반영된다고 한다. Transpose(Default: 0) : True면 열간의 거리를, False면 행간의 거리를 계산한다. Dist(Default: 'e') : 거리 함수. 디폴트는 유클리드 거리. (Distance 관련해서는 clustering 이론편을 참조) Cluster distance data : 분석할 데이터 mask : 결손된 데이터를 0으로 표시하는가? (None이면.. 2022. 8. 21. 01:40
Biopython으로 Clusting analysis 하기 (실전편) Coding/Python Biopython으로 Clusting analysis 하기 (실전편) 와! 드디어 실전인가요? 근데 실전 생각보다 노잼임... Distance matrix 거리 행렬. 두 점간의 거리를 배열해 행렬로 나타낸 것이다. 점이 N개일 때 Distance matrix는 N*N으로 표기할 수 있다. import numpy as np import pandas as pd from Bio.Cluster import distancematrix data=np.array([[0, 1, 2, 3],[4, 5, 6, 7],[8, 9, 10, 11],[1, 2, 3, 4]]) matrix = distancematrix(data) # 뭐야 이거 왜 한영키 안먹어요 distances = distancematrix(data, dist='e') print(distances) [array([], dtype.. 2022. 8. 21. 01:29