Получение информации о ДНК и мРНК от ncbiPython

Программы на Python
Ответить
Anonymous
 Получение информации о ДНК и мРНК от ncbi

Сообщение Anonymous »

Я пытаюсь получить информацию о различных генах от ncbi. Я хочу просто получить три информации о генах: длину ДНК, длину мРНК и количество хромосом. но я также хочу случайным образом получить около 200 генов, а затем получить эту информацию для каждого из них.
и вот что я сделал на данный момент:
import requests
import xml.etree.ElementTree as ET

# fetch DNA length
def fetch_DNA_length(refseq_gene_id):
url = f"https://eutils.ncbi.nlm.nih.gov/entrez/ ... fetch.fcgi? db=nucleotide&id={refseq_gene_id}&retmode=xml"
response = requests.get(url)

if response.status_code == 200:
root = ET.fromstring(response.content)

dna_length = root.findtext(".//GBSeq_length")
print(f"DNA Length: {dna_length} base pairs")
else:
print(f"Failed to fetch data for RefSeqGene ID {refseq_gene_id}")

#fetch mRNA length and chromosome number
def fetch_mRNA_info(refseq_id):
url = f"https://eutils.ncbi.nlm.nih.gov/entrez/ ... fetch.fcgi? db=nucleotide&id={refseq_id}&retmode=xml"
response = requests.get(url)

if response.status_code == 200:
root = ET.fromstring(response.content)
mRNA_length = root.findtext(".//GBSeq_length")

chromosome_number = None
for qualifier in root.findall(".//GBQualifier"):
if qualifier.findtext("GBQualifier_name") == "chromosome":
chromosome_number = qualifier.findtext("GBQualifier_value")
break

print(f"mRNA Length: {mRNA_length} base pairs")
print(f"Chromosome Number: {chromosome_number if chromosome_number else 'Not available'}")
else:
print(f"Failed to fetch data for RefSeq ID {refseq_id}")

# List of genes
genes = [
{"name": "BRCA1", "refseq_mrna": "NM_007294", "refseq_gene": "NG_005905"},
{"name": "IFNG", "refseq_mrna": "NM_000619", "refseq_gene": "NG_011808"},
{"name": "TP53", "refseq_mrna": "NM_000546", "refseq_gene": "NG_017013"}
]

# Fetch information for genes
for gene in genes:
print(f"\nFetching information for {gene['name']}...")
fetch_mRNA_info(gene["refseq_mrna"])
fetch_DNA_length(gene["refseq_gene"])

Чтобы сначала получить эту информацию, я использовал идентификатор транскрипта для мРНК, чтобы получить как мРНК, так и номер хромосомы, и я использовал идентификатор ДНК, чтобы получить длину ДНК. Но в настоящее время я жестко закодировал эти значения в списке диктовок, но хочу, чтобы они генерировались случайным образом, а этого я не мог сделать. Любая информация будет полезна. Я потратил много времени, чтобы разобраться в документации API, но не получил от этого никакой пользы. Итак, мы получаем гены случайным образом и получаем их идентификаторы для ДНК и мРНК, а затем получаем эти три значения. Вот вывод приведенного выше кода:
Fetching information for BRCA1...
mRNA Length: 7088 base pairs
Chromosome Number: 17
DNA Length: 193689 base pairs

Fetching information for IFNG...
mRNA Length: 1211 base pairs
Chromosome Number: 12
DNA Length: 19572 base pairs

Fetching information for TP53...
mRNA Length: 2512 base pairs
Chromosome Number: 17
DNA Length: 32772 base pairs


Подробнее здесь: https://stackoverflow.com/questions/791 ... -from-ncbi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»