Я пытаюсь получить информацию о различных генах от 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
Получение информации о ДНК и мРНК от ncbi ⇐ Python
Программы на Python
1731343398
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/eutils/efetch.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/eutils/efetch.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
Подробнее здесь: [url]https://stackoverflow.com/questions/79178451/getting-info-about-dna-and-mrna-from-ncbi[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия