1 / 103

한 줄짜리 생물정보학 (서울대학교 생물정보학 협동과정 2019년 1학기 "생물정보학을 위한 IT기초")

Slides for the "One-liner Bioinformatics" session<br>IT Basics for Bioinformatics, Spring 2019<br>Interdisciplinary Program in Bioinformatics, Seoul National University

hyeshik
Download Presentation

한 줄짜리 생물정보학 (서울대학교 생물정보학 협동과정 2019년 1학기 "생물정보학을 위한 IT기초")

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 생물정보학을 위한 IT기초 2019년 1학기 한 줄짜리 생물정보학 One-liner Bioinformatics 장혜식 서울대학교 생명과학부

  2. 따로 저작권이 표시되지 않은 슬라이드는 Creative Commons 4.0 BY-SA 조건으로 사용하실 수 있습니다. 실습용 데이터는
 https://gist.github.com/hyeshik/027766edb624cac2576db0bcca1fe76c
 에서 받으실 수 있습니다.

  3. Unix Command Line for Genomics

  4. Unix 명령행—왜 쓰나? - 대부분의 생물정보학 도구는 커맨드 라인 인터페이스만 제공한다. - 만들기 쉽다. 필요한 기능만 만들면 된다. - 확장하기 좋다. 다른 프로그램에서 불러 쓰기도 좋고, 파이프라인 을 만들고, 여러 프로그램을 조합해서 쓰기도 좋다. - 작은 일 하나만 정말 잘 하는 도구로 만들기 좋다. - 범위가 좁을 수록 시장이 넓다. (제작, 유지보수에서 경제적임) - 범위가 좁을 수록 검증이 쉽고 신뢰할 수 있다. - 지원하는 기능 만큼은 최선을 다 할 수 있다. - 기록, 자동화, 복사&붙여넣기가 쉽다. - 실수할 가능성이 줄어든다. - 원격지 컴퓨터를 쓰기에 편하다. - 거의 모든 주요 OS에서 잘 지원함.
 macOS (FreeBSD), Windows (Ubuntu Linux외)

  5. Unix가 도대체 뭔가? AT&T의 Ken Thompson과 Dennis Richie가 만든 (주로 시분할 시스템을 위한) 운영체제 © Peter Hamer CC BY-SA 2.0 모듈러 설계가 특징

  6. 1969 1969 Unnamed PDP-7 operating system Open source 1971 to 1973 1971 to 1973 Unix Mixed/shared source Version 1 to 4 1974 to 1975 1974 to 1975 Unix Closed source PWB/Unix Version 5 to 6 1978 1978 BSD 1.0 to 2.0 Unix Version 7 1979 1979 Unix/32V 1980 1980 BSD 3.0 to 4.1 Xenix 1.0 to 2.3 1981 1981 System III 1982 1982 Xenix 3.0 BSD 4.2 1983 1983 SunOS 1 to 1.1 System V R1 to R2 1984 1984 SCO Xenix Unix Version 8 1985 1985 SCO Xenix V/286 System V AIX 1.0 R3 BSD 4.3 1986 1986 Unix-like systems HP-UX 1.0 to 1.2 SunOS 1.2 to 3.0 SCO Xenix V/386 Unix 9 and 10 (last versions from Bell Labs) 1987 1987 HP-UX 2.0 to 3.0 1988 1988 BSD 4.3 Tahoe System V R4 SCO Xenix V/386 1989 1989 BSD Net/1 BSD 4.3 Reno 1990 1990 NexTSTEP/ OPENSTEP 1.0 to 4.0 복잡하지만 간단한 Unix 가계도 BSD Net/2 1991 1991 Linux 0.0.1 SunOS 4 Minix 1.x 386BSD 1992 1992 HP-UX 6 to 11 NetBSD 0.8 to 1.0 Linux 0.95 to 1.2.x BSD 4.4-Lite & Lite Release 2 UnixWare 1.x to 2.x (System V R4.2) SCO UNIX 3.2.4 1993 1993 FreeBSD 1.0 to 2.2.x 1994 1994 1995 1995 NetBSD 1.1 to 1.2 OpenBSD 1.0 to 2.2 OpenServer 5.0 to 5.04 Solaris 2.1 to 9 1996 1996 1997 1997 NetBSD 1.3 FreeBSD 3.0 to 3.2 1998 1998 OpenServer 5.0.5 to 5.0.7 Minix 2.x 1999 1999 Mac OS X Server AIX 3.0-7.2 2000 2000 2001 to 2004 2001 to 2004 Linux 2.x 2005 2005 UnixWare 7.x (System V R5) 2006 to 2007 2006 to 2007 OpenBSD 2.3-6.1 Solaris 2008 2008 10 Mac OS X, OS X, macOS 10.0 to 10.12 (Darwin 1.2.1 to 17) FreeBSD 3.3-11.x NetBSD 1.3-7.1 OpenServer 6.x HP-UX 11i+ 2009 2009 DragonFly BSD 1.0 to 4.8 Minix 3.1.0-3.4.0 2010 2010 OpenSolaris & derivatives (illumos, etc.) 2011 2011 Linux 3.x 2012 to 2015 CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 2012 to 2015 Solaris 11.0-11.3 2016 2016 Linux 4.x OpenServer 10.x 2017 2017

  7. 1969 Unnamed PDP-7 operating system 1971 to 1973 Unix Version 1 to 4 1974 to 1975 Unix Version 5 to 6 1978 BSD 1.0 to 2.0 Unix Version 7 1979 Unix/32V 1980 BSD 3.0 to 4.1 1981 1982 BSD 4.2 1983 SunOS 1 to 1.1 1984 Unix Version 8 1985 BSD 4.3 1986 Unix-like systems SunOS 1.2 to 3.0 Unix 9 and 10 (last versions from Bell Labs) 1987 1988 BSD 4.3 Tahoe 1989 BSD Net/1 BSD 4.3 Reno 1990 BSD Net/2 1991 Linux 0.0.1 SunOS 4 Minix 1.x CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 386BSD NexTSTEP/ OPENSTEP 1.0 to 4.0 1992 NetBSD 0.8 to 1.0 Linux BSD

  8. 1969 Unnamed PDP-7 operating system Open source 1971 to 1973 Mixed/shared source 1974 to 1975 Closed source PWB/Unix 1978 1979 Unix/32V 1980 Xenix 1.0 to 2.3 1981 System III 1982 Xenix 3.0 1983 SunOS 1 to 1.1 System V R1 to R2 1984 SCO Xenix 1985 SCO Xenix V/286 System V AIX 1.0 R3 1986 HP-UX 1.0 to 1.2 SunOS 1.2 to 3.0 SCO Xenix V/386 1987 HP-UX 2.0 to 3.0 1988 System V R4 SCO Xenix V/386 1989 1990 1991 SunOS CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 4 1992 HP-UX 6 to 11 UnixWare SCO UNIX

  9. 1985 SCO Xenix V/286 System V AIX 1.0 R3 1986 HP-UX 1.0 to 1.2 SunOS 1.2 to 3.0 SCO Xenix V/386 1987 HP-UX 2.0 to 3.0 1988 System V R4 SCO Xenix V/386 1989 1990 1991 SunOS 4 1992 HP-UX 6 to 11 UnixWare 1.x to 2.x (System V R4.2) SCO UNIX 3.2.4 1993 1994 1995 OpenBSD 1.0 to 2.2 OpenServer 5.0 to 5.04 Solaris 2.1 to 9 1996 1997 1998 OpenServer 5.0.5 to 5.0.7 1999 AIX 3.0-7.2 2000 2001 to 2004 2005 UnixWare 7.x (System V R5) 2006 to 2007 OpenBSD 2.3-6.1 Solaris 2008 10 OpenServer 6.x HP-UX 11i+ 2009 CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 2010 OpenSolaris & derivatives (illumos, etc.) 2011

  10. Unix/32V 1980 BSD 3.0 to 4.1 1981 1982 BSD 4.2 1983 SunOS 1 to 1.1 1984 대격변기 Unix Version 8 1985 BSD 4.3 1986 Unix-like systems SunOS 1.2 to 3.0 Unix 9 and 10 (last versions from Bell Labs) 1987 1988 BSD 4.3 Tahoe 1989 BSD Net/1 BSD 4.3 Reno 1990 BSD Net/2 1991 Linux 0.0.1 SunOS 4 Minix 1.x 386BSD NexTSTEP/ OPENSTEP 1.0 to 4.0 1992 NetBSD 0.8 to 1.0 Linux 0.95 to 1.2.x BSD 4.4-Lite & Lite Release 2 1993 FreeBSD 1.0 to 2.2.x 1994 1995 NetBSD 1.1 to 1.2 OpenBSD 1.0 to 2.2 1996 1997 NetBSD 1.3 FreeBSD 3.0 to 3.2 1998 Minix 2.x 1999 Mac OS X Server CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 2000 2001 to 2004

  11. (last versions from Bell Labs) 1988 BSD 4.3 Tahoe 1989 BSD Net/1 BSD 4.3 Reno 1990 BSD Net/2 1991 Linux 0.0.1 SunOS 4 Minix 1.x 386BSD NexTSTEP/ OPENSTEP 1.0 to 4.0 1992 NetBSD 0.8 to 1.0 Linux 0.95 to 1.2.x BSD 4.4-Lite & Lite Release 2 1993 FreeBSD 1.0 to 2.2.x 1994 1995 NetBSD 1.1 to 1.2 OpenBSD 1.0 to 2.2 1996 1997 NetBSD 1.3 FreeBSD 3.0 to 3.2 1998 Minix 2.x 1999 Mac OS X Server 2000 2001 to 2004 Linux 2.x 2005 2006 to 2007 OpenBSD 2.3-6.1 2008 Mac OS X, OS X, macOS 10.0 to 10.12 (Darwin 1.2.1 to 17) FreeBSD 3.3-11.x NetBSD 1.3-7.1 2009 DragonFly BSD 1.0 to 4.8 Minix 3.1.0-3.4.0 2010 2011 Linux 3.x 2012 to 2015 CC BY-SA 3.0 https://en.wikipedia.org/wiki/File:Unix_history-simple.svg 2016 Linux 4.x 2017

  12. 오늘 진행할 내용 쉽고 재미있고 다채로운 Unix Command Line 사용법 ➡ 완전 입문 다양한 도구를 알아가는 과정 오늘의 범위 http://rik.smith-unna.com/command_line_bootcamp/ https://datacarpentry.org/shell-genomics/ https://github.com/raynamharris/Shell_Intro_fo.... 입문부터 기본 연습 man, info, Unix Power Tools (O’Reilly), stackoverflow.com, biostars.org 여러가지 다양한 도구와 기가 막히게 멋진 사용례들…

  13. 터미널…이 왜 터미널이지? macOS Terminal.app PuTTY on Windows © Aaron Quinlan, CC BY-SA

  14. 터미널…이 왜 터미널이지? © Liberal Classic, X11 license https://commons.wikimedia.org/wiki/File:X-Window-System.png

  15. 터미널…이 왜 터미널이지? © Gorthmog, CC BY-SA 4.0 https://commons.wikimedia.org/wiki/File:DEC_VT100_terminal_transparent.png

  16. 터미널…이 왜 터미널이지? © Marcin Wichary, CC BY 2.0 https://en.wikipedia.org/wiki/File:TTY33ASR.jpg

  17. 셸, 터미널은 어디서 돌아가는 녀석들인가? © Paul Harrison

  18. 셸, 터미널은 어디서 돌아가는 녀석들인가? © Paul Harrison

  19. 셸, 터미널은 어디서 돌아가는 녀석들인가? © Paul Harrison

  20. 셸 명령행 기본 사용 Prompt

  21. 셸 명령행 기본 사용 – ls

  22. 셸 명령행 기본 사용 – ls flag 또는 switch, option 등으로 부름

  23. 셸 명령행 기본 사용 – pwd

  24. 셸 명령행 기본 사용 – pwd

  25. Absolute path, relative path root home bin vol CWD: /home/luke ls head cat luke leia proj1/data1.txt ← relative path /home/luke/proj1/data1.txt ↑ absolute path proj1 ../../bin/head ← relative path /bin/head ← absolute path data1.txt data2.txt © Aaron Quinlan, CC-BY-SA

  26. 셸 명령행 기본 사용 – paths

  27. 셸 명령행 기본 사용 – man

  28. 셸 명령행 기본 사용 – man 조작 키 (less) j 다음 줄 k 이전 줄 ctrl-f, space 다음 페이지 ctrl-b 이전 페이지 q 끝내기 / 찾기

  29. 셸 명령행 기본 사용 – 자동 완성

  30. 셸 명령행 기본 사용 – 자동 완성 [Tab][Tab]

  31. 셸 명령행 기본 사용 – 자동 완성 [Tab][Tab]

  32. 셸 명령행 기본 사용 – ~ 줄여쓰기 [Tab][Tab]

  33. 셸 명령행 기본 사용 – ~ 줄여쓰기 [Tab][Tab] [Tab][Tab]

  34. 셸 명령행 기본 사용법 익히기

  35. 셸 명령행 기본 사용법 익히기 고수가 주변에 있으면 조용히 옆에서 계속 보고 있는다 (대체로 말로 가르쳐 줄 수 있는 것보다 더 많이 알고 쓰고 있음) (배경이미지 저작권 불확실)

  36. 셸 명령행 기본 사용 – cat [Tab][Tab] [Tab][Tab]

  37. FASTQ format 이름 (보통 리드의 물리적 위치 또는 ID) 서열 (한 줄에 쭉 붙여서 씀) @a1110:00138680/1 TCTGGCTGCTGGATGCCCTGGGGACCGCTCAGCCCTTCCCACCTGTCTCTC + (비워도 되고, 이름을 반복해서 쓰기도 함. 여러 줄 서열이 허용되던 시절의 잔재) + ;?CB>>A:?CB><B:><>BB==>=@=B?BA?B><>DB?<A<@>C@B?D?5A 리드 품질 (phredQ+33 -> 아스키코드)

  38. FASTQ format (ASCII)

  39. FASTQ format (ASCII)

  40. 명령행에서 FASTQ 분석하기 - head

  41. 명령행에서 FASTQ 분석하기 - tail

  42. 명령행에서 FASTQ 분석하기 - head/tail

  43. 명령행에서 FASTQ 분석하기 - less

  44. 명령행에서 FASTQ 분석하기 - less 조작 키 (less) j 다음 줄 k 이전 줄 ctrl-f, space 다음 페이지 ctrl-b 이전 페이지 q 끝내기 / 찾기

  45. 명령행에서 FASTQ 분석하기 - grep

  46. 명령행에서 FASTQ 분석하기 - grep

  47. 명령행에서 FASTQ 분석하기 - grep

  48. 명령행에서 FASTQ 분석하기 - grep

  49. 명령행에서 FASTQ 분석하기 - grep

  50. 명령행에서 FASTQ 분석하기 - --help

More Related