Monday, July 30, 2018

태도와 인성이 진짜 중요한것인가?

최근 회사에서 사람을 뽑을때 무엇을 봐야하나?
능력을 봐야하나 태도나 인성을 봐야하나? 라는 내용의 글이 심심치않게 보이는데..
왜? 지금 타이밍에? 진짜 그런거야? 아니면 뭘 얘기하는거야?
라는 생각이 들어서...

솔까말 위에 언급한 내용의 글을 쓰는 분들과는 달리 본인이
회사에 컨설팅을 하는 사람도 아니고
걍 생정보학이라는 도구를 가지고 바이오회사 이곳 저곳을 경험한것들을 바탕으로
쫄래쫄래 돌아다니고있는 닝겐이지만..

왜 갑자기 이런 류의 글들이 회자되고 있을까라는 궁금함이 컸고
기존에는 저런 거 별로 없었는데 왜 이 타이밍에 하나같이 저럴까 해서
사견 가득하고 전문적이지도 않은 어찌보면 별 내용없는 뻘글 하나 투척한다는 기분으로 글하나 끄적여봅니다.

사실 회사가 원하는 직원
동서고금을 막론하고 회사에 이윤을 안겨다주는 직원아닌가?
-그건 대표가 하는거고 직원은 그냥 대표가 시키는 일만하면 된다라고 하시면.. 네 죄송합니다.


이윤을 안겨다 주는 직원과 대표 혹은 상사가 시키는 일을 잘하는 직원이 아닌
태도가 좋은 직원이 진짜 회사가 원하는 인재인가?
-내가 창업할것도 아니고 채용해주면 "감사합니다. 열씨미 일하겠습니다."해야지 무슨 말이 이렇게 많단말인가 ㅋ-

그럼 우선 인성/태도라는 단어가 채용에서 주 관심 Keyword가 되었을까?

대략 이런 글들의 예를 보면
회사는 사람이 모인곳이다.
일의 규모가 커지고 있기에 혼자서 일을 처리할 수 없다.
고로 협업을 잘해야한다.
근데 인성/태도가 않좋으면 협업이 어렵다.
그러니깐 능력/실력도 중요하지만 인성/태도가 더 우선하는게
더 회사를 성장시키는데 유리하다고 말하고있다.

예, 점점 일의 규모가 커지면서 협업은 필수적인 일의 방식이 되었다.
근데 여기서 협업이 어려운게 단순히 인성과 태도 때문일까?

※여기서 잠깐 인성과 태도에 대해서 한번 집고 넘어가자. (대한민국의 최고 포탈 사이트인 네이버에서 한번 검색해봤다.)

인성:
1.사람의 성품,
2.각 개인이 가지는 사고와 태도 및 행동 특성.

태도:
1. 몸의 동작이나 몸을 가누는 모양새.
2. 어떤 일이나 상황 따위를 대하는 마음가짐. 또는 그 마음가짐이 드러난 자세.
3. 어떤 일이나 상황 따위에 대해 취하는 입장.


인성과 태도가 좋은 사람을 뽑아야 한다는데 과연 그 좋다는게 무엇일까?
인성과 태도가 좋은게 어떤걸까?
설마 상사의 모든 업무 요청을 다 들어주고 야근은 하되 수당은 받지않고 모 그런건가?
(심증은 있지만 물증이 없으니... 마음속으로만...)

태도와 인성의 좋고 나쁨은 위에서 본것과 같이 어떻게 정량하기도 구분하기도 힘들다.
코에 걸면 코걸이 귀에 걸면 귀걸이가 된다.

태도와 인성이 중요하긴 하지만
곶간에서 인심나듯이 내가 여력이 있을때 얘기지
내 코가 석자인데 협업은 무슨 개뿔 뜯어먹는 소리인 현실에서
태도와 인성 운운하는건 이건 탁상공론아닌가?

그리고 태도와 인성이 본인의 문제일수도 있지만
다른 사람의 선입견이라면? 상급자 혹은 보스의 문제로 인해
태도와 인성이 되먹지 못하게되었다면?

두서없는 글 마무리하도록 하겠습니다.

요약하자면..
1. 인성과 태도 그리고 능력 중에 저울질 하지 말자.
인성과 품성은 근본적으로 고치기 어려운것이고 능력은 선임자나 다른 능력자가 가르치면된다는 환상에서 이제 그만 벗어나자. 당신은 다른 사람의 능력을 끌어올릴만한 능력이 없다는것을 다시 얘기해주어야 하는가?

2. 인성과 태도는 상급자(보스)에 따라 얼마든지 컨트롤 가능하다.
인성/태도가 쓰레기인 사람들도 사람이다. 싸이코패스 아닌이상 본인을 진심으로 대하는
사람이 누구인지 그들이라고 모르겠는가? 섣부르게 판단하지 말자.

3. 인성과 태도 운운하는데 인성과 태도도 좋으면서 능력있는 사람에게는 그만큼의 대우를 해주는가?
인성과 태도, 그리고 능력을 저울질하면서 정작 주위에 있는 인성과 태도도 좋으면서 능력까지 있는 사람들에게는 그만큼의 대우는 하고 있는가?

결론은 인성/태도 운운하지말고 회사/조직/팀에 필요한 사람을 적절하게 채용하고 적재적소에 배치하는게 중요하지 않나 싶다.

결론: 돈주면 성과는 내겠습니다.  :) ㅋ

Wednesday, July 18, 2018

Biopython Entrez 사용하기

최근에 rosalind를 다시 해보면서
가능하면 파이썬 기본 라이브러리로 해결해보려고 했는데
Bioinformatics Armory 부분의 일부 문제는 Biopython을 사용하지않으면
꽤나 곤란한 상황이 발생할것 같아서
일부 문제에서는 걍 추천하는대로 biopython을 사용하는걸로..

그리고 Biopython과 함께 E-utilities를 사용해야 하는데
역시 간만에 보니 생각이 안나는게 인지상정

관련 NCBI 페이지


E-utility에서 사용하는 DB 이름..
Entrez DatabaseUID common nameE-utility Database Name
BioProjectBioProject IDbioproject
BioSampleBioSample IDbiosample
BiosystemsBSIDbiosystems
BooksBook IDbooks
Conserved DomainsPSSM-IDcdd
dbGaPdbGaP IDgap
dbVardbVar IDdbvar
EpigenomicsEpigenomics IDepigenomics
ESTGI numbernucest
GeneGene IDgene
GenomeGenome IDgenome
GEO DatasetsGDS IDgds
GEO ProfilesGEO IDgeoprofiles
GSSGI numbernucgss
HomoloGeneHomoloGene IDhomologene
MeSHMeSH IDmesh
NCBI C++ ToolkitToolkit IDtoolkit
NCBI Web SiteWeb Site IDncbisearch
NLM CatalogNLM Catalog IDnlmcatalog
NucleotideGI numbernuccore
OMIAOMIA IDomia
PopSetPopSet IDpopset
ProbeProbe IDprobe
ProteinGI numberprotein
Protein ClustersProtein Cluster IDproteinclusters
PubChem BioAssayAIDpcassay
PubChem CompoundCIDpccompound
PubChem SubstanceSIDpcsubstance
PubMedPMIDpubmed
PubMed CentralPMCIDpmc
SNPrs numbersnp
SRASRA IDsra
StructureMMDB-IDstructure
TaxonomyTaxIDtaxonomy
UniGeneUniGene Cluster IDunigene
UniSTSSTS IDunists
모 그렇다고 합니다.

Wednesday, June 13, 2018

LASTZ 사용해보기


LASTZ Site

LASTZ README


간만에 긴 DNA 서열 두개를 alignment를 할 일이 생겨서
이것저것 찾아보다가
알게된 lastz

맨날 bwa/bowtie랑 blast만 주구장창 돌리다보니..
두개만 alignment 할때 뭘써야 하는지도 모르는 바보가 된듯.. 여튼

lastz의 전신이 blastz(ncbi의 blast랑 관련이 있는지는 모르겠고)였고
오래전에 Human이랑 Mouse 비교해봤다는 유물을 확인 할 수 있었다는게 소득이라면 소득?

lastz 설치랑 사용법이야 일단 다운받고
make && make install이나 chmod 755 lastz하면 대략 작동할것같지만
옛 유물처럼 Human vs Mouse 비교해볼요량이면 build할때
옵션좀 만져주셔야합니다.

그리고 이번에 작업하면서 알게된 놀라운 사실!!
서열에 ambiguous 서열이 있어도 비교가 가능합니다.!! @.@

--ambiguous=iupac
라는 옵션을 사용하면 비교는 해줍니다.
단, --ambiguous=n는 ambiguous base를 N으로 인지하겠다는것이 아니라는것이 함정! (>_<)

Wednesday, April 18, 2018

PRINSEQ 설치

PRINSEQ Site

세상에는 다양한 fastq 파일을 핸들링하는 tool들이 있는데
최근에 microbiome작업하면서 다시 손댄 tool
-다른 tool들 대비 stat 자동화하기 나쁘지않아 보였고 이미지가 좀 이쁘지않나?

여튼.. 문제는 2013년 이후 업데이트되지 않았다는게 좀 그런데..
모 그렇다고 실행되던게 갑자기 안되지 않으니..
설치해서 사용했었으니 사용해도 무방하다. :)


>wget https://sourceforge.net/projects/prinseq/files/standalone/prinseq-lite-0.20.4.tar.gz
>tar zxf prinseq-lite-0.20.4.tar.gz

lite 버전을 설치하려면 다음과 같은 perl 모듈을 설치해줘야 프로그램이 실행된다.
#use Data::Dumper; ###
use Getopt::Long;
use Pod::Usage;
use File::Temp qw(tempfile); #for output files
use Fcntl qw(:flock SEEK_END); #for log file
use Digest::MD5 qw(md5_hex); #for dereplication
use Cwd;
use List::Util qw(sum min max);

그리고 graph버전을 설치하려면 다음과 같은 perl모듈을 설치해줘야 하니
prinseq설치 전에 미리미리 설치하는것에 정신건강에 이롭다.
use Getopt::Long;
use Pod::Usage;
use File::Temp qw(tempfile); #for output files
use Fcntl qw(:flock SEEK_END); #for log file
use Cwd;
use JSON;
use Cairo;
use Statistics::PCA;
use MIME::Base64;
use File::Basename;
use Data::Dumper;

다른 생정보관련 프로그램을 설치했다면 대부분 설치되어있을듯...

만약 추가적인 설치가 필요하면 
cpan 실행해서 필요한 모듈 install해주면 된다능..

아니면 이런거 대신 해주는 팀원이나 부서원이 있는 회사다니시면 됩니다. :)

Tuesday, April 17, 2018

FastQC 설치

FastQC Site

원하는 위치로 이동하여 다음 명령어를 실행
>wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.7.zip
>unzip fastqc_v0.11.7.zip
이라고 실행하면 FastQC폴더가 생성되면서 압축해제
>cd FastQC
>chmod 755 fastqc
>./fastqc -h

하면 도움말이 주루룩..

Tuesday, March 27, 2018

qiime에서 reference에 tree 파일이 없을때..

qiime을 사용하려고 하는데
기성복처럼 제공되는 천랩 db이나 gg database말고
다른 몬가 나 qiime 좀 잘한다고 자랑하려고
다른 microbiome database(근데 그런게 있나?? 직접 만들어봤자.. ) 사용하고자할때! 바로 그 순간

서열은 가지고 있지만 qiime에서 분석하다보면 db가 custome일 경우
tree파일이 없어서 몇몇 분석은 진행 못합니다.

기껏 폼좀 잡았는데 왠 개망신 Orz

자 그래서 우리의 Rob 횽님께서는 미리미리 준비하셨습니다.

일단 두개의 스크립트를 제공하고 있습니다.
1) align_seqs.py
2) make_phylogeny.py

이름보니깐 딱 느낌이 오죠
사실 이 작업에서 1번 스크립트는 필수 파일은 아닙니다.
2번 스크립트만 있으면 됩니다.
1번은 2번 스크립트에서 입력받을 수 있는 format의 alignment로 대신 할 수 있습니다.
-그러나 저는 그렇지 않았다능!! 어떤 값을 입력값으로 받는지 궁금하시면 직접해보시면됩니다.!

그러나 우리 Rob 횽님께서 qiime 패키지안에 넣어주셨는데 한번 써봐야하지 않겠습니꽈!

우선 분석에 사용할 rep set fasta 파일은 준비합니다.

설명페이지 align_seqs make_phylogeny

align_seqs.py -i ref.fasta -m pynast -o pynast

make_phylogeny.py -i /path/to/aligned.fasta -o /path/to/rep_phylo.tre

두 스크립트를 순서대로 실행시키시면
짜란~!!
rep_phylo.tre를 손에 거머쥘수 있습니다.!

그럼,

May the Genome be with you.


Tip. align_seqs의 -m (--alignment_method) 인 정렬 method에는
pynast, infernal, clustalw, muscle, mafft이 존재하지만
제 경우 pynast이외의 경우 에러가 발생하여 진행이되지 않았었습니다.

Tip. make_phylogeny의 -t (--tree_method)인 tree 생성 method에는
clustalw,raxml_v730, muscle, fasttree, clearcut가 있지만
default 값인 fasttree를 사용해서 진행
이유는 역시 제 경우 다른 method들은 에러가 나서.. Orz

일단 qiime 설치가 제일 중요한것보다 그냥 남들이 만들어 주는 데이터베이스 쓰시라능.. :)


Monday, March 26, 2018

NCBI Website and Data Usage Policies and Disclaimers

관련 NCBI 원문 URL

Website Disclaimer
쓰는건 님 자유지만 어떠한 유형의 문제가 발생하면 쓴 너님 문제

Website Usage
NCBI 웹페이지는 Title 18 조항에 의해 보호되니깐 작은 하마를 건들면 ㅈ되는 것처럼 똑같이 됨.


Copyright Status of Webpages
NLM (National Library of Medicine) 웹 페이지의 공개 정보는 자유롭게 배포 및 복사 할 수 있습니다. 그러나 몇몇 저작물(그게 무엇인지는 비밀)에 대해서는 NLM에 적절한 확인을 요청해야 합니다. 


Molecular Data Usage
NCBI 웹 사이트의 분자 데이터베이스는 nucleotide sequences (GenBank), protein sequences, macromolecular structures, molecular variation, gene expression, and mapping data를 통칭.
NCBI는 이 안에 포함된 데이터의 사용이나 배포에 대한 아무런 제한을 두지 않는다. 제출자가 재사용/재배포에 대한 제한을 요청해도 승인하지 않는다. 그러나 제출자가 특허나 저작권 또는 기타 지적 재산권을 주장 할 수는 있다. NCBI는 이러한 청구에 대해서 평가를 하는 기관이 아니다. 제출자로부터 권리를 양도받지 않았기에 NCBI는 제 3자에게 양도 할 권리가 없다.
요약: 문제의 소지가 있는 데이터가 존재 할 수 있고 문제 발생 시 NCBI는 관여하지 않으니 니들끼리 알아서 해결하세요


Human Genomic Data Submitted to Unrestricted-Access Repositories
대규모 인체 게놈 데이터를 NCBI에 보관하고 싶으면 NIH 게놈 데이터 공유 정책(GDS)의 조건에 충족해야한다.


Use of Web Browsers
NCBI는 크롬과 불여우, 사파리 그리고 에지의 최신버전및 이전 두 버전을 지원한다.
놀랍게도 IE11이상이면 IE에서도 작동한다. 역시 자국 소프트웨어를 써주는건 어느나라나 동일한듯.


Accessibility Policy
가능한 모든 사람들이 접근 할 수 있도록 노력을 기울이고 있습니다.


Privacy Policy
NCBI는 님들 정보따위에 관심없으니 걱정마셈


Medical Information and Advice Disclaimer
NLM은 특정 의학 조언을 제공하는 것이 아닌 자신의 건강 및 진단된 장애를 더 잘 이해할 수 있는 정보를 사용자에게 제공하기 위함이니 정확학 임상적인 조언은 진단을 할 수 있는 자격을 갖춘 의사와 상담하길 바란다.


Guidelines for Scripting Calls to NCBI Servers
NCBI 시스템에 부하를 주지마세요. https://eutils.ncbi.nlm.nih.gov 를 사용하세요.

Monday, August 07, 2017

sensors 로그 기록용 스크립트

서버 온도가 아무 작업을 안해도
60도를 상회하는 관계로 sensors로 온도 변화를 기록하고자
급하게 작성한 한 스크립트.
물론 쓸모는 없었다는게 함정 ㅋ


import time
from datetime import datetime
from subprocess import check_output

while 1:
        print datetime.today().strftime("%Y/%m/%d/ %H:%M:%S")
        contents = check_output(['sensors'])
        print contents
        time.sleep(60)

DELL 서버들은 iDRAC에서 로그를 뽑아내서
엔지니어한테 전달해줘야봐준다능... Orz

Thursday, May 04, 2017

윈도우7 설치 후기

5월 첫주 연휴기념으로(비록 연차는 까여서 -2로 시작하지만..ㅋ)
간만에 PC의 윈도우 재설치

Vostro 460, 2010년쯔음 구매한 물건으로
SSD와 하드만 계속 업그레드하면서 사용한 녀석인데
이번에 재설치하고나서 계속 프리징현상이 발생해서
최근에 구매한 3T 하드때문인지 해당 하드 빼고 설치.
SSD에 윈도우 설치하고 윈도우 업데이트하는데도
불구하고 프리징 현상이 살짝 보임.
sleep mode에서 깨어날때와, 윈도우 업데이트 할때 빈번..

윈도우내의 모너터링툴로 하드 사용향 확인하는데 활성화 시간이 100%찍을때 가끔
프리징 현상이 나타나는데 그게 윈도우 업데이트 작업 할때 간간이...

결국 SSD만 사용해서 다시 재설치(히루에만 3번 설치했네;;;)하고
절전옵션 고성능/하드 sleep 기능 off 후 윈도우 업데이트하고
Win7에서 윈도우 업데이트할때 무한 루프에 빠지는 문제 발생시 해결하는 hotfix 두개 설치
Step1. Windows6.1-KB3050265-x64.msu
Step2. Windows6.1-KB3102810-x64.msu

그리고나서 하루정도 방치해서 업데이트가 되는지 프리징이 생기는지 확인하고
오늘 이것저것 설치해서 정상복귀...

초기와 설치된 프로그램 차이라고 한다면
백신을 알약과 Avast 두개를 설치했다가 지금은 avast하나만 설치했다는 점이
차이라면 차이...

1. SSD와 Win7과의 드라이버 호환 문제
(Win7 SP1에 이미 해당 hotfix는 적용되서 가능성 적음)

2. 서로다른 백신의 사용 문제
- 지금까지 알약과 avast를 동시에 사용하고 있었는데.. 왜 지금 문제를...

3. 윈도우 업데이트관련 문제
- 가능성이 높아 보이긴 한데 SSD에서는 프리징만 빈번했지 다운까지는 안됐는데
HDD와 함께 있을경우 프리징이 일어나다가 다운되는게 차이가 좀 있어서 차이가 있는지가 좀 의문...

간만에 윈도우 재설치하느라 연휴의 이틀을 스트레스 만빵 ㅋㅋ

Friday, March 31, 2017

nanonet 사용법


Nanonet Git Hub

Nanopore MinION raw 데이터인 fast5에서 2D read 추출하려고 하는데
nanopore로 검색하면 나오는 poretools, nanopolish, nanook들을 사용했음에도
어느하나 2D 서열을 추출 못하고 있어서 전전긍긍하고 있을때

혜식처럼 나타나는 그분이 알려주신 바로 그 tool!!

nanonet되시겠습니다.

우선 CPU기반으로 사용하였습니다. nanonet은 GPU도 지원하고 있는데
GPU로 하였을때 CPU기반으로 돌렸을 때 확인되던 2D가 나오지 않았다능..

일단 어쩔수 없지만 cpu기반으로 수행

fastq로 저장을 해보자!
$nanonet2d --fastq --jobs 8 --chemistry r9.4 pass output.r94

fasta로 저장을 해보자!
$nanonet2d --jobs 8 --chemistry r9.4 pass output.r94

다른 tools들과 다른 점은 chemistry버전을 선택할 수 있는 것과 무엇인지 모르겠지만 간지나 보이는 trmplate와 complement의 model 선택 옵션
그리고 이를 뒷받침하듯이 nanonettrain명령어도 있고....
poretools같은 일반적인 tools이 안먹힐때는 nanonet도 한번 사용해 보시기 바랍니다. ;)