ActivePapers-opplæring
ActivePapers-opplæring Denne korte opplæringen viser hvordan du kan inspisere innholdet i en ActivePaper hente ut kode og dokumentasjon (inkludert diagrammer) endre parametere for beregningen modifisere koden kjøre beregninger på nytt lage en ActivePaper fra bunnen av Ekselfilen for denne opplæringen kan lastes ned fra Figshare. Det er også en god idé å se på beskrivelsen på Figshare-nettstedet.
Du trenger ikke å forstå hva den gjør eller hvorfor, men hvis du er interessert, kan du gjerne se på artikkelen som beskriver arbeidet, som handler om å beregne translasjons- og rotasjonsdiffusjonstensorene for et protein i løsning fra en molekylærdynamikk-traektorie. Vennligst kopier den nedlastede ActivePaper-filen til en tom mappe. Åpne et skallvindu, og gå til den mappen. Når du skriver ls -l, bør du se noe slikt: -rw-r—r— 1 hinsen staff 148133188 Sep 26 16:21 lysozyme_diffusion.ap Inspisere innholdet aptool ls gir en lang liste over datasett, som starter med code/correlation_functions code/diffusion_tensor code/identify_trajectories code/plots code/python-packages/fitting code/python-packages/molecular_structure code/python-packages/mosaic code/python-packages/quaternion code/python-packages/time_series code/python-packages/units code/thermal_averages code/trajectory_processing data/coordinate_trajectories/rotation_laboratory_frame_1 data/coordinate_trajectories/rotation_laboratory_frame_10 data/coordinate_trajectories/rotation_laboratory_frame_2 Men hvordan vet aptool hvilken ActivePaper-fil du vil se på?
Vel, hvis det bare finnes én fil med .ap-endelsen i gjeldende mappe, er det den den velger. Og det er derfor det er en god idé å bruke en egen mappe for hvert ActivePaper-prosjekt. Hvis du av en eller annen grunn ikke ønsker å gjøre dette, kan du oppgi ActivePaper-filnavnet eksplisitt: aptool ls -p lysozyme_diffusion.ap Du kan få mer informasjon ved å bruke aptool ls -l som gir 2013-06-07/09:13:05 calclet code/correlation_functions 2013-06-07/09:19:48 calclet code/diffusion_tensor 2013-06-07/10:02:29 calclet code/identify_trajectories 2013-06-12/08:03:48 calclet code/plots 2013-06-04/15:42:02 module code/python-packages/fitting 2013-05-02/15:11:53 module code/python-packages/molecular_structure 2013-06-14/15:46:18 reference code/python-packages/mosaic 2013-05-23/11:42:31 module code/python-packages/quaternion 2013-05-27/04:13:09 module code/python-packages/time_series 2013-05-02/15:12:07 module code/python-packages/units pluss mange flere linjer som disse.
Den første kolonnen viser dato og klokkeslett for siste endring for hvert datasett. Den andre kolonnen viser typen datasett. Listen ovenfor inneholder to av typene for kjørbare kodeelementer: calclet og module.
Det finnes en tredje type som ikke forekommer i denne listen: importlet. En module er akkurat det du som Python-programmer forventer: en Python-kildekodefil som skal importeres av annen Python-kode.
Calclets og importlets er de to variantene av skript som tilbys av ActivePapers. Den vanligste typen er calclet, som er et Python-skript med begrensede rettigheter: det kan ikke utføre I/O utenfor ActivePaper-filen det er inneholdt i, noe som betyr at det verken har tilgang til filer eller nettverksressurser. Disse begrensningene sikrer reproduserbarhet (all inndata er garantert å være i ActivePaperen) og beskytter brukeren mot feil og ondsinnet kode. Men de betyr også at calclets ikke kan brukes til å importere data inn i ActivePaperen.
Relatert: — Interaktive Python- og datavitenskap-kurs koder du direkte i nettleseren.
Det er her importlets kommer inn i bildet: de kan bruke alle Python-funksjoner og få tilgang til enhver ressurs. Det betyr også at du ikke bør kjøre andres importlets uten først å se på dem.
Siden [[Calclets]] forteller deg hvordan du skriver calclets og importlets. Det finnes én datasettype til i listen ovenfor: reference, som tjener til å referere til datasett i andre ActivePaper-filer. En reference består av to deler: en referanse til filen, og navnet på datasettet innenfor den filen. Filreferansen kan være en DOI for en publisert fil, eller et lokalt filnavn.
Lokale filnavn gir selvfølgelig ingen mening på noens andre datamaskin, så lokale referanser er litt som importlets: de dokumenterer hvor dataene kommer fra, men gjør dem ikke tilgjengelige. La oss se på referansene i vår ActivePaper: aptool refs Vi finner én DOI og ti lokale referanser: doi:10.6084/m9.figshare.705829 local:lysozyme_spce_rbt_1 local:lysozyme_spce_rbt_10 local:lysozyme_spce_rbt_2 local:lysozyme_spce_rbt_3 local:lysozyme_spce_rbt_4 local:lysozyme_spce_rbt_5 local:lysozyme_spce_rbt_6 local:lysozyme_spce_rbt_7 local:lysozyme_spce_rbt_8 local:lysozyme_spce_rbt_9 DOI-en gjelder pyMosaic-biblioteket, versjon 0.1.1, som er deponert på Figshare.
Leserfavoritt: — Prosjektbaserte datavitenskapelige stier med en guidet terminal og ekte datasett.
De lokale filene er simuleringstraektoriene som analyseres i ActivePaperen. La oss hente litt mer informasjon om disse referansene: aptool refs -v doi:10.6084/m9.figshare.705829 links: code/python-packages/mosaic local:lysozyme_spce_rbt_1 copies: data/center_of_mass data/orientation data/reference_structure data/time og så videre for de ni andre inndatafilene. Dette viser at DOI-en brukes i en lenke til destinasjonsfilens datasett code/python-packages/mosaic, mens de lokale filene ble brukt som kilde for data som ble kopiert inn i selve ActivePaperen.
En copy-referanse tjener altså kun som dokumentasjon; det er ikke nødvendig å ha en kopi av den refererte filen. Tilbake til datasettyper. Det finnes noen flere som ikke dukket opp i de første linjene av aptool ls -l, så la oss se på noen av de gjenværende linjene: 2013-07-03/12:24:26 text documentation/README 2013-06-14/15:55:08 file documentation/c_rr_diagonals.pdf 2013-06-14/15:55:00 data data/correlation_function_integration_limit 2013-06-14/15:46:47 dummy data/coordinate_trajectories/rotation_laboratory_frame_1 Du kan sannsynligvis gjette hva text betyr.
Og file er akkurat det en fil er i Unix-verdenen: en sekvens av byte, uten noen spesiell tolkning knyttet til dem. Du vil senere se hvordan en slik fil kan hentes ut. Betydningen av data er kanskje mindre åpenbar, spesielt hvordan den skiller seg fra en file. Svaret er at data er et vilkårlig HDF5-datasett, karakterisert ved et datarom og en datatype.
Tenk på det som en array hvis du vil; det er faktisk ganske nærme. Da gjenstår dummy, som er et ikke-eksisterende datasett. Mer presist: et datasett som ikke lenger eksisterer.
Det er et datasett som ble generert av en calclet, og deretter fjernet eksplisitt (ved hjelp av aptool dummy …) for å redusere filstørrelsen. Hvis du ønsker å inspisere det, eller kjøre noen av calclets-ene som leser det inn, må du først regenerere det ved å kjøre calclet-en på nytt. Så la oss gjøre det: aptool update -v Dette oppdaterer alt i ActivePaperen som trenger oppdatering: dummy-datasett, men også foreldede datasett, dvs. datasett som er eldre enn gjeldende versjon av calclet-en som produserte dem.
Alternativet -v gjør kommandoen verbose; den forteller deg hvilke calclets som kjøres og hvorfor. Vær forberedt på å vente en stund; på min maskin tar operasjonen omtrent åtte minutter. Vi kan se at filstørrelsen har økt betydelig: ls -l -rw-r—r— 1 hinsen staff 540352636 Oct 23 14:54 lysozyme_diffusion.ap Dessuten er de tidligere dummy-datasettene nå ekte datasett: aptool ls -l data/coordinate_trajectories/rotation_laboratory_frame_1 2013-10-23/14:45:29 data data/coordinate_trajectories/rotation_laboratory_frame_1 Hente ut diagrammene Hvis du ser på hele utskriften fra aptool ls -l, vil du legge merke til noen PDF-filer under documentation.
For å se på dem, hent dem ut som vanlige filer: aptool checkout documentation Dette vil også gi deg README, siden det henter ut alt i HDF5-gruppen documentation til en lokal mappe som heter, ja nettopp, documentation. Gruppen documentation i en ActivePaper er beregnet på data ment for mennesker; den brukes generelt ikke som inndata til beregninger. Merk at du selvfølgelig kan hente ut enkelte filer, for eksempel: aptool checkout documentation/README.txt Kommandoen checkout henter kun ut de datasettene som er nyere enn den tilsvarende filen på disken, hvis den allerede eksisterer.
Du kan dermed redigerte uthentede filer uten at de blir overskrevet. Vi vil se dette i aksjon straks når vi arbeider med koden. Hente ut og modifisere koden La oss deretter se på all koden
Referansehyllen for arbeidende forskere
Et dypt teknisk bibliotek med vitenskapelige databøker, videoer og live-trening