예제 #1
0
def render_sequence_add():
	form_to_validate = SequenceEntryForm(GenBankEntry.all())

	if form_to_validate.validate_on_submit():
		try:
			Sequence.add(form.genbank_id.data, form.sequence.data)
		except:
			return render_template("sequence.view.template.html", title = "Sequences")
	else:
		return render_template("sequence.form.template.html", title = "Add new sequence", form=form_to_validate)
예제 #2
0
def render_sequences_view(genbank_id):
	if GenBankEntry.exists(genbank_id):
		sequences = Sequence.get_for_genbank_id(genbank_id)
		return render_template(
			"sequence.view.template.html", title = "Sequences", genbank_id=genbank_id, sequences=sequences)
	else:
		return render_template(
			"sequence.view.template.html", title = "Sequences", genbank_id=genbank_id, sequences=sequences)
예제 #3
0
def try_add_from_genbank(id, silk_type):

	get_module_logger().info("Calling entrez for ID {}".format(id))
	fasta = entrez_get_fasta_seqrecord(id)
	success = False

	if fasta is not None:
		get_module_logger().info("Data for ID {} found. Trying to add to database.".format(id))
		try:
			get_module_logger().info("Creating GenBankEntry.")
			GenBankEntry.create_from_seqrecord(fasta, silk_type)
			get_module_logger().info("Creating Sequence.")
			Sequence.create_from_seqrecord(fasta)
			success = True
		except:
			raise
	else:
		get_module_logger().info("Data for ID {} not found.")

	return success