반응형

root 권한이 필요함

 

새 서버에서 기존 파일들을 백업.

/etc/shadow

/etc/gshadow

/etc/passwd

/etc/group

 

옛날 서버에서 위으 파일들을 scp로 복사해옴.

 

계정 아이디와 비밀번호는 옛날 서버와 동일하지만 아직 홈 폴더가 존재하지 않음.

 

홈 폴더도 마찬가지로 복사해서 가져오거나 기존 파일들 백업하기 전에 미리 생성해놨다가 덮어씌워야함.

 

반응형
반응형

python multi-level argparse

 

 

parser = argparse.ArgumentParser()

subparser = parser.add_subparsers(help='Desired action to perform', dest='action')

parent_parser = argparse.ArgumentParser(add_help=False)

parser_ReDemulti = subparser.add_parser("ReDemulti", parents=[parent_parser], help='Re Demultiplexing')
parser_ReDemulti.add_argument("RunID", help='Only require one run ID which have Samplesheet_gpcd.csv')

parser_MultiAnal = subparser.add_parser("MultiAnal", parents=[parent_parser], help='Multiple Analysis from One Customer')
parser_MultiAnal.add_argument("SampleFile", help='A file with one sample ID per line')

parser_NoData = subparser.add_parser("NoDataSamples", parents=[parent_parser], help='Re Run No-Data Samples')
parser_NoData.add_argument("SampleFile", help='A file with one sample ID per line')

parser_RunFastQC = subparser.add_parser("RunFastQC", parents=[parent_parser], help='Run from FastQC Step')
parser_RunFastQC.add_argument("SampleID", help='Only require one sample ID')

parser_RmDenovo = subparser.add_parser("RmDenovoFiles", parents=[parent_parser], help='Remove Database Files in denovo01')
parser_RmDenovo.add_argument("SampleID", help='Only require one sample ID')

args = parser.parse_args()
반응형

'Computer Science > python' 카테고리의 다른 글

Primer 서열 분석을 위한 python 코드  (0) 2021.08.17
String Format으로 길이 고정하기  (0) 2020.06.24
python 파일 입출력  (0) 2019.07.12
Python 설치 및 실행하기  (0) 2017.08.16
cannot mkdir R_TempDir 에러  (0) 2016.09.07
반응형

python 파일 입출력

 

 

python에서 파일을 찾고, 파일이 없을시 except 출력, 있다면 파일을 열어서 본문을 수행하고 파일 닫고 종료.

 

        try : 
                list_file = open(list_file_name) 

        except OSError : 
                print('can\'t find '+list_file_name) 

        else : 
                with listfile : 
                        for line in listfile :
                        	# do somthing

 

반응형

'Computer Science > python' 카테고리의 다른 글

Primer 서열 분석을 위한 python 코드  (0) 2021.08.17
String Format으로 길이 고정하기  (0) 2020.06.24
python multi-level argparse  (0) 2019.07.12
Python 설치 및 실행하기  (0) 2017.08.16
cannot mkdir R_TempDir 에러  (0) 2016.09.07
반응형

Illumina 시퀀싱에서 약 10-12개의 염기가 균등하게 분포하지 않는 패턴을 보인다. gDNA에서는 조금 더 드물지만 mRNA-seq에서는 대부분의 데이터가 이러한 패턴을 보이는데 이유를 찾아보았다.

 

 

Illumina에서는 이러한 현상의 원인을 랜덤프라이머를 제작하여 시퀀싱을 진행하지만 랜덤 프라이머가 완전한 랜덤이 아니기때문이라고 얘기한다.  

 

아래 plot은 bisulfite-seq 이다. bisulfite 처리로 인해 CtoT 변화로 C의 비율은 낮고 T의 비율이 높게 나온다. 하지만 그와 별도로 여전히 10개의 염기의 비율이 특이적이다.

 

 

 

 

해당 부분은 분석에 크게 영향을 주지 않으니 무시하고 진행하여도 상관없다.

 

 

 

Reference -

http://seqanswers.com/forums/showthread.php?t=11843

 

Trimming left end (5') of reads?? - SEQanswers

Thanks for your reply, Brian. I have mRNA Illumina 100bp paired end reads. I have already removed the adapters, but still have that same the high variation on GC% at the 5' end. For the library prep, TruSeq mRNA prep was used, that's why I am guessing I ha

seqanswers.com

http://nar.oxfordjournals.org/content/38/12/e131

 

Biases in Illumina transcriptome sequencing caused by random hexamer priming

Abstract. Generation of cDNA using random hexamer priming induces biases in the nucleotide composition at the beginning of transcriptome sequencing reads from

academic.oup.com

 

반응형

'bioinformatics' 카테고리의 다른 글

HLA genotyping  (0) 2020.02.21
SnpEff 빌드하기  (0) 2019.09.30
DNA methylation  (0) 2019.06.18
NGS 기술을 이용한 Methylation 분석  (0) 2019.06.17
KEGG Mapper 사용법  (2) 2018.11.15
반응형

DNA methylation은 DNA 염기 서열의 변화 없이 변화를 일으킨다. 유전자 프로모터에 위치할 때 전사를 억제하는 방향으로 작용할 때가 많으며 포유류에서의 DNA 메틸화는 정상적으로 발달할 수 있게 하는 핵심 역할을 하며 그 외에도 genomic imprinting, X-chromosome inactivation, repression of transposable elements, aging, and carcinogenesis등에 관여하는것으로 알려져 있다.

 

Cytosine과 adenine이 메틸화 될 수 있으며 adenine의 경우 박테리아나 식물에서 그리고 드물게 포유류에서 관찰되지만 비율이 적어 많이 연구되지는 않았으며 cytosine에는 eukaryotes와 prokaryotes 모두에서 빈번히 일어난다.

 

식물이나 다른 유기체에서 DNA 메틸화는 CpG, CHG or CHH (Hsms A,T 또는 C)상황에서 일어난다. 그러나 포유류에서는 대부분 CpG에서 발견된다. Non-CpG 메틸화는 배아 줄기세포에서 발견되거나 신경 발달과정에서 확인할 수 있다. 그러나 최근에는 Non-CpG 메틸화가 질병과 연관이 있을 수 있다는 연구보고가 있어 중요도가 올라가고 있다.

 

 

 

Reference -

https://en.wikipedia.org/wiki/DNA_methylation

반응형

'bioinformatics' 카테고리의 다른 글

SnpEff 빌드하기  (0) 2019.09.30
GC bias in the first few bases.  (0) 2019.07.04
NGS 기술을 이용한 Methylation 분석  (0) 2019.06.17
KEGG Mapper 사용법  (2) 2018.11.15
Gene ID conversion  (0) 2018.11.15
반응형

Pyrosequencing, methylation-specific polymerase chain reaction (PCR), direct Sanger sequencing이 프로모터 영역이나 CpG island 등 특정 영역의 메틸화 정도를 보려고 할 때 사용하는 기술이다. 이 기술들은 유용하지만 정확도가 낮고 read length가 짧으며 수율이 낮다는 단점이 있다.

 

이후에 적은 비용과 많은 양의 DNA가 필요하지 않으면서도 게놈 영역 전체를 커버할 수 있는 Microarray를 사용한 기술을 사용한 메틸화 분석 기술이 나왔으나 이는 depth에 의해 결과가 영향을 받을 수 있다.

 

NGS기술은 단일 염기 수준의 정확도로 거의 모든 CpG 사이트를 구분할 수 있는 기술임을 보였으나 여전히 density-biased, deficient in robustness and consistency, or incapable of analyzing 5mC specifically 등의 문제가 있다.

 

가장 많이 사용하는 기술의 요약이다.

 

 

1. Affinity Enrichment-Based Methods

antibody(MeDIP-Seq)나 binding protein(MBD-Seq)을 사용하는 방법으로 특정 영역을 당겨서 시퀀싱을 하고 나머지는 버리는 방법이다. enriched CpG영역에 대한 분석에 용이하다.

 

2. Restriction Enzymes-Based Methods

MspI 제한효소를 하용하여 CCGG motifs를 절단한다. 시간과 비용이 적게 들고 DNA도 소량만 있으면 되지만 게놈 영역 전체를 골고루 커버할 수 없다. (특정 영역이 chromatin structure 등에 의해 더 잘 잘리거나, 덜 잘리거나 하는 경향이 있을 수 있음.)

 

3. Bisulfite Conversion-Based Methods

bisulfite 처리를 하면 보통의 C가 U라 바뀌지만 메틸화 C는 바뀌지 않는다. 따라서 bisulfite처리를 한 샘플과 게놈 sequence를 비교하여 실제 메틸화 C가 어디 있는지를 알아낼 수 있으며 따라서 이 분석에 맞는 alignment프로그램을 사용하여야 한다. 가장 많이 쓰이는 프로그램은 BISMARK.

WGBS는 가장 많은 정보를 담을 수 있지만 비싸다는 단점이 있다.

 

4. Oxidative Bisulfite Conversion-Based Methods

최근에 개발된 기술로 5hmC와 5caC, 5fC를 포함하여 cytosine modification을 찾아낼 수 있다. 방법으로는 Ox-BS나 TAB-Seq 등이 있다.

 

5. Capture-Based Methods

기존의 방법들에 비해 많은 진보가 있는 기술로서 whole genome sequencing에 비해 cost-effective 하면서도 수율도 높고 특히나 complex regions에서 강점을 보인다.  MethylCap-seq은 CpG islands 외의 질병과 관련되어있는 메틸화 영역에 대한 연구가 가능하며 reproducibility도 높음을 여러 샘플에서 보여주었다. MethylCap-seq 외에도 SeqCap Epi CpGiant 등 bisulfite-converted DNA를 사용하여 방법들이 있다. 

 

6. Third-Generation Sequencing

최근에는 chemical conversion이 없이도 DNA modification 분석이 가능한 기술이 가능하다. SMRT DNA sequencing은 kinetics of DNA polymerase를 인지함으로 modifed DNA를 찾아낼 수 있다. nanopore sequencer또한 DNA base의 modification 여부를 reading과정 중에 찾아낼 수 있다.

 

 

참고 -

Barros-Silva, Daniela et al. “Profiling DNA Methylation Based on Next-Generation Sequencing Approaches: New Insights and Clinical Applications.” Genes vol. 9,9 429. 23 Aug. 2018, doi:10.3390/genes9090429

반응형

'bioinformatics' 카테고리의 다른 글

GC bias in the first few bases.  (0) 2019.07.04
DNA methylation  (0) 2019.06.18
KEGG Mapper 사용법  (2) 2018.11.15
Gene ID conversion  (0) 2018.11.15
SRA data 다운로드받기  (1) 2018.10.17
반응형

 

 

전문연구요원 기초군사훈련 -1

 

2019/3/21~ 2019/4/18까지 논산 육군훈련소에 다녀온 내용을 작성해보고자 한다.

 

관련한 포스팅이 많지만 그래도 가장 최근에 다녀왔으니 새로운 내용들을 추가

 

다녀오자마자 작성하려고 했지만 귀찮아서 미루다 보니 벌써 3주 전이다. 

 

안에 있을 때는 엄청 안 가던 시간이 밖에서는 순식간이다. ㅋㅋㅋ

 

 

서론은 각설하고 이 글을 볼 입소 예정자들에게 도움이 될 만한 얘기 위주로 작성해보고자 한다.

 

 

 

가장 중요한 준비물

 

본인의 적응력이 무한대라고 생각하면 가져가야 할 물품은 하나도 없다. 최소한의 물품은 모두 훈련소에서 제공하고 있으니 나올 때의 계절을 고려해서 옷만 입고 가면 된다.

 

하지만 그렇게 갔다가는 없어서 아쉬울 때가 많을 것이다.

 

그래서 등급별로 나누어 가져 가면 좋은 물품을 정리해보고자 한다.

 

 

중요도 ★

귀마개 - 한 생활관에 대략 12명, 두 생활관이 붙어있으니 25명가량이 한 공간에서 생활한다고 보면 된다. 무조건 이 중에 한 명은 코를 크게 골기 때문에 챙겨가야 한다. 나중에 보급으로 주지만 그때까지 버티느니 하나 사서 가자.

 

가방 - 다른 포스팅 중에는 캐리어 가방을 추천하는 곳이 없던데 캐리어 강력하게 추천한다. 퇴소할 때 군화와 군복 등을 들고 오려면 부피가 상당하기 때문에 번거롭다. 캐리어 있으면 좋았을 텐데 하면서 퇴소하는 스스로를 발견할 것이다. 크기는 기내에 가져갈 수 있는 크기 중에 제일 큰 정도? 더 클 이유가 없다. 그래도 캐리어를 가져가기 부담스럽다면 큰 종이백 등을 많이 챙겨가자 남으면 다른 사람을 줘도 되나 없으면 많이 아쉽다.

 

상비약 - 아프면 서럽다. 입소하면 상비약은 분대장에게 제출하라고 하지만 가방 구석에 넣어놓고 아플 때 스스로 꺼내먹자. 검사 그렇게 빡빡하게 안 한다. 타이레놀과 종합감기약이면 충분할 것 같다. 

 

중요도 ★

 

스킨/로션/샴푸/클렌징 폼/선크림 - 압수물품 아니다. 개인위생 용품은 다 챙겨가자. 미용비누 하나 주는데 이걸로 씻는 건 좀... 그렇다. 올인원 제품 사가면 유용하게 쓸 수 있다.

 

시계 - 군용 시계라고 싼 거 사서 오는 사람 많다. 다이소에서 만원 이하에 라이트만 켜지는 걸로 사 와도 되지만 그냥 적당히 비싼 거 들고 와도 된다. 각개전투 이외에는 시계에 손상이 될 만한 훈련이 없다. 이건 여름에 가서 하복 입고 훈련받으면 다를 수도 있을 것 같으니 스스로 결정하기 바란다.

 

보조배터리 - 퇴소할 때 핸드폰은 써야 할 것 아닌가. 빠릿빠릿한 폰은 한 달 동안 꺼둬도 50%가량 남아있을 수 있는데 불안하니 보조배터리 하나 들고 가자. 

 

중요도 ★

 

포카리 가루 - 크게... 중요하진 않았던 것 같다. 있으면 좋은데 없어도 그만 정도? 

 

편지지, 편지봉투 - 훈련소에서 계속 제공해준다. 이쁜 걸로 보내고 싶으면 가져가서 쓰자

 

우표 - 우표를 붙이지 않으면 군사우편으로 가는데 이게 더 느리다고 한다. 우표는 사서 가자. 상대방에게 편지봉투 안에 우표를 넣어달라고 해서 받을 수도 있으니 10개 정도 가져가고 필요하면 달라고 하면 충분하다.

 

팔꿈치, 무릎 보호대 - 각개전투 시 있으면 좋기는 한데 훈련소에서 지급되는 물품으로 충분히 커버 가능하다. 보급되는 양말을 잘라서 덧대는 정도만 해도 전혀 까이지 않았다.

 

종합비타민 - 따로 비타민을 가져가서 챙겨 먹을 수 있다. 건강을 생각한다면 한 통쯤 가져가도 괜찮을 것 같다.

 

면봉 - 총기 손질 시 유용하게 쓰이기는 하나 많이 가져오는 사람이 한 명쯤은 있다. 빌려서 써도 무방.

반응형
반응형

* 본 리뷰는 어떠한 상업적 지원도 받지 않고 작성하였음.


벤큐 FHD 프로젝터 MH550 리뷰




지극히 아마추어적인 리뷰겠지만 누군가에게는 도움이 될 수도 있기에 작성해봄.



큰 화면으로 콘솔 게임 + TV를 보고 싶은데 거치할 만한 공간이 애매해서 벽에다가 프로젝터를 설치하고 싶어 짐. 


구매할 때 고려 했던점은


1. FHD 화질일 것.


2. 휴대용이 아닐 것.


3. 비교적 최근에 출시됐으며 인지도 있는 브랜드일 것.



화질은 여기저기서 후기를 많이 봤는데 FHD 이하면 계속 아쉬움이 남는다고 하여 바로 FHD 급으로 감. 


충분히 만족하고 있음. HD 급이였으면 확실히 아쉬움이 있었을 것 같음. 


휴대용이 아닌 이유는 같은 가격이면 당연히 크기가 큰 게 스펙이 더 좋으리라 생각함. 

밖에 나가서 볼 일이 1년에 1번도 있을까 말까 하기 때문에 그냥 거치용으로 삼. 

근데 거치용은 낮은 스펙과 가격이 거의 없음.. 회의용 뭐 이런식으로 많이 나와서 그런듯함.


출시는 당연히 최근에 된 것이 기술적으로 발전했을 테니까.. A/S도 편할 듯하고.. 앞에 2개보다는 많이 고려하지는 않음.




모두 만족하면서도 비교적 저렴한 가격은 벤큐 MH550밖에 없었음.


출시된 지 6개월이 지난 시점에도 불구하고 인터넷 후기도 많이 없었지만 브랜드 인지도를 믿고 구매함.



장점 - 


FHD 급 프로젝터임에도 불구하고 저렴한 가격

높은 루멘안시로 형광등 아래에서도 어느 정도 잘 보임. (태양광아래서는 당연히 잘 안보임.)

hdmi 포트가 두 개인것도 은근히 유용함.


단점 -

비슷한 급의 제품에 비해 투사거리가 많이 필요함. 거리가 3m 정도 돼서 괜찮을 거라고 생각했으나 80인치가 한계임. 좀 더 크게 볼 수 있었으면 하는 아쉬움이 있음.

회의용 프로젝터는 대부분 지원하지 않는 기능이지만 안드로이드나 airplay 등이 지원되면 좋았을거 같긴 함...




반응형
반응형

Gene id conversion in R




R에서 gene id로부터 다른형식의 geneid 값을 가져오는 방법에 대해서 설명하고자 한다.

예시는 human의 ensembl geneid를 입력값으로 받아 hgnc_symbol로 바꾸는 것이지만 종을 다르게 하거나 hgnc_symbol이 아닌 다른 정보도 얼마든지 가져올 수 있다.

users guide 주소 :


library(biomaRt)

mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl"))
G_list <- getBM(filters= "ensembl_gene_id", attributes= c("ensembl_gene_id","hgnc_symbol"),values=df$Geneid,mart= mart)

위의 코드는 df$Geneid에 ensembl geneid가 있는 상태에서 매칭되는 hgnc_symbol을 가져와 g_list에 저장한 것이다. 

useDataset에서 "hsapiens"를 다른 종으로 바꿀 수 있으며

getBM에서 attributes를 hgnc_symbol이 아니라 다른정보 (enterzgene, refseq_mrna, interpro, interpro_description 등)으로 바꾸면 해당 정보를 가져올 수 있다. 


물론 아래처럼 사용하여 동시에 가져올 수도 있다.


ipro = getBM(attributes=c("refseq_mrna","interpro","interpro_description"), filters="refseq_mrna", values=refseqids, mart=mart)


## refseq_mrna interpro interpro_description ## 1 NM_000546 IPR002117    p53 tumour suppressor family ## 2 NM_000546 IPR008967    p53-like transcription factor, DNA-binding ## 3 NM_000546 IPR010991    p53, tetramerisation domain ## 4 NM_000546 IPR011615    p53, DNA-binding domain ## 5 NM_000546 IPR012346    p53/RUNT-type transcription factor, DNA-binding domain superfamily


어떤 정보를 가져올 수 있는지는 위의 users guide를 참조하기 바란다.

listAttributes(mart)를 입력하면 사용한 데이터셋에 대한 가능한 attributes가 나온다.


> head(listAttributes(mart),10)

                            name                  description         page

1                ensembl_gene_id               Gene stable ID feature_page

2        ensembl_gene_id_version       Gene stable ID version feature_page

3          ensembl_transcript_id         Transcript stable ID feature_page

4  ensembl_transcript_id_version Transcript stable ID version feature_page

5             ensembl_peptide_id            Protein stable ID feature_page

6     ensembl_peptide_id_version    Protein stable ID version feature_page

7                ensembl_exon_id               Exon stable ID feature_page

8                    description             Gene description feature_page

9                chromosome_name     Chromosome/scaffold name feature_page

10                start_position              Gene start (bp) feature_page



G_list에 해당 정보를 담았다면 이를 기존의 df와 합치는 과정이 필요하다. 



1. df$Geneid와 G_list$ensembl_gene_id의 값이 같을 때 두 data frame을 합치는 방식이다.


원래는 이 방법을 사용하고 있었으나 ensembl_gene_id가 위의 데이터 베이스에 없을 때 결과 df의 사이즈가 입력할 때와 달라지는 것을 확인하여 2번의 방법을 사용하는 것을 추천한다.


df <- merge(df,G_list,by.x="Geneid",by.y="ensembl_gene_id")



2. df에 hgnc_symbol 열을 미리 만들고 내용은 공란으로 채워넣는다. 공란으로 채우는 이유는 ensembl gene id가 데이터 베이스 없거나 또는 ensembl gene id는 있지만 여기에 매칭되는 hgnc symbol이 없어도 행을 유지시키기 위함이다.


아래의 코드를 사용하면 df$Geneid와 G_list$ensembl_gene_id가 매칭될 때 G_list$hgnc_symbol의 값을 df$hgnc_symbol에  넣는 다는 의미이다.


df$hgnc_symbol = ""
df["hgnc_symbol"] = lapply("hgnc_symbol", function(x) G_list[[x]][match(df$Geneid, G_list$ensembl_gene_id)])

df$hgnc_symbol을 확인해보면 값이 없는 부분은 공란으로 남아있고 match된 부분은 모두 ensembl gene id에 대응하는hgnc_symbol값이 들어 있을 것이다.


Reference -

https://www.bioconductor.org/packages/devel/bioc/vignettes/biomaRt/inst/doc/biomaRt.html




반응형
반응형

KEGG Mapper 사용법




KEGG Mapper는 KEGG PATHWAY에 실제 유전자의 발현량을 색으로 입혀 시각적으로 한 눈에 알아볼 수 있게 하는데 도움을 주는 웹 기반 프로그램이다.


홈페이지 : 

https://www.genome.jp/kegg/mapper.html




위의 예시에선 유전자에 붉은 색은 높은 발현량을 의미한다.


실제 데이터를 만들어 넣는 법은 매우 간단하다.


위의 홈페이지에서 Color Pathway 항목으로 가면 데이터를 입력할 수 있는 항목들이 있다.




Select KEGG pathway map : 색을 입히고자 하는 kegg pathway의 category를 입력하면 된다.


Enter data : examples를 보면 어떤식으로 데이터를 입력해야하는지 보여주는데 아래에서 실제 데이터로 설명하도록 하겠다.


Option : 색을 직접 RGB로 입력하거나 상대적인 값을 측정해 색을 부여하는 방식을 고를 수 있다.



여기서 가장 까다로운게 입력 데이터의 유전자 ID를 KEGG ID로 맞춰야 한다는 것인데 이는 아래 포스팅을 참조하면 해결할 수 있다.


2018/11/15 - [bioinformatics] - Gene ID conversion


위의 포스팅에서 엑셀로 KEGG Gene ID를 찾은 후 아래처럼 입력한다.




저장은 반드시 텍스트 (탭으로 분리) (*.txt)로 저장해야 한다.



위와같은 결과를 얻을 수 있다. 


condtion을 3개 주었기 때문에 가장 위에 contion1,2,3 탭이 보인다. 클릭을 하면 색만 바뀌기 때문에 비교하기 쉽다.


Reference -

https://www.genome.jp/kegg/mapper.html









반응형

'bioinformatics' 카테고리의 다른 글

DNA methylation  (0) 2019.06.18
NGS 기술을 이용한 Methylation 분석  (0) 2019.06.17
Gene ID conversion  (0) 2018.11.15
SRA data 다운로드받기  (1) 2018.10.17
oncotator 설치 및 실행하기  (0) 2018.10.04

+ Recent posts