레딧을 돌아다니다가 본 글인데 공감이 되어 퍼왔다
# 컴퓨터 전공자가 생물정보학을 전공하는 것은 쉬울까?
- You can apply software engineering to binf, as there's a lot of engineering roles within large hospitals and labs for developing bioinformatics tools (including web apps) and doing data engineering type work, ETL pipelines, processing large datasets, etc. If you have a couple of binf projects on github you can usually break into this type of role straight from SWE.
- You can go the support route, where you work in a lab as a tech/programmer supporting their biologists, helping them debug their analysis scripts, run their jobs on a cluster or the cloud, etc. This usually takes more binf knowledge, and you may need a master's or some research experience. You can break into it with extensive personal binf projects, but it's a little harder.
- "Pure" bioinformatics, or bioinformatics analysis. This usually requires at least an MS, and a PhD is typically preferred. This is where you're analyzing samples, drawing scientific conclusions, and it's typically heavier on statistics and biology. SWE skills aren't necessarily as valuable. If you want to go this route, I would say get at least an MS, and if you're really interested in the work, a PhD.
생물정보학은 통계학과 생물학의 비중이 높아서 개발을 좋아하는 사람이라면 순수 생물정보학은 어렵고, 플랫폼 개발이나 분석 기술 개발 쪽이 적합하다. 그리고 박사학위를 필요로 하는 곳이 많다는 것.
또한 개발자를 위한 유전학 교육 사이트를 추천해 주었다
- https://readiab.org/introduction.html
# 왜 생물정보학은 R을 많이 다룰까?
이는 명확하다. Python if you're coming from the computer scientist side of things, R if you're coming from the biologist side of things.
R은 생물학자들이 만든 bioconductor 프로젝트로 인해 초기에 많은 도구들이 파생되었고, R에서도 biopython이 존재하지만, 특정 영역(microbiome, RNA seq)등은 아직 R을 대부분 사용한다. 파이썬은 alphafold와 ML도구 등에서 강세를 보인다.
하지만 어떠한 영역이던 하나의 언어만 사용할 수 없다. 이 둘 중에서 Python이 초기 접근성이 좋다는 장점이 있다.
추가적으로 bash의 필요성도 언급되고 있다.
그러나 R은 통계에 치중이 된 언어로 고유한 특성을 가진다고 볼 수 있지만, 이와 다르게 Python은 C, C++, Java, Perl등에도 익숙하게 사용될 수 있다는 점에서 장점을 가진다.
또한 빅데이터 분석에서 R은 상대적으로 느리고, 메모리 관리가 나쁘기 때문에(대부분이 패키지 기반 프로그램으로 병렬화 하기 어려움) 추후에 어려움을 얻을 수 있다. (매우 공감 간다!!)
Python은 기업에서, R은 학교에서 사랑받는 언어이다.
결론적으로, 둘 다 배우고, bash도 배우고 C, C++도 알고 Java도 어차피 해야 한다는 것이다.