카카오 계정과 연동하여 게시글에 달린
댓글 알람, 소식등을 빠르게 받아보세요
가장 핫한 댓글은?
- ㅋㅋㅋ 개소리도 길게 하네
11
- 저는 외국 사는데 연봉 낮고 대우 안좋아도 연구에 진짜 미친 오타쿠들이 가는게 정출연이라고 생각합니다 .사기업 급 맞춰줘라, 워라밸 갖춰줘라 따지면 끝이 없죠.
실제로 지금 제가 있는 국가도 박사들이 가는 탑정출연 연봉이 사기업 학사졸들의 반토막입니다.
29
- 닥치고 다녀라? 다른곳도 그렇다? 당신같은 사람들때문에 사회가 문제가 생기는 겁니다. 다 그런 상황이면 누가 머라합니까. 0.33 사태만 보더라도 글은 읽은건가요? 기득권의 사다리 걷어 차기 이야기중인데 본질 파악부터 다시하시길바랍니다.
18
- 저는 갠적으로 위대가리도 내리는게 맞다고 생각하는데 이미 올린걸 내리는건 힘들다고 봅니다
그럼 생각해봅시다. 병사월급을 올렸더니 부사관 장교들이 박탈감 느낀다고 월급 올려달라고 하고, 이제는 공무원까지 월급 올려달라고 합니다. 이 모든 사람의 월급을 올려주는게 맞을까요? 그러면 다른 국민은 어떻게 생각할까요?
세금으로 운영하는 곳이란 자각을 좀 가지세요
아니면 사기업 가던가요
15
- 사실 저도 에트리에 다니다가 여러가지로 스트레스받아서 퇴사후 해외포닥으로 넘어왔는데, 저도 미국진출생각하고있습니다.
정출연 선임이든 연구원(전문연들)이든 행정원이든 진짜 선임때 스트레스 엄청받고, 특히 에트리는 평균연령 50세라서 윗대가리들이 하고싶은대로 흘러갑니다. 솔직히 하브넷에서 처음 본문봤는데 전적으로 동의되는것들입니다.
실제로 저와 같이 입사했던 동기들과 교육받으면서 친하게 지냈는데, 지금 spk출신들은 6명퇴사했습니다. 교수직으로 빠진경우도있지만, 회사로 가거나 저처럼 해외포닥으로 빠진경우도있어요.
정말 본받아야겠다고 생각되는 책임분들도 있지만 솔직히 극소수라고 생각하고, 노후화된 조직에 아랫사람들 굴리면서 운영되는곳입니다. 윗분들 어떠한 동기부여도 없고, 언급된내용처럼 임금피크제나 특허출원만 관심있어서 기웃기웃거립니다. 애초에 에뜨리에같은 카페에서 하루종일 수다떠는게 일과인분들도 있고, 본인자리에서 주식창만보는분도있고요.
대체로 능력있는사람들은 다 떠나가고 (극소수만 남고), 결국에는 큰의지없이 그냥저냥 안주하면서 편하게살고자하는 사람들만 정년까지남는 조직이 되가는것같아요. 물론 etri는 특수성이있는게 특정기수에 정규직to가 급증했고 퇴사(창업붐)도 많던 시절에, 박사는 커녕 석사급도 엄청많이 들어왔는데, 그분들이 경x대다 항x대다 본인 세력뭉치는데만 신경쓰셨고, 지금그분들이 그대로 책임윗급들로 남아있는게 가장큰 문제라고는 봅니다. 솔직히 제대로 아는것도 없으면서, 뭐만하면 이렇게해야된다 저렇게해야된다 전문가마냥 훈수두는분들 좀 짜증났어요..
14
RNA seq 데이터 처리에 대한 어려움을 느끼는 생물학도들에게
2023.03.27
1
3074
RNA-Seq 데이터 처리는 생물정보학 연구에서 매우 중요한 분야입니다. 저도 RNA-Seq 써먹을 때가 있어서 배우려고 했는데 학부 때 배운 적이 없어서 뒤늦게 배우느라 고생을 많이 했던 기억이 나네요. 교수님도, 선배들도 모르는데 저한테 시키셨던 ㅅㅂ. 저희 학교엔 정보학 수업도 딱히 없어서 맨바닥에 헤딩하는 느낌으로 배웠습니다.
RNA Seq 분석을 위해 저는 R 프로그램을 사용했는데 R이 가장 대중적인 프로그램이기도 하고 RNA-Seq 데이터 처리와 분석에 유용한 도구를 많이 제공하더라고요. R 프로그램을 사용하여 RNA-Seq 데이터를 처리하는 예제를 제공하여, 생물학도 분들이 보다 쉽게 데이터 처리와 분석을 할 수 있도록 도움을 드리고 싶습니다. 저같은 고생 안하시면 좋겠네요.
1. RNA-Seq 데이터 전처리
RNA-Seq 데이터를 분석하기 전에, 먼저 데이터를 전처리하는 과정이 필요합니다. 이 과정은 주로 다음과 같은 단계로 이루어집니다.
1) Quality Control: 데이터의 품질을 검사하고 필요하다면 제거합니다.
2) Read Trimming: Low-quality reads와 adapter contamination 등을 제거합니다.
3) Read Alignment: 참조 시퀀스에 reads를 매핑합니다.
4) Counting: 각 gene 또는 exon에 대한 read 수를 세어줍니다.
이러한 전처리 과정에서 많은 R 패키지들이 사용됩니다. 예를 들어, FastQC 패키지는 Quality Control을 위해, cutadapt 패키지는 Read Trimming을 위해, STAR 패키지는 Read Alignment을 위해, featureCounts 패키지는 Counting을 위해 사용됩니다.
다음은 cutadapt 패키지를 사용하여 RNA-Seq 데이터를 trimming하는 예제 코드입니다.
```
library(cutadapt)
# Read data from input file
input_file <- "path/to/input.fastq"
input_data <- readFastq(input_file)
# Trim adapters from reads
trimmed_data <- adapterTrim(input_data, "AGATCGGAAGAGCACACGTCTGAACTCCAGTCA",
min.length = 50)
# Write output to file
output_file <- "path/to/output.fastq"
writeFastq(trimmed_data, output_file)
```
이 코드에서는 cutadapt 패키지의 **`adapterTrim()`** 함수를 사용하여 adapter를 trimming합니다. 먼저 **`readFastq()`** 함수로 입력 파일을 읽어들인 다음, **`adapterTrim()`** 함수로 adapter sequence를 지정하고 min.length 옵션으로 최소 read 길이를 지정합니다. 마지막으로 **`writeFastq()`** 함수를 사용하여 결과를 출력합니다.
2. RNA-Seq 데이터 분석
RNA-Seq 데이터의 분석에는 주로 다음과 같은 단계가 포함됩니다.
1) Differential Expression Analysis: 여러 조건 또는 그룹 간에 gene expression이 어떻게 다른지 비교합니다.
2) Gene Ontology (GO) Analysis: Differential expression한 gene들을 functional annotation과 함께 분석합니다.
3) Pathway Analysis: Differential expression한 gene들을 기반으로 biological pathway와 interaction network를 분석합니다.
이러한 분석 과정에서 많은 R 패키지들이 사용됩니다. 예를 들어, DESeq2 패키지는 Differential Expression Analysis을 위해, topGO 패키지는 GO Analysis를 위해, pathwayTools 패키지는 Pathway Analysis를 위해 사용됩니다.
다음은 DESeq2 패키지를 사용하여 RNA-Seq 데이터의 Differential Expression Analysis를 수행하는 예제 코드입니다.
```
library(DESeq2)
# Read count data from input file
input_file <- "path/to/input.counts"
count_data <- read.table(input_file, header=TRUE, row.names=1)
# Create DESeqDataSet object
dds <- DESeqDataSetFromMatrix(countData=count_data, colData=col_data,
design=~condition)
# Perform differential expression analysis
dds <- DESeq(dds)
# Extract differentially expressed genes
res <- results(dds, contrast=c("condition", "group1", "group2"))
de_genes <- res[which(res$padj < 0.05 & abs(res$log2FoldChange) > 1),]
# Plot results
plotCounts(dds, gene=de_genes$gene_id, intgroup="condition")
```
이 코드에서는 DESeq2 패키지의 **`DESeq()`** 함수를 사용하여 Differential Expression Analysis를 수행합니다. 먼저 **`read.table()`** 함수로 입력 파일을 읽어들인 다음, **`DESeqDataSetFromMatrix()`** 함수로 count 데이터와 sample metadata를 합쳐 DESeqDataSet object를 생성합니다. **`DESeq()`** 함수로 Differential Expression Analysis를 수행한 다음, **`results()`** 함수를 사용하여 differentially expressed gene을 추출합니다. 마지막으로 **`plotCounts()`** 함수로 결과를 시각화합니다.
또한, GO Analysis와 Pathway Analysis를 위해서는 differential expression한 gene 리스트를 가지고 Enrichment Analysis를 수행해야 합니다. 이 과정에서도 R 프로그램을 활용할 수 있습니다. 예를 들어, topGO 패키지를 사용하여 GO Analysis를 수행하는 예제 코드는 다음과 같습니다.
```
library(topGO)
# Load gene ontology data
obo_file <- "path/to/gene_ontology.obo"
data_file <- "path/to/gene_ontology_annotations.txt"
godata <- read.GOBriefings(oboFile=obo_file, annotFile=data_file)
# Create topGOdata object
geneset <- as.integer(rownames(de_genes))
topGOdata <- new("topGOdata", ontology="BP", allGenes=geneset,
gene2GO=godata, nodeSize=10)
# Run enrichment analysis
result <- runTest(topGOdata, algorithm="weight01", statistic="fisher")
# Plot results
png("GO_enrichment.png", width=800, height=600)
plotEnrichment(result, showCategory=20)
dev.off()
```
이 코드에서는 topGO 패키지의 **`runTest()`** 함수를 사용하여 GO Analysis를 수행합니다. 먼저 **`read.GOBriefings()`** 함수로 gene ontology data를 로딩한 다음, **`new()`** 함수로 topGOdata object를 생성합니다. **`runTest()`** 함수로 Enrichment Analysis를 수행한 다음, **`plotEnrichment()`** 함수로 결과를 시각화합니다.
3. Pathway Analysis를 수행하는 예제 코드는 다음과 같습니다.
```
scssCopy code
library(pathwayTools)
# Load pathway database
db_file <- "path/to/pathway_database.db"
pw_db <- loadDb(db_file)
# Convert gene IDs to Entrez IDs
de_genes_entrez <- convertIDs(de_genes$gene_id, fromType="SYMBOL",
toType="ENTREZID", org="Hs")
# Run pathway analysis
result <- pathwayAnalysis(de_genes_entrez, pw_db)
# Plot results
png("pathway_enrichment.png", width=800, height=600)
plotPathway(result)
dev.off()
```
이 코드에서는 pathwayTools 패키지의 **`pathwayAnalysis()`** 함수를 사용하여 Pathway Analysis를 수행합니다. 먼저 **`loadDb()`** 함수로 pathway database를 로딩한 다음, **`convertIDs()`** 함수로 gene ID를 Entrez ID로 변환합니다. **`pathwayAnalysis()`** 함수로 Enrichment Analysis를 수행한 다음, **`plotPathway()`** 함수로 결과를 시각화합니다.
이처럼 R 프로그램은 RNA-Seq 데이터 처리와 분석에 있어서 매우 강력한 도구입니다. 하지만 처음 시작하는 학생들은 문법적인 어려움과 데이터 처리 방법의 이해가 필요한데 저처럼 배울 곳이 없어서 힘들어하시는 분들도 계시더라고요. 저처럼 헤매지 않으시길 바라며 요새는 온라인 강의도 잘 돼있으니 들어보시면 많은 도움될겁니다.
RNA Seq 분석을 위해 저는 R 프로그램을 사용했는데 R이 가장 대중적인 프로그램이기도 하고 RNA-Seq 데이터 처리와 분석에 유용한 도구를 많이 제공하더라고요. R 프로그램을 사용하여 RNA-Seq 데이터를 처리하는 예제를 제공하여, 생물학도 분들이 보다 쉽게 데이터 처리와 분석을 할 수 있도록 도움을 드리고 싶습니다. 저같은 고생 안하시면 좋겠네요.
1. RNA-Seq 데이터 전처리
RNA-Seq 데이터를 분석하기 전에, 먼저 데이터를 전처리하는 과정이 필요합니다. 이 과정은 주로 다음과 같은 단계로 이루어집니다.
1) Quality Control: 데이터의 품질을 검사하고 필요하다면 제거합니다.
2) Read Trimming: Low-quality reads와 adapter contamination 등을 제거합니다.
3) Read Alignment: 참조 시퀀스에 reads를 매핑합니다.
4) Counting: 각 gene 또는 exon에 대한 read 수를 세어줍니다.
이러한 전처리 과정에서 많은 R 패키지들이 사용됩니다. 예를 들어, FastQC 패키지는 Quality Control을 위해, cutadapt 패키지는 Read Trimming을 위해, STAR 패키지는 Read Alignment을 위해, featureCounts 패키지는 Counting을 위해 사용됩니다.
다음은 cutadapt 패키지를 사용하여 RNA-Seq 데이터를 trimming하는 예제 코드입니다.
```
library(cutadapt)
# Read data from input file
input_file <- "path/to/input.fastq"
input_data <- readFastq(input_file)
# Trim adapters from reads
trimmed_data <- adapterTrim(input_data, "AGATCGGAAGAGCACACGTCTGAACTCCAGTCA",
min.length = 50)
# Write output to file
output_file <- "path/to/output.fastq"
writeFastq(trimmed_data, output_file)
```
이 코드에서는 cutadapt 패키지의 **`adapterTrim()`** 함수를 사용하여 adapter를 trimming합니다. 먼저 **`readFastq()`** 함수로 입력 파일을 읽어들인 다음, **`adapterTrim()`** 함수로 adapter sequence를 지정하고 min.length 옵션으로 최소 read 길이를 지정합니다. 마지막으로 **`writeFastq()`** 함수를 사용하여 결과를 출력합니다.
2. RNA-Seq 데이터 분석
RNA-Seq 데이터의 분석에는 주로 다음과 같은 단계가 포함됩니다.
1) Differential Expression Analysis: 여러 조건 또는 그룹 간에 gene expression이 어떻게 다른지 비교합니다.
2) Gene Ontology (GO) Analysis: Differential expression한 gene들을 functional annotation과 함께 분석합니다.
3) Pathway Analysis: Differential expression한 gene들을 기반으로 biological pathway와 interaction network를 분석합니다.
이러한 분석 과정에서 많은 R 패키지들이 사용됩니다. 예를 들어, DESeq2 패키지는 Differential Expression Analysis을 위해, topGO 패키지는 GO Analysis를 위해, pathwayTools 패키지는 Pathway Analysis를 위해 사용됩니다.
다음은 DESeq2 패키지를 사용하여 RNA-Seq 데이터의 Differential Expression Analysis를 수행하는 예제 코드입니다.
```
library(DESeq2)
# Read count data from input file
input_file <- "path/to/input.counts"
count_data <- read.table(input_file, header=TRUE, row.names=1)
# Create DESeqDataSet object
dds <- DESeqDataSetFromMatrix(countData=count_data, colData=col_data,
design=~condition)
# Perform differential expression analysis
dds <- DESeq(dds)
# Extract differentially expressed genes
res <- results(dds, contrast=c("condition", "group1", "group2"))
de_genes <- res[which(res$padj < 0.05 & abs(res$log2FoldChange) > 1),]
# Plot results
plotCounts(dds, gene=de_genes$gene_id, intgroup="condition")
```
이 코드에서는 DESeq2 패키지의 **`DESeq()`** 함수를 사용하여 Differential Expression Analysis를 수행합니다. 먼저 **`read.table()`** 함수로 입력 파일을 읽어들인 다음, **`DESeqDataSetFromMatrix()`** 함수로 count 데이터와 sample metadata를 합쳐 DESeqDataSet object를 생성합니다. **`DESeq()`** 함수로 Differential Expression Analysis를 수행한 다음, **`results()`** 함수를 사용하여 differentially expressed gene을 추출합니다. 마지막으로 **`plotCounts()`** 함수로 결과를 시각화합니다.
또한, GO Analysis와 Pathway Analysis를 위해서는 differential expression한 gene 리스트를 가지고 Enrichment Analysis를 수행해야 합니다. 이 과정에서도 R 프로그램을 활용할 수 있습니다. 예를 들어, topGO 패키지를 사용하여 GO Analysis를 수행하는 예제 코드는 다음과 같습니다.
```
library(topGO)
# Load gene ontology data
obo_file <- "path/to/gene_ontology.obo"
data_file <- "path/to/gene_ontology_annotations.txt"
godata <- read.GOBriefings(oboFile=obo_file, annotFile=data_file)
# Create topGOdata object
geneset <- as.integer(rownames(de_genes))
topGOdata <- new("topGOdata", ontology="BP", allGenes=geneset,
gene2GO=godata, nodeSize=10)
# Run enrichment analysis
result <- runTest(topGOdata, algorithm="weight01", statistic="fisher")
# Plot results
png("GO_enrichment.png", width=800, height=600)
plotEnrichment(result, showCategory=20)
dev.off()
```
이 코드에서는 topGO 패키지의 **`runTest()`** 함수를 사용하여 GO Analysis를 수행합니다. 먼저 **`read.GOBriefings()`** 함수로 gene ontology data를 로딩한 다음, **`new()`** 함수로 topGOdata object를 생성합니다. **`runTest()`** 함수로 Enrichment Analysis를 수행한 다음, **`plotEnrichment()`** 함수로 결과를 시각화합니다.
3. Pathway Analysis를 수행하는 예제 코드는 다음과 같습니다.
```
scssCopy code
library(pathwayTools)
# Load pathway database
db_file <- "path/to/pathway_database.db"
pw_db <- loadDb(db_file)
# Convert gene IDs to Entrez IDs
de_genes_entrez <- convertIDs(de_genes$gene_id, fromType="SYMBOL",
toType="ENTREZID", org="Hs")
# Run pathway analysis
result <- pathwayAnalysis(de_genes_entrez, pw_db)
# Plot results
png("pathway_enrichment.png", width=800, height=600)
plotPathway(result)
dev.off()
```
이 코드에서는 pathwayTools 패키지의 **`pathwayAnalysis()`** 함수를 사용하여 Pathway Analysis를 수행합니다. 먼저 **`loadDb()`** 함수로 pathway database를 로딩한 다음, **`convertIDs()`** 함수로 gene ID를 Entrez ID로 변환합니다. **`pathwayAnalysis()`** 함수로 Enrichment Analysis를 수행한 다음, **`plotPathway()`** 함수로 결과를 시각화합니다.
이처럼 R 프로그램은 RNA-Seq 데이터 처리와 분석에 있어서 매우 강력한 도구입니다. 하지만 처음 시작하는 학생들은 문법적인 어려움과 데이터 처리 방법의 이해가 필요한데 저처럼 배울 곳이 없어서 힘들어하시는 분들도 계시더라고요. 저처럼 헤매지 않으시길 바라며 요새는 온라인 강의도 잘 돼있으니 들어보시면 많은 도움될겁니다.
김박사넷의 새로운 거인, 인공지능 김GPT가 추천하는 게시물로 더 멀리 바라보세요.
김GPT
초심자들을 위한 논문 쓰는 팁641
80
131670
-
5
17
1768
-
0
4
400
-
0
2
501
-
0
1
2056
김GPT
빅데이터 숨 넘어갈 듯2
8
6451
김GPT
싱가폴 국립연구소7
8
4558
김GPT
XRD 데이터 분석툴 뭘로하시나요?0
1
646
-
21
17
18524
-
244
40
56858
명예의전당
우리 교수님 솔직히 너무 좋음269
46
83150
명예의전당
무엇인가를 관두고 싶어하는 분에게175
22
51942
아무개랩 게시판에서 핫한 인기글은?
아무개랩 게시판에서 최근 댓글이 많이 달린 글
🔥 시선집중 핫한 인기글
최근 댓글이 많이 달린 글
2023.03.27