**文書の過去の版を表示しています。**
メールアドレスの正規表現チェックと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()