Загрузите изображения набора данных раздела ISH из Института Аллена Анализ мозга с метаданными генов / зондов и возраста доноров

Я пытаюсь получить все ISH-изображения Brainspan для всех наборов данных секций, принадлежащих пренатальному возрасту (3 донора), и только из 3 структур: зрительной коры, префронтальной коры и «мозга» .

т.е. эксперименты, перечисленные в этом поиске:

http://www.brainspan.org/ish/search/show?page_num=1&page_size=100&no_paging=false&search_term=&search_type=advanced&facet_age_tags=prenatal&facet_structure_name=%22Medial%20Prefrontal%20Cortex%2220,

Я выполнил инструкции здесь:

https://allensdk.readthedocs.io/en/latest/_static/examples/nb/image_download.html#Downloading-all-of-the-images-from-a-section-data-set

      brainspan_datasets = image_api.get_section_data_sets_by_product([22]) 
brainspan_datasets_df = pd.DataFrame(brainspan_datasets)

section_dataset_ids = [ds['id'] for ds in brainspan_datasets

# Iterate through `section_dataset_ids` to get list of `section_image_ids` and download the images.

# disable logger
logging.getLogger('allensdk.api.api.retrieve_file_over_http').disabled = True
  
downsample = 2
format_str = '.jpg'

for section_dataset_id in section_dataset_ids:
  dir_name = str(section_dataset_id) + '_section_images'

  # Get list of image ids from field `id` in each element of `section_images`.
  section_images = image_api.section_image_query(section_dataset_id)
  section_image_ids = [si['id'] for si in section_images]
  print(len(section_image_ids))
  # Download
  for section_image_id in section_image_ids:
      file_name = str(section_image_id) + format_str
      file_path = os.path.join(dir_name, file_name)
      Manifest.safe_make_parent_dirs(file_path)
      image_api.download_section_image(section_image_id, file_path=file_path, downsample=downsample)
      
# re-enable the logger
logging.getLogger('allensdk.api.api.retrieve_file_over_http').disabled = False

и успешно создали каталог для каждого SectionDataSet с соответствующими изображениями.

Однако мне пришлось вручную отфильтровать specimen_id, из которого загружать изображения, чтобы ограничить пренатальный период.

      section_dataset_ids = [ds['id'] for ds in brainspan_datasets\
if ds['specimen_id']==708383 or ds['specimen_id']==708307 or ds['specimen_id']==708787] 

Мне не удалось понять, как получить соответствующие метаданные для образца / донора, связанного с каждым экспериментом.

то есть, для эксперимента 100135095 я знаю, что донором является 21pcw F из таблицы результатов через браузер, но он не возвращается в моем запросе API.

Я хотел бы иметь возможность добавить ген / зонд и возраст / пол донора к имени каталога, который в настоящее время имеет только идентификатор эксперимента.

Есть аналогичный вопрос по Stackoverflow (1), который почти позволяет мне решить эту проблему, за исключением того, что я не знаю, как запросить возраст и пол донора.

      section_datasets = pd.DataFrame(api.model_query('SectionDataSet', 
criteria='[id$eq%d]' % brainspan_dataset_id,
include='section_images,treatments,probes(gene),
specimen(structure),
specimen(donor)'

Это еще один намек, который мне удалось найти, но я не знаю, как преобразовать этот обычный запрос GET в api.model_query, как указано выше.

      section_datasets = requests.get("http://api.brain-map.org/api/v2/data/query?criteria=model::SectionDataSet,
rma::criteria,[failed$eqfalse],products[id$eq22],treatments[name$eq'ISH'],
rma::include,probes(gene),specimen(donor(age)),section_images")

Спасибо за вашу помощь! 🙂

(1) Получите больше метаданных из исследования нейротрансмиттеров с помощью Allen SDK.

Перекрестно здесь:

https://community.brain-map.org/t/download-section-dataset-images-from-brainspan-ish-with-gene-probe-and-donor-age-metadata/

0 ответов

Другие вопросы по тегам