Communitygithub.com

astropy

천문학 및 천체물리학 워크플로우를 위한 핵심 Python 라이브러리로, 단위/수량, 좌표, FITS 입출력, 테이블, 시간 시스템, WCS, 우주론 등 Astropy API가 필요할 때 사용합니다. Astropy를 사용한 천문 데이터 분석 코드를 구현하거나 디버깅할 때 활용하세요.

astropy란 무엇인가요?

Astropy는 천문학 연구 및 데이터 분석을 위한 핵심 Python 패키지로, 좌표 변환, 단위 및 수량 계산, FITS 파일 작업, 우주론 계산, 정밀 시간 처리, 테이블 데이터 조작, 천문 이미지 처리 등 다양한 기능을 제공합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 에이전트가 천문학 관련 작업을 수행할 때 유용하며, 사용자가 Astropy API를 효율적으로 활용할 수 있도록 안내합니다. 주요 기능으로는 `astropy.units`를 통한 물리량 단위 변환, `astropy.coordinates`를 통한 천체 좌표계 변환, `astropy.io.fits`를 통한 FITS 파일 읽기/쓰기, `astropy.cosmology`를 통한 우주론적 거리 계산, `astropy.table`을 통한 테이블 데이터 처리, `astropy.time`을 통한 정밀 시간 변환, `astropy.wcs`를 통한 월드 좌표계 변환 등이 포함됩니다. 이 스킬은 SKILL.md 문서를 기반으로 하여 각 모듈의 상세 참조 파일(예: `references/units.md`, `references/coordinates.md`)을 참조하며, 최신 버전인 Astropy 7.2.0 기준으로 작성되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/astropy

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

astropy은(는) 무엇을 하나요?

개요

Astropy는 천문학을 위한 핵심 Python 패키지로, 천문 연구 및 데이터 분석에 필수적인 기능을 제공합니다. astropy는 좌표 변환, 단위 및 수량 계산, FITS 파일 작업, 우주론 계산, 정밀 시간 처리, 테이블 데이터 조작, 천문 이미지 처리 등에 사용됩니다.

이 스킬을 사용해야 하는 경우

다음과 같은 작업이 포함될 때 astropy를 사용하세요:

  • 천체 좌표계 변환 (ICRS, Galactic, FK5, AltAz 등)
  • 물리 단위 및 수량 작업 (Jy를 mJy로, 파섹을 km로 변환 등)
  • FITS 파일 읽기, 쓰기, 조작 (이미지 또는 테이블)
  • 우주론 계산 (광도 거리, 후방 시간, 허블 매개변수)
  • 다양한 시간 척도(UTC, TAI, TT, TDB) 및 형식(JD, MJD, ISO)을 사용한 정밀 시간 처리
  • 테이블 작업 (카탈로그 읽기, 교차 매칭, 필터링, 조인)
  • 픽셀 좌표와 월드 좌표 간 WCS 변환
  • 천문 상수 및 계산

빠른 시작

import astropy.units as u
from astropy.coordinates import SkyCoord
from astropy.time import Time
from astropy.io import fits
from astropy.table import Table
from astropy.cosmology import Planck18

# 단위 및 수량
distance = 100 * u.pc
distance_km = distance.to(u.km)

# 좌표
coord = SkyCoord(ra=10.5*u.degree, dec=41.2*u.degree, frame='icrs')
coord_galactic = coord.galactic

# 시간
t = Time('2023-01-15 12:30:00')
jd = t.jd  # 율리우스 일

# FITS 파일
data = fits.getdata('image.fits')
header = fits.getheader('image.fits')

# 테이블
table = Table.read('catalog.fits')

# 우주론
d_L = Planck18.luminosity_distance(z=1.0)

핵심 기능

1. 단위 및 수량 (astropy.units)

단위가 있는 물리량을 처리하고, 단위 변환을 수행하며, 계산에서 차원 일관성을 보장합니다.

주요 작업:

  • 값에 단위를 곱하여 수량 생성
  • .to() 메서드를 사용한 단위 변환
  • 자동 단위 처리를 포함한 산술 연산 수행
  • 도메인별 변환을 위한 등가성 사용 (스펙트럼, 도플러, 시차)
  • 로그 단위 작업 (등급, 데시벨)

참조: 포괄적인 문서, 단위 시스템, 등가성, 성능 최적화 및 단위 산술에 대해서는 references/units.md를 참조하세요.

2. 좌표계 (astropy.coordinates)

천체 위치를 표현하고 다양한 좌표 프레임 간 변환을 수행합니다.

주요 작업:

  • 모든 프레임(ICRS, Galactic, FK5, AltAz 등)에서 SkyCoord로 좌표 생성
  • 좌표계 간 변환
  • 각분리 및 위치각 계산
  • 카탈로그에 좌표 매칭
  • 3D 좌표 연산을 위한 거리 포함
  • 고유 운동 및 시선 속도 처리
  • 온라인 데이터베이스에서 명명된 객체 조회

참조: 상세 좌표 프레임 설명, 변환, 관측자 의존적 프레임(AltAz), 카탈로그 매칭 및 성능 팁에 대해서는 references/coordinates.md를 참조하세요.

3. 우주론 계산 (astropy.cosmology)

표준 우주론 모델을 사용하여 우주론 계산을 수행합니다.

주요 작업:

  • 내장 우주론 사용 (Planck18, WMAP9 등)
  • 사용자 정의 우주론 모델 생성
  • 거리 계산 (광도 거리, 공변 거리, 각직경 거리)
  • 나이 및 후방 시간 계산
  • 임의 적색편이에서 허블 매개변수 결정
  • 밀도 매개변수 및 체적 계산
  • 역 계산 수행 (주어진 거리에 대한 z 찾기)

참조: 사용 가능한 모델, 거리 계산, 시간 계산, 밀도 매개변수 및 중성미자 효과에 대해서는 references/cosmology.md를 참조하세요.

4. FITS 파일 처리 (astropy.io.fits)

FITS(Flexible Image Transport System) 파일을 읽고, 쓰고, 조작합니다.

주요 작업:

  • 컨텍스트 관리자로 FITS 파일 열기
  • 인덱스 또는 이름으로 HDU(Header Data Units)에 접근
  • 헤더 읽기 및 수정 (키워드, 주석, 이력)
  • 이미지 데이터 작업 (NumPy 배열)
  • 테이블 데이터 처리 (이진 및 ASCII 테이블)
  • 새 FITS 파일 생성 (단일 또는 다중 확장)
  • 대용량 파일을 위한 메모리 매핑 사용
  • 원격 FITS 파일 접근 (S3, HTTP)

참조: 포괄적인 파일 작업, 헤더 조작, 이미지 및 테이블 처리, 다중 확장 파일 및 성능 고려 사항에 대해서는 references/fits.md를 참조하세요.

5. 테이블 작업 (astropy.table)

단위, 메타데이터 및 다양한 파일 형식을 지원하는 테이블 형식 데이터를 작업합니다.

주요 작업:

  • 배열, 리스트 또는 딕셔너리에서 테이블 생성
  • 여러 형식(FITS, CSV, HDF5, VOTable)으로 테이블 읽기/쓰기
  • 열 및 행 접근 및 수정
  • 테이블 정렬, 필터링 및 인덱싱
  • 데이터베이스 스타일 작업 수행 (조인, 그룹화, 집계)
  • 테이블 스택 및 연결
  • 단위 인식 열 작업 (QTable)
  • 마스킹을 사용한 누락 데이터 처리

참조: 테이블 생성, 입출력 작업, 데이터 조작, 정렬, 필터링, 조인, 그룹화 및 성능 팁에 대해서는 references/tables.md를 참조하세요.

6. 시간 처리 (astropy.time)

정밀 시간 표현 및 시간 척도와 형식 간 변환.

주요 작업:

  • 다양한 형식(ISO, JD, MJD, Unix 등)으로 Time 객체 생성
  • 시간 척도 간 변환 (UTC, TAI, TT, TDB 등)
  • TimeDelta로 시간 산술 수행
  • 관측자를 위한 항성시 계산
  • 광행 시간 보정 계산 (무게중심, 태양중심)
  • 시간 배열을 효율적으로 작업
  • 마스킹된(누락된) 시간 처리

참조: 시간 형식, 시간 척도, 변환, 산술, 관측 기능 및 정밀도 처리에 대해서는 references/time.md를 참조하세요.

7. 세계 좌표계 (astropy.wcs)

이미지의 픽셀 좌표와 세계 좌표 간 변환.

주요 작업:

  • FITS 헤더에서 WCS 읽기
  • 픽셀 좌표를 세계 좌표로 변환 (및 역변환)
  • 이미지 풋프린트 계산
  • WCS 매개변수 접근 (참조 픽셀, 투영법, 스케일)
  • 사용자 정의 WCS 객체 생성

참조: WCS 작업 및 변환에 대해서는 references/wcs_and_other_modules.md를 참조하세요.

추가 기능

references/wcs_and_other_modules.md 파일은 다음 내용도 다룹니다:

NDData 및 CCDData

메타데이터, 불확실성, 마스킹 및 WCS 정보를 포함한 n차원 데이터셋을 위한 컨테이너.

모델링

천문 데이터에 수학적 모델을 생성하고 피팅하기 위한 프레임워크.

시각화

적절한 스트레칭 및 스케일링을 사용한 천문 이미지 표시 도구.

상수

적절한 단위가 있는 물리 및 천문 상수 (광속, 태양 질량, 플랑크 상수 등).

컨볼루션

스무딩 및 필터링을 위한 이미지 처리 커널.

통계

시그마 클리핑 및 이상치 제거를 포함한 강건한 통계 함수.

설치

# 현재 안정 버전에 대한 재현 가능한 설치
uv pip install "astropy==7.2.0"

# 플롯팅 및 일반적인 워크플로우를 위한 권장 선택적 종속성
uv pip install "astropy[recommended]==7.2.0"

# 광범위한 천문학 워크플로우를 위한 전체 선택적 종속성 세트
uv pip install "astropy[all]==7.2.0"

Astropy 7.2.0은 Python 3.11+가 필요하며 NumPy, PyERFA, PyYAML 및 packaging에 의존합니다. 격리된 가상 환경을 사용하고, Astropy를 상승된 권한으로 설치하지 마십시오.

[recommended] 및 [all] extras는 전이 종속성(matplotlib, scipy 등)을 고정되지 않은 버전으로 가져옵니다. 재현 가능한 프로덕션 환경을 위해 lockfile(프로젝트의 uv lock 또는 요구사항 파일의 uv pip compile)로 전체 종속성 트리를 고정하고, 배포 전에 해결된 버전을 검토하세요.

일반적인 워크플로우

좌표계 간 변환

from astropy.coordinates import SkyCoord
import astropy.units as u

# 좌표 생성
c = SkyCoord(ra='05h23m34.5s', dec='-69d45m22s', frame='icrs')

# 은하 좌표로 변환
c_gal = c.galactic
print(f"l={c_gal.l.deg}, b={c_gal.b.deg}")

# 고도-방위각 좌표로 변환 (시간과 위치 필요)
from astropy.time import Time
from astropy.coordinates import EarthLocation, AltAz

observing_time = Time('2023-06-15 23:00:00')
observing_location = EarthLocation(lat=40*u.deg, lon=-120*u.deg)
aa_frame = AltAz(obstime=observing_time, location=observing_location)
c_altaz = c.transform_to(aa_frame)
print(f"Alt={c_altaz.alt.deg}, Az={c_altaz.az.deg}")

FITS 파일 읽기 및 분석

from astropy.io import fits
import numpy as np

# FITS 파일 열기
with fits.open('observation.fits') as hdul:
    # 구조 표시
    hdul.info()

    # 이미지 데이터 및 헤더 가져오기
    data = hdul[1].data
    header = hdul[1].header

    # 헤더 값 접근
    exptime = header['EXPTIME']
    filter_name = header['FILTER']

    # 데이터 분석
    mean = np.mean(data)
    median = np.median(data)
    print(f"Mean: {mean}, Median: {median}")

우주론적 거리 계산

from astropy.cosmology import Planck18
import astropy.units as u
import numpy as np

# z=1.5에서 거리 계산
z = 1.5
d_L = Planck18.luminosity_distance(z)
d_A = Planck18.angular_diameter_distance(z)

print(f"광도 거리: {d_L}")
print(f"각직경 거리: {d_A}")

# 해당 적색편이에서 우주의 나이
age = Planck18.age(z)
print(f"z={z}에서 나이: {age.to(u.Gyr)}")

# 후방 시간
t_lookback = Planck18.lookback_time(z)
print(f"후방 시간: {t_lookback.to(u.Gyr)}")

카탈로그 교차 매칭

from astropy.table import Table
from astropy.coordinates import SkyCoord, match_coordinates_sky
import astropy.units as u

# 카탈로그 읽기
cat1 = Table.read('catalog1.fits')
cat2 = Table.read('catalog2.fits')

# 좌표 객체 생성
coords1 = SkyCoord(ra=cat1['RA']*u.degree, dec=cat1['DEC']*u.degree)
coords2 = SkyCoord(ra=cat2['RA']*u.degree, dec=cat2['DEC']*u.degree)

# 매칭 찾기
idx, sep, _ = coords1.match_to_catalog_sky(coords2)

# 분리 각도 임계값으로 필터링
max_sep = 1 * u.arcsec
matches = sep < max_sep

# 매칭된 카탈로그 생성
cat1_matched = cat1[matches]
cat2_matched = cat2[idx[matches]]
print(f"{len(cat1_matched)}개의 매칭 발견")

모범 사례

  1. 항상 단위 사용: 오류를 방지하고 차원 일관성을 보장하기 위해 수량에 단위를 첨부하세요.
  2. FITS 파일에는 컨텍스트 관리자 사용: 적절한 파일 종료를 보장합니다.
  3. 루프보다 배열 선호: 더 나은 성능을 위해 여러 좌표/시간을 배열로 처리하세요.
  4. 좌표 프레임 확인: 변환 전에 프레임을 확인하세요.
  5. 적절한 우주론 사용: 분석에 맞는 올바른 우주론 모델을 선택하세요.
  6. 누락 데이터 처리: 누락 값이 있는 테이블에는 마스킹된 열을 사용하세요.
  7. 시간 척도 지정: 정밀한 타이밍을 위해 시간 척도(UTC, TT, TDB)를 명시적으로 지정하세요.
  8. 단위 인식 테이블에는 QTable 사용: 테이블 열에 단위가 있는 경우.
  9. WCS 유효성 확인: 변환을 사용하기 전에 WCS를 확인하세요.
  10. 자주 사용하는 값 캐싱: 비용이 많이 드는 계산(예: 우주론적 거리)은 캐싱할 수 있습니다.
  11. 네트워크 접근에 대해 명시적으로 확인: SkyCoord.from_name(), EarthLocation.of_site(refresh_cache=True), EarthLocation.of_address(), download_file(), 원격 FITS 읽기 및 일부 IERS 시간/좌표 변환은 외부 서비스에 접속하거나 로컬 캐시를 업데이트할 수 있습니다. 민감한 대상 이름, 주소, URL 또는 독점 파일 위치를 타사 서비스로 보내지 마십시오. 잠재적으로 민감한 대상이나 데이터 위치로 작업할 때는 이러한 네트워크 호출을 수행하기 전에 사용자에게 확인하세요.
  12. 재현성을 위해 고정: 공유 환경에서는 astropy==7.2.0과 같은 고정된 버전을 사용하고, 릴리스 노트를 검토한 후 의도적으로 업데이트하세요.

현재 버전 참고 사항

  • 현재 안정 릴리스 조사: Astropy 7.2.0 (2025-11-25 릴리스, 2026-06-10 기준으로 현재 버전 확인됨)
  • Python 요구 사항: 3.11+
  • Astropy 8.0은 릴리스 후보 단계입니다 (8.0.0rc1, 2026-05-26). 예상되는 주요 변경 사항:
    • 더 이상 사용되지 않는 astropy.cosmology 하위 모듈 shim(astropy.cosmology.flrw, .core, .funcs, .connect, .parameter)이 제거됩니다. 모든 것을 astropy.cosmology에서 직접 임포트하세요 (예: from astropy.cosmology import FlatLambdaCDM, z_at_value)
    • astropy.constants 기본값이 CODATA 2018에서 CODATA 2022로 변경됩니다. 재현성이 중요하다면 astropyconst 과학 상태를 통해 상수 버전을 고정하세요.
    • NumPy 2.0이 최소 지원 버전이 됩니다. 7.2.x LTS 브랜치는 8.0 릴리스 후 6개월 동안 NumPy 1.x 지원을 유지합니다.
    • 내장 테스트 실행기(astropy.test(), TestRunner)는 공식적으로 더 이상 사용되지 않습니다. pytest를 직접 호출하세요.
  • 새 코드에서 피해야 할 최근 7.x 더 이상 사용되지 않는 기능: 첫 번째 .loc 요소로 테이블 인덱스 식별자를 전달하는 것 (t.loc["b", 2]) — 대신 t.loc.with_index("b")[2]를 사용하세요 (9.0에서 제거 예정); astropy.utils.isiterable() — numpy.iterable()을 사용하세요.
  • 최근 7.0 제거 사항: (Bin)Table.update, _ExtensionHDU, _NonstandardExtHDU, CompImageHDU의 tile_size 인수와 같은 더 이상 사용되지 않는 FITS API; CompImageHeader는 더 이상 사용되지 않습니다. 새 예제에서는 이러한 레거시 패턴을 피하세요.
  • 권장 선택적 extras는 일반적인 플로팅/과학 종속성을 위한 recommended이며, 광범위한 선택적 기능 세트가 필요한 경우에만 all을 사용하세요.

문서 및 리소스

참조 파일

특정 모듈에 대한 자세한 정보는 다음을 참조하세요:

  • references/units.md - 단위, 수량, 변환 및 등가성
  • references/coordinates.md - 좌표계, 변환 및 카탈로그 매칭
  • references/cosmology.md - 우주론 모델 및 계산
  • references/fits.md - FITS 파일 작업 및 조작
  • references/tables.md - 테이블 생성, 입출력 및 작업
  • references/time.md - 시간 형식, 척도 및 계산
  • references/wcs_and_other_modules.md - WCS, NDData, 모델링, 시각화, 상수 및 유틸리티

과학 에이전트 스킬 인용

이 스킬은 Scientific Agent Skills 컬렉션의 일부입니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

cobrapy

Constraint-based metabolic modeling (COBRA). FBA, FVA, gene knockouts, flux sampling, SBML models, for systems biology and metabolic engineering analysis.

관련 스킬