**文書の過去の版を表示しています。**
20210826
データのバックアップ
- node.jsのファイル群 ⇒ ローカルにファイルが存在
- node.js以外のファイル群 ⇒ m208サーバの/home/ito.takumi/work/metasearch/script_backup に保存
- 以下のGitHubリポジトリに保存。https://github.com/itotaku1225/Metasearch/tree/master/metasearch_dev
Yahooメールアドレスの設定更新
MetaSearchを実行したところ、メール配信用のスクリプトが実行されなかった。以下のエラーを確認。
Traceback (most recent call last): File "script/send_mail.py", line 38, in <module> send_mail("Your analysis finished", message, email) File "script/send_mail.py", line 23, in send_mail smtp.login(sender_name, passwd) File "/opt/rh/rh-python38/root/usr/lib64/python3.8/smtplib.py", line 723, in login (code, resp) = self.auth( File "/opt/rh/rh-python38/root/usr/lib64/python3.8/smtplib.py", line 635, in auth (code, resp) = self.docmd("AUTH", mechanism + " " + response) File "/opt/rh/rh-python38/root/usr/lib64/python3.8/smtplib.py", line 425, in docmd return self.getreply() File "/opt/rh/rh-python38/root/usr/lib64/python3.8/smtplib.py", line 398, in getreply raise SMTPServerDisconnected("Connection unexpectedly closed") smtplib.SMTPServerDisconnected: Connection unexpectedly closed
以下の設定を変更することで問題なくメールを送信することができるようになった。
「メール受信箱」⇒「設定・利用規約」⇒「メールの設定」⇒「IMAP/POP/SMTPアクセスとメール転送」⇒「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」⇒「IMAP」、「POP」、「SMTP」全てを有効にする。
NtデータベースとMitoFishデータベースでの生物種の比較
8/10に作成したTaxanomy IDから生物種に変換するスクリプトの結果ファイルから、硬骨魚類(Teleostomi),軟骨魚類(Chondrichthyes)のみを抽出し、差集合を取ることで、各データベース固有の生物種を探索した。
/home/ito.takumi/work/mitosearch/test_data/compare/script/get_onlyNtHit.sh を実行し、硬骨魚類、軟骨魚類の抽出と生物種のダブりを排除した。
bash script/get_onlyNtHit.sh DRR205394(IDを入れる)
get_onlyNtHit.sh
ID=$1 grep "root;cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi" only_nt_hit/${ID}_species_mitodb.txt |uniq >> only_nt_hit/${ID}_species_mitodb_fish_uniq.txt grep "root;cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Chondrichthyes;" only_nt_hit/${ID}_species_mitodb.txt |uniq >> only_nt_hit/${ID}_species_mitodb_fish_uniq.txt grep "root;cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi" only_nt_hit/${ID}_species_nt.txt |grep -v "root;cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Teleostomi;Euteleostomi;Sarcopterygii;"| uniq >> only_nt_hit/${ID}_species_nt_fish_uniq.txt grep "root;cellular organisms;Eukaryota;Opisthokonta;Metazoa;Eumetazoa;Bilateria;Deuterostomia;Chordata;Craniata;Vertebrata;Gnathostomata;Chondrichthyes;" only_nt_hit/${ID}_species_nt.txt |uniq >> only_nt_hit/${ID}_species_nt_fish_uniq.txt
- TeleostomiだけでGrepしてしまうと、たまたま名前が一致するものも抽出してしまうので、Taxanomyのrootからgrepを行う。
- Teleostomi以下には哺乳類なども含まれるので、これらを除去してあげる必要がある。(grep -v で哺乳類のタクソノミーを除去)
次に/home/ito.takumi/work/mitosearch/test_data/compare/script/get_onlyNtHit.py を実行し、片方のデータベースのみに存在する生物種を取得。
python script/get_\onlyNtHit.py DRR075196
get_onlyNtHit.py
import sys def main(): srrid = sys.argv[1] mito_f = open("only_nt_hit/" + srrid + "_species_mitodb_fish_uniq.txt") nt_f = open("only_nt_hit/" + srrid + "_species_nt_fish_uniq.txt") mito_rowList = mito_f.readlines() nt_rowList = nt_f.readlines() mito_rowList = set(mito_rowList) nt_rowList = set(nt_rowList) diff_onlyMitoDB = mito_rowList - nt_rowList diff_onlyNt = nt_rowList - mito_rowList mito_w = open("only_nt_hit/" + srrid + "_only_mitodb.txt","w") nt_w = open("only_nt_hit/" + srrid + "_only_nt.txt","w") for living in diff_onlyMitoDB: mito_w.write(living) for living in diff_onlyNt: nt_w.write(living) mito_f.close() nt_f.close() mito_w.close() nt_w.close() if __name__ == "__main__": main()