User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gcskewodysseyenglish [2010/10/01 12:32]
gcskewodysseyenglish [2014/01/18 07:44] (current)
Line 64: Line 64:
 A function opt_as_gb() will translate $gb->​{SEQ} as target sequence whether it is scholar or reference. A function opt_as_gb() will translate $gb->​{SEQ} as target sequence whether it is scholar or reference.
 +====== STEP 2 – All options should possess initial value to abbreviate options ======
-====== Step2 オプションはデフォルト値を持たせ省略できるようにし、G のインスタンスの入力のみで使えるようにする ====== 
- +In the above script, if no option “-window” is set then initial value become zero. To avoid this problem, set initial value by opt_default() ​as follow.
-さて、上のままでは ​-window ​オプションが入力されないと、Window が 0になってしまいエラーになってしまいます。だからといって、毎回window オプションを入力しないといけないのでは汎用的だとはいえません。そこで、opt_default() ​を使って初期値を入力してやります。+
 <code perl> <code perl>
Line 76: Line 75:
     my $gb = opt_as_gb(shift @args); ​     my $gb = opt_as_gb(shift @args); ​
     my $window = opt_val("​window"​); ​     my $window = opt_val("​window"​); ​
 +  }
 </​code>​ </​code>​
-こうしてやることで、windowオプションが入力されればその値が、入力されなければ ​10000bp ​がウインドウサイズとして使用されます。+This will set initial value of window ​size to 10000bp
 +====== STEP 3 – All options should contain “output” and “filename” ======
-====== Step3 オプションは "output" と "filename" を含むのが望ましい ======+The GC skew subroutine made in previous tutorial has two types of output ​for generating graph. G-language GAE is for efficient programming so that every standard function possesses “-output” option that set to be “f”, “data/​”folder as saving directory, “g” for graph output in “graph/​” directory and “show” graph automatically in default. The program should be flexible enough to change ​filename ​for output. So let’s change the some options and parameters in the script. This change will automatically fix output according to an option. ​
-前回作った gcskew はファイルとグラフの二つの出力がありました。G-language GAE では容易に使えることに重点をおいていますので、標準関数関数には標準で全て output というオプションがついていて、"​f"​ の値で'​data'​フォルダ内にファイル出力、"​g"​の値で'​graph'​フォルダ内にグラフ出力、指定なし、もしくは"​show"​ の値でグラフを自動的に表示する、という機能を持つ必要があります。また、この時任意に出力するファイルの名前を指定できる必要があります。これにあわせて少しプログラム全体を変えてみましょう。outputの値次第で出力先を変える処理を加えてみます。 +To be more precise, ​opt_default() is added, value of opt_val() is subscribed into local variable and file name is switched to $filename ​to change the output name.
 <code perl> <code perl>
Line 128: Line 128:
   }    } 
 </​code>​ </​code>​
- +====== ​STEP - Use G::​Messenger API to run all the outputs ​======
-====== ​Step 4. 全ての出力はG::​Messenger APIを使う ​======+
-だいぶここまででも標準関数らしくなってきましたが、もう一つ重要な決まりがあります。それは、全ての出力をG::​Messenger APIを介してやらなければならない、ということです。G-language GAEは多彩なインタフェースを持ちます。プログラム言語としてコンパイラに読ませたり、コマンドラインで実行したり、グラフィカルユーザインタフェースを持ったり、さらにはウェブアプリケーションとしてさえ存在します。しかし、多彩なインタフェースでは全て同じ標準関数のプログラムが動いています。これを可能にするのがG::​Messenger APIです。メソッドがMessengerに出力を渡すと、MessengerはG-language GAEが現在どのインタフェースを使って動いているかを判断し、的確な場所に出力を渡します。 +There is one more important rule for standard function and that is all output should follow ​G::​Messenger APIG-language GAE has multiple interfaces for example loading script into compiler, executing command lines, possessing GUI and managing web applications. In each multiple interfaces, common standard functions are running and this is sustained by G::​Messenger API. If some outputs are passed to MessengerMessenger ​will indentify which interface user is accessing and puts output to suitable output. Following functions are major functions used in Messenger.
-Messenger ​で主に使われる関数は次の通りです。+
-msg_send() ​--- print STDOUT ​と同義 通常のアウトプットに。 +The function ​msg_send() ​will put output as standard output, synonymous to “print STDOUT” in Perl script. The function ​msg_error() ​will put output as standard error, synonymous to “print STDERR” in Perl script, or system message. The function ​msg_gimv() ​will put output into graph which is synonym to system("​gimv "). This is it for making the GC skew subroutine into standard function.
-msg_error() ​--- print STDERR ​と同義 エラーやシステムメッセージのアウトプットに。 +
-msg_gimv() ​--- system("​gimv "); と同義 グラフの表示に。 +
-これでgcskew の標準関数化が完了です。+
 <code perl> <code perl>
Line 184: Line 179:
   }    } 
 </​code>​ </​code>​
 +====== STEP 5 - To the higher level ======
-====== Step 5. To the next level ... ======+We demonstrated making the GC skew subroutine into standard function but the standard function gcskew() I G-language GAE is much more refined than demonstration in additional AT skew and some other distinguished technical tuningCheck G-language GAE source code for more detailSome additional information on function standardization is also available on manuals.
 +We welcome any users to join G-language GAE project and user-made standard function is sharable by simply posting e-mail to with subject the name of function and source code as body. Enjoy!
-今回GC skew関数の標準関数化を説明しましたが、実際にG-language GAEに実装されているgcskew() 関数は AT skewもみれるようになっていたりと、汎用性やコードの簡潔さでより徹底した改良がされています。一度ソースコードをみて勉強してみてください。また、マニュアルにはより詳しい標準関数化の仕様について記載されていますので、こちらもじっくりと読んでみてください。 
-今後自分で作った解析メソッドを標準関数化し、G-language GAEに実装する機会が来ると思います。作った標準関数メソッドは、 に、サブジェクトが関数名、本文がソースコード、という形でメールすることで投稿できます。バイオインフォマティックスの未来の為にあなたが貢献する日は明日かもしれませんね。 
gcskewodysseyenglish.1285936332.txt.gz · Last modified: 2014/01/18 07:44 (external edit)