ክፍል 2 / 11

ከፓይዘን ጋር የባዮሎጂካል መረጃ ትንተና መሰረታዊ ነገሮች

ትርፍ፡

  • ባዮሎጂያዊ መረጃን ወደ አርቴፊሻል ኢንተለጀንስ የሚያነብ እና የሚያጸዳውን ኮድ በመፃፍ እና እራሱን በፓንዳስ፣ ኑምፒ እና ባዮፓይቶን በማሄድ ቆራጥ ውጤትን የማመን ችሎታ።
  • ውጤቱ በሚታወቅበት ትንሽ ሁኔታ እና የማረጋገጫ ፈተና ኮዱን በመሞከር 'ስህተት ኮድ ያለ ስህተት መስራት' አደጋን ማስወገድ መቻል።
  • ከስሪት መሰካት፣ በዘፈቀደ ዘር መዝራት እና ጥሬ መረጃ የማቆየት ልማዶች ሊደገም የሚችል ትንታኔ የመመስረት ችሎታ።

የዘመናዊው ባዮሎጂ ቋንቋ ከጊዜ ወደ ጊዜ Python እየሆነ መጥቷል። በላብራቶሪ ማስታወሻ ደብተር ውስጥ በእጅ ማቀናበር አሁን በሴኮንድ በአስር ሺዎች የሚቆጠሩ የጠረጴዛዎች መስመሮች ወደ ኮድ ማቀነባበሪያ መስመሮች ይቀየራል። በዚህ ክፍል ውስጥ፣ የእርስዎን ባዮሎጂካል መረጃ የሚያነብ፣ የሚያጸዳ እና የሚያጠቃልል የፓይዘንን ኮድ የሚያትመው AI እንደ ተባባሪ ፕሮግራም አውጪ መጠቀምን እንማራለን። ዋናው ነገር ኮዱን ወደ አርቲፊሻል ኢንተለጀንስ መጻፍ, እራስዎ ማስኬድ እና ውጤቱን ማረጋገጥ ነው; ይህ የሆነበት ምክንያት በአምሳያው የቃላት ትንበያ ላይ ሳይሆን በኮዱ ውፅዓት (በእያንዳንዱ ሩጫ ውስጥ ተመሳሳይ ውጤትን በማቅረብ) ላይ የተመሠረተ ነው።

በዚህ ክፍል ውስጥ እንዴት ኮድ ማድረግ እንደሚችሉ ማወቅ አያስፈልግዎትም; ዓላማውን በትክክል መግለጽ እና ውጤቱን ማቅረብ ይማራሉ.

ለምን Python እና የትኞቹ ቤተ መጻሕፍት?

በባዮሎጂ በብዛት ጥቅም ላይ የዋሉት የፓይዘን ቤተ-መጻሕፍት (ላይብረሪ፡ ዝግጁ-የተሠሩ ተግባራት ጥቅል)፡-

  • pandas፡- የሰንጠረዡን ዳታ ለማንበብ (CSV፣ Excel) እና የረድፍ-አምድ ስራዎችን ለመስራት። የጂን መግለጫ ሰንጠረዥን ለማጣራት, ቡድን, ማዋሃድ መሰረታዊ መሳሪያ.
  • NumPy: ለቁጥር ድርድሮች እና ማትሪክስ ስራዎች; በፓንዳዎች ስር ይሰራል.
  • Biopython: ከዲኤንኤ/አር ኤን ኤ/ፕሮቲን ቅደም ተከተሎች ጋር ለመስራት፣ FASTA ፋይሎችን ለማንበብ፣ ትርጉም (ዲኤንኤን ወደ ፕሮቲን መተርጎም)።
  • matplotlib / seaborn: ለሴራ ሴራ.
  • SciPy/statsmodels፡ ለስታቲስቲክስ ሙከራዎች።

አርቴፊሻል ኢንተለጀንስ እነዚህን ቤተ መጻሕፍት ጠንቅቆ ያውቃል። የእርስዎ ተግባር በየትኛው ቤተ-መጽሐፍት ምን ማድረግ እንደሚፈልጉ በግልፅ መግለፅ እና የተፈጠረውን ኮድ ማስኬድ እና ማረጋገጥ ነው።

ፍንጭ፡ ሞዴሉ አንዳንድ ጊዜ የቤተመፃህፍት ተግባርን "ማካካስ" (ሃሉሲናቴት) የሌለውን ሊሰራ ይችላል። ኮዱ ስህተት ከሰጠ, አትደናገጡ; ስህተቱን ወደ አምሳያው መልሰው መለጠፍ እንደተለመደው ያስተካክላል። አሁንም ካልሰራ, ኦፊሴላዊውን ሰነድ ያረጋግጡ.

ደረጃ በደረጃ: የመቁጠር ጠረጴዛን ማጽዳት

counts.csv አለህ እንበል፡ ረድፎች ጂኖች ናቸው፣ ዓምዶች ናሙናዎች ናቸው፣ ህዋሶች ጥሬ የንባብ ቆጠራዎች ናቸው። የተለመዱ የመጀመሪያ ደረጃዎች

  1. በመጫን ላይ: ጠረጴዛውን በፓንዳዎች ያንብቡ.
  2. ግኝት፡ መጠኑን ያረጋግጡ (ምን ያህል ጂኖች፣ ስንት ናሙናዎች)፣ የጎደሉ እሴቶች፣ የተባዙ የጂን ስሞች።
  3. ማጣራት: በማንኛውም ናሙና ውስጥ ያልተነበቡ ጂኖችን ያስወግዱ (ጠቅላላ ቆጠራ 0); እነዚህ ጫጫታ ናቸው.
  4. ማጠቃለያ: በአንድ ናሙና (የቤተ-መጽሐፍት መጠን) አጠቃላይ የንባብ ብዛት ያሰሉ; በጣም ዝቅተኛ የሆነው ናሙና ያልተሳካ ሊሆን ይችላል.

ይህንን የስራ ፍሰት ወደ ሰው ሰራሽ የማሰብ ችሎታ በሚከተለው መንገድ መስጠት ይችላሉ፡

ሚና፡ እርስዎ በባዮኢንፎርማቲክስ ላይ ያተኮሩ የፓይዘን ረዳት ነዎት። ተግባር፡ የcounts.csv ፋይልን በፓንዳዎች ያንብቡ። መረጃ፡ ረድፎች ጂን ናቸው (ኢንዴክስ=ጂን_id)፣ ዓምዶች 24 ናሙናዎች፣ እሴቶች የኢንቲጀር ጥሬ ቆጠራዎች ናቸው። እኔ እፈልጋለሁ: (1) መጠኑን ማተም, (2) ያልተነበቡ ጂኖችን አስወግድ, (3) አጠቃላይ ንባቦችን በባር ግራፍ ውስጥ አሳይ. በእያንዳንዱ መስመር ላይ አጭር የቱርክ አስተያየቶችን ያክሉ። የስራ ኮድ ብቻ ይስጡ።

የሞዴል ኮድ ያመነጫል; አንተ ትመራዋለህ። በውጤቱ ውስጥ 24 አምዶች እና ምክንያታዊ ቁጥር ያላቸው ጂኖች (ለምሳሌ 15,000-25,000) ካዩ በትክክለኛው መንገድ ላይ ነዎት። አንዱ ናሙና እንደሌሎቹ አንድ አስረኛውን ያህል ንባቦችን ከያዘ፣ ያንን ናሙና ይፃፉ።

ሶስት ጥቃቅን ጉዳዮች

ጉዳይ 1 - የጠፋ የእሴት ወጥመድ፡ አንድ ተማሪ አማካኙ በ 30 ናሙና ሜታቦሎሚክስ ሠንጠረዥ ውስጥ ይሰላል። ውጤቱ የማይረባ ነበር። ችግር፡ የጎደሉት ህዋሶች በናኤን (ቁጥር ሳይሆን) በሚለው ጽሁፍ ተሞልተዋል፣ ስለዚህ ዓምዱ እንደ ጽሑፍ ተነቧል። አርቴፊሻል ኢንተለጀንስ "የኤንዲ እሴቶችን NaN ፍጠር እና አምዱን ወደ ቁጥሮች ቀይር" እንዲል ሳደርግ ተስተካክሏል። ትምህርት፡ ሁልጊዜ መጀመሪያ ጥሬ መረጃን ያስሱ።

ጉዳይ 2 — የውህደት ስህተት፡ አንድ ተመራማሪ ሁለት ሰንጠረዦችን (መግለጫ እና የጂን ማብራሪያ) አዋህዶ ግን 2,000 ጂኖች ጠፍተዋል። ምክንያት: በአንድ ሠንጠረዥ ውስጥ መታወቂያዎቹ "ENSG00000141510" ሲሆኑ በሌላኛው ደግሞ "ENSG00000141510.14" (ከስሪት ቁጥር ጋር) ነበሩ። ሞዴል የስሪት ቁጥሩን ያጸዱ አንድ ነጠላ የኮድ መስመር ጻፈ; ኪሳራው ወደ 40 ጂኖች ተቀንሷል. ትምህርት፡ የመታወቂያ ቅርጸቶችን ከማዋሃድዎ በፊት አሰልፍ።

ጉዳይ 3 - ጸጥ ያለ የውሂብ መጥፋት: አንድ ቴክኒሻን ከተጣራ በኋላ የጂኖች ቁጥር ከ 22,000 ወደ 8,000 እንደቀነሰ አላስተዋሉም. ጣራው በስህተት ተቀምጧል (በእያንዳንዱ ናሙና ከ10 ንባቦች ይልቅ 10 ጠቅላላ)። የሚታወቅ ዘረ-መል (የቤት አያያዝ ጂን፡ እንደ GAPDH ያሉ ጂኖች በእያንዳንዱ ሕዋስ ውስጥ ያለማቋረጥ የሚገለጹ) በመጨረሻ ጠፋ። ትምህርት፡ የድህረ ማጣሪያ ጂን "ሊኖረው ይገባል" የሚለውን ያረጋግጡ።

በሚታወቅ ሁኔታ መሞከር (በጣም አስፈላጊ ልማድ)

በአርቴፊሻል ኢንተለጀንስ የተፃፈውን ኮድ ትክክለኛነት ለማመን በጣም ትክክለኛው መንገድ ውጤቱን አስቀድመው በሚያውቁት ትንሽ ናሙና መሞከር ነው። ለምሳሌ, ከ 5 ረድፎች ጋር የዱሚ ጠረጴዛ ይስጡ; ጠቅላላውን በእጅ ማስላት; ኮዱ ተመሳሳይ ውጤት እንደሚሰጥ ይመልከቱ.

በጻፍከው የማጣሪያ ኮድ ላይ ሙከራን ጨምር፡ 5 ጂኖችን፣ 3 ናሙናዎችን የያዘ ትንሽ የውሂብ ፍሬም አምጣ፣ ሆን ብለህ 2 ጂኖችን ወደ ዜሮ አዘጋጅ፣ ማጣሪያው በትክክል እነዚህን 2 ጂኖች እንደሚጥላቸው አረጋግጥ። ፈተናውን ተፈፃሚ ያድርጉት።

ኮዱ ከሚጠበቀው ባህሪ ካፈነገጠ ያስጠነቅቀዎታል። ይህ "ፀጥ ያለ የውሸት መደምደሚያ" አደጋን ለመከላከል በጣም ጠንካራው ጋሻ ነው.

ደካማ ጥያቄ / ጠንካራ ጥያቄ

ደካማ፡ "ገበታዬን አጽዳ"

ኃይለኛ፡ "counts.csv: rows gene (gene_id index), 24 columns sample, values ​​integer. የሚከተሉትን ያድርጉ፡ የጎደሉ እሴቶችን ሪፖርት ያድርጉ፣ በሁሉም ናሙናዎች ላይ 0 የሚደርሱ ጂኖችን አስወግዱ፣ ለእያንዳንዱ ናሙና አጠቃላይ ንባብ ያትሙ፣ የጂን ብዛትን ከማጣራት በፊት/በኋላ ያወዳድሩ። መስራት ብቻ ይስጡ፣ አስተያየት ሰጥቷል Python ኮድ።"

ልዩነት፡ ጠንካራ መጠየቂያ የመረጃ አወቃቀሩን፣ ደረጃዎችን እና የማረጋገጫ ውፅዓት (ከማነፃፀር በፊት/ በኋላ) ይገልጻል። ሞዴሉ መገመት የለበትም.

የንጽጽር ገበታ፡ AI ወይስ በእጅ?

ግብይት

ወደ ሰው ሰራሽ የማሰብ ችሎታ ያትሙ

ራስህ አረጋግጥ

የCSV ንባብ፣ የቅርጸት ልወጣ

አዎ

መጠንን እና ዓይነቶችን ያረጋግጡ

ማጣራት፣ መቧደን

አዎ

በፊት/በኋላ ይቁጠሩ

የስታቲስቲክስ ሙከራ

አዎ (ኮድ)

ግምቶችን ያረጋግጡ እና ይሞክሩ

" ስንት መስመሮች ቀሩ?"

አይ (ኮዱ ይቆጠር)

ውጤቱን አንብብ

የውጤቱ ባዮሎጂያዊ ትርጉም

በከፊል

የባለሙያ አስተያየት ያስፈልጋል

የተለመዱ ስህተቶች

  • ሞዴሉ በሚያወጣው ቁጥር ላይ ተመርኩዞ "አማካይ አገላለጽ ምንድን ነው?" ጥያቄውን ወደ ኮዱ ይጠይቁ, ሞዴል ሳይሆን.
  • የውሂብ አይነቶችን አለመፈተሽ፡ እንደ ጽሑፍ የሚነበቡ የቁጥሮች አምዶች በጸጥታ የተሳሳቱ ውጤቶችን ይመልሳሉ።
  • የድህረ ማጣሪያን አለመፈተሽ፡ የሚጠበቀው ጂን አሁንም እንዳለ ያረጋግጡ።
  • የዘፈቀደ ዘርን መርሳት: የዘፈቀደ ስራዎችን በያዘው ኮድ ውስጥ ዘሩ ካልተስተካከለ ውጤቱ ሁልጊዜ ይለወጣል; ተደጋጋሚነት ተዳክሟል።
  • ኮዱን ሳያነቡ ማስኬድ፡ ቢያንስ አስተያየቶችን ያንብቡ እና አመክንዮውን ይከተሉ።
ትኩረት፡ ኮዱ ይሰራል ማለት ኮዱ ትክክል ነው ማለት አይደለም። "ያለ ስህተት የሚሰራ የተሳሳተ ኮድ" በባዮሎጂ ውስጥ በጣም አደገኛ ሁኔታ ነው; ምክንያቱም የተሳሳተ ውጤት በጸጥታ ነው. በሚታወቅ ሁኔታ መሞከር ይህንን አደጋ ያስወግዳል.

እንደገና መባዛት፡ የኮዱ ሳይንሳዊ እሴት

በባዮሎጂ፣ የውጤቱ ሳይንሳዊ ጠቀሜታ በሌሎች (እና የወደፊት እራስዎ) እሱን ለመድገም ባለው ችሎታ ላይ የተመሠረተ ነው። በእጅ የጠረጴዛ ስራዎች አልተመዘገቡም; የትኛው ሕዋስ እንደሚለወጥ እና እንዴት እንደሚለወጥ ማንም አያውቅም. ኮዱ እያንዳንዱን ደረጃ ይይዛል። ስለዚህ በአርቴፊሻል ኢንተለጀንስ የምታዘጋጁትን ትንታኔ እንደ አንድ ጊዜ ሳጥን ሳይሆን እንደ ተከማች እና የጋራ መዝገብ አስቡት።

ለተደጋጋሚ ትንተና ሶስት ልምዶች አስፈላጊ ናቸው. የመጀመሪያው ስሪት መሰካት ነው፡ የትኛውን የቤተ-መጽሐፍት ስሪት እየተጠቀሙ እንደሆነ (ለምሳሌ፡ pandas 2.2)፤ የተለያየ ስሪት የተለያዩ ውጤቶችን ሊሰጥ ይችላል. ሁለተኛው የዘፈቀደ ዘር ነው፡ ዘሩን በእያንዳንዱ ኮድ ውስጥ የዘፈቀደ ስራዎችን በያዘው አስተካክለው ውጤቱ በእያንዳንዱ ሩጫ ውስጥ አንድ አይነት ነው። ሦስተኛ፣ ጥሬ ውሂቡን በጭራሽ አይለውጡ፡ ዋናውን ፋይል አይንኩ፣ ተመልሶ እንዲሽከረከር በኮድ ውስጥ ሁሉንም ለውጦች ያድርጉ።

እርስዎ በጻፉት የትንታኔ ኮድ መጀመሪያ ላይ ጥቅም ላይ የዋሉትን የቤተ-መጻሕፍት ሥሪቶችን የሚያትሙ መስመሮችን ይጨምሩ እና የዘፈቀደ ሂደት ካለ ዘሩን በ sanp.random.seed (42) ያስተካክሉት። ጥሬውን CSV በጭራሽ አይለውጡ፣ ሁሉንም ውፅዓት በተለየ ፋይል ውስጥ ያስቀምጡ።

የጁፒተር ማስታወሻ ደብተር-የመተንተን እና ትረካ ጥምረት

በባዮኢንፎርማቲክስ ውስጥ በብዛት ጥቅም ላይ የዋለው አካባቢ የጁፒተር ማስታወሻ ደብተር (ማስታወሻ ደብተር: በተመሳሳይ ሰነድ ውስጥ ኮድን ፣ ውፅዓት እና መግለጫን የሚያጣምር መሳሪያ) ነው። አይአይ ኮዱን በማስታወሻ ደብተር ሴሎች መሰረት እንዲያመነጭ ማድረግ፣ እያንዳንዱ እርምጃ በማርክዳውድ ማብራሪያ ሲለያይ፣ እርስዎ እና ባልደረቦችዎ ትንታኔውን ለመከታተል ቀላል ያደርገዋል። ይህም ትንታኔውን "ጥቁር ሳጥን" ሳይሆን ሊነበብ የሚችል የላብራቶሪ ደብተር ያደርገዋል.

የባዮሎጂካል ፋይል ቅርጸቶችን ማወቅ

ባዮሎጂካል መረጃን በፓይዘን ሲያካሂዱ የተወሰኑ የፋይል ቅርጸቶችን ያለማቋረጥ ያጋጥሙዎታል። ሞዴሉ አንድን ፋይል በትክክል ከማንበብ በፊት, በምን አይነት ቅርጸት እንዳለ ማወቅ አለበት; ቅርጸቱ ከተሳሳተ "ያለ ስህተት የሚሰራ የተሳሳተ ኮድ" ወጥመድ ውስጥ ይወድቃሉ. በጣም የተለመዱት የሚከተሉት ናቸው:

ቅርጸት

ይዘት

ተስማሚ ተሽከርካሪ

CSV/TSV

የሠንጠረዥ ውሂብ (መግለጫ, መለኪያ)

ፓንዳስ

FASTA (.fa/.fasta)

ዲ ኤን ኤ / አር ኤን ኤ / ፕሮቲን ቅደም ተከተሎች

ባዮፓይቶን

FASTQ (.fq)

ጥሬ ቅደም ተከተል ይነበባል + ጥራት

Biopython፣ ብጁ መሳሪያዎች

ቪሲኤፍ

ተለዋጭ (ሚውቴሽን) ዝርዝር

ፓንዳስ / ፒሳም

ጂኤፍኤፍ/ጂቲኤፍ

የጂኖም ማብራሪያ (የጂን አቀማመጥ)

pandas, gffutils

ቅርጸቱን የማታውቁት ከሆነ በመጀመሪያ ሞዴሉ ጥቂት የናሙና መስመሮችን በማሳየት እንዲለየው ያድርጉ፣ ከዚያ የተነበበውን ኮድ ይጠይቁ፡

የፋይሉን የመጀመሪያዎቹን 5 መስመሮች ከዚህ በታች እሰጣለሁ። ይህ ምን ዓይነት ባዮፋይል ቅርጸት ነው? የአምዶች/መስኮችን ትርጉም ያብራሩ፣ከዚያም ይህን ፋይል በደህና የሚያነብ (የቅርጸት ቼኮች) በፓይዘን ውስጥ ይስጡት። የመጀመሪያዎቹ 5 መስመሮች: [ለጥፍ]

ይህ አካሄድ በመጀመሪያ ደረጃ ከቅጽ ግምት የሚነሱ ጸጥ ያሉ ስህተቶችን ይከላከላል።

በማጠቃለያው

ፓይዘን ለባዮሎጂካል መረጃ ዋና ሂደት ቋንቋ ነው; pandas፣ NumPy እና Biopython መሰረታዊ መሳሪያዎች ናቸው። AI ይህንን ኮድ በፍጥነት ይጽፋል ፣ ግን እርስዎ ያሂዱት እና ያረጋግጡት። በጣም ወሳኙ ልማድ ኮዱን በሚያውቁት ትንሽ ናሙና መሞከር እና የሚጠበቀውን ነገር በኮዱ ውስጥ ማስገባት ነው። እርስዎ በሚያሄዱት ኮድ ወሳኙ ውጤት ላይ ተመርኩዘው እንጂ የቃል ግምት አይደለም።

የመተግበሪያ ተግባር

ያለዎትን የሲኤስቪ ሠንጠረዥ (ወይም ናሙና አንድ) ያነበበ ኮድ ያትሙ፣ መጠኑን ያትሙ እና ባዶ ጂኖችን ያጣሩ። ከዚያ በ 5 መስመሮች የዱሚ ውሂብ ከአምሳያው የማረጋገጫ ሙከራ ያክሉ። ኮዱን ያሂዱ; ከማጣራቱ በፊት እና በኋላ የጂኖችን ብዛት ያስተውሉ. በውጤቱ ውስጥ የቤት አያያዝ ጂን (ለምሳሌ GAPDH/ACTB) አሁንም እንዳለ ያረጋግጡ።

የማረጋገጫ ዝርዝር

  • [ ] የመረጃውን መጠን እና አይነት ከማስኬድዎ በፊት አረጋገጥኩ።
  • [ ] የጎደሉ እሴቶችን በግልፅ ተቆጣጥሬያለሁ።
  • [] የረድፎችን ብዛት ከማጣራት በፊት/በኋላ አነጻጽሬዋለሁ።
  • [] ከሚታወቅ ሁኔታ ጋር የማስረጃ ሙከራ ጨምሬያለሁ።
  • [ ] ቆጠራውን/ስሌቱን ለኮዱ እንጂ ለሞዴሉ አልተውኩትም።
  • [ ] የኮዱን አስተያየቶች አነበብኩ እና አመክንዮውን ተከተልኩ።