def convert_sample(self, sample_entity: Entity) -> Sample:
     sample = Sample(
         accession=sample_entity.get_accession('BioSamples'),
         name=self.named_attribute(sample_entity, 'sample_title'),
         domain=self.named_attribute(sample_entity, 'domain', self.domain),
         ncbi_taxon_id=self.named_attribute(sample_entity, 'tax_id'),
         species=self.named_attribute(sample_entity, 'scientific_name'))
     sample._append_organism_attribute()
     for name, value in sample_entity.attributes.items():
         if name not in REMOVE_KEYS:
             sample.attributes.append(
                 Attribute(name=name.replace('_', ' '),
                           value=value,
                           unit=self.unit_map.get(name, None)))
     return sample
Exemple #2
0
 def add_alias(self, spec: dict, entity: Entity):
     accession = entity.get_accession(f'ENA_{self.ena_type}')
     if accession:
         spec['@accession'] = ['', fixed_attribute, accession]
     else:
         spec['@alias'] = ['', fixed_attribute, entity.identifier.index]
 def update_links_in_submission(self, submission: Submission, study: Entity) -> dict:
     study_accession = study.get_accession('BioStudies')
     biostudies_submission = self.get_submission_by_accession(study_accession).json
     links_section = self.__get_links_section_from_submission(biostudies_submission)
     self.__update_links_section(links_section, study, submission)
     return biostudies_submission
    def __add_accession(study: Entity, submission_payload: dict):
        study_accession: str = study.get_accession('BioStudies')
        if study_accession:
            submission_payload['accno'] = study_accession

        return submission_payload