Thứ Sáu, 19 tháng 4, 2019


Phương pháp phân tích tế bào dòng chảy

(Flow Cytometry)

Flow Cytometry là gì?


Kỹ thuật Flow Cytometry hay còn gọi là phương pháp phân tích tế bào theo dòng chảy là một phương pháp được sử dụng rộng rãi để phân tích biểu hiện bề mặt tế bào và các phân tử nội bào, mô tả và xác định các loại tế bào khác nhau trong quần thể tế bào không đồng nhất, đánh giá độ tinh khiết của các phân nhóm con bị cô lập và phân tích kích cỡ và khối lượng tế bào. Nó cho phép phân tích nhiều tham số đồng thời các tế bào đơn. Nó được sử dụng chủ yếu để đo cường độ huỳnh quang được tạo ra bởi các kháng thể có tín hiệu huỳnh quang phát hiện protein, hoặc các phối tử có liên kết với các phân tử liên quan đến tế bào cụ thể như propidium iodide liên kết với DNA.
Ba thành phần chính để thực hiện kỹ thuật phân tích tế bào theo dòng chảy đó là chất lỏng, quang học và điện tử.
- Chất lỏng giúp vận chuyển các hạt trong một dòng chất lỏng đến chùm tia laser nơi chúng được phân tích. Bất kể tế bào hoặc hạt có kích thước từ 0.2 đến 150 μm đều có thể phân tích.
- Quang học được tạo thành từ laser làm sáng các hạt có trong dòng khi chúng đi qua và phát tán ánh sáng từ laser. Bất kỳ phân tử phát huỳnh quang nào trên hạt phát ra huỳnh quang, được phát hiện bởi các ống kính định vị cẩn thận.
-  Hệ thống điện tử được sử dụng để thay đổi các tín hiệu ánh sáng thành các xung điện tử mà một máy tính có thể xử lý. Dữ liệu sau đó có thể được nghiên cứu để xác định thông tin về một số lượng lớn các tế bào trong một khoảng thời gian ngắn.

Cấu tạo Flow Cytometry



Hình ảnh cấu tạo bộ Flow Cytometry



Hình ảnh mô tả nguyên lý đo dùng phương pháp Flow Cytometry

Hệ thống tạo dòng chất lỏng (fluidics system)

Dòng dịch bên ngoài (sheath fluid): dòng bao, có tác dụng nắn chỉnh dòng dịch chứa mẫu bên trong.
Dòng dịch bên trong (core fluid): dòng lõi, là dòng hẹp tới mức tế bào trong mẫu chỉ đi qua khe hẹp theo từng hạt một tạo thành dòng tế bào đơn với tốc độ rất cao lên đến hàng ngàn hạt một giây.
Tiết diện dòng bên trong có thể điều chỉnh bằng độ chênh lệch áp suất giữa 2 dòng để phù hợp với yêu cầu phân tích. Áp xuất của mẫu (core fluid) và áp xuất dung dịch bên ngoài (sheath fluid)  khác nhau, áp xuất mẫu luôn lớn hơn áp xuất bên ngoài sự chên lệch áp xuất này càng lớn thì lượng mẫu sẽ chảy nhanh hơn dẫn đến kết quả phép đo không đảm bảo.
VD: phân tích tế bào máu cần dòng lõi lớn, DNA cần dòng lõi nhỏ.


Hình ảnh minh họa Fluidics System

Tốc độ dòng chảy được kiểm soát bằng cách điều chỉnh áp xuất mẫu:

Hệ thống áp xuất vi sai:


Hình ảnh cách bố trí điển hình của một hệ thống áp xuất vi sai

Hệ thống áp suất vi sai được thiết lập với bộ điều chỉnh áp xuất, áp xuất này áp dụng cho ống mẫu, đẩy chất lỏng vào trong lưu lượng kế dòng chảy. Với 2 hệ thống điều khiển áp xuất, áp xuất mẫu (constant regulator) và áp xuất điều chỉnh (constant variable) thì tốc độ dòng chảy của chất lỏng được điều chỉnh.

Hệ thống bơm:
Trên một số thiết bị Flow Cytometry thế hệ mới đã tích hợp hệ thống bơm nhu động hoặc hệ thống bơm tiêm để đưa mẫu vào thiết bị.



Hình ảnh cách bố trí điển hình của một hệ thống bơm



Hình ảnh hai loại bơm thường dùng trên cách thiết bị Flow Cytometry, 
(A) bơm nhu động, (B) bơm tiêm

Trong hệ thống này sự kiểm của các máy bơm chính xác hơn hệ thống áp xuất vi sai do sai số của lưu lượng kế, do đó lưu tốc dòng chảy được điều khiển một cách chính xác, chúng có thể được sử dụng một cách tin cậy để tạo ra số lượng tế bào tuyệt đối.

Hệ thống quang học (optical system)


Hình ảnh mô tả hệ thống quang học
Hệ thống quang học bao gồm:
Nguồn sáng: thường là đèn laser 405 nm, 488 nm, 633nm.
Kính lọc: có 3 loại kính lọc dùng trong phương pháp Flow Cytometry, band pass, long pass, dichroic long pass.


Hình ảnh mô tả nguyên lý hoạt động hệ thống kính lọc quang


Hình ảnh hệ thống quang học dùng trên hệ thống Coulter FC500

Hệ thống thu tín hiệu quang học:
- Forward Scatter: thu nhận ánh sáng tán xạ thẳng -> phản ánh kích thước tế bào, tế bào càng lớn thì chỉ số FSC càng lớn.
- Side Scatter: thu nhận ánh sáng tán xạ góc bên -> phản ánh độ phức tạp của nhân và bào tương tế bào: SSC của quần thể tế bào lympho thấp nhất, của bạch cầu hạt đa nhân cao nhất.
- Fluoressen Light: thu nhận ánh sáng huỳnh quang.
- Photo Amplification: khuếch đại tín hiệu quang lớn lên vì tín hiệu quang ban đầu thu được rất bé.


Hình ảnh nguyên lý hoạt động bộ Photo Amplification

+ Photocathode: bao gồm một lớp phủ quang, được làm bằng kim loại kiềm ở một đầu của ống thủy tinh hút chân không. Các photon ánh sáng giải phóng các electron mang năng lượng thấp từ photocathode số lượng các electron được tạo ra giống như số lượng photon ánh sáng tới và tổng lượng electron quá nhỏ để các bộ thu nhận tín hiệu đọc được.
+ Dynodes: là các điện cực trung gian nằm giữa photocathode và anode (hay còn gọi là bộ thu). Mỗi photonelectron được gia tốc hướng về phía dynodes đầu tiên, trên bề mặt dynode có một lớp đặt biệt ở đây động năng của photonelectron được hấp thụ và dẫn đến phát xạ của một số electron thứ cấp. Quá trình nhân electron này tiếp tục xuốn chuỗi dynode cho đến dynode cuối cùng một tín hiệu lớn hơn được thu nhận tại anode.

Hệ thống điện tử (electronic system)
Các tín hiệu ánh sáng tán xạ huỳnh quang sau khi được khuếch đại sẽ được hệ thống điện tử chuyển thành tín hiệu số thông qua bộ biến đổi ADC và biểu diễn dưới các dạng biểu đồ, đồ thị khác nhau trên màn hình máy vi tính.


Hình ảnh biểu đồ biểu diển các thành phần tế bào máu
 ứng dụng phương pháp Flow Cytometry

Ứng dụng phương pháp đo Flow Cytometry trong lâm sàng Việt Nam

Kỹ thuật này đã được sử dụng rộng rãi trong các trường đại học, bệnh viện, trong công nghiệp, trạm hải dương học, trên tàu biển và cũng đang được nghiên cứu để đưa lên tàu vũ trụ. Ứng dụng của kỹ thuật phân tích tế bào dòng chảy được phân bố nhanh chóng theo hai hướng:
-   Hướng đầu là khoa học lý thuyết như thực vật học, sinh học phân tử, phôi học, sinh hoá, sinh thái biển, di truyền, vi sinh và miễn dịch.
-   Hướng thứ hai là lâm sàng và y học thực nghiệm, với huyết học, vi khuẩn học, bệnh học, ung thư học, sản khoa và phẫu thuật.
Một trong những máy phân tích tế bào dòng chảy đầu tiên tại Việt Nam là máy FASC Calibur (3 màu) của Becton Dickinson (BD) tại viện Huyết học – Truyền máu Trung ương (1995) dùng để phân tích tế bào lympho trong bệnh Bạch cầu cấp cũng như đếm tế bào CD4 trên bệnh nhân nhiễm HIV. Cho tới nay, kỹ thuật tế bào dòng chảy đã được phổ biến rộng rãi trong lâm sàng với các ứng dụng sau:
-         Đếm số lượng tế bào gốc CD34 (CD34 stem cell counts).
-         Đếm tế bào lympho T-CD3, T-CD4, T-CD8.
-         Đọ chéo trong ghép (Flow cytometry Crossmatch).
-         Xét nghiệm CD55/59 bạch cầu.
-         Đếm số lượng hồng cầu lưới (Reticulocyte Count).
-         Bệnh suy giảm miễn dịch bẩm sinh (PID), …

Chủ Nhật, 10 tháng 3, 2019

LẬP TRÌNH NUVOTON N76E003
BÀI 6: Giao tiếp lcd hd44780 4 bit

- Giới thiệu lcd: Ngày nay, thiết bị hiển thị lcd (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của VĐK. lcd có rất nhiều ưu điểm so với các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ.

Có nhiều loại lcd dùng chung ic điều khiển hd44780 như: 16x2, 8x2, 20x2, 20x4, 16x1


lcd hd44780 - 16x2



Sơ đồ chân lcd hd44780


Chức năng chân lcd hd44780

- Tập lệnh LCD:
Trước khi tìm hiểu tập lệnh của LCD, sau đây là một vài chú ý khi giao tiếp với LCD :
+ Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2 thanh ghi này. (xem bảng 2)
+ Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hành mới có thể ra lệnh tiếp theo.
+ Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM. (Điều này giúp chương trình gọn hơn).
 + Dưới đây là danh sách lệnh rút gọn LCD, bạn nào muốn tìm hiểu kỹ hơn thì mình sẽ đính kèm tiệp ở cuối bài viết nhé, hoặc tham khảo trong datasheet của lcd có thắt mắt các bạn nêu lên mình sẽ giải đáp.




- Thư viện Lcd giao tiếp 4 bit:

Một số hàm mình đã phát triển trong thư viện, các bạn tham khảo và phát triển thêm theo ý mình nhé, file mình sẽ để ở cuối bài.

FUNCTION DESCRIPTION
*
*    Lcd_Cmd();                                   // GUI 1 LENH DEN LCD                             
*    Lcd_Init();                                      // HAM KHOI TAO LCD                               
*    Lcd_Chr_Cp();                           // HAM XUAT 1 KY TU TAI VI TRI CON TRO
*    Lcd_putc();                                    // XUAT 1 CHUOI KY TU TAI VI TRI CON TRO          
*    Lcd_Gotoxy(X, Y);                        // CHUYEN CON TRO DEN VI TRI DONG X COT Y     
*    Lcd_Cmd(CURSOR_ON);            // HAM BAT CON TRO MAN HINH
*    Lcd_Cmd(CURSOR_OFF);          // HAM TAT CON TRO MAN HINH
*    Lcd_Cmd(CLEAR_DISPLAY);      // HAM XOA MAN HINH
*    Lcd_Cmd(SHIFT_LEFT);              // DICH TRAI NOI DUNG HIEN THI TREN MAN HINH
*    Lcd_Cmd(SHIFT_RIGHT);            // DICH PHAI NOI DUNG HIEN THI TREN MAN HINH
- Giao tiếp 4 bit:

  + Sơ đồ kết nối phần cứng:
  
+ Chương trình điều khiển:

#include "..\My_lib\Main.h"

#define LCD_DATA P0
#include "..\My_lib\HD7740_4BIT_LCD_PORT.h"

void main()
{
set_tris_0(0x00);
Lcd_Init();
Lcd_Gotoxy(1,1); Lcd_putc("keil-c N76E003 "); Lcd_Gotoxy(1,2); Lcd_putc("giao tiep lcd 4bit"); Lcd_Gotoxy(1,3); Lcd_putc("time: 0000");
while(1)
{
                      sec++;
  delay_ms(500);
  if(sec >= 59)
  {
   sec =0;
   min++;
   }
 Lcd_Gotoxy(10,3);
 Lcd_Chr_Cp(sec%10+0x30);
 Lcd_Gotoxy(9,3);
 Lcd_Chr_Cp(sec/10+0x30);
}
}

 + Video mô phỏng:



** Thư viện Lcd 4 bit ở đây nhe các bạn:



Thứ Bảy, 15 tháng 12, 2018

LẬP TRÌNH NUVOTON N76E003
BÀI 5: Khảo sát GPIO - Hiêu ứng led dơn, thư viện Delay


File *.h của MCU:



Trong datasheet:

- Trong datashet của bất kỳ MCU nào cũng có phần định nghĩa địa chỉ của các bit. Lý giải cho file *.h của MCU tất cả các bit chúng ta sử dụng điều được định nghĩa trong *.h tuy nhiên một số chân I/O chưa được định nghĩa khi sử dụng các bạn tự định nghĩa thêm nhé. Hay các bạn định nghĩa thành bất cứ tên nào khác mà các bạn dể ghi nhớ.
- Ghi dữ liệu vào các thanh ghi định hướng (I/O mình đã hướng đẫn ở phần trước) các bạn cần ghi 1 byte.

Thư viện delay:

void delay_us(unsigned int us)
{

unsigned int x, y, t;
for(x = 0; x < us; x++)
{
for(y = 0; y < 103; y++);      // Delay 1 us   
}
}

void delay_ms(unsigned int timer)
{
unsigned int x, y, t;
t = timer*10;
for(x = 0; x < t; x++)
{
for(y = 0; y < 105; y++);      // Delay 1 ms   
}
}

** Thư viện này các bạn chỉ cần gọi hàm và dùng thôi nhé. Sẽ có Clip hướng dẫn tạo project và thư viện sau nhé.

Chương trình chớp tắt led đơn:

void main()
{
set_tris_0(0x00);                            // khai báo port0 là output
while(1)
{
P0 = 0X00;            // tat het led port0
delay_ms(500);     // chờ 500ms
P0 = 0XFF;           // bật led port0
delay_ms(500);     // chờ 500ms
}
}


- Sơ đồ nguyên lý kết nối Led:


- Video minh họa:




Hẹn gặp các bạn ở phần sau nhé... !!!





LẬP TRÌNH NUVOTON N76E003
BÀI 4: Khảo sát GPIO - Khai báo I/O

Sơ đồ chân VĐK N76E003
+ Sơ đồ chân:

N76E003 có tối đa 20 chân I/O được chia thành 4 port P0 đến P3 và mỗi port có 1 thanh ghi điều khiển Px.
+ Các chế độ hoạt động của I/O:
  • Quasi-bidirectional

Trong chế độ Quasi-bidirectional mỗi chân có một điện trở treo lên nguồn dương từ 100 đến 300K
  • Push-pull
Chế độ này tương tự như chế độ trên nhưng cho ra dòng điện mạnh hơn, có cấu trúc CMOS nên cho độ ổn định cao. Chúng cũng được ứng dụng trong rất nhiều lĩnh vực (Mấy anh chơi inverter mặt trời, chít cá,... thì rành cái này hơn mình rồi. hi hi). Trên internet có quá nhiều bài viết nói về vấn đề này nên mình không nhắt lại các bạn tự tìm hiểu nhe.
  • Input-only
Trong chế độ này cần có một nguồn bên ngoài để MCU hiểu được mức logic.
  • Open-drain

Chế độ này cũng khá đa dạng và phổ biến trên các loại MCU, chúng cũng có nhiều công dụng khác nhau, và công dụng điển hình là chúng có thể giao tiếp được với nhiều IC có mức điện áp khác nhau 3v3 chẳng hạn,... khi đó ta cần dùng một điện trở treo lên nguồn dương.

Phần 2: Thanh ghi điều khiển I/O

Phần này mình chỉ giới thiệu port P0 thôi nhé các port lại tương tự nhe, bạn nào không hiểu hay có vấn đề gì thì nêu thắt mắt phía dưới nhé. 
Nếu muốn biết sâu hơn về phần cứng các bạn tham khảo thêm trong datasheet của MCU nhé.

Sơ đồ thanh ghi P0M1

Sơ đồ thanh ghi P0M2


Các mode hoạt động của I/O

- Trong phần này các bạn cần nhớ cho mình địa chỉ (VD: Address: B1H thanh ghi của P0M1) của từng thanh ghi nhé nó rất quan trọng đấy. 
- Muốn thiết lặp một I/O ở chế độ vào (Input) hay ra (Output) ta chỉ cần ghi các bit tương ứng trong bảng Các mode hoạt động của I/O vào địa chỉ bit ta cần sử dụng là được nhé.

VD: - Ta quy ước Input = 1. Output = 0 nhé.
        - Chú ý: Khi ghi vào thanh ghi thì ta ghi 1 byte. 

Khai báo port P0 là Input ta cần ghi 0xFF vào P0M1 và ghi 0x00 vào P0M2. ta thấy giá trị cho thanh ghi P0M2 là 0x00 sẽ ngược với giá trị ta quy ước ban đầu nên chỉ cần đảo bit và ghi vào P0M2.
Xây dựng chương trình con cho hàm khai báo I/O nhé:

//===================================================================//
Void set_tris_0(unsigned char dat)    (1)
{
        P0M1 =   dat;         // Ghi giá trị dat vào thanh ghi P0M1                      
        P0M2 = ~dat;       // Ghi giá trị ~dat vào thanh ghi P0M2
}
//===================================================================//

* Giải thích chương trình
(1) Hàm để gọi chương trình con khi khai kháo I/O

void main()
{
               set_tris_0(0xFF);                    // khai báo port0 là input
           
               while(true)
               {
                                                             // Chương trình chính
               }
}

** Các bạn tự tìm hiểu nguôn ngữ lập trình C căn bản nhé. Có thể tham khảo giáo trình lập trình C cơ bản của Phạm Văn Ất có rất nhiều trên internet hay bất cứ tài liệu nào khác.