C言語ケーススタディ 相補配列




2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を強力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。



 DNA塩基配列の5'末端からの相補配列を作るには、文字列(塩基配列)を前後逆転する必要があります。 文字列操作のケーススタディに文字列の前後逆転を行うプログラムがあるのでベースとして使用します。
#include <stdio.h>

main()
{
        char result[100];
        char *str;
        int i, j, len;

        str = "acgtaaccggttatgctata";
        len = strlen(str);
        j = 0;
        for (i = 0; ; i++) {
                if(*(str+i) == '\0')
                        break;
                result[j++] = *(str+(len-i-1));
        }
        result[j] = '\0';
        printf("%s\n", result);
}
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...
上記のプログラムを実行するとstr変数にセットした塩基配列が前後逆転して表示されます。
atatcgtattggccaatgca
前後逆転した塩基配列文字列は、配列resultに代入されていきます。 このとき、文字列を下記のように変換します。
A C G T
↓ ↓ ↓ ↓
C A T G

変換は大文字小文字ともに行います。また、上記以外の文字は変換しないことにします。
#include <stdio.h>

main()
{
        char result[100];
        char *str, ch;
        int i, j, len;

        str = "acgtaaccggttatgctata";
        len = strlen(str);
        j = 0;
        for (i = 0; ; i++) {
                if(*(str+i) == '\0')
                        break;
                ch = *(str+(len-i-1));
                switch(ch){
                case 'a': ch = 't'; break;
                case 'A': ch = 'T'; break;
                case 'g': ch = 'c'; break;
                case 'G': ch = 'C'; break;
                case 'c': ch = 'g'; break;
                case 'C': ch = 'G'; break;
                case 't': ch = 'a'; break;
                case 'T': ch = 'A'; break;
                }
                result[j++] = ch;
        }
        result[j] = '\0';
        printf("%s\n", result);
}
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する ブラウザとの連携機能が使用可能なStudy Cのバージョンなどについて...


当サイトのバイオインフォマティクス関連の下記ページも参考にしてください。
バイオインフォマティクス関連オリジナルツールなど
アミノ酸配列表記の変換
塩基配列の翻訳
相補配列の翻訳

おすすめのバイオインフォマティクス関連の書籍です。参考にしてください。

初心者でもわかる!バイオインフォマティクス入門 [ 坊農秀雅 ]

価格:3,990円
(2013/1/27 10:50時点)
感想(0件)

バイオインフォマティクスin silico [ 松山泰男 ]

価格:3,675円
(2013/1/27 10:51時点)
感想(0件)

[an error occurred while processing this directive]