One of the BioPythonTip 제목에서 알 수 있듯이 이 패키지는 다른 어플리케이션을 실행하고 제어하는 내용을 포함한다. 대다수의 다른 커맨드라인 어플리케이션들은 커맨드라인에 명령어 적고, 인수를 쭈욱 써주게 된다. 이 패키지는 이들 인수를 보다 편리하게 관리 할 수 있도록 해주며, 실행결과역시 Undo가 가능한 file handler 형태로 만들어준다. Application/__init__.py 파일을 보면, * 커맨드라인에 관한 AbstractCommandline 클래스 * 옵션에 관한 _Option 클래스 * 아규먼트에 관한 _Argument 클래스가 있다. * 그리고, 정작 그 어플리케이션을 실행시키는 generic_run 함수가 있다. 사용방법은 AbstractCommandline 클래스를 상속받는 자신만의 어플리케이션 커맨드라인 클래스를 다음처럼 만든다. 아래 예에서는 "myappl" 이라는 OS path에 잡혀있는 프로그램을 실행한다고 할때, 또한 그 프로그램이 -sequence, -outfile, -task, -umereturn, - includedragion 의 옵션을 필요로 한다고 할때 다음과 같다. {{{#!python from Bio.application import AbstractCommandline, _Option, _Argument, generic_run class MyApplCommandline(AbstractCommandline): def __init__(self, cmd = "myappl"): AbstractCommandline.__init__(self) self.program_name = cmd self.parameters = [ _Option(["-sequence"], ["input"], None, 1, "Sequence to choose primers from"), _Option(["-outfile"], ["output", "file"], None, 1, "Output file name"), _Option(["-task"], ["input"], None, 0), _Option(["-numreturn"], ["input"], None, 0), _Option(["-includedregion"], ["input"], None, 0), ] }}} _Option 클래스의 construction를 적절히 이용하여 프로그램이 사용하는 option과 argument를 적절히 self.parameters에 세팅한다. 그리고 나서, 그 객체를 만들고, {{{ theMyAppCom = MyApplCommandline("myappl") }}} 그 객체를 다음 함수의 인수로 전달한다. {{{ generic_run(theMyAppCom) }}} 그러면, 세개짜리 튜플을 얻게 되는데 1. 해당 프로그램의 일반적 옵션세팅상황의 객체 1. 해당 프로그램의 Standard output 실행결과의 undo가능 파일핸들러 1. 해당프로그램의 StdErr 결과의 undo가능 파일 핸들러이다. 이상의 방법을 사용하면, 복잡한 옵션 및 아규먼트가 필요한 커맨드라인 프로그램을 [Python]내에서 용이하게 관리할 수 있다는 장점이 있으며, Stdout 의 파일핸들러가 언도가능 파일핸들러라는 장점이 있다. 자세한 사항은 {{{Bio/Application/__init.py}}} 파일의 주석을 참고한다.