GC含量の計算(スクリプト解説あり)

はじめに

GC対は3つの水素結合で結ばれているためAT対より安定しており、GC含量は生物的にも遺伝子領域でGC含量が多い、ゲノム間でGC含量が結構違うため分類に使用できるなど、バイオロジー的にも意味がある指標です。


大量に処理する場合

SeqKit を使用してください。

seqkit fx2tab -n -g ${path_fastq} でGC含量の計算ができます。

$ seqkit fx2tab -n -g example.fq
seq0			40.00
seq1			45.45
seq2			50.00
seq3			46.15
seq4			42.86
seq5			46.67

ブラウザ上でGC含量の計算

以下のDNA配列の下の欄に遺伝子配列を入れればGC含量を計算してくれます。

(シーケンスIDなど、余計なものは除外してください。)


DNA配列:


結果:


# ソースコード

以下のコードで計算しています。seqkitと結果が同じであることは確認済み。

function calc_gc_content() {
	var read = document.form.textarea.value;
	read = read.replace(/\r?\n/g, '');

	var gc = 0
	for (var i = 0; i <= read.length; i++) {
		if (read[i] == "G") {gc += 1}
		if (read[i] == "C") {gc += 1}
		if (read[i] == "g") {gc += 1}
		if (read[i] == "c") {gc += 1}
	}
	document.form.result.value = gc * 100 / Math.floor(read.length)
}

ヒトのアルコール分解遺伝子を取ってきました。

2行目以降を上のところに入れて47.517…%と出ればOKです。

>hsa:124 K13951 alcohol dehydrogenase 1/7 [EC:1.1.1.1] | (RefSeq) ADH1A, ADH1; alcohol dehydrogenase 1A (class I), alpha polypeptide (N)
atgagcacagcaggaaaagtaatcaaatgcaaagcagctgtgctatgggagttaaagaaa
cccttttccattgaggaggtggaggttgcacctcctaaggcccatgaagttcgtattaag
atggtggctgtaggaatctgtggcacagatgaccacgtggttagtggtaccatggtgacc
ccacttcctgtgattttaggccatgaggcagccggcatcgtggagagtgttggagaaggg
gtgactacagtcaaaccaggtgataaagtcatcccactcgctattcctcagtgtggaaaa
tgcagaatttgtaaaaacccggagagcaactactgcttgaaaaacgatgtaagcaatcct
caggggaccctgcaggatggcaccagcaggttcacctgcaggaggaagcccatccaccac
ttccttggcatcagcaccttctcacagtacacagtggtggatgaaaatgcagtagccaaa
attgatgcagcctcgcctctagagaaagtctgtctcattggctgtggattttcaactggt
tatgggtctgcagtcaatgttgccaaggtcaccccaggctctacctgtgctgtgtttggc
ctgggaggggtcggcctatctgctattatgggctgtaaagcagctggggcagccagaatc
attgcggtggacatcaacaaggacaaatttgcaaaggccaaagagttgggtgccactgaa
tgcatcaaccctcaagactacaagaaacccatccaggaggtgctaaaggaaatgactgat
ggaggtgtggatttttcatttgaagtcatcggtcggcttgacaccatgatggcttccctg
ttatgttgtcatgaggcatgtggcacaagtgtcatcgtaggggtacctcctgattcccaa
aacctctcaatgaaccctatgctgctactgactggacgtacctggaagggagctattctt
ggtggctttaaaagtaaagaatgtgtcccaaaacttgtggctgattttatggctaagaag
ttttcattggatgcattaataacccatgttttaccttttgaaaaaataaatgaaggattt
gacctgcttcactctgggaaaagtatccgtaccattctgatgttttga