본문 바로가기

Coding

(271)

Biopython SeqIO 써보기 Coding/Python Biopython SeqIO 써보기 파이참 쓰다보니 키보드 먹통돼서 재부팅 여러번 했다. 이것도 갈 때 된 듯... *참고로 그냥 리드나 파싱으로 긁어오는 방법은 첫 글에서 썼으므로 생략한다. Iteration 활용하기 근데 들어도 이건 뭔 기능인가 싶긴 함. from Bio import SeqIO identifiers = [seq_record.id for seq_record in SeqIO.parse("/home/koreanraichu/sequence.gb", "genbank")] print(identifiers) 뭐야 wrap 넣어줘요... 레코드와 for문을 조합해서 원하는 데이터(ID나 시퀀스, description)만 가져올 수 있다. from Bio import SeqIO identifiers = [seq_record.id fo.. 2022. 8. 20. 02:43
Biopython으로 시퀀스 레코드 생성하고 만져보기 Coding/Python Biopython으로 시퀀스 레코드 생성하고 만져보기 오늘껀 근데 하면서 나도 이해 못했음... SeqRecord를 만들려면 뭘 또 모셔와야 하는데 바로 from Bio.SeqRecord import SeqRecord 이놈이다. 이정도면 복잡한 거 돌리려면 아주 모셔오는데만 열댓줄 쓰게 생겼는데??? 텐서플로우나 저기 그 넘파이 판다스처럼 합쳐버리지 그러냐... (걔네는 일단 한 번 데려오면 다 써먹을 수 있음) 레코드 생성하기 이모지 넣고싶은데 이거 리눅스라 이모지 넣는 법을 모름... 아무튼 레코드는 이렇게 생성하면 된다. from Bio.SeqRecord import SeqRecord from Bio.Seq import Seq EcoRI=Seq("GAATTC") # ECoRI sequence ECoRI_r=SeqRecord(EcoRI) #로 레코드를 .. 2022. 8. 20. 02:30
Coding/Python Biopython으로 시퀀스 다뤄보기 전에요? 아니 그건 가져온거고. 시퀀스도 텍스트나 리스트처럼 인덱싱과 슬라이싱이 된다. 방법도 똑같다. 그래서 그건 생략할 예정임... 그리고 그거 아니어도 분량이 많아요 또. .count() 특정 문자열이 몇 개인지 세 준다. 뭐 시퀀스에서 아데닌이나 구아닌 갯수 세주고 그런거다. 이걸 이용하면 특정 단백질 시퀀스에서 특정 아미노산(카테고리면 겁나 세야된다...)이 차지하는 비율도 볼 수 있다. 쉬어가는 코너-Primer에서 GC함량 구하기 아 이거 중요합니다. Primer 만들 때 중요한 요소 중 하나가 GC 함량이다. 참고로 여기서는 두 가지 방법으로 구해볼건데 첫번째는 .count()를 이용해 G와 C의 수를 세서 전체 DNA 염기 수로 나누는 거고, 두번째는 바이오파이썬의 모듈을 이용하는 방법이.. 2022. 8. 20. 02:14
Coding/Python Biopython으로 시퀀스 가져오기 참고로 다른 코딩글은 여기다가 안 올린다. 코드블럭도 없고 카테고리도 없어서 어지간한 코딩 이야기는 노션과 워드프레스에 올리는 중... 아니면 미디움이나. 근데 이건 우째도 올렸네? 아 생물학 카테고리가 있잖아요. Biopython은 생물정보학에서 쓰는건데 마침 심심하던 차에 잘됐다 써봐야징 해서 어제 깔았다. 리눅스의 경우 pip install bio(안되면 biopython)으로 걍 터미널에서 깔면 된다(우분투 20.02 LTS 기준). 윈도우마냥 pip 있는 데 안 찾아가도 됨 ㄹㅇ 편함. 근데 파이참 바로가기 없는 건 너무한 거 아니냐고... 내가 터미널 열고 직접 모시러 가야것냐... *Notes: Biopython을 사용하려면 사용할 기능에 맞는 모듈을 모셔와야 한다. 코드에 그게 생략되는 경.. 2022. 8. 20. 02:03
R 배워보기-5. 데이터 불러오고 쓰기 Coding/R R 배워보기-5. 데이터 불러오고 쓰기 read.csv() data data=read.csv("http://www.cookbook-r.com/Data_input_and_output/Loading_data_from_a_file/datafile.csv") > data First Last Sex Number 1 Currer Bell F 2 2 Dr. Seuss M 49 3 Student 21 웹에서 가져오는 것도 된다. read.table() data data=read.table("http://www.cookbook-r.com/Data_input_and_output/Loading_data_from_a_file/datafile.csv",strip.white=TRUE) > data V1 V2 1 First ,"Last","Sex","Number" 2 .. 2022. 8. 20. 01:39
Coding/R 번외편-R로 미적분 하기 하는김에 어? 이거 되나? 해서 찾아봄. 미분 > f D(f,"x") a * (5 * x^4) + b * (2 * x) 미분은 이런 식으로 한다. 근데 계산은 안 해준다. 믿고보는 알파신이 짱이다 > f D(f,"x") exp(x) y=e^x를 미분하면 이게 정상이다. 으아아 미분했는데 왜 그대로야 정상입니다 손님 편미분 마려워요? > f D(f,'x') 2 * x * y^2 + 2 * y # x로 미분해주세요 > D(f,'y') x^2 * (2 * y) + 2 * x + 1 # y로 미분해주세요 저 D에서 기호를 바꿔주면 알아서 편미분이 된단다. 위 코드는 각각 x로 한 번, y로 한 번 미분한 결과. (그러니까 어쨌든 한 번 미분했다) > D(D(f,'x'),'y') 2 * x * (2 * y) + .. 2022. 8. 20. 01:19
Coding/R R 배워보기-4. 공식 공식 번외편도 따로 나갑니다. as.formula() y~x y ~ x 이놈은 문자고 as.formula("y~x") y ~ x 이놈은 공식이다. 뭔 차이인지는 모르겠다. > measurevar="y" > groupvars=c("x1","x2","x3") paste(measurevar,paste(groupvars,collapse="+"),sep="=") [1] "y=x1+x2+x3" 이놈도 문자인데 as.formula(paste(measurevar, paste(groupvars, collapse=" + "), sep=" ~ ")) y ~ x1 + x2 + x3 이놈은 공식이다. 역시 뭔 차이인지 모른다. 공식의 구조 t=y~x1+x2 이렇게 공식을 만들어서 확인해보면(아, 참고로 f=as.formula(.. 2022. 8. 20. 01:13
Coding/R R 배워보기-3. 문자열 쿡북 분량은 일단 짧다. 다음것도 짧다. grep() v=c("피카츄","피츄","라이츄","에몽가","따라큐") w=c("Alticuno","moltres","zapdos","lugia","Ho-oh") 참고로 오늘의 시범조교다. grep("따라큐",v) [1] 5 grep은 문자를 찾아주는 함수. grep("alticuno",w) integer(0) ...인데 대소문자를 가린다. grep("alticuno",w,ignore.case=TRUE) [1] 1 그래서 ignore.case=TRUE를 줘야 대소문자 상관 없이 찾아준다. ^와 $ 각각 문자의 시작과 끝을 지정해서 찾아주는 것. grep("^피",v) [1] 1 2 # 시작 문자 지정하기 grep("츄$",v) [1] 1 2 3 # 끝 문자 지정.. 2022. 8. 20. 01:07
R 배워보기-2. Numbers Coding/R R 배워보기-2. Numbers 파이썬에서는 똑같은 걸 해보려면 모듈을 불러야 하는데 얘는 모듈 X까! 걍 해! 같은 느낌... 이 다음편 문자열인데 분량 개짧습니다(스포일러) 난수 만들기 runif(1) [1] 0.7232427 runif()를 쓰면 0부터 1까지 중 아무 숫자나 하나 출력한다. runif(4) [1] 0.8477728 0.4359127 0.4291748 0.4625472 저 괄호 안에 숫자는 범위가 아니고 개수 지정하는거다. runif(5,min=0,max=100) [1] 87.75978 48.65714 87.73802 18.87537 75.90590 범위는 이런 식으로 지정한다. floor(runif(6,min=0,max=7)) [1] 1 4 6 4 4 4 소수점 떼뿌라!!! floor는 밑에 설명할건데 그거 보면.. 2022. 8. 20. 00:59
Coding/R R 배워보기-1. Basics 이거 미디움에도 올려야하나 좀 고민인게 일단 쿡북 분량이 생각보다 좀 되고 미디움에는 코드블럭이 없음... 네? 설치요? 구글가서 R 설치하는법 찾아보세요. R studio도 같이 깔아야됨. Python과의 차이점 1) Python과 달리 R은 인덱스 번호가 1부터 시작이다 2) 음수 인덱싱이 Python과 달리 빼고 출력하라는 의미이다(파이썬은 맨 뒤에꺼 달라는 얘기) 3) Python pandas는 기본적으로 결측값을 빼고 계산하지만 R은 결측값을 넣은 상태에서 계산한다. 물론 둘 다 반대로 설정하는 옵션이 존재. 4) R은 결측값을 서브셋 이용해서 대체할 수는 있지만 dropna()같은 기능은 없는 듯 하다. Data Indexing v = c(1,2,4,8,16,32) 일단 벡터는 이런 식이다. .. 2022. 8. 20. 00:46
Coding/코딩잡담 정렬 알고리즘 알고리즘이 문제를 푸는 방법이라고 했는데, 그러면 정렬 알고리즘은 뭘 정렬하기 위한 방법이겠지? 네, 맞습니다. 이것도 여러가지가 있는데 대표적인 것 다섯가지만 일단 알아보자. 코드와 알고리즘 관련 설명은 https://velog.io/@jguuun/%EC%A0%95%EB%A0%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 정렬 알고리즘 종류와 설명(파이썬 예제) 정렬은 데이터를 순차적으로 나열하는 방법으로 정렬 알고리즘 별로 수행 성능이 크게 차이납니다. 버블 정렬, 삽입 정렬, 선택 정렬, 병합 정렬, 퀵 정렬을 설명드립니다. velog.io 여기서 볼 수 있다. 버블 정렬 a = [80, 58, 66, 100, 71, 39, 89, 67, 25, 9] def bubble_s.. 2022. 8. 20. 00:27
쿼리와 SQL Coding/코딩잡담 쿼리와 SQL 본인쟝... 이래뵈도 몽고DB 이전에 액세스(odbc)와 MySQL(jdbc)를 썼었다. 근데 데이터베이스를 쓰다보면 쿼리 어쩌고 하는데, 쿼리가 뭔지 모르겠는겨. 그렇게 걍 쓰다가 전전직장에서 친해진 개발자님에게 쿼리가 뭔지 물어봤다. 본인: 쿼리가 뭐예요? 개발자님: 데이터베이스에 접근해서 뭐 해달라고 요청하는거요. 진짜 이게 쿼리임. 근데 데이터베이스가 뭔데 거기에 접근해서 뭘 해달라고 하는것인가... 데이터베이스는 '데이터'의 집합체라고 보면 된다. 그리고 데이터는 우리가 생각하는 그 데이터가 맞다. 핸드폰 요금제 말고... 예? 그 데이터 생각하셨다고요? 아 그럼 일단 데이터에 대해 설명을 좀 하고 가겠음. 데이터? 데이터는 문자, 그림, 소리 등으로 이루어져 있는데 크게 질적 데이터와 양적 데.. 2022. 8. 20. 00:20