How to efetch specific attributes from BioSamples?
1
0
Entering edit mode
5.8 years ago
Arindam Ghosh ▴ 530

I need to extract the sample source for a list of sample ids. I tried using efetch as follows:

efetch -db biosample -id SAMN04383980 -format xml | xtract -pattern BioSampleSet -division BioSample -group Attributes -element Attribute

The problem here is that there are often more than two attributes:

  <Attributes>
         <Attribute attribute_name="source_name" harmonized_name="source_name" display_name="source name">H7 hESCs</Attribute>
         <Attribute attribute_name="cell line" harmonized_name="cell_line" display_name="cell line">H7 derived</Attribute> 
  </Attributes>

How do I extract the one with attribute_name="source_name" only?

ncbi eutils xml • 3.3k views
ADD COMMENT
4
Entering edit mode
5.8 years ago

using a xpath expression:

 wget -q -O - "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=biosample&id=SAMN04383980" |\
   xmllint --xpath "/BioSampleSet/BioSample/Attributes/Attribute[@attribute_name='source_name']/text()"  -

H7 hESCs
ADD COMMENT
0
Entering edit mode

Any idea how to also export the attribute_name to have a nicely formatted table ?

ADD REPLY

Login before adding your answer.

Traffic: 1667 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6