근래 필요에 의해서 ABI 3730 기계의 분석 프로그램을 설치하는 작업을 하게되어서 추후에 이 작업을 하시는 분들(저도 포함)에게 도움이 되고자 글을 작성합니다..
일단 구글링, 네이버에서는 ABI 3730 분석용 프로그램 설치에 대한 내용이 전혀 (물론 설치에 관련된 ABI에서 배포한 메뉴얼은 있지만) 없었고, AS를 요청하였는데 상당시간 기간이 소요하기에 극단적인 방법을 채택하였습니다.
고객이 직접 분석 프로그램 설치 및 켈리브레이션 후 사용하기
여하튼.. 한번이라도 심심풀이로 ABI 메뉴얼대로 일반 컴퓨터에 위의 DNA Analyzer Data Collection을 설치 해보신 분이라면 만만치 않은 프로그램이란 것을 확인하셨을 것입니다. 오라클에 JBOSS, IIS,. ABI에서 제작한 온갖 자바 패키지들까지...
일단 네단계로 이루어집니다. Step 1. PC 준비 Step 2. 설치 환경 준비 Step 3. Data Collection 설치 Step 4. ABI 3730과 통신 확인
Step 1. 분석용 PC 준비 ※ 그렇다고 메뉴얼은 폼으로있는것은 아닙니다. 메뉴얼 숙지가 우선입니다. ABI 3730 DNa Analyzer Data Collection (이하 Data Collection)을 설치하기 위해선 WinXP sp2 영문판이 있어야 합니다. 그리고 기본적으로 설치하는 백신도 설치 하지 마시기 바랍니다. 백그라운드로 작동하는 백신 프로그램으로 정상적으로 설치가 잘 안될 수 도 있습니다. 후에도 아직 설치하지 않고 있습니다.
중요한 부분이 하드의 파티션이 C,D,E,F는 무조건 하드 드라이브쪽에 잡혀있어야 합니다. 그리고 CD 드라이브는 G, 그외에는 별도로 요구하지 않습니다. 이 이유는 C(OS), E는 Data Collection 구동에 필요한 프로그램이 설치되고, D와 F 드라이브에는 데이터들이 저장(D,F중 하나는 백업용)되기 때문입니다. -이런 이유로 최조 ABI 3730과 같이 공급되는 컴퓨터에는 하드가 최소 두개 장착되어 제공됩니다. 추후에 관련 pdf를 첨부하도록 하겠습니다. 하지만 눈치 채셨다시피 논리적 하드만 잘 확인하시면 됩니다.물리적인 하드가 두개, 네개일 필요는 없습니다.
Step 2. 설치 환경 준비 일단 WinXP sp2 영문판이 설치되어서 사용자 계정, 혹은 Administrator로 로그인 하셨다면 기본적으로 하는 각종 M/B 드라이버를 설치하시고 안정화를 시키시기 바랍니다. 그리고, Python 2.2와 win32com 이라는 Python 라이브러리가 있습니다. 설치하시기 바랍니다. 그리고 일반 사용자 (Administrator이 아닌 관리자권한의 다른 계정) 계정의 암호는 걸어두었습니다. 이는 Data Collection 설치시 Administrator 계정에 접근하여 설치하기 위한 방법의 일환으로 하는 작업입니다. 그리고 스크린 세이버(사용안함) 및 모니터 절전 기능(프리젠테이션 사용)으로 모두 사용 안함으로 설정하고, 컴퓨터 이름을 메뉴얼에 나오있는데로 수정하시기 바랍니다. -다만 파이썬의 존재 여부가 필수적인지는 모르겠습니다만, 초기 공급된 PC의 OS 하드에서 Python2.2 폴더가 존재하는 것으로 확인되어서 일단 설치했었습니다.
Step 3. Data Collection 설치 ABI 3730과 함께 제공된 Data Collection 설치 CD를 삽입하여 패키지 설치를 합니다. 설치시 두가지만 주위하시면 됩니다. 설치 초기에 나오는 시리얼 코드 입력란에 입력을 하는데 그 박스에는 시리얼 코드외에 이미 내용이 적혀있는 칸이 있습니다. 바로 컴퓨터 이름입니다. 대신 저는 그대로(대문자) 다시 기록하되 소문자로 바꾸어 주었습니다. 컴퓨터 이름을 다시 확인하시면 소문자로 되어 있을 것입니다. - 단지 그 이유..설치에 영향을 주는지는 모르겠습니다. 그리고 Next 버튼으로 설치를 진행합니다. (실상은 파일 복사입니다.) 그리고 아마 IIS를 설치하기 위해 XP시디를 요구할 것입니다. 이 작업 이후 재부팅을 하겠느냐는 친절한 질문을 해오면 과감하게 내가 이따가 부팅하겠다고 선택하십시요. 그리고 XP 시디는 CD롬에서 제거하고, 다시 Data Collection 설치 시디를 삽입하시고 재부팅 시키십시요. -또 인스톨 프로그램이 작동할시 그냥 취소하시면 됩니다.
재부팅 후 설치를 위해서는 로그인이 필요합니다. 3730User은 Data Collection이 생성한 계정이므로 접근하지 마시기 바랍니다. 작업하는 동안 Administrator이 아닌 일반 관리자 권한 계정으로 작업을 해보진 못했지만 크게 문제는 없을 것 같습니다. 일단 로그인 화면에서 [Ctrl]+[Alt]+[Del] 키를 두번 누르면 Administrator 접속 가능한 창이 나옵니다. 거기서 로그인을 하게 되면 Data Collection이 설치를 시작합니다. 이때 어떠한 에러도 떠서는 안됩니다. 만약 자바 패키지 관련 에러가 발생한다면... Step 1. 부터 다시.... ^^ 제 경우 JBOSS 설치시 에러가 작렬하더군요.... JBOSS와 ABI측에서 개발한 패키지의 경우 발생하는듯 했습니다. 위의 설치과정이 에러없이 정상적으로 설치되었다면 이제 어려운 과정은 끝났습니다.
Step 4. ABI 3730과 통신 확인 분석 컴퓨터의 아이피를 메뉴얼에 나와있는데로 설정해주고, 랜선을 ABI 3730을 분석 컴퓨터와 연결하고 Data Collection 프로그램을 실행 시킵니다. 프로그램을 실행 싴키면 4개의 서비스가 빨간 원에서 초록색 사각형으로 변하면 모든것이 정상적으로 완료된것입니다. 만약 각 서비스마다 어떤 패키지를 로드하는지, 에러가 발생하는지 안하는지 확인하고 싶으시다면 {빨간원|노란색 삼각형|초록색 사각형} 중에 하나 일때 마우스 오른쪽 클릭을 하고 [Show Console] 이라는 것을 클릭하면 내용을 확인할 수 있습니다.
vi HOME/cgi-local/export.php #!/usr/local/bin/php >> 삭제 .... [END]
vi HOME/cgi-local/primer.php #!/usr/local/bin/php >> 삭제 .... [END]
메일에 적은 것과 같이 추가적인 프로그램이 필요합니다요
troll과 primer3 구글님께 검색해보시면 나오고요.. troll의 경우 제 경우에는 lib Error가 나서 libstdc++-libc6.2-2.so.3 설치해 주었습니다. primer3는 make 해주시고 실행 파일을 troll 폴더로 옮기시면 별도의 파일 수정 없어도 됩니다.
Blast와 함께 보편적으로 사용되는 Hmmer에 대한 설명서 hmmbuild/ hmmcalibrate/ hmmsearch에 대해서 설명 -물론 제가 사용하는 옵션에 대해서만 blast만큼 많지 않음. default로 사용해도 문제가 없으니깐~ 문제를 모르는것일 수도.. ㅎㅎ
-F 기존에 동일 이름의 hmm파일이 있으면 삭제하고 새로 만듬. 이 옵션 설정 안해주면 hmmbuild 아예 실행안됨.
ex) hmmbuild -F your_file.hmm your_file.aln
-f/ -g/ -s algorithm styles을 설정하는 옵션 이번에 사용하면서 이런 옵션을 처음 봤습니다. 왠지 hmm 멋져보이는 이유는.. ㅋ
ex) hmmbuild -f your_file.hmm your_file.aln
--amino/ --nucleic 강제로 alignment file이 어떤 서열인지 알려주는 것입니다.
ex) hmmbuild --amino your_file.hmm your_file.aln
-sequence weighting strategies - model construction strategies 위의 무엇인가 고급스러운 것을 최대한 안건드리면 사용하는게 제 생활신조입니다. default인 이유는 그런 이유가 있을 것이다 라는.. ㅋ 개인적으로 잘 아시는 분만 선택해서 사용하시면 됩니다. 사용방법은 옵션을 그냥 적어주시면 됩니다.
ex) Alternative model construction strategies중 --fast 옵션 사용 hmmbuild --fast your_file.hmm your_file.aln
hmmcalibrate: 만들어진 hmm matrix를 보정 시켜줌 hmmcalibrate [-options] <hmmfile> --cpu: 프로그램 수행에 사용할 cpu 갯수 설정, 멀티 코어의 경우 가능. 단, 컴파일 및 바이너리 파일을 받을때 cpu옵션이 on 되어 있는 것을 받아야 사용 가능
--seed: hmmcalibrate를 몇번 수행할것인지 설정 하는 옵션 인듯.
본인의 hmmcalibrate 사용 예
ex) hmmcalibrate your_file.hmm
hmmsearch: 만들어진 hmm 파일을 이용해서 유사한 서열을 찾음. hmmsearch [-options] <hmmfile> <sequence file or database>
-A <n>: 상위 n개 까지만 출력 -E <x>: blast의 e-value cutoff와 같은 것 -T/ -Z옵션도 안좋은 값을 짤라내기 위한 옵션
--cpu : 프로그램 수행에 사용할 cpu 갯수 설정, 멀티 코어의 경우 가능. 단, 컴파일 및 바이너리 파일을 받을때 cpu옵션이 on 되어 있는 것을 받아야 사용 가능
--domE <x> / --domT <x> 위의 -T/ -Z의 옵션과 같이 도메인에서 필터링 하는 옵션인듯. 사용 안해봤음. ^^ <sequence file or database>는 fasta format 파일이면 사용 가능함.
NCBI에서 제공되는 formatdb에 대한 메뉴얼 blast-2.2.18을 기준으로 작성합니다. 현재 2.2.20이 나와있죠?? 아마 옵션은 거의 동일할것입니다. -제가 자주 쓰는 옵션 중심으로 설명합니다.
-t 데이터베이스에 Title걸어주는 옵션. 사용안해봐서 모르겠음. Maybe 일반적으로 input_filename에 대해서 결과 파일이 나오는데 결과파일의 이름을 바꿔주는 옵션일 수도.
-i 데이터베이스 만들려고 하는 파일
ex) -i database_file_name
-l formatdb시 생설될 로그 파일 이름 설정 옵션 설정 안해도 formatdb.log라는 파일 생성
-p input 파일 타입 설정. 기본적으로 protein 서열들이 들어올것으로 설정되어 있음.
ex) -p T (inputfile이 protein 서열) -p F (inputfile이 nucleotide 서열)
-o Parse 옵션. NCBI에서 받은 정형화된 서열 format이 아니라면 F가 상책 임의의 fasta 파일의 경우 -o T 해주면 formatdb 생성 안됨.
ex) -o {T/F}
input파일이 ASN.1 형식의 파일일 경우 사용되는 옵션 -a Input file is database in ASN.1 format (otherwise FASTA is expected) -b ASN.1 database in binary mode 지금까지 한번도 사용안해봄. 대충 감은 오시죠???
NCBI에서 제공되는 Blastpgp에 대한 메뉴얼 blast-2.2.18을 기준으로 작성합니다. 현재 2.2.20이 나와있죠?? 아마 옵션은 거의 동일할것입니다. 제가 많이 사용하는 것을 중심으로 설명합니다.
-d blast를 돌리기 위한 데이터베이스 선택하는 옵션
ex) -d {nr|nt|your_database_file} blast에서 데이터베이스로 사용하기 위해서는 fasta파일을 formatdb로 blast에 사용할 수 있는 데이터베이스로 변환시켜주어야 사용 가능. formatdb 수행후 붙는 확장자 명은 적어주지 않아도 됨. 파일이름 적음.
-i 검색해보고 싶은 서열(들) 입니다. Query 파일은 fasta format으로 되어있어야 함.
ex) -i your_query_file.seq 현재폴더에 있는 서열 파일 -i /your/query/directory/query.fasta 다른 폴더에 있는 서열 파일
-e Expectation value를 정해줘서 설정된 값보다 크면 결과에 포함시키지 않는 옵션. 일반적으로 blastn의 경우 1e-06/1e-12, blastp의 경우 1e-03/1e-06으로 설정하고 상황마다 조정하면서 사용.
ex) -e 1e-06
-m 결과 파일을 저장할때의 format 결정 옵션. 일반적으로 로컬에서 blast를 돌리시려는 분들은 대량의 서열을 분석하기 위함이니, -m 8이 결과 파일을 분석하기 용이함,
ex) -m 8
-o Blast 결과 파일 설정하는 옵션
ex) -o your_output_file
-M blast를 실행시킬때 Matrix를 사용하게 하는 옵션. 서열과 서열을 비교하면서 weight를 주어서 peptide 서열을 검색할때 사용됨. 기본값은 BLOSUM62. Matrix는 /your_blast_folder/data/ 밑에 있음.
ex) -M {BLOSUM62|PAM250|your_matrix}
-a CPU가 1개 이상일때 blast 수행시 하나 이상의 cpu를 사용하게 하는 옵션
ex) -a 2
-j Blastpgp의 반복 옵션. Blast를 한번만 수행하는 것이 아니라 검색한 결과를 기반으로 처음보다 더 좋은 결과를 이끌어 내게끔 검색 횟수를 반복시켜 주는것.
ex) -j {3|5|your_choice} 그냥 blast만 반복하는 것이 아니라 매 결과를 가지고 pssm을 만들어서 다음 blast에 matrix로 참조(아닌가?? ㅋ)
-p PHI-Blast를 위한 프로그램 옵션
ex) -p {patseedp|seedp}
-k blast 수행시 패턴을 이용해서 blast를 수행하게 한다.
ex) -k pattern_file
-file format은 prosite에서 제공되는 형식임.
보기
ID HSF_DOMAIN; PATTERN. AC PS00434; DT MAY-1991 (CREATED); NOV-1997 (DATA UPDATE); APR-2009 (INFO UPDATE). DE HSF-type DNA-binding domain signature. PA L-x(3)-[FY]-K-H-x-N-x-[STAN]-S-F-[LIVM]-R-Q-L-[NH]-x-Y-x-[FYW]-[RKH]-K- PA [LIVM]. NR /RELEASE=57.2,466739; NR /TOTAL=68(68); /POSITIVE=68(68); /UNKNOWN=0(0); /FALSE_POS=0(0); NR /FALSE_NEG=7; /PARTIAL=0; CC /TAXO-RANGE=??E??; /MAX-REPEAT=1; CC /VERSION=1;
-B Alignment 파일 사용 옵션. PSI-Blast에서 PSSM 만들때 유저가 관여할 수 있게 해주는것 같음.
ex) -B alignment_file
Alignment file format (clustalw/clustalx의 aln 형식의 파일이면 사용 가능)
NCBI에서 제공되는 Blastall에 대한 메뉴얼 blast-2.2.18을 기준으로 작성합니다. 현재 2.2.20이 나와있죠?? 아마 옵션은 거의 동일할것입니다. 제가 많이 사용하는 것을 중심으로 설명합니다.
-p 5개의 기본 blast 프로그램중 하나를 선택하는 옵션
ex) -p {blastn|blastp|blastx|tblastn|tblastx}
-d blast를 돌리기 위한 데이터베이스 선택하는 옵션
ex) -d {nr|nt|your_database_file} blast에서 데이터베이스로 사용하기 위해서는 fasta파일을 formatdb로 blast에 사용할 수 있는 데이터베이스로 변환시켜주어야 사용 가능. formatdb 수행후 붙는 확장자 명은 적어주지 않아도 됨. 파일이름 적음.
-i 검색해보고 싶은 서열(들) 입니다. Query 파일은 fasta format으로 되어있어야 함.
ex) -i your_query_file.seq 현재폴더에 있는 서열 파일 -i /your/home/path/query.fasta 다른 폴더에 있는 서열 파일
-e Expectation value를 정해줘서 설정된 값보다 크면 결과에 포함시키지 않는 옵션. 일반적으로 blastn의 경우 1e-06/1e-12, blastp의 경우 1e-03/1e-06으로 설정하고 상황마다 조정하면서 사용.
ex) -e 1e-06
-m 결과 파일을 저장할때의 format 결정 옵션. 일반적으로 로컬에서 blast를 돌리시려는 분들은 대량의 서열을 분석하기 위함이니, -m 8이 결과 파일을 분석하기 용이함,
ex) -m 8
-o Blast 결과 파일 설정하는 옵션
ex) -o your_output_file
-M blast를 실행시킬때 Matrix를 사용하게 하는 옵션. 서열과 서열을 비교하면서 weight를 주어서 peptide 서열을 검색할때 사용됨. 기본값은 BLOSUM62. Matrix는 /your_blast_folder/data/ 밑에 있음.
본 방법은 수원대 박훤범 교수님방의 안박사님께서 2003년도 쯔음에 알려주신 방법.. ㅋㅋ 철현이형 댕쓰~!! ^^ㅋ
요즘 생명공학을 공부하면서 Blast 툴을 모르는 사람은 아마도 거의 없을 것이다. (분명 몰라도 상관없는 분들 계시리라 믿는다. ^^)
blastn : search a nucleotide DB, using a nucleotide query blastp : search proein DB, using a proein query
blastx : search protein DB, using a translated nucleotide query tblastx: search translated nucleotide DB, using a translated nucleotide query tblastn: search translated nucleotide DB, using a protein query
blastn과 blastp의 경우 이름에 나와있다시피 크게 헷갈릴일이 없다. ^^ query와 db모두 같으니 말이다.
그러나 blastx/tblastn/tblastx의 경우 query와 db가 동일하지 않아서 많은 경우 헷갈리고 결국 구글님께 문의를 하게된다.
blast 앞에 t가 붙는 것은 search translated nucleotide DB blast 뒤에 x가 붙는 것은 using a translated nucleotide query 로 외워주시면 다른 정보는 유추 가능하므로 헷갈리지 않겠지요.. ^^
-INFILE=file.ext :input sequences. -PROFILE1=file.ext and -PROFILE2=file.ext :profiles (old alignment).
VERBS (do things)
-OPTIONS :list the command line parameters -HELP or -CHECK :outline the command line params. -FULLHELP :output full help content. -ALIGN :do full multiple alignment. -TREE :calculate NJ tree. -BOOTSTRAP(=n) :bootstrap a NJ tree (n= number of bootstraps; def. = 1000). -CONVERT :output the input sequences in a different file format.
PARAMETERS (set things)
***General settings:**** -INTERACTIVE :read command line, then enter normal interactive menus -QUICKTREE :use FAST algorithm for the alignment guide tree -TYPE= :PROTEIN or DNA sequences -NEGATIVE :protein alignment with negative values in matrix -OUTFILE= :sequence alignment file name -OUTPUT= :GCG, GDE, PHYLIP, PIR or NEXUS -OUTORDER= :INPUT or ALIGNED -CASE :LOWER or UPPER (for GDE output only) -SEQNOS= :OFF or ON (for Clustal output only) -SEQNO_RANGE=:OFF or ON (NEW: for all output formats) -RANGE=m,n :sequence range to write starting m to m+n -MAXSEQLEN=n :maximum allowed input sequence length -QUIET :Reduce console output to minimum -STATS= :Log some alignents statistics to file
***Fast Pairwise Alignments:*** -KTUPLE=n :word size -TOPDIAGS=n :number of best diags. -WINDOW=n :window around best diags. -PAIRGAP=n :gap penalty -SCORE :PERCENT or ABSOLUTE
***Slow Pairwise Alignments:*** -PWMATRIX= :Protein weight matrix=BLOSUM, PAM, GONNET, ID or filename -PWDNAMATRIX= :DNA weight matrix=IUB, CLUSTALW or filename -PWGAPOPEN=f :gap opening penalty -PWGAPEXT=f :gap opening penalty
***Multiple Alignments:*** -NEWTREE= :file for new guide tree -USETREE= :file for old guide tree -MATRIX= :Protein weight matrix=BLOSUM, PAM, GONNET, ID or filename -DNAMATRIX= :DNA weight matrix=IUB, CLUSTALW or filename -GAPOPEN=f :gap opening penalty -GAPEXT=f :gap extension penalty -ENDGAPS :no end gap separation pen. -GAPDIST=n :gap separation pen. range -NOPGAP :residue-specific gaps off -NOHGAP :hydrophilic gaps off -HGAPRESIDUES= :list hydrophilic res. -MAXDIV=n :% ident. for delay -TYPE= :PROTEIN or DNA -TRANSWEIGHT=f :transitions weighting -ITERATION= :NONE or TREE or ALIGNMENT -NUMITER=n :maximum number of iterations to perform -NOWEIGHTS :disable sequence weighting
***Profile Alignments:*** -PROFILE :Merge two alignments by profile alignment -NEWTREE1= :file for new guide tree for profile1 -NEWTREE2= :file for new guide tree for profile2 -USETREE1= :file for old guide tree for profile1 -USETREE2= :file for old guide tree for profile2
***Sequence to Profile Alignments:*** -SEQUENCES :Sequentially add profile2 sequences to profile1 alignment -NEWTREE= :file for new guide tree -USETREE= :file for old guide tree
***Structure Alignments:*** -NOSECSTR1 :do not use secondary structure-gap penalty mask for profile 1 -NOSECSTR2 :do not use secondary structure-gap penalty mask for profile 2 -SECSTROUT=STRUCTURE or MASK or BOTH or NONE :output in alignment file -HELIXGAP=n :gap penalty for helix core residues -STRANDGAP=n :gap penalty for strand core residues -LOOPGAP=n :gap penalty for loop regions -TERMINALGAP=n :gap penalty for structure termini -HELIXENDIN=n :number of residues inside helix to be treated as terminal -HELIXENDOUT=n :number of residues outside helix to be treated as terminal -STRANDENDIN=n :number of residues inside strand to be treated as terminal -STRANDENDOUT=n:number of residues outside strand to be treated as terminal
***Trees:*** -OUTPUTTREE=nj OR phylip OR dist OR nexus -SEED=n :seed number for bootstraps. -KIMURA :use Kimura's correction. -TOSSGAPS :ignore positions with gaps. -BOOTLABELS=node OR branch :position of bootstrap values in tree display -CLUSTERING= :NJ or UPGMA