본문 바로가기

Coding

(271)

For vs While Coding/Python For vs While 기본 파이썬에는 두 가지 반복문이 있는데 한놈은 For고 한놈은 While이다. While은 베이직에서 본 거 같은디... (do while loop) 아무튼... 둘 다 반복문이긴 한데, 둘이 맥락은 좀 다르다. 내가 10페이지의 책을 읽는 것을 for와 while을 이용해 설명하자면 For: 1쪽부터 10쪽까지 읽어야징 While: 읽은 페이지 수가 10이 될 때까지 읽어야징 이런 차이가 있다. ...사실 이렇게 말하면 모르시겠져? 그래서 가져왔음. 둘 다 3^1~1^10까지 출력하는 코드인데(사실 저렇게 안하고 프린트문 줘도 됨) For: 1부터 10까지 3에 제곱해 While: j가 있는데 이게 11보다 작을 동안 3에 제곱하고 하나씩 더해 이런 식으로 돌아간다. For문은 범위를 주고 반복하는 .. 2022. 8. 21. 23:03
Finder & Cutter 패치 Coding/Python Finder & Cutter 패치 1. 공통: 이제 어디 자르는지도 나옵니다. 살려줘... 2. Cutter: 제한효소 누락되던 거 수정했습니다. 근데 된건지 모르겠음. def count_func (a,b): while a in b: global site_count global res_loc global res_loc_list loc = b.find(a) site_count += 1 b = b[loc+len(a):] res_loc = loc + 1 res_loc_list.append(res_loc) return site_count, res_loc # 이거 통으로 코드에 넣었더니 if 안에 있는데도 시퀀스 없으면 끝내더라... # 위치 출력은 되는 것 같은데, 이거 더해야 하는데... 이렇게 하면 위치가 출력되긴 한데 문제가 하나 있다. .. 2022. 8. 21. 23:00
Searcher 만들었음 Coding/Python Searcher 만들었음 DB를 구축할 때 수동으로 구축했는데, CSV 구분자가 ,다보니 .로 들어간게 좀 있어서 그거 수정했음... (마른세수) 효소 이름 오타난것도 수정했습니다... 이래서 손끝 다치면 안됨... import pandas as pd enzyme_table = pd.read_csv('/home/koreanraichu/restriction.csv') # 이쪽은 Finder나 cutter에도 쓰이는 그 DB가 맞습니다. enzyme_table2 = pd.read_csv('/home/koreanraichu/restriction_RE.csv') # 이쪽은 restriction site나 cut site에 A,T,G,C가 아닌 다른 알파벳이 들어가기 때문에 여기서 처음 불러오는 DB입니다. enzyme_table = p.. 2022. 8. 21. 22:57
Cutter & Finder 패치노트 Coding/Python Cutter & Finder 패치노트 공통패치 Cut수 세 주는 기능이 추가되었습니다. Cutter Cut수에 따른 효소 리스트 업 기능이 추가되었습니다. 살려줘... (아직 자르는 위치 안했음) 파일 이름 형식이 변경되었습니다. 그래서 이제 시퀀스 이름도 받습니다. Finder Cut수 세 주는 기능에 따른 출력 형식 수정이 있었습니다. Cut수 세 주는 기능 사실상 엄청난 노가다의 결과...ㅠㅠ (생략) if res_find in sequence: site_count = 0 while sequence.find(res_find) != -1: loc = sequence.find(res_find) site_count += 1 sequence = sequence[loc+len(res_find):] print(enzyme, res_find, se.. 2022. 8. 21. 22:54
Coding/Python Cutter와 Finder에 패치가 있었습니다. Finder with open ('Result_{0}-{1}-{2}_{3}-{4}.txt'.format(year,month,day,enzyme,search_sequence_name),'w',encoding='utf-8') as f: if search_sequence.find(res_find) != -1: search_sequence = search_sequence.replace(res_find,res_site) print(enzyme,",",cut_feature) print(search_sequence) f.write("{0} | {1} | {2} \n".format(enzyme,res_site,cut_feature)) f.write('Sequence name: {0} \n'.format(search_s.. 2022. 8. 21. 22:48
Coding/Python 제한효소 커터 2편 나왔음 사실 전에 만든 코드 이름은 Finder고, 이놈이 커터임. import pandas as pd 이 코드도 판다스가 있어야된다. (DB가 csv) enzyme_table = pd.read_csv('/home/koreanraichu/restriction.csv') enzyme_table = enzyme_table.sort_values('Enzyme') # Finder에도 쓰이는 '그' DB 맞습니다. 현재 수동 구축 중... print(enzyme_table) print(len(enzyme_table)) 아직도 갈 길이 멀지만 일단 D까지 추가했음... 아울러 py파일은 print가 빠집니다. sequence = input("검색할 시퀀스를 입력해주세요: ") 이건 시퀀스 입력받는 코드(아직 이름은 안 받.. 2022. 8. 21. 22:45
제한효소 커터 코드 패치했음 Coding/Python 제한효소 커터 코드 패치했음 패치노트 1. 출력 파일명 형식 변경 저기도 format이 먹힐 줄은 몰랐음 2. 출력 파일의 형식 변경(시퀀스 이름 추가) 3. 깃헙에 해당 코드 py파일도 추가됨 패치 결과 원래 날짜만 추가했었는데 생각해보니 날짜가 같으면 헷갈릴 것 같아서 효소랑 시퀀스 이름도 추가함 시퀀스 이름은 출력 파일에도 저장됩니다. (그래서 이제 세줄임) 2022. 8. 21. 22:44
제한효소 커터 만들었음 Coding/Python 제한효소 커터 만들었음 근데 NEB커터 쓰세여 그거 좋음 일단 이 코드는 이 시퀀스를 자르는 제한효소들을 찾는 게 아님. 이 효소가 이 시퀀스를 자르는가? 를 보는 코드임다. 이 점 유념해주세요. 그리고 이거 올리면서 Jupyter가 매트랩이랑 비중 같아졌다 코드 Jupyter notebook으로 코딩한거고 나중에 일부 블록은 정리할 예정. import pandas as pd 구축한 csv파일을 가져오고 취급하려면 얘가 필요하다. csv파일은 혹시 써보실 분 계시면 말씀주세요. 참고로 csv파일이 되게 단촐해서 효소 이름, 인식하는 시퀀스, 자르는 시퀀스, 자르는 형태(sticky or blunt)가 들어가 있음. 나중에 여건이 된다면 똑같은 부분을 인식하고 자르는 다른 효소나 처리온도에 대한 정보도 추가할 예정. (물론 출력.. 2022. 8. 21. 21:49
오케이 따옴표 떼버렸음 Coding/Python 오케이 따옴표 떼버렸음 text = [] while True: input_text = input("wordcloud로 만들 텍스트를 입력해주세요. ") text.append(input_text) if input_text == "": break text = ' '.join(text) text=okt.nouns(text) text = ' '.join(text) 크게는 저 부분을 수정했고, 전체적으로 wordcloud 만들기 위해 입력받는 부분도 간소화했음. (While True 주고 입력 없으면 break 하도록) 참고로 Wordcloud는 안에 들어가는 글자가 많을 수록 멋지게 나옵니다. 이 점 유념하시길. 2022. 8. 21. 21:44
R 배워보기-7. Statistical analysis (하) Coding/R R 배워보기-7. Statistical analysis (하) 3부작으로 나눌 걸 그랬나... 라이브러리 다 깔았지들? Logistic regression(로지스틱 회귀분석) > dat=subset(mtcars,select=c(mpg,am,vs)) > dat mpg am vs Mazda RX4 21.0 1 0 Mazda RX4 Wag 21.0 1 0 Datsun 710 22.8 1 1 Hornet 4 Drive 21.4 0 1 Hornet Sportabout 18.7 0 0 Valiant 18.1 0 1 Duster 360 14.3 0 0 Merc 240D 24.4 0 1 Merc 230 22.8 0 1 Merc 280 19.2 0 1 Merc 280C 17.8 0 1 Merc 450SE 16.4 0 0 Merc 450SL 17.3 0 0 Merc 450SLC 15.. 2022. 8. 21. 02:58
R 배워보기-7. Statistical analysis (상) Coding/R R 배워보기-7. Statistical analysis (상) 들어가기 전에 1) R의 꽃, R의 주목적이다보니 분량이 어마무시하게 길다. 네이버에서 글 분량갖고 자르진 않겠지만 그래서 상, 하편으로 나눠서 작성할 예정이다. (cookbook 소챕터 3:3으로 나눔) 2) 그리고 이새기들 자꾸 안 알려주고 뜬금없이 라이브러리 소환하세요 하는데 오늘도 깔아야 할 패키지가 있다. 하편에 나오는 것도 있고 상편에 나오는 것도 있는데 그냥 다 깔고 가자. install.packages("car") install.packages("ggplot2") install.packages("exact2x2") install.packages("irr") 3) 처음 보는 분석들이 많아서 나도 이게 뭔지 모른다. 따라서 이론적인 설명은 패스. 회귀분석과 상관계수 참고로 여기서 만드는 데이터.. 2022. 8. 21. 02:45
Coding/Python 10진수->2진수 변환 코드 일반적으로 우리가 쓰는 숫자는 10진수가 맞는데, 컴퓨터는 손가락이 두 개라 이진법을 쓴다. 예, 그겁니다. 일반적으로 10진법을 2진법으로 변환할때는 2로 나누는데, 13을 예시로 들자면 1. 13/2=6...1 2. 6/2=3...0 3. 3/2=1...1 이렇게 구한 다음 3번 결과의 몫 1부터 시작해 3번 결과의 나머지-2번 결과의 나머지-1번 결과의 나머지 순으로 올라가서 1101이 된다. 1의 보수는 여기서 0을 1로, 1을 0으로 바꾼 0010. 2의 보수는 1의 보수에 1을 더하면 된다. (0011) 참고로 이진수로 변환된 숫자는 8, 16진수와 상호변환이 가능한데 1. 110010010을 8진수로 바꾸려면 110 010 010으로 세자리씩 끊어서 10진법으로 바꾼다. (622) 2. 11.. 2022. 8. 21. 02:24