・最近Pythonを勉強し始めたので、Pythonに関するメモ記事も書いていこうと思う。
・Pythonは全く初心者で、お作法など全く分からないので悪しからず。
・お題:特定の長さのランダムな塩基配列を作成する関数を作成したい。
・例えば一塩基ずつ区切られたリスト形式で配列が欲しい場合、以下のような形でいけた。
import random
NL=["A","T","G","C"]
def RandNuc1(n):
return [random.choice(NL) for m in range(n)]
これで、
RandNuc1(10)
すると、
['C', 'G', 'A', 'T', 'G', 'C', 'G', 'G', 'A', 'T']
が返ってきた。。
シード値を設定していないので、実行するたびに結果が変わる。
random.choice()で、引数(リストなど)からランダムにピックアップした値が返ってくる。
・例えば配列を文字列としてほしい場合、以下のような形でいけた。
import random
NL=["A","T","G","C"]
def RandNuc2(n):
return "".join([random.choice(NL) for m in range(n)])
これで、
RandNuc2(10)
すると、
'GATATGTGTC'
が返ってきた。
こちらもシード値を設定していないので、実行するたびに結果が変わる。
"".join()で、引数(リスト)を""の中の文字で連結して一つの文字列にして返してくれる。"-"にすると各塩基の間に-が入った文字列が返ってくる。
・お題があるとちょっと楽しい。
おわり