オープンソースの学生レター Python チュートリアル
学生向けの簡潔な Python テキストとビデオ チュートリアル
ソースコードはhttps://github.com/Tong-Chen/Bioinfo_course_pythonにあります。
目次
背景紹介
プログラミングの始まり
なぜPythonを学ぶのか
Pythonのインストール方法
Python コマンドとスクリプトを実行する方法
Python スクリプトの作成に使用するエディター
Pythonプログラム例
Pythonの基本構文
数値変数の演算
文字列変数の操作
リスト操作
集合演算
範囲使用
辞書操作
階層的なインデント
変数、データ構造、フロー制御
入出力
インタラクティブな入出力
ファイルの読み取りと書き込み
実践演習(1)
背景知識
宿題関連の仕事(1)
関数操作
関数操作
生物学的文字に関する課題 (2)
モジュール
コマンドラインパラメータ
コマンドラインパラメータ
生物手紙に関する宿題(3)
その他の Python コンテンツ
単一ブロック
リスト合成、新しいリストを生成する簡略化された for ループ
ラムダ、マップ、ファイラー、リデュース(レパートリー)
exec、eval (文字列の Python ステートメントを実行、レパートリー)
正規表現
Python の描画
参照
いくつかの練習問題
cat.py
FASTA 形式のファイル (test1.fa と test2.fa) が与えられた場合、そのファイルを読み取って画面に出力するプログラムを作成します(2 点)
開く(ファイル)
for .. ループ内
プリント()
ストリップ()関数
使用した知識ポイント
cat.py
FASTQ 形式のファイル (test1.fq) を与えて、そのファイルを読み取って画面に出力するプログラムを作成します(2 点)
同上
使用した知識ポイント
プログラムを書いてsplitName.py
test2.faを読み込み、元のシーケンス名の最初のスペースより前の名前を加工シーケンス名として画面に出力(2点)
スプリット
文字列のインデックス
使用した知識ポイント
出力形式は次のとおりです。
>NM_001011874 gcggcggcgggcgagcgggcgctggagtaggagctg.......
プログラムを書いてformatFasta.py
test2.faを読み込み、各FASTAシーケンスを1行に結んで出力(2点)
参加する
ストリップ
使用した知識ポイント
出力形式は次のとおりです。
>NM_001011874 gcggcggcgggc......TCCGCTG......GCGTTCACC......CGGGGTCCGGAG
プログラムを書きformatFasta-2.py
、test2.faを読み込み、各FASTAシーケンスを1行80文字(2点)のシーケンスに分割します。
文字列スライス操作
範囲
使用した知識ポイント
出力形式は
>NM_001011874 gcggcggcgc.(60个字母).TCCGCTGACG #(每行80个字母) acgtgctacg.(60个字母).GCGTTCACCC ACGTACGATG(最后一行可不足80个字母)
プログラムを書いてsortFasta.py
test2.faを読み込み、元のシーケンス名の最初のスペースより前の名前を加工シーケンス名としてソートして出力する(2点)
選別
辞書
aDict[キー] = []
aDict[キー].append(値)
使用した知識ポイント
名前を付けた配列を抽出します (2 点)
使用した知識ポイント
print >>fh、または fh.write()
モジュロ演算、4 % 2 == 0
grepFasta.py
fasta.nameの名前に対応するtest2.faの配列を抽出して画面に出力するプログラムを書きます。grepFastq.py
fastq.nameの名前に対応するtest1.fqの配列を抽出してファイルに出力するプログラムを作成してください。
screenResult.py
test.expr 内で、foldChange が 2 より大きく、padj が 0.05 未満の遺伝子をフィルタリングし、行全体または遺伝子名のみを出力するプログラムを作成します。(4点)
論理AND演算子と
ファイルに読み取られる内容はすべて文字列であり、int で整数に変換し、float で浮動小数点数に変換する必要があります。
使用した知識ポイント
transferMultipleColumToMatrix.py
ファイル(multipleColExpr.txt)内の複数組織の遺伝子発現データを行列形式に変換するプログラムを記述し、ヒートマップを描画します。(6点)
aDict['key'] = {}
aDict['key']['key2'] = 値
キーが aDict にない場合
aDict = {'ENSG00000000003': {“A-431”: 21.3, “A-549”, 32.5,…},”ENSG00000000003”:{},}
使用した知識ポイント
入力形式 (最初の 3 列のみが必要です)
Gene Sample Value Unit Abundance ENSG00000000003 A-431 21.3 FPKM Medium ENSG00000000003 A-549 32.5 FPKM Medium ENSG00000000003 AN3-CA 38.2 FPKM Medium ENSG00000000003 BEWO 31.4 FPKM Medium ENSG00000000003 CACO-2 63.9 FPKM High ENSG00000000005 A-431 0.0 FPKM Not detected ENSG00000000005 A-549 0.0 FPKM Not detected ENSG00000000005 AN3-CA 0.0 FPKM Not detected ENSG00000000005 BEWO 0.0 FPKM Not detected ENSG00000000005 CACO-2 0.0 FPKM Not detected
出力フォーマット
Name A-431 A-549 AN3-CA BEWO CACO-2 ENSG00000000460 25.2 14.2 10.6 24.4 14.2 ENSG00000000938 0.0 0.0 0.0 0.0 0.0 ENSG00000001084 19.1 155.1 24.4 12.6 23.5 ENSG00000000457 2.8 3.4 3.8 5.8 2.9
シーケンスの逆補数をreverseComplementary.py
計算するプログラムを作成します。ACGTACGTACGTCACGTCAGCTAGAC
(2分)
逆行する
リスト(シーケンス)
使用した知識ポイント
smRNA-Seq シーケンス データを変換するプログラムを作成しますcollapsemiRNAreads.py
。(5点)
入力ファイル形式 (mir.collapse、タブ区切りの 2 列ファイル、最初の列はシーケンス、2 列目はシーケンスが測定された回数)
ID_REF VALUE ACTGCCCTAAGTGCTCCTTCTGGC 2 ATAAGGTGCATCTAGTGCAGATA 25 TGAGGTAGTAGTTTGTGCTGTTT 100 TCCTACGAGTTGCATGGATTC 4
出力ファイル形式 (mir.collapse.fa、名前の最初の 3 文字はサンプルの特定の識別子、中央の数字は配列名の唯一の識別子である配列番号を示し、3 番目の文字は配列番号を示します)部分は x に検出された各リードの回数を加えたものです。3 つの部分は fasta シーケンスの名前としてアンダースコアで接続されます。)
>ESB_1_x2 ACTGCCCTAAGTGCTCCTTCTGGC >ESB_2_x25 ATAAGGTGCATCTAGTGCAGATA >ESB_3_x100 TGAGGTAGTAGTTTGTGCTGTTT >ESB_4_x4 TCCTACGAGTTGCATGGATTC
簡略化された短いシーケンス マッチング プログラム (map.py) は、short.fa 内のシーケンスを ref.fa と比較し、短いシーケンスが ref.fa ファイル内のどの位置と一致するかを出力します。(10点)
探す
使用した知識ポイント
出力形式 (出力形式はベッド形式、最初の列は一致した染色体、2 番目と 3 番目の列は一致した染色体配列の開始位置と終了位置 (位置マークは 0 で始まり、最初の位置を表します。終了位置)最初の例で示した配列の位置は (199,208] (前が閉じて後ろが開いている、実際には Chr1 染色体 199-206 の配列で、0 から始まります) です。 4 列目は短い配列そのものです。の。)。
追加の要件: 特定のテンプレート鎖にのみ一致するか、テンプレート鎖の相補鎖に一致することを考慮します。このとき、5列目は短配列の名前、6列目は鋳型鎖に「+」、相補鎖に「-」と一致する鎖の情報となる。相補鎖が一致する場合、開始位置も鋳型鎖の 5' 末端から数えられることに注意してください。
chr1 199 208 TGGCGTTCA chr1 207 216 ACCCCGCTG chr2 63 70 AAATTGC chr3 0 7 AATAAAT
毎日のおすすめ書籍 - Fluent Python
「Smooth Python」の著者である Luciano Ramalho は、Python Software Foundation のメンバーである Thoughtworks のチーフ コンサルタントであり、ブラジルの有名な Python 言語学習コミュニティである Python Brasil の共同創設者です。Python プログラミングで 25 年の経験を持つ彼の「スムーズ Python」は、Python 3.10 をベースにしたプログラミング分野の古典であり、80,000 人近くの読者に影響を与えており、詳細な内容と 500 近くのよく設計されたコード例が含まれています。図や表も豊富でとても勉強しやすいです!。
詳細については、ChatGPT の評価を参照してください。
過去の製品(画像をクリックするとテキストに対応するチュートリアルに直接移動します)
バックグラウンドで「ライフ レター コレクションの特典の第一波」と返信するか、クリックして元のテキストを読んでチュートリアルのコレクションを入手してください