수요일, 4월 26, 2023

언제까지 primer3만 사용할텐가

이제부터는 ConsensusPrime을 사용해보자.

ConsensusPrime—A Bioinformatic Pipeline for Ideal Consensus Primer Design

https://github.com/mcollatz/ConsensusPrime

작년 말에 출판된 논문으로 서열 정렬과 프라이머 디자인까지 자동화한 tool 소개 곰국되겠습니다.

소스코드는 물론 최신 트렌드에 맞게 docker로도 제공되고있습니다.

primer를 디자인 하고자 하는 영역의 서열과 primer3의 paramerter 파일만 준비하면 나머지는 제가, 아니 ConsensusPrime가 해줍니다.

물론 내가 원하는 수준의 결과물이 나오냐? 그런 모르겠습니다만

그래도 온갖 삽질은 줄어 들것 같은 긍정회로가 돌아가고 있지 않나요? 

실제로 쓸만한지는 한번 사용해보는걸로 :)


다음에 흥미로운 논문으로 찾아오도록 하겠습니다.



@ye._.vely618






화요일, 4월 25, 2023

딥러닝을 이용해서 CRISPR/Cas9의 Off-Target Cleavage의 정확도를 보장할 수 있을까?

간만에 CRISPR/Cas9 off target 예측 툴하나 훑어보겠습니다.

biorxiv에 21년도에 오픈된 논문인데, 지금쯤이면 어디 안착했을거라고 생각했던 논문인데 아직 biorxiv에 있네요..

제목은 "piCRISPR: Physically Informed Deep Learning Models for CRISPR/Cas9 Off-Target Cleavage Prediction"

doi : https://www.biorxiv.org/content/10.1101/2021.11.16.468799v3

github florianst/picrispr


유전자 편집에서 CRISPR/Cas9은 언급을 하지 않을 수 없는 기술이 됐죠

CRISPR/Cas9의 경우 기존 1,2세대 유전자 가위와 달리 target 서열을 인식하는 guide RNA만 있으면 어렵지 않게 유전자 편집을 할 수 있죠.

그러나 그와 함께 편집하고자 하는 위치를 정확히 하고자 하면 guide RNA의 길이가 길어질 수 밖에 없는데 guide RNA의 specific을 확보하기 위해 길이를 무한정 늘릴 수 없는 노릇이고, 사람 genome안에 흔하디 흔한 서열을 guide RNA 서열을 사용하게 되면 불필요한 곳을 편집하게 되니 guide RNA 서열을 잘 디자인 하는 것과 디자인한 guide RNA 서열이 off-target 없이 잘 작동하는지 미리 검토하는 작업이 필요하게 되었습니다.

그래서 유행하는 Deep Learning을 사용하여 CRISPR/Cas9의 off-target cleavage 정확도를 예측하는 툴을 만들었다고 합니다.


결론적으로,

동일한 guide RNA 서열이더라도 환경, 같은 사람이더라도 피부조직의 환경에서의 genome 또는 다양한 암(폐, 대장, 간...) 세포 내에서의 genome의 상황은 서로 다를 것이므로 이런 정보들을 잘 활용하여 CRISPR/Cas9 Off-Target의 cleavage의 예측 정확도를 향상 시켰고, 기존의 단순한 서열 기반의 off-target cleavage 예측 시스템과 다른 정확도를 보여줬다고 합니다.

모델은 6x23 모델과, 16x23 모델 2가지를 사용하였고,

서열정보와 더불어 GC Content, Nucleotide BDM, NuPoP Affinity, CRISPoff Free Energy 정보들을 활용하여 기존의 CRISPR/Cas9의 off-target 예측 툴 들과 비교하여 월등(?)한 결과를 보여줬다고 합니다.

그리고 Deep Learning종류 중 CNN(Convolutional Neural Network)와 RNN(Recurrent Neural Network) 방법이 있는데 결과를 비교 하다 보면 어떤 경우에는 CNN 방법이, 다른 경우에는 RNN 방법이 우수한 경우가 있었습니다. 이는 CNN과 RNN간의 우열이 있기 보다는 학습 방법의 특장점을 잘 활용해야 하는 것으로 보였고, 데이터의 특징에 따라 학습 모델을 잘 활용하면 조금 더 나은 결과를 확인 할 수 있지 않을까 합니다.


다음에 또 좋은 내용을 가지고 찾아오도록 하겠습니다. :)






@ye._.vely618





수요일, 4월 05, 2023

너도 AB1파일 가지고 pdf 만들 수 있어 (2)


너도 AB1 파일 사용해서 pdf 만들 수 있어 첫번째 글에 이은 두번째!!!


chatGPT한테 물어 물어 좀 쉽게 작성을 해보려고 했으나...

아.. 이것 또한 쉽지 않습니다.

예제를 보여줘서 학습을 시키면 좋을텐데... 잘 모르게서

그냥 간단히 matplotlib 코드만 간단히 활용해 보았습니다.


ab1 파일을 분석하는 것은 그냥 노가다로... ㅎㅎ 

우선 그냥 chatGPT한테 

"ab1파일 parsing해서 pdf로 만드는 스크립트 작성해줘" 하면 


from Bio import SeqIO

import matplotlib.pyplot as plt


# ab1 파일 경로 설정

abif_file = "example.ab1"


# ab1 파일 파싱하여 전기영동 결과 얻기

abif_record = SeqIO.read(abif_file, "abi")

electropherogram = abif_record.annotations['abif_raw']['DATA2']


# matplotlib를 이용하여 전기영동 결과 그래프 그리기

plt.plot(electropherogram)

plt.title("Electropherogram")

plt.xlabel("Base Position")

plt.ylabel("Signal Strength")

plt.show()


이렇게 알려줍니다.


이거 그대로 작성하면 우리가 기대했던 이미지하고 영 딴판의 결과가 저장됩니다.


그래서 세부 내용들은 Applied Biosystems에서 제공하는 Data File Format pdf를 좀 들쳐봐야합니다.

그래서 코드를 좀 수정 하면...


from Bio import SeqIO
import matplotlib.pyplot as plt

# ab1 파일 경로 설정
abif_file = "example.ab1"

# ab1 파일 파싱하여 전기영동 결과 얻기
abif_record = SeqIO.read(abif_file, "abi")
poc = record.annotations['abif_raw']['PLOC1']
a = record.annotations['abif_raw']['DATA10']
c = record.annotations['abif_raw']['DATA12']
g = record.annotations['abif_raw']['DATA9']
t = record.annotations['abif_raw']['DATA11']

data = {"A":a_seq, "C":c_seq,"G":g_seq,"T":t_seq}

plt.figure(figsize=(len(poc)/10,5))
for base, color in zip("ACGT",["g","b","k","r"]):
    plt.plot(data[base],color=color)

tmp = [None]*len(a_seq)

i=0
for pnt in poc:
    tmp[pnt]=seq[i]
    i+=1

plt.xticks(range(len(tmp)),tmp, fontsize=6)
plt.savefig('output.pdf')


이 코드를 사용하면 응? 좀 이상하지만 약간 그럴싸한 이미지가 보이실겁니다.

시퀀칭 업체에 Sanger Sequencing에 맡기면 fasta파일과 ab1파일과 함께 오는 pdf파일과 다르긴 하지만 얼추 비슷한...

그럼 다음 기회에는 Sanger Sequencing 맡기면 함께 받아 볼 수 있는 pdf 파일을 만들어보기로 해봐요. 내년 쯤에는 할 수 있지 않을까 합니다. :)




출처: @ye._.vely618