Coding/Python
barcode
barcode
분류 전체보기
잡담
단문
장문
그림있음
Coding
코딩잡담
JavaScript
Python
R
BOJ
[BOJ] Python
잔머리 엑셀
Guestbook
Tags
RSS
------------------------
완전수 찾는 코드
Coding/Python
barcode
완전수 찾는 코드
Coding/Python
이거 근데 우분투 놋북이 뭐가 불만인지 키보드가 안먹히데... 커널 올려줘도 난리여... 안그래도 오늘 진상 만나서 힘들었는데 너까지 왜그러냐... import sys a = int(sys.stdin.readline()) yaksu = [] for i in range(1,a+1): if a % i == 0: yaksu.append(i) yaksu_text = ''.join(str(yaksu)) print('{}의 약수는 {}입니다. '.format(a,yaksu_text)) if sum(yaksu) == 2 * a: print('{}는 자기 자신을 제외한 약수들의 합이 {}와 동일하므로 완전수입니다. '.format(a,a)) 전체 코드는 뜯어보고 자시고 할 것도 없음. 완전수는 자기 자신을 제외한 모든..
Project restriction enzyme: 패치노트
Coding/Python
barcode
Project restriction enzyme: 패치노트
Coding/Python
NEB Filter 추가 이제 NEB에서 파는 제한효소들만 볼 수 있습니다. (NEB: 뉴 잉글랜드 바이오랩스. NEB cutter 만든 거기 맞음) Cutter/Finder의 저장 형식 변경 일부 저장 형식이 변경되었습니다. 저장 디렉토리 출력 저장 시 현재 디렉토리를 출력해줍니다. FASTA파일 관련 문제 수정 1. FASTA 파일에 시퀀스가 소문자로 기록되어 있을 경우 제대로 못 찾던 문제를 수정했습니다. 2. FASTA 파일에 >가 여러개 일 경우 에러가 뜨는 대신 맨 위에 있는 >로 진행합니다. 참고로 왜 NEB냐면 거기껄 제일 많이 썼음. Genbank 파일 지원 문제가 하나 있는데 리드랑 파스랑 뭔 차인지 모르겠음. FASTA는 지에딧으로 열리는거라 보기라도 했지... Genbank는 gb파..
Cutter, Finder 공통 패치: FASTA 파일 불러오는 기능
Coding/Python
barcode
Cutter, Finder 공통 패치: FASTA 파일 불러오는 기능
Coding/Python
패치노트 1. 꺾쇠(>)가 하나인 FASTA 파일 한정으로 읽어올 수 있습니다. (Biopython이 꺾쇠 개수에 따라 불러오는 방식이 다름) 2. FASTA 파일을 불러올 경우, 시퀀스 이름란에 FASTA file의 ID영역이 들어갑니다. (사실 description 넣으려다가 너무 길어서...) 3. FASTA 파일을 불러오는 데 성공할 경우에도 멘트가 출력됩니다. (실패할때는 당연히 출력됨) 개고생의 흔적 from argparse import FileType import tkinter from tkinter import filedialog from Bio import SeqIO # 정신사나워서 불러오는거랑 표 분리했습니다...OTL 이쪽이 모듈이다. (뭐가 많음) FASTA_open = input(..
Finder 기능추가: 정규식 도입
Coding/Python
barcode
Finder 기능추가: 정규식 도입
Coding/Python
정말! 개 노가다끝에... 드디어 해냈음... 일단 도입하는 것 자체는 커터에서 했기때문에 크게 어려운 부분은 없었고, 문제가 좀 있었다. 1. 함수 정의하고 뺑뺑이를 돌렸는데 알파벳이 자꾸 하나만 바뀌는 문제(수정함) 2. 정규식은 찾아바꾸기가 안된다. (sub()은 토씨 하나 안 틀리고 바꿔주는거라 G..T로 찾고 G..T/로 바꾸면 모든 시퀀스가 죄다 G..T/로 바뀐다) 첫 번째 문제는 해결했고 두번째 문제의 경우 찾아바꾸기가 안돼서 정규식이 필요한 효소들은 어떻게 자르는지가 위에만 표시되어 있다. 살려줘요.
정규식(Regular Expression)-re모듈 사용법
Coding/Python
barcode
정규식(Regular Expression)-re모듈 사용법
Coding/Python
분량+저녁크리로 인해 2부작으로 나눠버림... 이 글의 re모듈은 파이썬에서 사용하는거지만, 앞 글에 있는 기호와 메타문자는 언어를 불문하고 정규 표현식에서 다 쓰인다. https://koreanraichu.tistory.com/118 정규식(Regular Expression)-기호와 메타문자 문자 찾는 것 자체는 find()도 해주는데, 얘는 딱 정확하게 일치하는 문자열만 찾아준다. 그럼 정규식은? 그건 대충 와일드카드같은 거다. 그러니까 find()는 소라빵 찐빵 팥빵 붕 koreanraichu.tistory.com 다른 언어를 사용한다고 해도 앞 글은 한번정도는 읽어보자. re.search() 자... 전에도 서술했지만, find()는 정규식을 주면 그 정규식이랑 일치하는 걸 찾지 정규식으로 검색하..
정규식(Regular Expression)-기호와 메타문자
Coding/Python
barcode
정규식(Regular Expression)-기호와 메타문자
Coding/Python
문자 찾는 것 자체는 find()도 해주는데, 얘는 딱 정확하게 일치하는 문자열만 찾아준다. 그럼 정규식은? 그건 대충 와일드카드같은 거다. 그러니까 find()는 소라빵 찐빵 팥빵 붕어빵 이런 식으로 딱딱 키워드를 찾는거고 정규식은 *빵으로 소라빵 찐빵 붕어빵 팥빵 다 찾는 거지. 참고로 정규식을 쓰려면 re를 불러야 한다. import re ㄱㄱ 정규식 문자 정규식에서 쓰는 문자들과 이게 뭐 하는건지를 간단히 알아보자. . Wildcard(구글 검색에서 *) for i in range(len(pokemon)): if re.search('김.',pokemon[i]): print(pokemon[i]) 김부추 김후추 김양상추 박알타리김치 고등어김치찜 김배추 참고로 전부 본인 포켓몬 이름임. 왜요 ^ ~로 ..
Cutter 기능 추가: 정규식 도입
Coding/Python
barcode
Cutter 기능 추가: 정규식 도입
Coding/Python
Finder는 도입하려면 좀 걸립니다... 얘는 아예 정규식+찾아바꾸기가 필요한거라...... 정규식 도입 import pandas as pd import re from datetime import datetime enzyme_table = pd.read_csv('/home/koreanraichu/restriction.csv') enzyme_table2 = pd.read_csv('/home/koreanraichu/restriction_RE.csv') # 정규식 도입을 위해... 어쩔 수 없이 합쳤음... enzyme_table = pd.concat([enzyme_table,enzyme_table2]) enzyme_table = enzyme_table.sort_values('Enzyme') enzyme_t..
Searcher 기능 추가: 그 뭐더라 그 D로 시작하는 그거
Coding/Python
barcode
Searcher 기능 추가: 그 뭐더라 그 D로 시작하는 그거
Coding/Python
일단... 해당 기능 추가 결과물이고요... 정규식 얘기는 나중에 입 털어드림... import re # 정규식용 모듈 정규식은 얘가 있어야 쓸 수 있다. elif keyword == "name": enzyme_RE = input("효소의 이름이 뭘로 시작하나요? ") enzyme_RE_2 = '^' + enzyme_RE 물론 if문에도 관련 코드를 추가했다. (^ 붙으면 그걸로 시작하는 걸 찾아준다) else: print("Enzyme with start with {0}".format(enzyme_RE)) for i in range(len(enzyme_table)): DB_enzyme = str(enzyme_table['Enzyme'][i]).strip() DB_seq = str(enzyme_table..
cutter, finder, searcher에 앞으로 추가할 기능
Coding/Python
barcode
cutter, finder, searcher에 앞으로 추가할 기능
Coding/Python
FASTA 파일 지원 1) 일단 사용자가 FASTA파일을 읽어오게 되면 따로 시퀀스 정보 입력을 받을 필요가 없어서 그거 관련도니 처리가 필요함. (시퀀스 이름은 Biopython SeqIO로 FASTA파일 ID 가져올 예정) 2) Biopython의 경우 FASTA파일에 꺾쇠가 하나면 read, 여러개면 parse로 가져오는데 parse로 읽을 걸 read로 가져오면 에러뜸. 에러에 대한 처리가 필요하고... parse로 가져오는 파일은 꺾쇠가 여러개인데, 이게 다르게 말하면 ID랑 시퀀스라 여러개라 그거 읽어오면 여러개를 돌리고 저장까지 해야 하는거라 이거는 Jupyter단에서는 힘듭니다... OTL 그래서 단식만 읽을거임... 3) FASTA 관련된 기능이긴 한데, 본인은 애초에 경로가 고정되어 있..
For vs While
Coding/Python
barcode
For vs While
Coding/Python
기본 파이썬에는 두 가지 반복문이 있는데 한놈은 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문은 범위를 주고 반복하는 ..
Finder & Cutter 패치
Coding/Python
barcode
Finder & Cutter 패치
Coding/Python
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 안에 있는데도 시퀀스 없으면 끝내더라... # 위치 출력은 되는 것 같은데, 이거 더해야 하는데... 이렇게 하면 위치가 출력되긴 한데 문제가 하나 있다. ..
Searcher 만들었음
Coding/Python
barcode
Searcher 만들었음
Coding/Python
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..
<
1
2
3
4
5
6
7
>
https://koreanraichu.tistory.com/
티스토리툴바