**文書の過去の版を表示しています。**
メールアドレスの正規表現チェックとSRAリンク取得
メールアドレスの正規表現チェック(ブラウザ側)
テキストボックスに入力されたメールアドレスが正規表現にマッチしているか確認
var regex = /^[a-zA-Z0-9_.+-]+@([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$/; //以下ボタンクリック時に実行する関数中 email = $("#email")[0].value; if (!(regex.test(email))) { console.log("incorrect email address"); return }
メールアドレスの正規表現チェック(サーバ側)
サーバに送られたメールアドレスが正規表現にマッチしているかを確認
router.post('/upload', function (req, res, next) { var regex = /^[a-zA-Z0-9_.+-]+@([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$/; if (!(regex.test(req.body.email))) { console.log("incorrect email address"); return } //res.render('uploaded'); console.log(req.body); });
アウトプットファイルからHTMLファイルを生成
アウトプットファイルからID,そのサンプル情報のURL,提出元,研究テーマ,サンプル名を取得し、HTMLファイルに出力するスクリプトを作成
# coding: utf-8
import sys import subprocess argv = sys.argv
#引数からファイルを取得 result_f_name = argv[1] result_f_name_header = result_f_name.replace(".result","") result_f = open(result_f_name)
url_template = "https://www.ncbi.nlm.nih.gov/sra/?term="
ol_header = "<ol>" ol_footer = "</ol>"
html_content = "" html_content = html_content + ol_header
rows_list = result_f.readlines() for row in rows_list: #各行からIDだけを取得 srr_id = row.split()[0] srr_id = srr_id.replace(".fastq","") # print(srr_id)
#各行からURLを作成 url = url_template + srr_id # print(url)
#各行から生成したURLでアクセスし、HTMLファイルを取得し、サンプル情報などを取得 cmd = ["bash", "html_parse.sh", url] res = subprocess.check_output(cmd).decode().split("\n") submited_by = res[0] study = res[1] sample = res[3]
#HTMLファイルの中身を作成 html_content = html_content + "<li><a href=" + url + ">" + srr_id + "</a><ul><li>Submited by: " + submited_by + "</li><li>Study: " + study + "</li><li>Sample: " + sample + "</li></ul></li>" # print(submited_by) # print(study) # print(sample)
html_content = html_content + ol_footer # print(html_content)
#アウトプットファイルとして保存 output_f_name = result_f_name_header + ".html" output_f = open(output_f_name, "w") output_f.write(html_content) output_f.close()
result_f.close()